动态规划基本方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
fk(sk)= max {5sk+3xk +fk+1(sk+1)} k=5,4,3,2,1
0≤xk≤sk
f6(s6)=0
当k=5时:
f5(s5)= max{5s5+3x5+f6(s6)}= max{5s5+3x5}
0≤x5≤s5
0≤x5≤s5
=8s5
(x5*=s5)
当k=4时:
f4(s4)=max{5s4+3x4+8s5}=max{5s4+3x4+8(0.9s4-0.2x4)}
解:按年数划分为5个阶段,k=1,2,3,4,5。
取第k年初完好的机器数sk为状态变量,则s1=1000。 取第k年投入高负荷的机器数xk为决策变量,0≤xk≤sk
状态转移方程sk+1=0.7xk+0.9(sk-xk)=0.9sk-0.2xk
指标函数为Vk,5=∑[8xj+5(sj-xj)]=∑(5sj+3xj) 基本方程为
(2)合理正确地选择状态变量sk,并确定初始状态 s1的值;
(3)确定决策变量uk及允许决策集Dk(sk); (4)给出状态转移方程 sk+1=Tk(sk,uk); (5)给出满足要求的过程指标函数Vk,n及相应的最 优值函数;
(6)写出递推方程和边界条件,建立基本方程; (7)按照基本方程递推求解。
0≤x3≤s3
当k=2时:
f2(s2)=max{5s2+3x2+17.52s3}=max{5s2+3x2+17.52(0.9s2-0.2x2)}
0≤x2≤s2
0≤x2≤s2
= max{20.77s2-0.504x2}
0≤x2≤s2
=20.77s2
(x2*=0)
当k=1时:
f1(s1)=max{5s1+3x1+20.77s2}
D2
1 2
3 D3 3
5 E2 2
6 E3 6
F2 3
G
C4 4
第1阶段 第2阶段 第3阶段 第4阶段 第5阶段 第6阶段
例2 机器负荷分配问题 某种机器可以在高低两种不同的负荷下进行生 产。在高负荷下进行生产时,产品的年产量g和投入 生产的机器数量u的关系为 g=g(u),这时机器的年 完好率为a(0<a<1);在低负荷下生产时,产品的年 产量h和投入生产的机器数量v的关系为h=h(v),这 时机器的年完好率为b(a<b<1)。假定开始生产时 完好的机器数量为s,要求制定一个五年计划,在每 年开始时决定机器在两种不同负荷下生产的数量, 使五年内产品的总产量最高。
第4节 动态规划和静态规划的关系
静态规划所研究的问题是与时间无关的,而动态
规划所研究的问题是和时间有关的。对于某些静态规 划问题,也可人为地引入时间因素,把它看做一个按 阶段进行的动态规划问题,用动态规划的方法求解。
例 用动态规划法求解
max F=4x12-x22+2x32+12 3x1+2x2+x3≤9 xi≥0 i=1,2,3
第1年 第2年 第3年 第4年 第5年
第1阶段 第2阶段 第3阶段 第4阶段 第5阶段
第2节 动态规划的基本概念和基本方程
2.1 动态规划的基本概念 (1)阶段(stage) 把所研究的决策问题,按先后顺序划分为若干相 互联系的决策步骤,以便按一定的次序进行求解。这 些决策步骤就称为阶段。 描述阶段的变量称阶段变量,常用k表示。
B1 3 6
16 8 7
B2 6
10 3
C2 5
9
C3
3 3
12 8
D1
2 2
61
D2 2
83
D3 3
E1
3 5
55
E2 2
96
E3 6
F1 4
3
F2 3
G
C4 4
kk==65时时::ff65((FE11))==47
f6(F2)=3 f5(E2)=5
f5(E3)=9
k=4时:f4(D1)=7 f4(D2)=6 f4(D3)=8
0≤x1≤s1 ⁄3
F*=f1(9)=2╳92+12=174
s1=9
s2=9
s3=9
x1*=0
x2*=0
x3*=9
例 用动态规划法求解 max z=x1.x22.x3 x1+x2+x3=c xi≥0 i=1,2,3
解:按变量划分为3个阶段,k=1,2,3
取k阶段初常数项的剩余量sk为状态变量,s1=c 取xk为决策变量,0≤xk≤sk(k=1, 2), x3=s3 状态转移方程为 sk+1=sk-xk 指标函数为 Vk,n=Пvj(xj)(v1(x1)=x1, v2(x2)=x22, v3(x3)=x3)
基本方程为 fk(sk)= max {vk(xk)+fk+1(sk+1)} k=3,2,1 0≤xk≤sk ⁄ak f4(s4)= 0
当k=3时:f3(s3)= max {2x32+12 +0}=2s32+12 (x3*=s3) 0≤x3≤s3
当k=2时:f2(s2)= max{-x22+2s32+12}=max{-x22+2(s2-2x2)2+12}
2.2 动态规划的基本方程 动态规划的最优性原理(贝尔曼原理):作为整 个过程的最优策略具有这样的性质,即无论过去的状 态和决策如何,对前面的决策所形成的状态而言,余 下的诸决策必须构成最优策略。简言之,最优策略的 子策略也必是最优的。 根据此原理,要求全过程最优策略,可从子过程 策略的最优化入手。对于过程指标函数是阶段指标函 数和的形式,考虑k-子过程最优值函数fk(sk):
于是 f2(s2)=4/27 s23 (x2*=2/3s2)
当k=1时: f1(s1)=0m≤x2a≤xs2{v1(x1) ·4/27 s23}0=≤xm2≤as2x{x1·4/27(s1-x1)3}
设h1(s1, x1)= x1·4/27(s1-x1)3, 且令dh1(s1, x1) /dx1=0 解得: x1=s1(舍去), x1=1/4 s1
于是 f1(s1)=1/64 s14 (x1*=1/4 s1)
z*=f1(c)=1/64c4
s1=c x1*=1/4c
s2= 3/4c s3= 1/4c x2*= 1/2c x3*= 1/4c
阶段指标函数是对某一阶段上(由状态和决策产 生的)目标损益值的度量,用vk(sk,uk)表示。
过程指标函数是指过程所包含的各阶段上(由状 态和决策所产生的)总的目标损益值,记为
Vk,n=Vk,n(sk,uk,sk+1,uk+1,…,sn,un)
动态规划所要求的过程指标函数应具有可分离性, 即可表达为它所包含的各阶段指标函数的函数。
第8章 动态规划基本方法
动态规划是运筹学的一个分支,产生于20世纪50 年代,1951年由美国数学家贝尔曼等人提出。
第1节 多阶段决策问题与动态规划
例 最短路问题
给定下列道路网络,试求由节点A到G的最短路。
wenku.baidu.com
C1 6
1
8
B1 3
3
5
6
C2 5
D1
2 2
E1
3 5
F1 4
A 3
8
7 B2 6
C3
3 3
8
基本方程为 fk(sk)= max {vk(xk)*fk+1(sk+1)} k=2,1 0≤xk≤sk f3(s3)=s3 (x3*=s3)
当k=2时: f2(s2)=0m≤x2a≤xs2{v2(x2)•s30}≤=xm2≤sa2x{x22(s2-x2)}
设h2(s2, x2)= x22(s2-x2), 且令dh2(s2, x2) /dx2=0 解得: x2=0(舍去), x2=2/3 s2
程,称为问题的全过程;而把从第k阶段开始到最后阶 段终止的决策过程,或称为k子过程。
在全过程上,各阶段的决策按顺序排列组成的决
策序列p1,n={u1,u2,…,un}称为全过程策略,简称策略; 而 在 k- 子 过 程 上 的 决 策 序 列 pk,n={uk,uk+1,…,un} 称 为 k子过程策略,也简称子策略。
0≤x1≤s1
=23.7s1
(x1*=0)
f1(1000)=23.7╳1000=23700
s1=1000 s2=900
s3=810
x1*=0
x2*=0
x3*=810
s1-x1*=1000 s2-x2*=900 s3-x3*=0
s4=567 x4*=567 s4-x4*=0
s5=397 x5*=397 s5-x5*=0
(3)决策(decision) 决策表示在某一阶段处于某种状态时,决策者在 若干种方案中作出的选择决定。
描述决策的变量称决策变量,第k阶段的决策变 量常用uk表示。决策变量的取值会受到状态变量的制 约,被限制在某一范围之内,称为允许决策集,记为 Dk(sk)。
(4)策略(policy) 把从第一阶段开始到最后阶段终止的整个决策过
0≤x4≤s4
0≤x4≤s4
= max{12.2s4+1.4x4}
0≤x4≤s4
=13.6s4
(x4*=s4)
当k=3时: f3(s3)=max{5s3+3x3+13.6s4}=max{5s3+3x3+13.6(0.9s3-0.2x3)}
0≤x3≤s3
0≤x3≤s3
= max{17.24s3+0.28x3} =17.52s3 (x3*=s3)
k=3时:f3(C1)=13 f3(C2)=10 f3(C3)=9 f3(C4)=8
k=2时:f2(B1)=13 f2(B2)=16;
k=1时:f1(A)=18
于是得A到G的最短距离为18,最短路线为:
A→B1→C2→D1→E2→F2→G
现在把动态规划法的步骤归纳如下:
(1)将所研究问题的决策过程划分为n个恰当的阶 段,k= 1,2,…,n;
0≤x2≤s2 ⁄2
0≤x2≤s2 ⁄2
=max{7x22-8s2x2+2s22+12}=2s22+12 (x2*=0)
0≤x2≤s2 ⁄2
当k=1时:f1(s1)= max{4x12+2s22+12}=max{4x12+2(s1-3x1)2+12}
0≤x1≤s1 ⁄3
0≤x1≤s1 ⁄3
=max{22x12-12s1x1+2s12+12} =2s12+12 (x1*=0)
(5)状态转移方程 若第k阶段的状态变量值为sk,当决策变量uk的取 值决定后,下一阶段状态变量sk+1的值也就完全确定 了,即sk+1的值对应于sk和uk的值。这种对应关系记为 sk+1=Tk(sk,uk),称为状态转移方程。 状态转移方程描述了由一个阶段的状态到下一阶 段的状态的演变规律。
(6)指标函数和最优值函数 指标函数分为阶段指标函数和过程指标函数。
常见的两种过程指标函数形式是: ①各阶段指标函数的和 Vk,n= vj(sj,uj); ②各阶段指标函数的积 Vk,n= vj(sj,uj)。
把过程指标函数Vk,n对k-子过程策略pk,n求最优, 得到一个关于状态sk的函数,称为(k-子过程)最优 值函数,记为fk(sk)。即
fk(sk)={uko,…pt,un}Vk,n(sk,uk,…,sn,un) 式中的“opt”(optimization)可根据具体问题 而取min或max。
以上步骤是动态规划法处理问题的基本步骤,其 中的前六步是建立动态规划模型的步骤。
例:机器负荷问题 某种机器可以在高低两种不同的负荷下进行生产。 在高负荷下进行生产时,产品的年产量g和投入生产的 机器数量u的关系为 g=8u, 这时机器的年完好率为 a=0.7。在低负荷下生产时,产品的年产量h和投入生 产的机器数量v的关系为h=5v, 这时机器的年完好率为 b=0.9。假定开始生产时完好的机器数量为1000,要求 制定一个五年计划,在每年开始时决定机器在两种不 同负荷下生产的数量,使五年产品的总产量最高。
则有递推方程: 还需有边界条件,一般取:
于是,得基本方程
(k=n,n-1,…,2,1)
类似地,对于过程指标函数是阶段指标函数积的 形式,其基本方程为:
(k=n,n-1,…,2,1)
利用基本方程,由后向前逆序递推,就可实现对 动态规划问题的求解。
例 最短路问题
13
C1 6
13 1
8
7
7
4
18 5
A 3
(2)状态(state) 状态表示每个阶段开始时所处的自然状况或客观 条件。它描述了影响决策的因素随决策进程的变化情 况。它既是前面阶段所作决策的结果,又是本阶段作 出决策的出发点和依据。 描述状态的变量称状态变量,第k阶段的状态变量 常用sk表示。通常,第一阶段的状态变量s1是确定的, 称初始状态。
解:按变量划分为3个阶段,k=1,2,3 取k阶段初常数项的剩余量sk为状态变量,s1=9 取xk为决策变量,0≤xk≤sk ⁄ak(a1=3, a2=2, a3=1) 状态转移方程为 sk+1=sk-akxk 指标函数为 Vk,n=Ʃvj(xj)(v1(x1)=4x12, v2(x2)=-x22, v3(x3)=2x32+12)
相关文档
最新文档