动态规划讲座
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D1 D1E1 2+7=9
7
D1E2 2+5=7*
D2 D2E2 1+5=6*
6
D2E3 2+9=11
D3 D3E2 3+5=8*
8
D3E3 3+9=12
当k=3时
s3 u3 d(u3)+f4(s4) f3(s3)
当k=2时
s2 u2 d(u2)+f3(s3) f2(s2)
C1 C1D1 6+7=13*
(3)决策(decision)决策表示在某一阶段处于某种 状态时,决策者在若干种方案中作出的选择决定。描述 决策的变量称决策变量,第k阶段的决策变量常用uk表 示。决策变量的取值会受到状态变量的制约,被限制在 某一范围之内。
(4)策略(policy)把从第一阶段开始到最后阶段终 止的整个决策过程,称为问题的全过程;而把从第k 阶段开始到最后阶段终止的决策过程,或称为k子过 程。在全过程上,各阶段的决策按顺序排列组成的决 策序列p1,n={ u1,u2,……,un }称为全过程策略,简 称策略;而在k子过程上的决策序列pk,n= { uk,uk+1,……,un }称为k子过程策略,也简称子策略。
=0≤mxa4x≤{s14 2.2s4+1.4x4}=13.6s4
(x4*=s4)
当k=3时 f3(s3)0=≤xm3a≤xs{3 5s3+3x3+13.60s4≤}x=3m≤sa3x{5s3+3x3+13.6(0.9s3-0.2x3)}
=0≤mxa3x≤{s13 7.24s3+0.28x3}=17.5s3 (x3*=s3)
12
C4D3 4+8=12*
由此可以看出,A到G
当k=1时
s1 u1 d(u1)+f2(s2)
的最短路长为18,路径为: A→B1→C2→D1→E2→F2
A
→G
AB1 AB2
5+13=18*
3+16=19
13 16
f1(s1) 18
4.3 动态规划的步骤(二)
现在把动态规划法的步骤归纳如下: (1) 将所研究问题的过程划分为n个恰当的阶段,
(5)状态转移方程 若第k阶段的状态变量值为sk,当 决策变量uk的取值决定后,下一阶段状态变量sk+1的 值也就完全确定。即sk+1的值对应于sk和uk的值。这种 对应关系记为sk+1=Tk(sk,uk),称为状态转移方程。 状态转移方程描述了由一个阶段的状态到下一阶段的 状态的演变规律。
4.2 动态规划的基本概念(二)
4.2 动态规划的基本概念(一)
(1)阶段(stage)把所研究的决策问题,按先后顺序 划分为若干相互联系的决策步骤,以便按一定的次序进 行求解。描述阶段的变量称阶段变量,常用k表示。
(2)状态(state)状态表示每个阶段开始时所处的自 然状况或客观条件,它描述了影响决策的因素随决策进 程的变化情况,它既是前面阶段所作决策的结果,又是 本阶段作出决策的出发点和依据。描述状态的变量称为 状态变量,第k阶段的状态变量常用sk表示。通常,在第 一阶段状态变量s1是确定的,称初始状态。
(6)指标函数和最优值函数 指标函数分为阶段指标函数和过 程指标函数。阶段指标函数是对某一阶段的状态和决策产生 的效益值的度量,用vk(sk,uk)表示。过程指标函数是指过程 所包含的各阶段的状态和决策所产生的总的效益值,记为
Vk,n=Vk,n(sk,uk,sk+1,uk+1,……,sn,un) 动态规划所要求的过程指标函数应具有可分离性,即可表 达为它所包含的各阶段指标函数的函数形式。常见的两种过 程指标函数形式是:
加工工件在机床A上有加工顺序问题,在机床B上 也有加工顺序问题。可以证明:最优加工顺序在两台 机床上可同时实现。因此,最优排序方案可以只在机 床A、B上加工顺序相同的排序中寻找。即使如此,所 有可能的方案仍有n!个,这是一个不小的数,用穷举 法是不现实的。
max。
(7)基本方程 通常动态规划问题的最优值函数满足
递推关系式。设过程指标函数为各阶段指标函数的和
的形式,即Vk,n=∑vj(sj,uj),则有
fk(sk)= opt {vk(sk,uk)+fk+1(sk+1)}
uk∈Dk(sk)
(k=n,n-1,…,1)
递推方程
fn+1(sn+1)=0
边界条件
当k=2时 f2(s2)0=≤mxa2x≤{s52 s2+3x2+17.52s30}≤=xm2a≤xs{2 5s2+3x2+17.52(0.9s2-0.2x2)}
=0≤mxa2x≤{s22 0.77s2-0.504x2}=20.7s4 (x2*=0)
当k=1时 f1(s1)=23.7s1 (x1*=0) f1(1000)=23700
①各阶段指标函数的和 Vk,n=∑vj(sj,uj); ②各阶段指标函数的积 Vk,n=∏vj(sj,uj)。 把过程指标函数Vk,n对k子过程策略pk,n求最优,得到一个 关于状态sk的函数,称为最优值函数,记为fk(sk)。即 fk(sk)= uk,o…pt,un Vk,n(sk,uk,……,sn,un) 式中的“opt”(optimization)可根据具体问题而取min或
(6)基本方程为 fk(sk)= max {5sj+3xj +fk+1(sk+1)}
0≤xk≤sk
f6(s6)=0
k=5,4,3,2,1
当k=5时 f5(s5)=0≤mx5a≤xs{55s5+3x5+f6(s60)}≤=x5m≤sa5x{5s5+3x5}=8s5 (x5*=s5)
当k=4时 f4(s4)0=≤xm4a≤xs{4 5s4+3x4+8s05≤}x=4m≤sa4x{5s4+3x4+8(0.9s4-0.2x4)}
3 不确定性采购问题
某单位准备在以后的n个时期内采购一批物资。各
时期的价格不是确定的,而是按照某种已知的概率分
布取值。试制定采购策略,确定在哪一时期以什么价
格采购,能使采购价的数学期望值最低。这类问题也
适合用动态规划法进行处理。下面通过实例加以说明
。例7 某厂生产上需要在近五周 内采购一批原料,而估计在未
以上步骤是动态规划法处理问题的基本步骤,其中 的前六步是建立动态规划模型的步骤。
例:机器负荷问题 某种机器可以在高低两种 不同的负荷下进行生产.在高负荷下进行生产 时,产品的年产量g和投入生产的机器数量u的 关系为 g=8u, 这时机器的年完好率为a=0.7 .在低负荷下生产时,产品的年产量h和投入 生产的机器数量v的关系为h=5v, 这时机器的 年完好率为b=0.9.假定开始生产时完好的机 器数量为s1,要求制定一个五年计划,在每年 开始时决定机器在两种不同负荷下生产的数量, 使五年内产品的总产量最高。
以上两个问题都可以划分为先后 多个决策阶段。这类问题就称为多 阶段决策问题。多阶段决策问题的 过程如下图所示:
决策1 决策2
决策n
状 态1
状 态2 1
2
状 态.3 . .状 态 n n
状 态 n+1
多阶段决策问题和我们前面遇到的决策问题
不同,它是和时间有关的。与时间有关的活动过 程称为动态过程,其优化方法称为动态规划。而 与时间无关的活动过程称为静态过程,相应的的 优化方法称为静态规划。
例 某工业部门根据国家计划安排,拟将
五台某种高效率的机器分配给所属的甲、 乙、丙三个工厂,各工厂得到不同数量的 机器可获得的收益如下表。问应如何分配 机器,才能使各厂的总效益最大。
工厂
机器数 0 1 2 3 4 5
甲 乙丙
0
00
3
54
7 10 6
9 11 11
12 11 12
13 11 12
4.4 动态规划的应用(三)
价 格概 率
来五周的价格有波动,其浮动
500 0. 3
价格和概率策得如下表。试确 定该厂应在哪一周以什么价格 购入,能使其采购价的数学期
600 0. 3 700 0.4
望值最小,并求出期望值。
4.4 动态规划的应用(四)
4 排序问题
设有n个工件需要在机床A、B上加工,每个工件都 必须先经过A而后B•两道加工工序。以ai、bi分别表示 工件i(1≤i≤n)在A、B上的加工时间。问应如何在两 机床上安排各工件的加工顺序,使在机床A上加工第一 个工件开始到在机床B上加工完最后一个工件为止,所 用的加工总时间最少?
4 动态规划
4.1 多阶段决策问题与动态规划 4.2 动态规划的基本概念 4.3 动态规划的步骤 4.4 动态规划的应用
1 求解静态规划问题 2 资源分配问题 3 不确定性采购问题 4 排序问题
4.1 多阶段决策问题与动态规划
例1最短路问题
C1 6
1
8
B1 3
3
5
6
C2 5
D1
2 2
E1
3 5
F1 4
C3
3 3
8
1 D2 2
3 D3 3
5 E2 2
6 E3 6
G F2 3
C4 4
此问题的基本方程为
当k=6时
fk(sk)=Min{dk(uk)+fk+1(sk+1)} s6 u6 D(u6)+f7(s7)
uk∈Dk(sk) k=6,5,4,3,2,1 F1 F1G
4+0=4*
F6(s6) 4
f7(s7)=0
k= 1,2,…,n; (2) 正确地选择状态变量Sk,并确定初始状态S1的值; (3) 确定决策变量uk以及各阶段的允许决策集Dk(Sk); (4) 给出状态转移方程; (5) 给出满足要求的过程指标函数Vk,n及相应的最优
值函数; (6) 写出递推方程和边界条件,建立基本方程; (7) 按照基本方程递推求解。
F2 F2G 3+0=3* 3
按基本方程由后向前继续递推有:
当k=5时
s5 u5 d(u5)+f6(s6)
* E1 E1F1 3+4=7
E1F2 5+3=8 E2 E2F1 5+4=9
E2F2 2+3=5* E3 E3F1 6+4=10
E3F2 6+3=9*
f5(s5) 7
5 9
当k=4时 s4 u4 d(u4)+f5(s5) f4(s4)
解:
(1)按年数划分为5个阶段,k=1,2,3,4,5
(2)取第k年初完好的机器数sk为状态变量, s1=1000 (3)取第k年投入高负荷的机器数xk为决策变量, 0≤xk≤sk (4)状态转移方程为 sk+1=0.7xk+0.9(sk-xk)=0.9sk-0.2xk (5)指标函数为Vk,5=∑[8xj+5(sj-xj)]=∑(5sj+3来自百度文库j)
13
B1C1 1+13=14
C1D2 8+6=14
B1 B1C2 3+10=13*
C2 C2D1 3+7=10*
10
B1C3 6+9=15
C2D2 5+6=11
B2 B2C2 8+9=17
C3 C3D2 3+6=9*
9
B2C3 7+9=16*
C3D3 3+8=11
B2C4 6+12=18
C4 C4D2 8+6=14
A 3
8 7
B2 6
C3
3 3
8
D2
1 2
3 D3 3
5 E2 2
6 E3 6
F2 3
G
C4 4
例2 机器负荷分配问题
某种机器可以在高低两种不同的负荷下进行生产.在高负 荷下进行生产时,产品的年产量g和投入生产的机器数量u的关 系为 g=g(u), 这时机器的年完好率为a(0<a<1).在低负荷 下生产时,产品的年产量h和投入生产的机器数量v的关系为h =h(v), 这时机器的年完好率为b(a<b<1).假定开始生产时 完好的机器数量为s1,要求制定一个五年计划,在每年开始时决 定机器在两种不同负荷下生产的数量,使五年内产品的总产量 最高。
s1=1000, x1*=0 s4=576, x4*=576
s2=900, x2*=0 s3=810, x3*=810 s5=397, x5*=397
4.4 动态规划的应用(一)
1 求解静态规划问题
某些静态规划问题可用动态规划法来求解。
例 用动态规划法求解 max z=x12.x22.x3 x1+x2+x3=c xi≥0 i=1,2,3
4.4 动态规划的应用(二)
2 资源分配问题 资源分配问题可描述如下:设有某种原料, 总数量为a,分配给n个使用者。已知第i个使用 者得到数量xi的资源,可创造的收益为gi(xi)。 问应如何分配该资源,才能使总收益最大。
用动态规划法处理这种问题时,通常把给一 个使用者分配资源的过程看成一个阶段,按n 个使用者分成先后n个决策阶段。即先给第1个 使用者分配资源,为第一阶段;再给第2个使 用者分配,为第2阶段;依此类推,最后给第n 个使用者分配,为第n阶段。
递推方程和边界条件一起称为动态规划的基本方程。
可根据边界条件,从k=n开始,由后向前逆推,逐
步求得各阶段的最优决策和相应的最优值,最后求出
f1(s1)时,就得到整个问题的最优解。
4.3 动态规划的步骤(一)
例 最短路问题
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