运筹学动态规划

合集下载

运筹学_动态规划(中科院胡晓东)

运筹学_动态规划(中科院胡晓东)

5.2 最短路(续十)
要论证一旦 d[u] = p(s, u), p[u] 再也不会改变了。注意, 在 p[u] 达到它的下界以后,它就不可能再变小了,这是因为我 们刚刚证明 p[u] ≥ p(s, u),而且它也不会增加了,这是因为for循环语句中的运算步骤不会增加 p[… ] 的值。 最多有 |V | 个顶点被放入集合 S 中,且它们被放入 S 中恰好 一次,因此, while-循环中最多有 |V | 次迭代。在每一次迭代 中,在一个顶点被放入 S 中以前,最多有 |V | 个顶点被考察过。 因而,总共有 O(|V |2) 次运算。此外,在for-循环中 E 中每一 条边最多被考虑了一次。由此可知,整个算法的运行时间是 O(|V |2 + |E| )=O(|V |2)。
xdhu 7
5.2 最短路(续三)
由上述引理可以导出以下递归关系式: p(s, s) = 0, p(s, u) = min{ p(s, v) + w(v, u) | (v, u)∈ E(G)}。 我们下面来讲述 Dijkstra算法。用顶点集合 S 表示由顶点 s 到 它的最终最短路已经确定。最初,S 仅包含顶点 s。然后,算法 重复选取一个顶点 u∈V \ S,估计其最短路长,并将 u 放入集 合 S 中直到 S 包含顶点 t。 在运行算法时,我们用 p[v] 表示从 s 到 v 的最短路的上界。最初,对每一个顶点 v∉V \ {s},我们 取 p[v] 都为 ∞;当算法终止时, p[v] 即为从 s 到 v 的最短路 长,即 p[v] = p(s, v)。在算法运行中, 我们用 p(v) 表示从 s 到 v 的最短路上到达 v 的前一个顶点;这样当算法终止时,我们 不仅可以得到最短路长,而且可以确定相应的最短路。

动态规划

动态规划

多阶段决策问题中,各个阶段采取的决策,一般来说是与时间有关的,决策依赖于当前状态,又随即引起状 态的转移,一个决策序列就是在变化的状态中产生出来的,故有“动态”的含义,称这种解决多阶段决策最优化 问题的方法为动态规划方法 。
任何思想方法都有一定的局限性,超出了特定条件,它就失去了作用。同样,动态规划也并不是万能的。适 用动态规划的问题必须满足最优化原理和无后效性 。
动态规划
运筹学的分支
01 原理
03 局限性
目录
02 分类
动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的过程。20世纪50年 代初,美国数学家贝尔曼(R.Bellman)等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理, 从而创立了动态规划。动态规划的应用极其广泛,包括工程技术、经济、工业生产、军事以及自动化控制等领域, 并在背包问题、生产经营问题、资金管理问题、资源分配问题、最短路径问题和复杂系统可靠性问题等中取得了 显著的效果 。
最优化原理可这样阐述:一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成 的状态而言,余下的诸决策必须构成最优策略。简而言之,一个最优化策略的子策略总是最优的。一个问题满足 最优化原理又称其具有最优子结构性质 。
将各阶段按照一定的次序排列好之后,对于某个给定的阶段状态,它以前各阶段的状态无法直接影响它未来 的决策,而只能通过当前的这个状态。换句话说,每个状态都是过去历史的一个完整总结。这就是无后向性,又 称为无后效性 。
状态:状态表示每个阶段开始面临的自然状况或客观条件,它不以人们的主观意志为转移,也称为不可控因 素。在上面的例子中状态就是某阶段的出发位置,它既是该阶段某路的起点,同时又是前一阶段某支路的终点 。

远程运筹学动态规划6

远程运筹学动态规划6

综合考虑后继过程整体最优, 综合考虑后继过程整体最优,取最优决策是 到v8,最优后继过程是v5→v8→ v10 ,最短距 离是16 . 同理, 离是 16. 同理 , 状态 v6 的最优决策是至 v8 ; 16
连续生产过程的控制问题: 例 3 连续生产过程的控制问题:一般 化工生产过程中, 化工生产过程中,常包含一系列完成生产过 程的设备, 程的设备,前一工序设备的输出则是后一工 序设备的输入,因此, 序设备的输入,因此,应该如何根据各工序 的运行工况,控制生产过程中各设备的输入 的运行工况, 和输出, 和输出,以使总产量最大。 以上所举问题的发展过程都与时间因素 有关,因此在这类多阶段决策问题中, 有关,因此在这类多阶段决策问题中,阶段
例 2 设备更新问题 : 一般企业用于生 设备更新问题: 产活动的设备, 刚买来时故障少, 产活动的设备 , 刚买来时故障少 , 经济效益 即使进行转让, 处理价值也高, 高 , 即使进行转让 , 处理价值也高 , 随着使 用年限的增加, 就会逐渐变为故障多, 维修 用年限的增加 , 就会逐渐变为故障多 , 费用增加, 可正常使用的工时减少, 费用增加 , 可正常使用的工时减少 , 加工质 量下降, 经济效益差, 并且, 量下降 , 经济效益差 , 并且 , 使用的年限越 处理价值也越低, 自然, 长 、 处理价值也越低 , 自然 , 如果卖去旧的 买新的, 还需要付出更新费. 买新的 , 还需要付出更新费 . 因此就需要综 合权衡决定设备的使用年限, 合权衡决定设备的使用年限 , 使总的经济效 益最好。 益最好。
多阶段决策过程特点: 多阶段决策过程特点:
决策u1 决策u2 决策uk 决策un
状态 阶段1 状态 阶段2 状态... 状态 阶段k 状态... 状态 阶段n 状态 阶段1 阶段2 阶段k x

运筹学-第七章-动态规划

运筹学-第七章-动态规划

6
5
7
f2(D)=8 3
D
4
f3(E)=3
E 3
f3(F)=5
5
F
f3(G)=8 8
G
f2(D )m d d i((n D D ,,G F )) ff3 3((G F )) m 3 4 i n 5 8 8 u22(0D 21/)8/ 3 DF
f4(H)=0
H
14
f1(A)=14
A
f2(B)=13
2021/8/3
20
逆推公式
fk(sk)=OPT {v(sk,uk)+ fk+1(sk+1)} k =n, …1
fn+1(sn+1)=0 或
Max 或 Min
fk(sk)=OPT{v(sk ,uk)+ fk+1(sk+1)} k =n-1, …1 fn(sn)= OPT{v(sn ,un)}
多阶段决策问题中,常见的目标函数形式之一是取各阶段效 益之和的形式。有些问题,如系统可靠性问题,其目标函数 是取各阶段效益的连乘积形式。总之,具体问题的目标函数 表达形式需要视具体问题而定
2021/8/3
19
(4) 状态转移方程 sk+1 =T (sk, uk):描述第 k 阶段与第 k+1 阶段的状态变量的关系
(5) 指标 v (sk ,uk) :第 k 阶段在状态 sk 下采取决策 uk 得到的 结果(距离、得益、成本等)
指标函数是指各阶段指标的累计。即 V (sk,uk, …, sn,un, sn+1)=vk(sk,uk)*vk+1(sk+1,uk+1)…*vn(sn,un)
30
k=2, S2 = {0,1,2,3,4,5}, f2(s2)=0mua2x{sg22(u2)+ f3(s3)}

运筹学——动态规划

运筹学——动态规划

优子策略。该原理的具体解释是,若某一全过程
最优策略为:
p1
(s1 )
{u1
(s1 ),
u 2
(s2
),
,
u
k
(sk
),
u
n
(sn
)}
则对上述策略中所隐含的任一状态而言,
第k子过程上对应于该状态的最优策略必然包
含在上述全过程最优策略p1*中,即为
pk
(sk
)
{u
k
(sk
),
u
k 1
(sk
1
),
2.正确地定义状态变量sk,使它既能正确地描述过 程的状态,又能满足无后效性.动态规划中的状 态与一般控制系统中和通常所说的状态的概念是 有所不同的,动态规划中的状态变量必须具备以 下三个特征:
20
2021/7/26
(1)要能够正确地描述受控过程的变化特征。 (2)要满足无后效性。即如果在某个阶段状态已经给定,那么在
sk 1 Tk (sk ,uk (sk ))
上式称为多阶段决策过程的状态转移方程。有些问题的 状态转移方程不一定存在数学表达式,但是它们的状态 转移,还是有一定规律可循的。
12
2021/7/26
(六) 指标函数 用来衡量策略或子策略或决策的效果的某种数量
指标,就称为指标函数。它是定义在全过程或各 子过程或各阶段上的确定数量函数。对不同问题 ,指标函数可以是诸如费用、成本、产值、利润 、产量、耗量、距离、时间、效用,等等。
7
2021/7/26
(二)状态、状态变量和可能状态集 1.状态与状态变量。用以描述事物(或系统)在某特 定的时间与空间域中所处位置及运动特征的量,称 为状态。反映状态变化的量叫做状态变量。状态变 量必须包含在给定的阶段上确定全部允许决策所需 要的信息。按照过程进行的先后,每个阶段的状态 可分为初始状态和终止状态,或称输入状态和输出 状态,阶段k的初始状态记作sk,终止状态记为sk+1 。但为了清楚起见,通常定义阶段的状态即指其初 始状态。

[管理学]运筹学 动态规划

[管理学]运筹学  动态规划

多阶段决策过程图示
决策 决策
决策
第第

1
2
n
阶阶

段段

动态规划的基本概念
C1 5
2
8 D1 3
4
A
B1 3
4
6
C2
5
58
3
5 6 D2 2
E1 4 3
F
B2 7 C3 4
1
E2
7
8
D3 3
C4 4
1
2
3
4
5
阶段: k=1,2,3,4,5
基本概念(续一)
C1 5
2
8 D1 3
B1 3
4
4
A
6
C2
第七章 动态规划
动态规划简介
多阶段决策过程最优化
多阶段决策过程,是指一类特殊的过程, 它们可以按时间顺序分解成若干个相互联 系的阶段,称为“时段”,在每个时段都 要做决策,全部过程的决策是一个决策序 列。多阶段决策问题也称为序贯决策问题。 多阶段决策问题的目标是要达到整个活动 过程的总体最优。在每个阶段进行决策时 不应仅考虑本阶段最优,尤其应考虑对最 终目标的影响,从而做出对全局来说最优 的决策。 动态规划是符合这种要求的一种决策方法。
C1 5
2
8 D1 3
4
A
B1 3
4
6
C2
5
58
3
5 6
D2
2
E1 4 3
F
B2 7 C3 4
1
E2
7
8
D3 3
C4 4
第二步,k=4,状态变量s4可以取三个值D1,D2,D3。于是
f

运筹学第六章 动态规划

运筹学第六章 动态规划

f
3
(C
2
)
min
((CC22,,DD21
) )
f f
4 4
( (
D1 D2
) )
6 5
11
min
5
2
min
7
7
最优决策C2 D2
15
f3(C1)=8
2
A5
1
B1 12 14
10
6
B2 10
4 13
B3
12 11
C1
3
9
f3(C2)=7
6
C2
5 8
C3
10
f4(D1)=5
D1
5 f5(E)=0
B1 12 14
2 f2(B2)=110 4
6
5
B2 10
4
1
13
B3
12 11
f2(B3)=19
f3(C1)=8
C1
3
9
f3(C2)=7
6
C2
5 8
C3
10
f3(C3)=12
f4(D1)=5
D1
5 f5(E)=0
E
D2 2
f4(D2)=2
状态 最优决策 状态 最优决策 状态 最优决策 状态 最优决策 状态 A ( A,B2) B2 (B2,C1) C1
22
f1(A)=19
A
f2(B1)=21
B1 12 14
2 f2(B2)=110 4
6
5
B2 10
4
1
13
B3
12 11
f2(B3)=19
f3(C1)=8
C1
3
9

实用运筹学——5.3 动态规划的模型及求解方法

实用运筹学——5.3 动态规划的模型及求解方法

min 1
6
min
7
7
v 2(B3,C 3 ) f3(C 3 )
5 12
17
即从点 B3 到终点 E 的最短路线为B 3 C 2 D 2 E ,最短距离为 7.
第一阶段,从始点 A 到终点 E 的最优决策为
v 1(A,B1) f2(B1)
2 10
12
f1(A) minv 1(A,B2 ) f2(B2 ) min5 13 min18 8
f4(D f4(D
12))
min45
5 2
min160
6
从点 C2 到终点 E 的最优路线为C 2 D 2 E ,最短距离为 6.
如果从点 C3 出发,则最优决策为
f3(C 3 )
minvv33((CC
3,D1 3,D2
) )
f4(D 1 ) f4(D2 )
min180
5 2
min1123
v 1(A,B3 ) f2(B3 )
1
7
8
即从始点 A 到终点 E 的最短路线为 A B 3 C 2 D 2 E ,最短距离
为 8.
6 12
18
即从点 B1 到终点 E 的最短路线为 B 1 C 2 D 2 E ,最短距离为 10.
从点 B2 到终点 E 的最优决策为
v 2(B 2,C 1) f3(C 1)
6 7
13
f2(B2 ) minv 2(B2,C 2 ) f3(C 2 ) min10 6 min16 13
❖ 下面通过求解例5.1.4,阐明逆序递推法的基本思路.
❖ 第四阶段,由点D1到终点E只有一条路线,其长度 f4(D1)=5,同理f4(D2)=2.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

运筹学动态规划第7章动态规划动态规划是Bellman 在1957年提出的解多阶决策问题的方法,在那个时期,线性规划很流行,它是研究静态问题的,而Bellman 提出的解多阶决策问题的方法适用于动态问题,相对于线性规划研究静态问题,取名动态规划。

动态规划方法应用范围非常广泛,方法也比较简单。

动态规划是将一个多阶决策问题分解为一系列的互相嵌套的一步决策问题,序贯求解使问题得到简化。

动态规划问题按照问题的性质可以分为确定性的和随机性的,按决策变量的和状态变量的取值可以分为离散型的和连续型的。

此外还有依据时间变量连续取值还是离散取值又分为连续时间动态规划问题和离散时间动态规划问题。

本章重点讨论离散时间确定性动态规划问题,包括状态变量和决策变量连续取值和离散取值两种情况。

7.1解多阶决策问题的动态规划法1.多阶决策问题的例(1)最优路径问题—多阶决策问题的例为了直观,先从最优路径问题谈起,它可以看作一个多阶决策过程。

通过最优路径问题的解可以看到用动态规划法解多阶决策问题的基本思想。

考虑图7-1所示的最优路径问题。

一汽车由S 点出发到终点F ,P 和Q 是一些可以通过的点。

图中两点间标出的数字是汽车走这一段路所需的时间(单位为小时)。

最优路径问题是确定一个路径,使汽车沿这条路径由S 点出发达到F 点所用时间最短。

最优路径问题可以看作一个多阶决策问题,由S 到城市甲是第1个阶段,第1个结点P 1或第2个结点Q 1做为第1阶段可以通过的两个站点,由城市甲到城市乙是第2阶段,这个阶段是从P 1或Q 1到P 2或Q 2,由城市乙到城市丙是第3阶段,这个阶段是从P 2或Q 2到P 3或Q 3,由城市丙的P 3或Q 3到F 做为第四阶段。

(2)最优路径问题的解对最优路径问题,存在一个非常明显的原理,即最优路径的一部分还是最优路径。

换句话说,如果SQ P Q F 123是所求的最优路径,那么,汽车从这一路径上的任何一点,例如P 2,出发到F 的最优路径必为P Q F 23。

这一原理称为最优性原理。

根据这一原理可以由后向前递推求出最优路径。

如果汽车已到Q 3,由Q 3直接到F 用3小时,如果汽车已到P 3,由P 3直接到F 用4小时,这两个数字分别标在图7-2中Q 3和P 3旁的方括号内。

再向前推一步,设汽车已在2Q ,1441P 2P 3P 1Q 2Q 3Q 422166753S F 图7-1最优路径问题经P 3需2+4=6小时,经Q 3需2+3=5小时。

这样从Q 2出发经Q 3到F 所需时间最短,需5小时。

将5记在Q 2旁的括号内,经Q 3到达F ,将Q 3标在括号的下角。

类似的可计算出汽车分别从P 2,Q 1,P 1,S 出发达到F 所需的最短时间及路径,见图7-2。

由图7-2可以看出,汽车从S 出发达到F 的最优路径是SQ P Q F 123,需时13小时。

不仅如此,由图7-2还可以看到汽车从任何一点出发到达F 点最短路径,及与它相应的最短时间。

按构造图7-2的方法共需10次加法。

如将所有的路径一一列出则需24次加法。

上面的求最优路径的方法,是把一个四阶段的最优决策问题,化成四个互相嵌套的子问题逐一求解,从而使问题得到简化,这种方法称为动态规划法。

为了说明动态规划方法的优点,我们将应用决策树法的情况画到图9.3中,可以看到用决策树法运算量比用动态规划法大得多。

由图9.3可以看出决策树法是算出所有可能的路径所需的时间,最后从中选出最优路径,动态规划法则是从后面向前递推。

每阶段计算过的结果不在重复计算,从而减少了计算量。

1442]10[1P P 3]4[2Q P ]4[3P 2]8[1P Q 3]5[2Q Q ]3[3Q 4221667531]13[Q S F 图7-2最优路径问题的2.应用动态规划解多阶决策问题的基本特征动态规划是解多阶决策问题的一种方法。

它可以求解的问题有如下特征:决策问题可以分成若干个阶段,每个阶段有若干与该阶段有关的状态和需要做的决策,系统从一个阶段的状态按一定的规律转移到下一个阶段的状态,多阶决策问题是求一个由每个阶段的决策构成的最优策略使得按决策目标最好。

应用动态规划解多阶决策问题有如下基本特征:(1)问题可以依时间顺序或空间的自然特征划分为几个阶段,每个阶段有一个决策变量需要作出决策。

用k 表示阶段数,用)(k u 表示第k 阶段的决策变量。

(2)动态规划中本阶段状态往往是上一阶段的状态和上一阶段的决策进行综合的结果.每个阶段作出决策后,使得当前的状态)(k x 转移到下一阶段的状态)1(+k x)),(),(()1(k k u k x f k x =+ 1,,2,0-=N k函数)),(),((k k u k x f 决定了这一转移过程,称它为转移函数。

这个方程称为状态转移方程简称状态方程。

状态方程是研究对象的内在规律的数学描述,也称为研究对象的数学模型。

(3)每个阶段的决策变量的集合构成多阶决策问题的一个策略)}1(,),1(),0({-N u u u按照决策的目标,引进一个用于衡量所选定策略优劣的数量指标称为指标函数.一些决策过程的指标函数越大越好(例如指标函数是利润、产值等),另一些决策过程的指标函数越小越好(例如指标函数是成本、误差等)。

使得指标函数最大(或最小)的策略称为最优策略。

最优策略常记为)}1(*,),1(*),0(*{-N u u u(4)以)),(),((k k u k x L 表示第k 阶段的指标函数,则N 阶决策过程的指标函数为∑-==10)),(),((N k N k k u k x L J3.多阶段决策问题的一般提法图最短线路问题中的决策树4665744315 1111111第一第二第三第四设多阶决策问题状态方程为x k f x k u k k ()((),(),)+=1 (7-1)指标函数为∑-==1)),(),((N k N k k u k x L J (7-2)其中u k ()为决策变量。

多阶段决策问题是求一个策略:u ()0,u ()1,…,u N ()-1,使得指标函数J N 最大(或最小)。

使得指标函数J N 最大(或最小)的策略称为最优策略,常记为)1(*,),1(*),0(*-N u u u为了讨论简单,假设函数f 和L 都不依赖于时间变量,设状态方程为x k f x k u k ()((),())+=1 (7-3)指标函数为J L x k u k N k N ==-∑((),())01(7-4)我们遇到的多数问题属于这种情况。

假设系统的初始状态给定为x x ()00=,在指标函数中逐次应用状态方程,可得到N 步决策的指标函数的值为J L x u L x u L x N u N L x u L f x u u N =+++--=++((),())((),())((),())((),())(((),()),())00111100001经逐次代入可得到J J x u u u N N N =-((),(),(),())0011如果已经求出了使N J 最大(或最小)的最优策略u *(),0u *(),1 ,u N *-()1,那么,将它们代入上式,就得到控制N 步的指标函数的最大值(或最小值)。

由于)1(*,),1(*),0(*-N u u u 已确定,N J 只依赖于x ()0,记为J x N * (())0,即))1(*,),1(*),0(*),0(())0((-=*N u u u x J x J N N一般地,初始条件为)(i x 时,i N -步决策的指标函数为∑-=-=1))(),((N ik i N k u k x L J如果已经求出了使i N J -最大(或最小)的最优策略)1(*,),1(*),(*-+N u i u i u ,那么,将它们代入上式,就得到控制i N -步的指标函数的最大值(或最小值)。

由于)1(*,),1(*),(*-+N u i u i u 已确定,N J 只依赖于)(i x ,记为))((i x J i N *-,即))1(*,),1(*),(*),(())((-+=*-N u i u i u i x J i x J N i N 简记为))((i x J i N *-))((i x J i N *-是第i 阶段状态为)(i x 指标函数的最优值,称为最优值函数。

4.动态规划的基本方程—Bellman 方程(1)最优性原理在最短路径问题中讲的最优性原理,对于一般多阶段决策问题也成立。

多阶段决策问题的最优性原理,可用一句话概括:最优策略序列的一部分也构成一个最优策略序列。

更具体的可叙述为如下的定理。

最优性原理:如果),0(*u ),1(*u ,)1(*-N u 是最优策略序列,那么它的一部分),1(*u ,)1(*-N u 也是一个最优策略序列,其初始状态为))0(*),0(()1(u x f x =。

(2)动态规划的基本方程下面导出动态规划的基本方程,它给出N 阶决策问题的指标函数最优值与它的子问题(一个N -1阶决策问题)的指标函数最优值之间的递推关系式。

这个基本方程是用动态规划解一切多阶段决策问题的基础。

假设)0(*u 已求出,那么)1(*,),1(*),0(*-N u u u 的问题构成一个初始条件为x f x u ()((),())100=*的N -1阶决策问题。

这一问题的指标函数最小值记作J x N -*11(()),则有=∑-=-*10)1(),1(),0())(),((min ))0((N k N u u u Nk u k x L x J ?+=∑-=-11)1(),1(),0())(),(())0()0((min N k N u u u k u k x L u x L+=∑-=-11)1(),1(,)0())(),((min ))0(),0((min N k N u u u k u k x L u x L{}))1(())0(),0((min 1)0(x J u x L N u *-+=方程 {}J x L x u J x N u N *-*=+(())min ((),())(())()000101称为动态规划的基本方程,它给出了J x N *(())0与J x N -*11(())之间的递推关系。

类似于上面的推导,可以得到动态规划基本方程的如下一般形式:{}))1(())(),((min ))((1)(++=*--*-i x J i u i x L i x J i N i u i N (7-5)动态规划的基本方程,也称递推方程或Bellman 方程,它给出了J x i N *(())与J x i N i --*+11(())之间的递推关系。

相关文档
最新文档