第六章 动态规划
C1 C2 C3
D1 D2
5 2
E
1
4
(3) 决策与决策集 决策——x k( S k) :每阶段状态给定后,从该状 态演变到下阶段某状态的选择。 决策集——D k( S k):状态S k的可能决策的集 合。
注:• x k( S k) ∈D k( S k); • 状态是客观条件,而决策是主观选择。 例:最短路问题中, x 2( B 1) =C1 ∈ D 2(B 1) 12 C1 3 B1 2 14 9 D1 6 5 5 C2 B2 10 6 A 4 5 1 13 D2 2 8 B3 12 C3 10 11
和允许状态s1 , 有f1 = opt{v1k + f k +1} 。
p1k
推论( Bellman 最优性原理):若 P 是最优策略,
∗ 1n
则对任何 k (1 < k < n),子策略 P 对于以 s 为起
∗ ∗ kn k
点的 k 至 n子过程来说必为最优策 略。
以最短路为例说明
(2)基本方程 根据最优性原理,可建立从后向前逆推求 解的递推公式——基本方程:
6 . 阶段指标——每阶段选定决策xk后所产生的效 益,记 vk= vk(Sk, xk)。
指标函数——各阶段的总效益,记相应于Pkn的指标函数 为vkn= vkn(Sk, Pkn )。其中最优的称最优
指标函数。 最优指标:指标函数的最优值
Max 或 Min
fk(Sk)=opt Vkn
问题:动态规划的最优解和最优值各是什么? ——最优解:最优策略P1n , 最优值:最优指标f1。
max Z = ∑ g i ( x i ) ⎧ ⎪∑ x i ≤ a st ⎨ i =1 ⎪ ⎩ xi ≥ 0
n i =1
模型特点:变量分离
3. 用动态规划法求解 阶段:k=1,…,n;表示把资源分配给第k种产品的过程; 状态Sk: 表示把资源分配给第k种产品之前的剩余资源量; (即用于k~n可支配资源量) 决策 第k种产品的资源分配量; xk: 状态转移方程: Sk+1= Sk-xk; 阶段指标: Vk= gk(xk);
阶段指标: Vk= 8xk+5(Sk-xk) ; 指标函数:Vk 5 = ∑ Vi
⎧ f k = max {Vk + f k +1 } k = 5, " ,1 基本方程:⎨ ⎩ f6 = 0 K=5. f 5 = max {V5 + f 6 } = max {8 x5 + 5( S 5 − x5 )}
1. 离散型 A
2 5 1
12 B1 14 6 B2 10 4 13 B3 12 11
C1 C2 C3
9 5 6
3
D1
5
D2 8 10
E
2
1 2 3 4 方法:先从后向前计算,再从前向后找出最短路线。 k=1,2,3,4; 解:阶 段:状态S : k 第k阶段初可能处的位置; 决策xk: 第k阶段选哪条路; 阶段指标: Vk—路长; 指标函数: Vkn =
E
(4) 状态转移方程 第k+1阶段的状态完全由第k阶段的状态Sk和 决策xk确定,即由Sk转变为Sk+1的规律 Sk+1=Tk(Sk , xk)
2
B1
5 1
12
A
14 6 B2 10 4 13
C1
9
3
C2 C3
6 5 8 10
D1 D2
5
E
2
B3
12 11
(5) 策略:由每阶段决策组成的决策序列,记作 P1n={x1,……,xn} 后部子策略:从第k阶段开始到最后的决策序列,记作 Pkn={xk,……,xn}
vk
0 4 6 11 12 12
vk+fk+1
0+0 4+0 6+0 11+0 12+0 12+0
fk
0 4 6 11 12 12
P
0 1 2 3 4 5
∗ kn
3
k
Sk
0 1 2
xk
0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0 1 2 3 4 5
vk
0 0 5 0 5 10 0 5 10 11 0 5 10 11 11 0 5 10 11 11 11
n
注: ¾ 一般的, Vkn = ∑ Vi
i =k
;
∗ 1n
¾ fk(Sk)只与Sk有关,而与xk无关; ¾ 求解动态规划的最优解:
P (最优策略)
f1(S1) (最优目标)
三.动态规划基本原理与基本方程 (1)基本原理
∗ ∗ ∗ 定理:P = ( x , , x 1 < k < n) " 1n 1 n )是最优策略 ⇔ 对任何k(
vk+fk+1
0+0 0+4 5+0 0+6 5+4 10+0 0+11 5+6 10+4 11+0 0+12 5+11 10+6 11+4 11+0 0+12 5+12 10+11 11+6 11+4 11+0
Vk+ fk+1 2+20 5+14 1+19
fk 19
Pkn * A1—B2—C1 —D1—E
∴ 最短路线: A1—B2—C1—D1—E 最短距离:19
2. 连续型 例:某机器可在高低两种负荷下生产,高负荷 年产量为8、完好率为0.7,低负荷年产量为5、 完好率为0.9。现有完好机器1000台,制定一个 5年计划,确定每年安排高低各多少台,可是总 产量最高?
k xk k k +1 4
i =k
i
i
问题:本问题是属于离散型还是属于连续型?怎样解? ——离散型,用表格的方式求解。
效益 设备台数 0 1 2 3 4 5
厂
甲 0 3 7 9 12 13
乙 0 5 10 11 11 11
丙 0 4 6 11 12 12
k
Sk
0 1 2 3 4 5
xk
0 1 2 3 4 5
⎧ f k = max {Vk + f k +1 } k = n," ,1 基本方程:⎪ ⎨ ⎪ ⎩ f n +1 = 0
指标函数:Vkn = ∑ Vi
i =k
n
例3 某公司拟将某种高效设备5台分配给所属甲、 乙、丙3厂。各厂获此设备后可产生的效益如下 表。问应如何分配,可使所产生的总效益最大?
效益 设备台数 0 1 2 3 4 5 厂 甲 0 3 7 9 12 13 乙 0 5 10 11 11 11 丙 0 4 6 11 12 12
v +f } ⎧ ⎪ f = opt { ⎨ ⎪ ⎩ f = 0, k = n , " ,1
k xk k k +1 n +1
四、动态规划的求解方法
求解步骤:
(1)确定过程的分段,构造状态变量; (2)设置决策变量,写出状态转移; (3)列出阶段指标和指标函数;
离散问题有时不 能用解析式表 达!
(4)写出基本方程,由此逐段递推求解。
0≤ x4 ≤ S 4 0≤ x4 ≤ S 4
∗ = max {1.4 x4 + 12.2 S 4 } ∴ x4 = S4 , f4 = 13.6 S4
同理: K=3.
f 3 = max {V3 + f 4 } = max {0.28 x3 + 17.24 S 3 }
∗ 3
0≤ x 3 ≤ S 3
∗ 2
0≤ x 2 ≤ S 2
∴ x = 0, f1 = 23.72 S1 = 23720
故最优计划为:
年份 高负荷 低负荷 1 0 1000 2 3 4 567 0 5 397 0 0 810 900 0
∗ 1
0 ≤ x1 ≤ S 1
总产量:23720
§2
动态规划应用举例
一、 资源分配问题 1. 问题一般提法: 设有某种资源,总数量为a,用于生产n种产 品,若分配数量xi用于生产第i种产品,其收益为 gi(xi)。 问题:应如何分配可使总收益最大? 2. 静态模型 n
9 5 6
3
D1 D2
5 2
E
8 10 3
1
4
(2) 状态与状态集 状态:每阶段可能处的位置或条件,是决策的前 提和背景。记作——S k 状态集:{S k},即第k阶段状态可能取值的集 合。
注:动态规划按{S k}是否连续,分为 连续型 离散型 3 9 5 6 8 10 3
2
B1 12
5 1
A
14 6 B2 10 4 13 B3 12 11 2
i =k
5
= max {3 x5 + 5 S 5 }
0≤ x5 ≤ S 5
0≤ x5 ≤ S 5
∴ x = S5 , f 5 = 8 S5
K=4. f 4 = max {V4 + f 5 } = max {8 x4 + 5( S 4 − x4 ) + 8 S 5 }
0≤ x4 ≤ S 4
∗ 5
= max {3 x4 + 5 S 4 + 8[0.7 x4 + 0.9( S 4 − x4 )]}
解:阶段k =1,2,3依次表示把设备分配给甲、乙、丙厂的过程; 状态sk 表示在第k阶段初还剩有的可分台数; 决策xk 表示第k阶段分配的设备台数; 状态转移sk+1 = sk- xk ; 阶段指标vk 表示第k 阶段分配后产生的效益; 指标函数vk3 = ∑v ( x );