动态规划模型的若干应用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
s1 = 20 x1 f1 (20)
0
f 2 (20 − 3x1 ) w1 (20, x1 )
1 17
2 17
3 12
4 10*
5 6*
6 0 26
22
0
4
8
12
16*
20*
24
因此,由顺序追踪法可知,有两种装载方案:
* * * 方案 1------ x1 = 4, x2 = 2, x3 = 0
* * * 方案 2------ x1 = 5, x2 = 0, x3 = 1
* * * 方案 1——— x1* = 2, x2 = 4, x3 = 5, x4 = 0; * * * 方案 2——— x1* = 5, x2 = 0, x3 = 4, x4 = 2;
k = 4,3, 2,1 )
三、可靠性问题。
数学建模讲座
四川理工学院数学系
四、资源分配问题(二维分配问题) 。 五、拉格朗日乘子法。
设 xk 为k# 货物的装载件数,于是这一问题可归纳成下面的整数规 划:
m ax s iti
4 x1 + 5 x 2 + 6 x 3 3 x1 + 4 x 2 + 5 x 3 ≤ 2 0 x2 ≤ 2 x3 ≤ 2 x1 , x 2 , x 3 ≥ 0 , 整 数
现在,我们应用动态规划方法来求解。首先,建立动态规划的数 学模型。把这个装载问题分为三个阶段。在第k阶段需要确定k# 货物 的装载件数。令
s2
0* — 0 5* 6* 5 6 5 6 0 5* 12* 0* 5 12 0 5 12
— — 0* — 0 — 0 10* 6* 10 6 10 6 10* 12*
—
0
—
5
—
6
0*
10
0
11
10~12
0
12
13
6*
16
14~17
16
17
数学建模讲座
四川理工学院数学系
0 18~20 0 12
5* 12 5
x2 ∈D ( s2 )
= max {5 x2 + f3 ( s2 − 4 x2 )}
x2 ∈D ( s2 )
相应结果由表 6 列出 表6
f3 ( s2 − 4 x2 ) w2 ( s2 , x2 ) x2 = 0 x2 = 1 x2 = 2 f 2 ( s2 )
0~3 0* 4 0 5~7 0* 8 0 9
Dk ( sk ) = { xk max{0, ak − sk } ≤ xk ≤ min{bk , Ek +1 − sk + ak }}
(决策变量 xk 的取值集) 且由上面的状态转移方程可知,当 Dk +1 ( sk +1 ) = φ , (k < 4) 时,应有
xk ≠ sk +1 − sk + ak
每台产品的追加成本为 c , 本季度产品如不能出售则需运到仓库储存, 每季度每台的储存费用为 g ,仓库能够储存的这种产品的最大数量为
E 。问该厂应如何安排四个季度的生产,以保证在满足市场需求的前
提下,使生产和储存的总费用最小。假设仓库年初和年末的库存量都 必须为零,各个参数值为:
a1 = 2, a2 = 3, a3 = 4, a4 = 2;b1 = 6,b2 = 4, b3 = 5,b4 = 4; F = 3;c =1; E = 3; g = 0.5.
f k ( sk ) ------ 利用 s
益。 (指标函数) 可得状态转移方程
k
装载 k # , (k + 1) # , (k + 2)# , , N # 可获得的最大收
sk +1 = sk − ak xk , k = 3, 2,1
递归方程为
⎧ ⎪ f 4 ( s4 ) = 0 ⎨ f ( s ) = max {c x + f ( s )} , k k k +1 k +1 ⎪ xk ∈Dk ( sk ) ⎩ k k
9.5 5.5 6.5
9
—
13.5
表 14
f 2 ( x1 − 2) x1 = 2 x1 = 3 x1 = 4 x1 = 5 f1 ( s1 )
w1 ( s1 , x1 ) s1 = 0
16.5* 5*
16 6 7
15.5
8*
13.5
21.5
(状态转移方程: sk +1 = sk + xk − ak , 于是可得两个生产方案:
于是,我们可求出各 Dk ( sk ) 如下:
D1 ( s1 ) = D1 (0) = {2,3, 4,5}
表8
s2 D2 ( s2 )
0 {3,4}
1 {2,3,4}
2 {1,2,3, 4}
3 {0,1,2, 3}
表9
s3 D3 ( s3 )
0 {4,5}
1 {3,4,5}
2 {2,3,4}
3 {1,2,3}
数学建模讲座
四川理工学院数学系
w2 ( s2 , x2 ) s2 = 0
— — — — — — — —
— — —
—
12 6
7* 9.5* 6.5*
9.5*
16.5
s2 = 1
12 5.5
9 7.5
16
s2 = 2
12 5
6*
9.5*
9 7 8 8.5 7.5
—
8.5
15.5
s2 = 3
12 1.5*
10 12* 10* 22
当 k = 1时
f1 ( s1 ) = max {w1 ( s1 , x1 ) + f 2 ( s2 )}
x1∈D ( s1 )
= max {4 x1 + f 2 ( s1 − 3x1 )}
x1∈D ( s1 )
现须求出 f1 (20) ,结合表 6 可得表 7 所列结果。 表7
求解时要注意决策变量取值集合 Dk ( sk ) ,由题意应有
k = 3, 2,1.
⎧ ⎫ ⎡s ⎤ ⎪ ⎪ D1 ( s1 ) = ⎨ x1 0 ≤ x1 ≤ ⎢ 1 ⎥ , x1为整数 ⎬, ⎣ a1 ⎦ ⎪ ⎪ ⎩ ⎭ ⎧ ⎫ ⎧ ⎪ ⎪ ⎡ s2 ⎤ ⎫ ⎪ ⎪ D2 ( s2 ) = ⎨ x2 0 ≤ x2 ≤ min ⎨ ⎢ ⎥ , 2 ⎬ , x2为整数 ⎬ , a ⎪⎣ 2 ⎦ ⎭ ⎪ ⎩ ⎪ ⎪ ⎩ ⎭ ⎧ ⎫ ⎧ ⎡ s3 ⎤ ⎫ ⎪ ⎪ ⎪ ⎪ D3 ( s3 ) = ⎨ x3 0 ≤ x3 ≤ min ⎨ ⎢ ⎥ , 2 ⎬ , x3为整数 ⎬ . a ⎪⎣ 3 ⎦ ⎭ ⎪ ⎩ ⎪ ⎪ ⎩ ⎭
w4 ( s4 , x4 )
数学建模讲座
四川理工学院数学系
s4 = 0
— — — — — 4.5* 0* 1* —
— 5* 0* — — —
0*
5
s4 = 1
—
4.5
s4 = 2
—
1
表 12
f 4 ( s3 + x3 − 4) x3 = 1 x3 = 2 x3 = 3 x3 = 4 x3 = 5 f 3 ( s3 )
sk
xk
# ------- 装载了货物 1 ,
, (k − 1) # 后,卡车的剩余装载能力
(状态变量) ------装 载
k#
货
物
的
件
数
。
数学建模讲座
四川理工学院数学系
(决策变量)
wk ( sk , xk ) ------- 装 载 xk 件 k # 货 物 的 收 益 ck xk 。
(权函数)
装载费是 26。 二、生产与存储问题 某厂在年初估计, 今年四个季度中市场对该厂某种产品的需求量 分 别 为 ak (k = 1, 2,3, 4) , 而 该 厂 第 k 季 度 生 产 这 一 产 品 的 能 力 为
数学建模讲座
四川理工学院数学系
bk (k = 1, 2,3, 4) ,每季度生产这种产品的固定成本为 F (不生产时 F = 0 )
w3 ( s3 , x3 ) s3 = 0
— — — — — — — —
— — —
— 7*
5*
4.5 8
12
s3 = 1
5 6.5 7.5 4.5 7
8* 1* 7.5* —
4.5
8.5* 1* — — —
1*
9.5
s3 = 2
5 6
—
9
s3 = 3
5 5.5 6.5
4.5
—
8.5
表 13
f3 ( s2 + x2 − 3) x2 = 0 x2 = 1 x2 = 2 x2 = 3 x2 = 4 f 2 ( s2 )
数学建模讲座
四川理工学院数学系
动态规划模型的若干应用
一、载货问题 设有一辆 20 吨的载重卡车,装有三种不同的货物。已知这三种货 物的单件重量和装载收费如表一,又规定 2 # 货物和 3 # 货物都至多 装两件, 问如何装载这三种货物, 可使该车一次运输的货物收费最多。 货物k# 1# 2# 3# 重量a k 3 4 5 收费c k 4 5 6
数学建模讲座
四川理工学院数学系
表 10
s4 D4 ( s4 )
0 {2}
1 {1}
2 {0}
3
φ
当 k = 4 时, a4 = 2, b4 = 4,
f 4 ( s4 ) = w4 ( s4 , x4 ) + 0 = w4 ( s4 , x4 )
其结果如表 11 当 k = 3 时, a3 = 4, b3 = 5,
f ( sk ) ——在第 k 季度库存量为 s
k
条件下,为保证市场需求,从 (指
第 k 季度至年末生产和储存这种产品的最小费用。 标函数) 令
⎧ 0, Ek = ⎨ ⎩3,
我们可得到下面的状态转移方程
k =0 k = 1, 2,3, 4
sk+1 =sk +xk −ak,
k =4,3 ,2,1
数学建模讲座
5~9 {0,1}
10~20 {0,1,2}
当 k = 3 时,
f3 ( s3 ) = max {w3 ( s3 , x3 ) + f 4 ( s4 )} = max {c3 x3 }
x3∈D3 ( s3 ) x3 ∈D3 ( s3 )
其结果由表 4 给出 表4
s3 x3 f 4 ( s4 ) w3 ( s3 , x3 )
四川理工学院数学系
和递归方程
⎧ ⎪ f5 ( s5 ) = 0 ⎨ f ( s ) = min {w ( s , x ) + f ( s )} , k k k k +1 k +1 xk ∈D ( sk ) ⎪ ⎩ k k
k = 4,3, 2,1
注意到,本题中
s1 = 0, s5 = 0,
0 ≤ sk ≤ E
(决策变量 xk 的取值集) 显然, D1 (20) =
{0,1,
, 6} 而 D2 ( s2 )和D3 ( s3 ) 如表 2,表 3
数学建模讲座
四川理工学院数学系
所示。 表2
s2 D2 ( s2 )
0~3 {0} 表3
4~7 {0,1}
8~20 {0,1,2}
s3 D3 ( s3 )
0~4 {0}
将每个季度看作一个阶段,就有一个四阶段的决策问题。令
sk ——第 k 季度初的仓库库存量
xk ——第 k 季度初的生产台数
(状态变量) (决策变量)
wk ( sk , xk ) ——第 k 季度初的生产和储存费。 (权函数)
⎧ gs , wk ( sk , xk ) = ⎨ k ⎩ F + cxk + gsk , xk = 0 xk > 0
0~4 0 0* 0 0
5~9 1 0* 0 0
10~20 1 0 2 0*
0*
f 3 ( s3 )
0 0 6
6*
0
6 12
12*
(其中实现最大值的数字已用带*的标出) 。
当k = 2时
数学建模讲座
四川理工学院数学系
f 2 ( s2 ) = max {w2 ( s2 , x2 ) + f3 ( s3 )}
x2 ∈D2 ( S2 )
其结果如表 13 当 k = 1 时, a1
= 2, b1 = 6, s1 = 0 ,
x1∈D1 ( S1 )
f1 ( s1 ) = min {w1 ( s1 , x1 ) + f3 ( x1 − 2)}
其结果如表 14 表 11
f 5 ( s4 + x4 − 2) x4 = 0 x4 = 1 x4 = 2 f 4 ( s4 )
(k = 2,3, 4)
当 sk ≥ ak 时, xk 可以为零;当 sk < ak ,至少生产 ak − sk ;另外,由于该 厂在第 k 季度的生产能力为 bk ,即 xk ≤ bk ,而第 k 季度末的库存量为
sk + xk − ak 应不超过下季度的库存能力 Ek +1 , xk ≤ Ek +1 − sk + ak ,故有
f3 ( s3 ) = min {w3 ( s3 , x3 ) + f 4 ( s3 + x3 − 4)}
x3 ∈D3 ( S3 )
其结果如表 12 当 k = 2 时, a2 = 3, b2 = 4
f 2 ( s2 ) = min {w2 ( s2 , x2 ) + f3 ( s2 + x2 − 3)}
0
f 2 (20 − 3x1 ) w1 (20, x1 )
1 17
2 17
3 12
4 10*
5 6*
6 0 26
22
0
4
8
12
16*
20*
24
因此,由顺序追踪法可知,有两种装载方案:
* * * 方案 1------ x1 = 4, x2 = 2, x3 = 0
* * * 方案 2------ x1 = 5, x2 = 0, x3 = 1
* * * 方案 1——— x1* = 2, x2 = 4, x3 = 5, x4 = 0; * * * 方案 2——— x1* = 5, x2 = 0, x3 = 4, x4 = 2;
k = 4,3, 2,1 )
三、可靠性问题。
数学建模讲座
四川理工学院数学系
四、资源分配问题(二维分配问题) 。 五、拉格朗日乘子法。
设 xk 为k# 货物的装载件数,于是这一问题可归纳成下面的整数规 划:
m ax s iti
4 x1 + 5 x 2 + 6 x 3 3 x1 + 4 x 2 + 5 x 3 ≤ 2 0 x2 ≤ 2 x3 ≤ 2 x1 , x 2 , x 3 ≥ 0 , 整 数
现在,我们应用动态规划方法来求解。首先,建立动态规划的数 学模型。把这个装载问题分为三个阶段。在第k阶段需要确定k# 货物 的装载件数。令
s2
0* — 0 5* 6* 5 6 5 6 0 5* 12* 0* 5 12 0 5 12
— — 0* — 0 — 0 10* 6* 10 6 10 6 10* 12*
—
0
—
5
—
6
0*
10
0
11
10~12
0
12
13
6*
16
14~17
16
17
数学建模讲座
四川理工学院数学系
0 18~20 0 12
5* 12 5
x2 ∈D ( s2 )
= max {5 x2 + f3 ( s2 − 4 x2 )}
x2 ∈D ( s2 )
相应结果由表 6 列出 表6
f3 ( s2 − 4 x2 ) w2 ( s2 , x2 ) x2 = 0 x2 = 1 x2 = 2 f 2 ( s2 )
0~3 0* 4 0 5~7 0* 8 0 9
Dk ( sk ) = { xk max{0, ak − sk } ≤ xk ≤ min{bk , Ek +1 − sk + ak }}
(决策变量 xk 的取值集) 且由上面的状态转移方程可知,当 Dk +1 ( sk +1 ) = φ , (k < 4) 时,应有
xk ≠ sk +1 − sk + ak
每台产品的追加成本为 c , 本季度产品如不能出售则需运到仓库储存, 每季度每台的储存费用为 g ,仓库能够储存的这种产品的最大数量为
E 。问该厂应如何安排四个季度的生产,以保证在满足市场需求的前
提下,使生产和储存的总费用最小。假设仓库年初和年末的库存量都 必须为零,各个参数值为:
a1 = 2, a2 = 3, a3 = 4, a4 = 2;b1 = 6,b2 = 4, b3 = 5,b4 = 4; F = 3;c =1; E = 3; g = 0.5.
f k ( sk ) ------ 利用 s
益。 (指标函数) 可得状态转移方程
k
装载 k # , (k + 1) # , (k + 2)# , , N # 可获得的最大收
sk +1 = sk − ak xk , k = 3, 2,1
递归方程为
⎧ ⎪ f 4 ( s4 ) = 0 ⎨ f ( s ) = max {c x + f ( s )} , k k k +1 k +1 ⎪ xk ∈Dk ( sk ) ⎩ k k
9.5 5.5 6.5
9
—
13.5
表 14
f 2 ( x1 − 2) x1 = 2 x1 = 3 x1 = 4 x1 = 5 f1 ( s1 )
w1 ( s1 , x1 ) s1 = 0
16.5* 5*
16 6 7
15.5
8*
13.5
21.5
(状态转移方程: sk +1 = sk + xk − ak , 于是可得两个生产方案:
于是,我们可求出各 Dk ( sk ) 如下:
D1 ( s1 ) = D1 (0) = {2,3, 4,5}
表8
s2 D2 ( s2 )
0 {3,4}
1 {2,3,4}
2 {1,2,3, 4}
3 {0,1,2, 3}
表9
s3 D3 ( s3 )
0 {4,5}
1 {3,4,5}
2 {2,3,4}
3 {1,2,3}
数学建模讲座
四川理工学院数学系
w2 ( s2 , x2 ) s2 = 0
— — — — — — — —
— — —
—
12 6
7* 9.5* 6.5*
9.5*
16.5
s2 = 1
12 5.5
9 7.5
16
s2 = 2
12 5
6*
9.5*
9 7 8 8.5 7.5
—
8.5
15.5
s2 = 3
12 1.5*
10 12* 10* 22
当 k = 1时
f1 ( s1 ) = max {w1 ( s1 , x1 ) + f 2 ( s2 )}
x1∈D ( s1 )
= max {4 x1 + f 2 ( s1 − 3x1 )}
x1∈D ( s1 )
现须求出 f1 (20) ,结合表 6 可得表 7 所列结果。 表7
求解时要注意决策变量取值集合 Dk ( sk ) ,由题意应有
k = 3, 2,1.
⎧ ⎫ ⎡s ⎤ ⎪ ⎪ D1 ( s1 ) = ⎨ x1 0 ≤ x1 ≤ ⎢ 1 ⎥ , x1为整数 ⎬, ⎣ a1 ⎦ ⎪ ⎪ ⎩ ⎭ ⎧ ⎫ ⎧ ⎪ ⎪ ⎡ s2 ⎤ ⎫ ⎪ ⎪ D2 ( s2 ) = ⎨ x2 0 ≤ x2 ≤ min ⎨ ⎢ ⎥ , 2 ⎬ , x2为整数 ⎬ , a ⎪⎣ 2 ⎦ ⎭ ⎪ ⎩ ⎪ ⎪ ⎩ ⎭ ⎧ ⎫ ⎧ ⎡ s3 ⎤ ⎫ ⎪ ⎪ ⎪ ⎪ D3 ( s3 ) = ⎨ x3 0 ≤ x3 ≤ min ⎨ ⎢ ⎥ , 2 ⎬ , x3为整数 ⎬ . a ⎪⎣ 3 ⎦ ⎭ ⎪ ⎩ ⎪ ⎪ ⎩ ⎭
w4 ( s4 , x4 )
数学建模讲座
四川理工学院数学系
s4 = 0
— — — — — 4.5* 0* 1* —
— 5* 0* — — —
0*
5
s4 = 1
—
4.5
s4 = 2
—
1
表 12
f 4 ( s3 + x3 − 4) x3 = 1 x3 = 2 x3 = 3 x3 = 4 x3 = 5 f 3 ( s3 )
sk
xk
# ------- 装载了货物 1 ,
, (k − 1) # 后,卡车的剩余装载能力
(状态变量) ------装 载
k#
货
物
的
件
数
。
数学建模讲座
四川理工学院数学系
(决策变量)
wk ( sk , xk ) ------- 装 载 xk 件 k # 货 物 的 收 益 ck xk 。
(权函数)
装载费是 26。 二、生产与存储问题 某厂在年初估计, 今年四个季度中市场对该厂某种产品的需求量 分 别 为 ak (k = 1, 2,3, 4) , 而 该 厂 第 k 季 度 生 产 这 一 产 品 的 能 力 为
数学建模讲座
四川理工学院数学系
bk (k = 1, 2,3, 4) ,每季度生产这种产品的固定成本为 F (不生产时 F = 0 )
w3 ( s3 , x3 ) s3 = 0
— — — — — — — —
— — —
— 7*
5*
4.5 8
12
s3 = 1
5 6.5 7.5 4.5 7
8* 1* 7.5* —
4.5
8.5* 1* — — —
1*
9.5
s3 = 2
5 6
—
9
s3 = 3
5 5.5 6.5
4.5
—
8.5
表 13
f3 ( s2 + x2 − 3) x2 = 0 x2 = 1 x2 = 2 x2 = 3 x2 = 4 f 2 ( s2 )
数学建模讲座
四川理工学院数学系
动态规划模型的若干应用
一、载货问题 设有一辆 20 吨的载重卡车,装有三种不同的货物。已知这三种货 物的单件重量和装载收费如表一,又规定 2 # 货物和 3 # 货物都至多 装两件, 问如何装载这三种货物, 可使该车一次运输的货物收费最多。 货物k# 1# 2# 3# 重量a k 3 4 5 收费c k 4 5 6
数学建模讲座
四川理工学院数学系
表 10
s4 D4 ( s4 )
0 {2}
1 {1}
2 {0}
3
φ
当 k = 4 时, a4 = 2, b4 = 4,
f 4 ( s4 ) = w4 ( s4 , x4 ) + 0 = w4 ( s4 , x4 )
其结果如表 11 当 k = 3 时, a3 = 4, b3 = 5,
f ( sk ) ——在第 k 季度库存量为 s
k
条件下,为保证市场需求,从 (指
第 k 季度至年末生产和储存这种产品的最小费用。 标函数) 令
⎧ 0, Ek = ⎨ ⎩3,
我们可得到下面的状态转移方程
k =0 k = 1, 2,3, 4
sk+1 =sk +xk −ak,
k =4,3 ,2,1
数学建模讲座
5~9 {0,1}
10~20 {0,1,2}
当 k = 3 时,
f3 ( s3 ) = max {w3 ( s3 , x3 ) + f 4 ( s4 )} = max {c3 x3 }
x3∈D3 ( s3 ) x3 ∈D3 ( s3 )
其结果由表 4 给出 表4
s3 x3 f 4 ( s4 ) w3 ( s3 , x3 )
四川理工学院数学系
和递归方程
⎧ ⎪ f5 ( s5 ) = 0 ⎨ f ( s ) = min {w ( s , x ) + f ( s )} , k k k k +1 k +1 xk ∈D ( sk ) ⎪ ⎩ k k
k = 4,3, 2,1
注意到,本题中
s1 = 0, s5 = 0,
0 ≤ sk ≤ E
(决策变量 xk 的取值集) 显然, D1 (20) =
{0,1,
, 6} 而 D2 ( s2 )和D3 ( s3 ) 如表 2,表 3
数学建模讲座
四川理工学院数学系
所示。 表2
s2 D2 ( s2 )
0~3 {0} 表3
4~7 {0,1}
8~20 {0,1,2}
s3 D3 ( s3 )
0~4 {0}
将每个季度看作一个阶段,就有一个四阶段的决策问题。令
sk ——第 k 季度初的仓库库存量
xk ——第 k 季度初的生产台数
(状态变量) (决策变量)
wk ( sk , xk ) ——第 k 季度初的生产和储存费。 (权函数)
⎧ gs , wk ( sk , xk ) = ⎨ k ⎩ F + cxk + gsk , xk = 0 xk > 0
0~4 0 0* 0 0
5~9 1 0* 0 0
10~20 1 0 2 0*
0*
f 3 ( s3 )
0 0 6
6*
0
6 12
12*
(其中实现最大值的数字已用带*的标出) 。
当k = 2时
数学建模讲座
四川理工学院数学系
f 2 ( s2 ) = max {w2 ( s2 , x2 ) + f3 ( s3 )}
x2 ∈D2 ( S2 )
其结果如表 13 当 k = 1 时, a1
= 2, b1 = 6, s1 = 0 ,
x1∈D1 ( S1 )
f1 ( s1 ) = min {w1 ( s1 , x1 ) + f3 ( x1 − 2)}
其结果如表 14 表 11
f 5 ( s4 + x4 − 2) x4 = 0 x4 = 1 x4 = 2 f 4 ( s4 )
(k = 2,3, 4)
当 sk ≥ ak 时, xk 可以为零;当 sk < ak ,至少生产 ak − sk ;另外,由于该 厂在第 k 季度的生产能力为 bk ,即 xk ≤ bk ,而第 k 季度末的库存量为
sk + xk − ak 应不超过下季度的库存能力 Ek +1 , xk ≤ Ek +1 − sk + ak ,故有
f3 ( s3 ) = min {w3 ( s3 , x3 ) + f 4 ( s3 + x3 − 4)}
x3 ∈D3 ( S3 )
其结果如表 12 当 k = 2 时, a2 = 3, b2 = 4
f 2 ( s2 ) = min {w2 ( s2 , x2 ) + f3 ( s2 + x2 − 3)}