运筹学动态规划

运筹学动态规划
运筹学动态规划

第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 2

P 3P 1Q 2Q 3Q 42

2166753S 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 422166

7531

]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 J

3.多阶段决策问题的一般提法

图 最短线路问题中的决策树

466

57

44315 11111

11第一第二第三第四

设多阶决策问题状态方程为

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 ==-∑((),())0

1

(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 i

k 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 N

k u k x L x J ?

??

???+=∑-=-1

1)

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(())之间的递推关系。通过它可以把一个多阶决策问题化为若干个子问题,而在

决策的每一阶段,只需对一个变量进行最优化。 5.动态规划的逆向递归求解法

应用Bellman 方程(7-5),可以对以上多阶决策问题从最后一步开始递推求解。这一方法称为逆向递归求解法。该方法首先考虑一步最优化问题:

))1(),1((min ))1(()

1(1--=--*N u N x L N x J N u

))1(),1((--N u N x L 对变量u N ()-1求最小,这是一个静态最优化问题,解这个问题

得到)1(*-N u ,代入上式可以求出J x N 11*-(())。J x N 11*

-(())求出后,由Bellman 方程

{}

J x N L x N u N J x N u N 2212221*-*-=--+-(())min ((),())(())()

(7-6)

式中))2(),2(()1(--=-N u N x f N x 。在此约束条件下对花括号中的函数关于u N ()-2求最小,由于J x N 11*

-(())已经求出,这又是一个静态最优化问题,解这个问题得到

)2(*-N u 。这是通过解一阶必要条件

=-?-?--+-??)

2()

1()1())1(()2(*1N u N x N dx N x dJ N u L

0)

2())2(),2(()1())1(()2(*1=-?--?--+-??N u N u N x f N dx N x dJ N u L (7-7)

求出的。由这个一阶条件求出)2(*-N u 后,将它代回式(7-6)得到))2((2-*

N x J 。然后

就可以进行下一次递推。

一阶必要条件(7-7)的一般形式是

0)

())(),(()1(d ))1((d )(*

1=??+++??--i u i u i x f i x i x J i u L i N (7-8) 这样逐次应用基本方程,就可以由后向前逐次求出所有的决策变量。这一求解过程是把

原来的N 阶决策问题化成了一系列对单变量求最小的问题,从而使问题的求解得到了简化。最优性原理保证这种分步最优化的过程得到的结果与同时确定所有决策变量的结果相同。

以上是终端状态为自由的情况,如果终端状态是给定的,即已给N x N x =)(,则由状态方程有

))1(),1(()(--=N u N x f N x

于是由方程

))1(),1((--=N u N x f x N

可以直接解出唯一的)1(-N

u ,它就是)1(*-N u (因为没有其他选择)。

进而可以计算J x N 11*

-(()),由Bellman 方程

{}

J x N L x N u N J x N u N 2212221*-*-=--+-(())min ((),())(())()

再求)2(*-N u ,然后再继续递归。只到求出最优策略)1(*,),1(*),0(*-N u u u 。

以上推导假设了x 和u 都是标量,当x 和u 都是向量时以上结果仍然成立。

【例7-1】将前面讨论的最优途径问题看作一个四阶段决策问题,可以看出前面的解法实质上是在逐次利用动态规划基本方程求解。

从最后一个阶段开始,如果汽车已经在城市丙的站点P 3,则到达终点F 的最短时间为4)(*31=P J ,如果汽车已经在城市丙的站点3Q ,则到达终点F 的最短时间为3)(*31=Q J 。 向前递推一步,考虑3,4两个阶段,即城市乙和丙联合考虑,利用动态规划基本方程,如

果汽车已经在城市乙的站点2P ,则到达终点F 的最短时间

4}31,41min{)}(*),(*min{)(*3132313222=++=++=Q J Q P P J P P P J (选3Q ) 如果汽车已经在城市乙的站点2Q ,则到达终点F 的最短时间 5}32,42min{)}(*),(*min{)(*3132313222=++=++=Q J Q Q P J P Q Q J (选3Q ) 再递推一步,将城市甲、乙和丙联合考虑,如果汽车已经在城市甲的站点1P ,则到达终点F

的最短时间

10}56,46min{)}(*),(*min{)(*2221222113=++=++=Q J Q P P J P P P J (选2P ) 如果汽车已经在城市甲的站点1Q ,则到达终点F 的最短时间 8}57,44min{)}(*),(*min{)(*2221222113=++=++=Q J Q Q P J P Q Q J (选2P ) 最后,始点S 到达终点F 的最短时间

13}85,104min{)}(*),(*min{)(*1311314=++=++=Q J SQ P J SP S J (选1Q ) 于是得到最优途径是F Q P SQ 321。

【例7-2】资源分配问题

设某公司为了扩大生产能力拟购设备4-6套分配给3个分厂,各分厂得到设备后预期的利润见下表:

预期利润表 分厂 0套 1套 2套 3套 4套 5套 6套 1 0 3 5 6 7 6 5 2 0 4 6 7 8 9 10 3 0 2 5 9 8 8 7

按1、2、3的顺序进行分配,以)(k x 表示给k 厂分配时可分配的套数,)(k u 分配给k 厂的套数))(),((k u k x L 是由上表给出的k 厂得到)(k u 套设备所创的利润,状态转移方程为

)()()1(k u k x k x -=+

指标函数为

∑==3

1

3))(),((k k u k x L J

问题是选取策略)3(),2(),1(j u u 使满足)()(0k x k u ≤≤并使3J 最大。 记 ∑=≤≤=

3

1

)

()(01*3

))(),((max

)(k k x k u k u k x L x J

由后向前递推:

第1步:3=k ,由利润表的最后一行得到下表

)3(x )3(u ))3((*1x J

1 2 3 4 5 6

1 2 3 3 3 3

2 5 9 9 9 9

第2步:2=k ,由利润表的第2行及递推公式得到下表

)2(x 0 1 2 3 4 5 6

))

2((*2x J

)

2(*u

1 2 3 4 5 6

0 0+2 0+5 0+9=9 0+9=9 0+9=9 0+9=9 4+0=4 4+2=6 4+5=9 4+9=13 4+9=13 4+9=13 6+0=6 6+2=8 6+5=11 6+9=15 6+9=15 7+0=7 7+2=9 7+5=12 7+9=16 8+0=8 8+2=10 8+5=13 9+0=9 9+2=11 10+0=10 0 4 6 9 13 15 16

0 1 1,2 0,1 1 2 3

第2步:2=k ,由利润表的第1行及递推公式得到下表,由于公司仅购买4-6套设备,所以

6,5,4)1(=x

)

1(x 0 1 2 3 4 5 6

))1((*3x J )1(*u

4 5 6

0+13 0+15 0+16

3+9=12 3+13=16 3+15=18 5+6=11 5+9=14 5+13=18 6+4=10 6+6=12 6+9=15 7+0=7 7+4=11 7+6=13 6+0=11 6+4=10

5 12 1

6 18 1 1 1,2

最后顺序递推得到最优策略:

由上表,当6)1(=x 时,3步决策的指标函数值最大为18,这时)1(*u =1或2,于是

?

?

?===2)1(*41

)1(*5)2(u u x 对于对于 这时对于5)2(=x ,2)2(*=u ,因此=)3(x 3;对于4)2(=x ,1)2(*=u ,因此=)3(x 3 于是=)3(x 3,由第1步的表,3)1(*=u 。

最优策略的两种可能:

3)3(*,3)3(*,2)2(*,5)2(*,1)1(*,6)1(*======u x u x u x ,最大利润18。 3)3(*,3)3(*,1)2(*,4)2(*,2)2(*,6)1(*======u x u x u x ,最大利润18。

最优策略为{1,2,3}或{2,1,3},两种策略均可获最大利润18。

【例7-3】吃糕问题 吃糕问题是资源管理中很多问题的的基础,经济管理的教材都以它为例。吃糕只是形象的说法。

已知有一块蛋糕其大小为0W (代表某种资源的初始存量),计划分N 天吃完(开采完),以)(k W 记第k 天开始时剩余的蛋糕的大小(资源的存量),以)(k C 记第k 天吃的蛋糕的量(开采量),则吃糕问题(资源开采问题)的状态方程为

∑-==1

)(ln N k k k C J Max β

0)()0()

()()1(..0

==-=+N W W W k C k W k W t s

为了具体我们设3=N ,考虑问题

∑==20

)(ln k k k C J Max β

0)3()0()

()()1(..0

==-=+W W W k C k W k W t s

解 由0)3(=W 得到0)2()2(=-C W ,即)2()2(*W C =, 于是 )2(ln )2(*ln ))2((2

2*1W C W J ββ== 应用Bellman 方程,有

))}2(()1(ln {))1((*1)

1(*2W J C Max W J C +=β)}2(ln )1(ln {2)

1(W C Max C ββ+=

)]}1()1(ln[)1(ln {2)

1(C W C Max C -+=ββ

下面需要对花括号内的函数关于)1(C 求导数,并令它等于零,解出)1(C ,这一工作可

以由MATLAB 的符号微分运算和解方程来完成,程序如下:

>> syms beta c1 w1

eq=diff('beta*log(c1)+(beta)^2*log(w1-c1)',c1) eq =

beta/c1-beta^2/(w1-c1) >> c1=solve(eq,c1) c1 =

w1/(1+beta)

得到 β

+=1)

1()1(*W C 于是 )]1()1(ln[)1(ln ))1((2*

2C W C W J -+=ββ

]1)1()1(ln[1)1(ln 2β

βββ+-++=W W W

应用bellman 方程再递推一步

))}1(()0({ln ))0((*

2)

0(*3W J C Max W J C +=

+=)0({ln )0(C Max C ]}1)

1()1(ln[1)1(ln

βββ+-++W W W

+=)0({ln )0(C Max C ]}1)

1(ln[1)1(ln 2β

ββββ+++W W 其中)0()0()1(C W W -=,以上式代入花括号内,再对花括号内的函数关于)0(C 求导数,并令它等于零,解出)0(C ,这一工作仍然由MATLAB 的符号微分运算和解方程来完成:

>> syms beta c0 w0 b

b=1+beta;eq=diff('log(c0)+beta*log((w0-c0)/b)+(beta)^2*log(beta*(w0-c0)/b)',c0) eq =

1/c0-beta/(w0-c0)-beta^2/(w0-c0) >> c0=solve(eq,c0) c0 =

w0/(1+beta+beta^2)

得到 2

1)

0()0(*ββ++=

W C

在解离散的多阶决策问题时,要考虑今天采取的行动会对未来产生影响。用动态规划的Bellman 方程求解跨期最优化问题时,例如在决定当前的收入水平下今天的消费时,不仅要考虑今天的消费,还要考虑未来的消费。当决定今天消费多少时,必须考虑这一决策将影响明天的消费。在应用动态规划的Bellman 方程多阶决策问题时,总是将决策分为两个时期,当前和未来。假设未来的行为已经最优化了,当前应该如何决策。

本例中第一个必要条件

0)1()1()

1()

1(2=--+

C W C ββ

可改写为

)

1()1()

1(2

C W C -=

ββ

左边是消费的边际效用的贴现值,即在1=k 这个周期每增加1个单位蛋糕的消费增加的效用的贴现值。右边是在未来增加1个单位蛋糕的消费增加的边际效用的贴现值,即在2=k 这个周期增加1个单位蛋糕的消费增加的效用的贴现值。这恰是1=k 这个周期每增加1个单位蛋糕的消费的机会成本。因此上面的必要条件的经济意义是:在1=k 这个周期每增加1个单位蛋糕的消费增加的效用的贴现值等于1=k 这个周期每增加1个单位蛋糕的消费的机会成本。

通过例7-1,演示了如何借助于MATLAB 的符号运算,通过Bellman 方程解动态规划问题。但是多数动态规划问题不能像例12-1那样可以求出解析解。

通过例7-1的求解过程我们再概括一下动态规划解多阶决策问题的思路:

(1)将多阶段决策过程划分阶段,恰当地选择状态变量、决策变量以定义最优指标函数,从而把问题化成一族同类型的子问题,然后逐个求解。

(2)求解时从边界条件开始,逆序过程行进,逐段递推寻优.在每一个子问题求解时,都要使用它前面已求出的子问题的最优结果.最后一个子问题的最优解,就是整个问题的最优解。

(3)动态规划方法不是将每个阶段孤立地分开,而是既将当前一段与未来各段分开,又把当前效益和未来效益结合起来考虑的一种最优化方法,因此每段的最优决策选取是从全局考虑的,与仅考虑该阶段的最优选择一般是不同的。

【例7-4】生产-库存-销售系统控制问题 设某厂计划全部生产某种产品,四个季度的定货量分别为600件,700件,500件和1200件。已知该产品的生产费用与生产数量的平方成正比,比例系数为0.005。厂内有仓库可存放未销售掉的产品,其存储费用为每件每季度1元。

设第k 季度该产品的生产数量为u k (),第k 季度初的库存量为x k (),第k 季度的销售量(这里假设完全按定货量销售)为s k ()。那么这三个变量之间的关系为:下季度初的库存量等于本季度的库存量加本季度的生产量减去本季度的销售量。因此该系统的状态方程为

x k x k u k s k ()()()()+=+-1

如果年初没有存货,则x ()10=,如果要求年底将货销完,则有x ()50=。该控制问题的目标是使总费用(包括生产费用和存储费用)最小。指标函数为

J u k x k k 421

4

0005=+=∑[.()()]

生产库存系统的最优管理问题是求u u u u (),(),(),()1234,使J 4最小。

下面用动态规划的基本方程求这一管理问题的最优策略。 先由最后一个季度考虑起:

J u x 12000544=+.()()

由状态方程和条件x ()50=得到

x x u s x u ()()()()()()54444412000

=+-=+-= 由此得到

u x *=-()()412004

代入J 1得到

J x x x x 122

0005120044720011400054*=-+=-+.(())()

().()

第二步考虑第三、四两个季度。由动态规划的基本方程:

))}4(()3()3(005.0{min ))3((122)

3(x J x u x J u **

++=

)}4(005.0)4(117200)3()3(005.0{min

2

2)

3(x x x u u +-++= 其中x x u s x u ()()()()()()433333500=+-=+-,代入上式得到

J x u x x u x u u 222

3000533720011335000005335003*

=++-+-++-(())min{.()()(()())

.(()())}

()

对{}?中的函数关于u ()3求最小,有

??{}

()

.().()?=-+=u u x 300231600130 解得

u x 33800053*=-().()

为了保证u 330*

≥(),x ()3必须小于1600。 将u 33*()代入J x 23*

(())得到

J x x x x x x x x x 2222300058000533720011380005350000053800053500755073000753*

=-++-+--++--=-+(()).(.())()(().())

.(().())().()

第三步考虑2-4三个季度,由基本方程

J x u x J x u x x x u u 32222

2000522300052275507300025322**=++=++-+(())min{.()()(())}

min{.()()().()}

()

()

其中x x u s x u ()()()()()()322222700=+-=+-,代入上式得到

J x u x x u x u u 322

2000522755072270000025227002*

=++-+-++-(())min{.()()(()())

.(()())}

()

??{}

()

.().(()())?=-++-=u u x u 20015270005227000

解得

u x 227001

3

2*

=-

()() 代入J x 32*

(())得到

J x x x 32

2100006200053

2*

=-+

(())().() 最后对四个季度一起考虑,由基本方程有

J x u x J x u 422100051121**=++(())min{.()()(())}()

以x x u s x u ()()()()()()211111600=+-=+-代入上式得

J x u x x u x u u 42210005111000061160000053

116001*

=++-+-++-(())min{.()()(()())

.(()())}

()

??{}

()

?=u 10 得到

00116001

3

116000.().(()())u x u -+

+-= 即

u x 116001

4

1*=-

()() 代入J x 41*

(())得到

J x x x 42

1118005100054

1*=-+

(())().() 由于已设x ()10=,得u *=()1600,x ()20=,u *=()2700,x ()30=,u *=()3800,

x ()4300=,u *=()4900。

采用上策略时,总费用为

J 4011800()=元

如果采用销多少生产多少的策略,u ()1600=,u ()2700=,u ()3500=,u ()41200=,则总费用为

J 4222200005600700500120012700().[]=+++=元

最优策略节省费用900元,约合71%.。

5.指标函数有贴现因子时的Bellman 方程

设系统的状态方程为

x k f x k u k ()((),())+=1

指标函数为

∑-==1

))(),((N k k N k u k x L J β

β是贴现因子。Bellman 方程为

{}))1(())(),((min ))((1)

(++=*--*-i x J i u i x L i x J i N i i u i N β

式中

))(),((min

))1((1

1

)

1(,),1(*

1

k u k x L i x J

N i k k

N u i u i N ∑-+=-+--=

因此*i N J -和*

1--i N J 都是贴现到0=k 时的值。上方程的两边同乘以i -β得到

{}))1(()())(),((min ))((11)

(++=*

----*--i x J i u i x L i x J i N i i u i N i βββ

式中记

))(())((*

*i x J i x J i N i i N ---=β

))1

(())1((*

11*1+=+------i x J i x J i N i i N β 得到

{}

))1(())(),((min ))((1)

(++=*

--*-i x J i u i x L i x J i N i u i N β

它是指标函数有贴现因子时的Bellman 方程,*

J 为当期的指标函数的最优值,没有贴

现到初始时刻。为了简化,以后仍把*

J

记为*J 。将指标函数有贴现因子时的Bellman 方程

仍记为

{}

))1(())(),((min ))((1)

(++=*--*-i x J i u i x L i x J i N i u i N β (7-9)

【例7-5】设某大学生的家长计划在四年内给该生M 元,作为大学四年的花费。设效用函数为c c U =

)(,贴现因子为β,则效用最大化问题的状态方程是

)()()1(k c k s k s -=+

)(k s 是该生第k 年开始时剩的钱,)(k c 是该生第k 年的消费,指标函数是

∑==3

04)(k k k c J β

效用最大化问题是求消费策略)3(),2(),1(),0(c c c c 使4J 最大。 这个问题可简记为

∑=3

)(k k c

k c Max β

)()()1(..k c k s k s t s -=+

由于效用函数c 是增函数,最后一年的最优消费策略必是

)3()3(*s c = 于是初始条件为)3(s 时指标函数的最大值为

)3())3((*1s s J =

由指标函数有贴现因子时的Bellman 方程,递推一步有

))}3(()2({))2((*1)

2(*2s J c Max s J c β+=})3()2({)

2(s c Max c β+=

其中)2()2()3(c s s -=,以)3(s 代入上式得到

})2()2()2({))2(()

2(*

2c s c Max s J c -+=β

下面需要对花括号内的函数关于)2(c 求导数,并令它等于零,解出)2(c ,这一工作可

以由MATLAB 的符号微分运算和解方程完成:(文件Li12_2_1)

syms beta s2 c2

eq=diff('sqrt(c2)-beta*sqrt(s2-c2)',c2) c2=solve(eq,c2)

运行这个文件得到:

>> Li12_2_1 eq =

1/2/c2^(1/2)+1/2*beta/(s2-c2)^(1/2) c2 =

s2/(1+beta^2) 即得到

2

1)

2()2(*β

+=

s c 将)2(*c 代回))2((*

2s J 得到

)2()1(1)

2()2(1)2())2((22

2*2s s s s s J ββ

ββ+=+-++=

应用指标函数有贴现因子时的Bellman 方程再递推一步

))}2(()1({))1((*

2)

1(*3s J c Max s J c β+=})2()1()1({2)

1(s c Max c ββ++=

]})1()1()[1()1({2)

1(c s c Max c -++=ββ

下面需要对花括号内的函数关于)1(c 求导数,并令它等于零,解出)1(c ,这一工作可以由MATLAB 的符号微分运算和解方程完成:(文件Li12_2_2)

syms beta s1 c1

eq=diff('sqrt(c1)+beta*sqrt((1+beta^2)*(s1-c1))',c1) c1=solve(eq,c1)

运行这个文件得到:

>> Li12_2_2 eq =

1/2/c1^(1/2)+1/2*beta/((1+beta^2)*(s1-c1))^(1/2)*(-1-beta^2) c1 =

s1/(beta^4+beta^2+1) 即得到 )

1()

1()1(*42ββ++=

s c

将)1(*c 代回))1((*

3s J 得到 ]1)1()1()[1(1)1())1((4

22

42*3β

βββββ++-++++=

s s s s J )1()1(42s ββ++= 再递推一步有

))}1(()0({))0((*

3)

0(*4s J c Max s J c β+=})1()1()0({42)

0(s c Max c βββ+++=

]})0()0()[1()0({42)

0(c s c Max c -+++=βββ

下面需要对花括号内的函数关于)0(c 求导数,并令它等于零,解出)0(c ,这一工作可以

由MATLAB 的符号微分运算和解方程完成:(文件Li12_2_3)

syms beta s0 c0

eq=diff('sqrt(c0)+beta*sqrt((1+beta^2+beta^4)*(s0-c0))',c0) c0=solve(eq,c0)

运行这个文件得到:

>> Li12_2_3 eq =

1/2/c0^(1/2)+1/2*beta/((beta^4+beta^2+1)*(s0-c0))^(1/2)*(-beta^4-beta^2-1) c0 =

s0/(beta^6+beta^4+beta^2+1)

即得到 )

1()1()0()0(*6

42642ββββββ+++=+++=

M

s c 贴现因子β取值于0,1之间,当9.0=β时,

M M c 3

1

997541.2)0(*≈=

4661

.2)

1()1(*s c =

81

.1)

2()2(*s c =

)3()3(*s c =

7.2随机动态规划

1.随机动态规划的提法

以上给出的动态规划算法都是确定型的,没有考虑有随机干扰的情况,本节给出有随机干扰的动态系统的跨期最优化问题的动态规划算法。设动态系统的状态方程为

))1(),(),(()1(+=+k k u k x f k x ε (7-12)

式中)1(+k ε对动态系统的随机干扰这里用1+k 是因为在k 时刻它是未知的,假设它的概率分布不依赖于)(,),1(k εε 。指标函数为

}))(),(({10

∑-==N k k k u k x L E J β (7-13)

由于花括号中的函数是一个随机变量,因此指标函数表示为花括号中函数的期望值,E 是期望算子。

2. 随机动态规划的Bellman 方程

对于这个随机跨期最优化问题,动态规划的Bellman 方程应改为

{}

))1(())(),((min ))((1)

(++=*--*-i x EJ i u i x L i x J i N i u i N β (7-14)

象前面一样,引进值函数

))(())((i x J i x V i N *

-=

Bellman 方程又可以改写为

{}))]1(([))(),((min ))(()(++=i x V E i u i x L i x V i u β

或者简记为 {})))](),(),((([),(min )(k k u k x f V E u x L x V u

εβ+= 问题的一阶条件是

0]),,()),,(([),(=??'+??u

u x f u x f V E u u x L εεβ 对于随机动态规划问题,方程(7-10)和(7-11)化为

0))(),(()1())(),((=++i u i x f i E i u i x L u u λβ (7-15) )())(),(()1())(),((i i u i x f i E i u i x L x x λλβ=++ (7-16)

这两个条件常称为Euler 均衡条件。

最常见的一类随机跨期最优化问题是线性二次型高斯问题,这类问题的状态方程是线性差分方程组,指标函数是状态变量和决策变量的二次型,随机干扰是高斯白噪声。

[ss,pi,xx]=dpstst(model,h,nbin,s,x);

这里用到的程序:qnwlogn ,fundefn ,funnode ,lqapprox ,dpsolve ,dpsimul 和dpsts 都可以在参考文献[18]的作者网站的CompEcon Toolbox 中找到。

7.3 MATLAB 在动态规划中的应用

动态规划问题形式多种多样,MATLAB 没有统一的解动态规划问题的函数,但对于自由始端和终端的动态规划,求指标函数最小值的逆序算法递归,有人写了函数dynprog,可以应用dyprog 求解。(参见:宋来忠,王志明:数学建模与实验 科学出版社2005 p.182或周品、赵新芬:MATLAB 数学建模与仿真 国防工业出版社 2009 p.340)

函数dynprog 的调用形式是:

[p_opt,fval]=dynprog(x,DecisFun,ObjFun,TransFun)

输入 x 是状态变量的矩阵,它的第k 列是k 阶段状态变量)(k x 的可能取值,其他输入由3个函数给出:

DecisFun(k,x)是由阶段k 的状态变量)(k x ,求出相应的允许决策变量的函数。

函数ObjFun(k,x,u)用于由阶段k 的状态变量x 和阶段k 的决策变量u 计算阶段k 指标函数。

函数TransFun(k,x,u) 是状态转移函数,其中x 是阶段k 的状态变量,u 是相应的决策变量。

应用函数dyprog 之前,需要写3个函数: DecisFun,ObjFun,TransFun 分别给出状态变量x 求出相应的允许决策变量、阶段指标函数和转移函数。

输出p_opt 由4列构成,第1列是序号组,第2列是最优轨线)(*k x ,第3列是最优策略)(k u ,第4列是阶段指标函数值;输出fval 是一个列向量,它给出p_opt 各最优策略组对

应的最优值。

下面通过实例说明如何应用函数dynpro 求解动态规划问题。

1.生产计划问题1 (参看宋来忠,王志明:数学建模与实验 科学出版社2005 p.179或周品、赵新芬:mATLAB 数学建模与仿真 国防工业出版社 2009 p.343)

设某工厂与用户订立合同,在4个月内出售一定数量的某产品,产量限制为10的倍数,工厂每月至多生产100件,产品可以存储,存储费用每件2元,最多可以存储130件,每个月的需求量及每件产品的 生产成本如表7-1 月份 每件生产成本(元) 需要量(件) 月份 每件生产成本(元) 需要量(件) 1 70 60

2 72 70

3 80 120

4 76 60

在一月初的存储量未知的情况下,确定每月的产量,要求既能满足每月的合同需求量,第4个月不剩产品,又使生产成本和存储费用的和最小。

设)(k x 是第k 月初的库存量,)(k u 是第k 月的生产量,)(k q 是第k 月的合同需求量, 指标函数:总费用最小,即

∑=+=4

1

)(200)()(min k k x k u k c z

)()()()1(..k q k u k x k x t s -+=+

100)(≤k u

为使用函数dynprog 需要定义3个函数:

eg13f1_2.m

function u=DecisF_1(k,x)

%在阶段k 由状态变量x 的值求出其相应的决策变量所有的取值 c=[70,72,80,76];q=10*[6,7,12,6];

if q(k)-x<0,u=0:100; %决策变量不能取为负值 else,u=q(k)-x:100;end; %产量满足需求且不超过100 u=u(:); eg13f2_2.m

function v=ObjF_1(k,x,u) 阶段k 的指标函数

c=[70,72,80,76];v=c(k)*u+2*x; eg13f3_2.m

function y=TransF_1(k,x,u) 状态转移方程

q=10*[6,7,12,6];y=x+u-q(k);

有了这3个函数就可以应用函数dynprog 求解这个例: 首先分析)4(),3(),2(),1(x x x X 的各种可能:

先分析)(k x 可能取值的情况,然后建立)(k x 可能取值的阵列:

由于第1个月的需求量是60,第1个月的存储量考虑0、10、20、30、40、50、60几种情况,当60)1(=x 时,第1个月最多生产100件,第1个月需求是60,因此100)2(0≤≤x , 第2个月存储量最大100,生产最大100,第2个月需求量是70,因此130)3(0≤≤x ,第4个月不剩产品,第4个月的需求量是60,因此60)4(0≤≤x 。

建立)(k x 可能取值的阵列:

>> x=nan*ones(14,4) x =

NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

由于第1个月的需求量是60,第1个月的存储量考虑0、10、20、30、40、50、60几种

情况:

>> x(1:7,1)=10*(0:6)' x =

0 NaN NaN NaN 10 NaN NaN NaN 20 NaN NaN NaN 30 NaN NaN NaN 40 NaN NaN NaN 50 NaN NaN NaN 60 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

当60)1(=x 时,第1个月最多生产100件,第1个月需求是60,因此100)2(0≤≤x : >> x(1:11,2)=10*(0:10)' x =

0 0 NaN NaN 10 10 NaN NaN 20 20 NaN NaN 30 30 NaN NaN 40 40 NaN NaN 50 50 NaN NaN 60 60 NaN NaN NaN 70 NaN NaN NaN 80 NaN NaN NaN 90 NaN NaN NaN 100 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

第2个月存储量最大100,生产最大100,第2个月需求量是70,因此130)3(0≤≤x ,但是由于第4个月需求是120,而第4个月的产量最大100因此130)3(20≤≤x :

>> x(1:12,3)=10*(2:13)' x =

0 0 20 NaN 10 10 30 NaN 20 20 40 NaN 30 30 50 NaN 40 40 60 NaN

50 50 70 NaN 60 60 80 NaN NaN 70 90 NaN NaN 80 100 NaN NaN 90 110 NaN NaN 100 120 NaN NaN NaN 130 NaN NaN NaN NaN NaN NaN NaN NaN NaN

第4个月不剩产品,第4个月的需求量是60,因此60)4(0≤≤x : >> x(1:7,4)=10*(0:6)' x =

0 0 20 0 10 10 30 10 20 20 40 20 30 30 50 30 40 40 60 40 50 50 70 50 60 60 80 60 NaN 70 90 NaN NaN 80 100 NaN NaN 90 110 NaN NaN 100 120 NaN NaN NaN 130 NaN NaN NaN NaN NaN NaN NaN NaN NaN

有了以上准备,就可以调用函数dynprog,解这个问题了,程序及运行结果如下: >> clear;x=nan*ones(14,4);% x 是10的倍数,最大范围0≤x ≤130, %因此x=0,1,...13,所以x 初始化取14行,nan 表示无意义元素 x(1:7,1)=10*(0:6)'; % 按月定义x 的可能取值 x(1:11,2)=10*(0:10)';x(1:12,3)=10*(2:13)'; x(1:7,4)=10*(0:6)';

[p,f]=dynprog(x,'eg13f1_2','eg13f2_2','eg13f3_2')

p =

1 0 100 7000

2 40 100 7280

3 70 50 4140

4 0 60 4560 1 10 100 7020 2 50 100 7300 3 80 40 3360 4 0 60 4560 1 20 100 7040 2 60 100 7320 3 90 30 2580 4 0 60 4560 1 30 100 7060

管理运筹学课后答案——谢家平

管理运筹学 ——管理科学方法谢家平 第一章 第一章 1. 建立线性规划问题要具备三要素:决策变量、约束条件、目标函数。决策变量(Decision Variable)是决策问题待 定的量值,取值一般为非负;约束条件(Constraint Conditions)是指决策变量取值时受到的各种资源条件的限制, 保障决策方案的可行性;目标函数(Objective Function)是决策者希望实现的目标,为决策变量的线性函数表达式, 有的目标要实现极大值,有的则要求极小值。 2.(1)设立决策变量; (2)确定极值化的单一线性目标函数; (3)线性的约束条件:考虑到能力制约,保证能力需求量不能突破有效供给量; (4)非负约束。 3.(1)唯一最优解:只有一个最优点 (2)多重最优解:无穷多个最优解 (3)无界解:可行域无界,目标值无限增大 (4)没有可行解:线性规划问题的可行域是空集 无界解和没有可行解时,可能是建模时有错。 4. 线性规划的标准形式为:目标函数极大化,约束条件为等式,右端常数项bi≥0 , 决策变量满足非负性。 如果加入的这个非负变量取值为非零的话,则说明该约束限定没有约束力,对企业来说不是紧缺资源,所以称为松弛变量;剩余变量取值为非零的话,则说明“≥”型约束的左边取值大于右边规划值,出现剩余量。 5. 可行解:满足约束条件AX =b,X≥0的解,称为可行解。 基可行解:满足非负性约束的基解,称为基可行解。 可行基:对应于基可行解的基,称为可行基。 最优解:使目标函数最优的可行解,称为最优解。 最优基:最优解对应的基矩阵,称为最优基。 6. 计算步骤: 第一步,确定初始基可行解。 第二步,最优性检验与解的判别。 第三步,进行基变换。 第四步,进行函数迭代。 判断方式: 唯一最优解:所有非基变量的检验数为负数,即σj< 0 无穷多最优解:若所有非基变量的检验数σj≤ 0 ,且存在某个非基变量xNk 的检验数σk= 0 ,让其进基,目标函数

最新管理运筹学模拟试题及答案

四 川 大 学 网 络 教 育 学 院 模 拟 试 题( A ) 《管理运筹学》 单选题(每题2分,共20分。) 1. 目标函数取极小(minZ )的线性规划问题可以转化为目标函数取极大的线性规 划问题求解,原问题的目标函数值等于( C )。 A. maxZ B. max (-Z ) C. 2. 下列说法中正确的是( B )。 A.基本解一定是可行解 C.若B 是基,则B 一定是可逆D. -max (-Z ) D.-maxZ E.基本可行解的每个分量一定非负 非基变量的系数列向量一定是线性相关的3. 在线性规划模型中,没有非负约束的变量称为 ( D ) 4. 当满足最优解,且检验数为零的变量的个数大于基变量的个数时,可求得 5. 对偶单纯型法与标准单纯型法的主要区别是每次迭代的基变量都满足最优检验 但不完全满足 ( D )。 6. 原问题的第I 个约束方程是“=”型,则对偶问题的变量 y i 是(B )。 A.多余变量 E.自由变量 C.松弛变量 D.非负变量 7. 在运输方案中出现退化现象,是指数字格的数目 ( C ) 。 A. 等于 m+n B. 大于 m+n-1 C. 小于 m+n-1 D. 等于 m+n-1 8. 树T 的任意两个顶点间恰好有一条( B )。 A.边 E.初等链 C.欧拉圈 D.回路 9. 若G 中不存在流f 增流链,则f 为G 的(B )。 A .最小流 B .最大流 C .最小费用流 D .无法确定 10. 对偶单纯型法与标准单纯型法的主要区别是每次迭代的基变量都满足最优检验 但不完全满足( D ) A.等式约束 E. “W ”型约束 C. “》”型约束 D.非负约束 、多项选择题(每小题 4分,共 20 分) 1. 化一般规划模型为标准型时,可能引入的变量有 ( ) A .松弛变量 B .剩余变量 C .非负变量 D .非正变量 E .自由 变量 2. 图解法求解线性规划问题的主要过程有 ( ) D .选基本解 E .选最优解 3. 表上作业法中确定换出变量的过程有 ( ) A .判断检验数是否都非负 B .选最大检验数 C .确定换出变量 D .选最小检验数 E .确定换入变量 4. 求解约束 条件为型的线性规划、构造基本矩阵时,可用的变量有 ( ) A 人工变量 B .松弛变量 C. 负变量 D .剩余变量 E .稳态 变量 5.线性规划问题的主要特征有 () A 目标是线性的 B .约束是线性的 C .求目标最大值 D.求目标最小值 E .非线性 计算题(共 60 分) 1. 下列线性规划问题化为标准型。 (10 分) 多余变量 B .松弛变量 C .人工变量 D ?自由变量 A )。 A.多重解 E.无解 C. 正则解 D.退化解 .等式约束 B “w”型约束 C .“》”约束 D .非负约束 A .画出可行域 B .求出顶点坐标 C .求最优目标值

运筹学整数规划例题

练习4.9 连续投资问题 某公司现有资金10万元,拟在今后五年考虑用于下列项目的投资: 项目A:从第一年到第四年每年年初需要投资,并于次年收回本利115%,但要求第一年投资最低金额为4万元,第二.三.四年不限. 项目B:第三年初需要投资,到第五年末能收回本利128%,但规定最低投资金额为3万元,最高金额为5万元. 项目C:第二年初需要投资,到第五年末能收回本利140%,但规定其投资金额或为2万元,或为4万元,或为6万元,或为8万元. 项目D:五年每年年初都可购买公债,于当年末归还,并获利6%,此项目投资金额不限. 试问该公司应图和确定这些项目的每年投资金额,使到第五年末拥有最大的资金收益. (1) x 为项目各年月初投入向量。 (2) ij x 为 i 种项目j 年的月初的投入。 (3) 向量c 中的元素 ij c 为i 年末j 种项目收回本例的百分比。 (4) 矩阵A 中元素 ij a 为约束条件中每个变量ij x 的系数。 (5) Z 为第5年末能拥有的资金本利最大总额。 因此目标函数为 4325max 1.15 1.28 1.40 1.06A B C D Z x x x x =+++ 束条件应是每年年初的投资额应等于该投资者年初所拥有的资金. 第1年年初该投资者拥有10万元资金,故有 11100000A D x x +=. 第2年年初该投资者手中拥有资金只有()116%D x +,故有 22211.06A C D D x x x x ++=. 第3年年初该投资者拥有资金为从D 项目收回的本金: 21.06D x ,及从项目A 中第1年投资收回的本金: 11.15A x ,故有 333121.15 1.06A B D A D x x x x x ++=+ 同理第4年、第5年有约束为 44231.15 1.06A D A D x x x x +=+, 5341.15 1.06D A D x x x =+

运筹学实验_动态规划

实验二用MATLAB解决动态规划问题 问题:有一部货车每天沿着公路给四个售货店卸下6箱货物,如果各零售店出售该货物所得利润如下表所示,试求在各零售店卸下几箱货物,能使获得总利润最 解: 1)将问题按售货店分为四个阶段 2)设s k表示为分配给第k个售货店到第n个工厂的货物数, x k设为决策变量,表示为分配给第k个售货店的货物数, 状态转移方程为s k+1=s k-x k。 P k(x k)表示为x k箱货物分到第k个售货店所得的盈利值。 f k(s k)表示为s k箱货物分配给第k个售货店到第n个售货店的最大盈利值。 3)递推关系式: f k(s k)=max[ P k(x k)+ f k+1(s k-x k) ] k=4,3,2,1 边界条件:f5(s5)=0 4)从最后一个阶段开始向前逆推计算。 第四阶段: 设将s4箱货物(s4=0,1,2,3,4,5,6)全部分配给4售货店时,最大盈利值为: f4(s4)=max[P4(x4)] 其中x4=s4=0,1,2,3,4,5,6 x4*表示使得f4(s4)为最大值时的最优决策。 第三阶段:

设将s3箱货物(s3=0,1,2,3,4,5,6)分配给3售货店与4售货店时,对每一个s3值,都有一种最优分配方案,使得最大盈利值为:f3(s3)=max[ P3(x3)+ f4(s3-x3) ] ,x3= 第二阶段: 设将s2箱货物(s2=0,1,2,3,4,5,6)分配给2售货店、3售货店与4售货店时,则最大盈利值为:f2(s2)=max[ P2(x2)+ f3(s2-x2) ] 第一阶段: 设将s2箱货物(s1=0,1,2,3,4,5,6)分配给1售货店、2售货店、3售货店与4售货店时,则最大盈利值为:f1(s1)=max[ P1(x1)+ f2(s1-x1) ] 按计算表格的顺序反推,可知最优分配方案有6个: 1) x1*=1,x2*=1,x3*=3,x4*=1。 2) x1*=1,x2*=2,x3*=2,x4*=1。 3) x1*=1,x2*=3,x3*=1,x4*=1。

《管理运筹学期末复习题》

运筹学期末复习题 一、判断题: 1、任何线性规划一定有最优解。() 2、若线性规划有最优解,则一定有基本最优解。() 3、线性规划可行域无界,则具有无界解。() 4、基本解对应的基是可行基。() 5、在基本可行解中非基变量一定为零。() 6、变量取0或1的规划是整数规划。() 7、运输问题中应用位势法求得的检验数不唯一。() 8、产地数为3,销地数为4的平衡运输中,变量组{X11,X13,X22,X33,X34}可作为一组基变量.() 9、不平衡运输问题不一定有最优解。() 10、m+n-1个变量构成基变量组的充要条件是它们不包含闭回路。() 11、含有孤立点的变量组不包含有闭回路。() 12、不包含任何闭回路的变量组必有孤立点。() 13、产地个数为m销地个数为n的平衡运输问题的系数距阵为A,则有r(A)≤m+n-1() 14、用一个常数k加到运价矩阵C的某列的所有元素上,则最优解不变。() 15、匈牙利法是求解最小值分配问题的一种方法。() 16、连通图G的部分树是取图G的点和G的所有边组成的树。() 17、求最小树可用破圈法.() 18、Dijkstra算法要求边的长度非负。() 19、Floyd算法要求边的长度非负。() 20、在最短路问题中,发点到收点的最短路长是唯一的。() 21、连通图一定有支撑树。 () 22、网络计划中的总工期等于各工序时间之和。

() 23、网络计划中,总时差为0的工序称为关键工序。 () 24、在网络图中,关键路线一定存在。 () 25、紧前工序是前道工序。 () 26、后续工序是紧后工序。 () 27、虚工序是虚设的,不需要时间,费用和资源,并不表示任何关系的工序。 () 28、动态规划是求解多阶段决策问题的一种思路,同时是一种算法。 () 29、求最短路径的结果是唯一的。 () 30、在不确定型决策中,最小机会损失准则比等可能性则保守性更强。 () 31、决策树比决策矩阵更适于描述序列决策过程。 () 32、在股票市场中,有的股东赚钱,有的股东赔钱,则赚钱的总金额与赔钱的总金额相等,因此称这一现象为零和现象。 () 33、若矩阵对策A的某一行元素均大于0,则对应值大于0。 () 34、矩阵对策中,如果最优解要求一个局中人采取纯策略,则另一局中人也必须采取纯策略。 () 35、多阶段决策问题的最优解是唯一的。 () 36、网络图中相邻的两个结点之间可以有两条弧。 ()

管理运筹学目标规划

管理运筹学课程 实验报告 实验名称:造纸厂目标规划问题 实验者:普丁玲 实验日期:2012年5月21日 专业年级:10级工程管理 指导教师:许娟

目的与要求实验目的: 通过实验掌握以及实际问题建立线性规划模型的方法,并熟练运用运筹学软件求解线性规划问题,以及根据求解结果进行灵敏度分析。 实验要求: (1)根据所给出的实际问题,建立其相应的数学模型,并利用软件进行求解。 (2)通过对求解结果的分析研究,回答相应的问题。 背景资料某造纸厂成产一般类型纸张的利润为300元/吨,每吨纸产生的工业废水的处理费用为30元;生产某种特种纸张的利润为500元/吨,每吨特种纸产生的工业废水的处理费用为40元。该纸张造纸厂近期目标如下: 目标1:纸张利润不少于15万元; 目标2:工业废水的处理费用不超过1万元。 (1)设目标1的优先权为p1,目标2的优先权为p2,建立目标规划模型并用图解法求解。 (2)若目标2的优先权为p1,建立目标规划模型并求解,所得的解是否与(1)中的相同? (3)若目标2的罚数权重为5,目标1的罚数权重为2,建立目标规划模型求解

数学模型 求解结果step 1 目标函数值为: 0 变量解相差值 ------- -------- -------- x1 0 0 x2 300 0 d1- 0 1 d1+ 0 0 d2- 0 0 d2+ 12000 0

step 2 目标函数值为: 12000 变量解相差值 ------- -------- -------- x1 0 6 x2 300 0 d1- 0 0 d1+ 0 .08 d2- 0 1 d2+ 12000 0 step 1 目标函数值为: 0 变量解相差值 ------- -------- -------- x1 0 0 x2 0 0 d1- 150000 0 d1+ 0 0 d2- 0 0 d2+ 0 1 step 2 目标函数值为: 150000 变量解相差值 ------- -------- -------- x1 0 75 x2 0 100 d1- 150000 0 d1+ 0 1 d2- 0 12.5 d2+ 0 0

7.运筹学之目标规划(胡运权版)

第七章目标规划 §1 目标规划的提出 线性规划问题是讨论一个给定的线性目标函数在一组线性约束条件下的最大值或最小值问题。对于一个实际问题,管理科学者根据管理层决策目标的要求,首先确定一个目标函数以衡量不同决策的优劣,且根据实际问题中的资源、资金和环境等因素对决策的限制提出相应的约束条件以建立线性规划模型;然后用计算机软件求出最优方案并作灵敏度分析以供管理层决策之用。而在一些问题中,决策目标往往不只一个,且模型中有可能存在一些互相矛盾的约束条件的情况,用已有的线性规划的理论和方法无法解决这些问题。因此,1961年美国学者查恩斯(A.Charnes)和库柏(W.W.Coopor)提出了目标规划的概念与数学模型,以解决经济管理中的多目标决策问题。 我们将通过几个例子来说明在实际应用中线性规划存在一系列的局限性。 例1某厂生产A、B两种产品每件所需的劳动力分别为4个人工和6个人工,所需设备的单位台时均为1。已知该厂有10个单位机器台时提供制造这两种产品,并且至少能提供70个人工。又,A、B产品的利润,每件分别为300元和500元。试问:该厂各应生产多少件A、B产品,才能使其利润值最大? 解设该厂能生产A、B产品的数量分别为 ,x x件,则有 12

12 1212max 30050010..4670 0, 1,2.j z x x x x s t x x x j =+?+≤?+≥??≥=? 图解法求解如下: 由上图可得,满足约束条件的可行解集为?,即机时约束和人工约束之间产生矛盾,因而该问题无解。但在实际中,该厂要增加利润,不可能不生产A 、B 两种产品,而由线性规划模型无法为其找到一个合适的方案。 例2 某厂为进行生产需采购A 、B 两种原材料,单价分别为70元/公斤和50元/公斤。现要求购买资金不超过5000元,总购买量不少于80公斤,而A 原材料不少于20公斤。问如何确定最好的采购方案(即花掉的资金最少,购买的总量最大)? 解 这是一个含有两个目标的数学规划问题。设12,x x 分别为购买两种 原材料的公斤数,()112,f x x 为花掉的资金,()212,f x x 为购买的总量。建 立该问题的数学模型形式如下:

128502-管理运筹学-习题-04-目标规划

习题 4-1对每题结论进行判断,如果结论错误请改正。 (1)正偏差变量大于等于零,负偏差变量小于等于零。 (2)系统约束中最多含有一个正或负的偏差变量。 (3)目标约束一定是等式约束。 (4)一对正负偏差变量至少一个大于零。 (5)一对正负偏差变量至少一个等于零。 (6)要求至少到达目标值的目标函数是maxZ=d +。 (7)要求不超过目标值的目标函数是minZ= d +。 (8)超出目标的差值称为正偏差。 (9)未到达目标的差值称为负偏差。 4-2 现有一船舶的舱容为3万立方米、载重量为2万吨,准备装运每件均为1立方米的三种货物A 、B 、C ,三种货物的每件重量和单位运费收入见下表:考虑以下几个方面: 1、总运费收入不低于350万元;2、总货物重量不低于1.25万吨;3、A 货物运量恰好为0.5万吨;4、B 货物运量不少于0.2万吨;5、C 货物运量不少于0.2万吨。请建立目标规划模型。 4-3用图解法求解以下目标规划模型 ???????=≥=-++-=-++=-++++=+-+-+-+-- -+3,2,1;0,,,6 226210min 21332122211121332211i d d x x d d x x d d x x d d x x d p d p d p z i i 4-4已知目标规划问题 ???????=≥=-+-=-+-≤++=+-+-+---+2,1;0,,,632226)(min 212221112112 2111i d d x x d d x x d d x x x d p d d p z i i 试用单纯形法求其满意解,若有多个满意解求出其中两个。

128503-管理运筹学-习题-06-动态规划

习题 6-1. 考虑下面的网络图,箭头上的数字代表相连两个节点之间的距离。 (1)用动态规划找出从节点1到节点10的最短路。 (2)从节点4到节点10的最短路呢? 6-2. 从北京到上海的包机的剩余装载能力为2000kg ,某一运输公司现有4种货物需要从北京运输到上海。每种货物的单位、单位重量和单位运输费用如下表所示。 (1)用动态规划找出包机应该运输的每种货物的单位数。 (2)假设包机同意装载另一批货物,剩余装载能力降为1800kg ,计算结果会怎样变化? 6-3. 假定有一个3阶段的过程,每一阶段的产量是需要做出决策的函数。使用数学符号,问题表述如下: Max ()()()332211d r d r d r ++ s.t. 1000321≤++d d d 每个阶段的决策变量和相应的返回值如下所示:

6-4. 某制造公司为一家汽车工厂提供发动机的部件,以下是3个月的生产计划的数据。 量是10单位,并且生产批量是10的倍数(例如,10,20或者30单位)。 6-5. 某物流公司雇佣了8名新员工,现决定如何把他们分配到4项作业上。公司给出了以下每项作业分配不同的作业人员的估计利润表。 (1) 用动态规划决定每项作业应该分配的新员工数目。 (2) 如果公司只雇佣了6名新员工,应该把这些员工分配给哪些作业? 6-6. 一个锯木厂采购了一批20ft 长的原木,想要把这些原木切成更短的原木,然后把切后的小原木卖给制造公司。制造公司已经订购了一批4种尺寸的原木:l 1=3ft ,l 2=7ft ,l 3=11ft ,l 4=16ft 。锯木厂现在有2000个长度为20ft 的原木的库存,并希望有选择地裁截原木以最大化利润。假定锯木厂的订单是无限的,唯一的问题就是确定把现有原木裁成的类型以最大化利润。原木的利润如下表所示: 任何裁截类型的长度限制如下: 201173321≤++d d d 其中,i d 是长度为i l 的类型的裁截数目,4,3,2,1=i . (1)为这个问题建立动态规划模型,并使用模型解决问题。你需要设立哪些变量?状态变量有哪些? (2)简要介绍如果总的长度l 被截成l 1,l 2,……l N 这样N 中长度的话,如果扩展现有模型以找到最优解? 6-7. 一家港口公司建立了良好的管理训练计划,希望每一个员工完成一个4阶段的作业。但是在训练计划的每个阶段,员工都会被分配一系列艰难的作业。以下是训练计划的每个阶段员工可能被分派的作业和任务估计完成时间。 次级阶段的作业取决于其先前的作业。例如,在阶段1接受作业A 的员工在阶段2只能接受作业F 或者作业G ——即每一项作业都存在优先关系。

7.运筹学之目标规划(胡运权版)

盛年不重来,一日难再晨。及时宜自勉,岁月不待人。 第七章目标规划 §1 目标规划的提出 线性规划问题是讨论一个给定的线性目标函数在一组线性约束条件下的最大值或最小值问题。对于一个实际问题,管理科学者根据管理层决策目标的要求,首先确定一个目标函数以衡量不同决策的优劣,且根据实际问题中的资源、资金和环境等因素对决策的限制提出相应的约束条件以建立线性规划模型;然后用计算机软件求出最优方案并作灵敏度分析以供管理层决策之用。而在一些问题中,决策目标往往不只一个,且模型中有可能存在一些互相矛盾的约束条件的情况,用已有的线性规划的理论和方法无法解决这些问题。因此,1961年美国学者查恩斯(A.Charnes)和库柏(W.W.Coopor)提出了目标规划的概念与数学模型,以解决经济管理中的多目标决策问题。 我们将通过几个例子来说明在实际应用中线性规划存在一系列的局限性。 例1某厂生产A、B两种产品每件所需的劳动力分别为4个人工和6个人工,所需设备的单位台时均为1。已知该厂有10个单位机器台时提供制造这两种产品,并且至少能提供70个人工。又,A、B产品的利润,每件分别为300元和500元。试问:该厂各应生产多少件A、B产品,才能使其利润值最大? 解设该厂能生产A、B产品的数量分别为 ,x x件,则有 12

12 12 12 max300500 10 ..4670 0,1,2. j z x x x x s t x x x j =+ ?+≤ ? +≥ ? ?≥= ? 图解法求解如下: 由上图可得,满足约束条件的可行解集为?,即机时约束和人工约束之间产生矛盾,因而该问题无解。但在实际中,该厂要增加利润,不可能不生产A、B两种产品,而由线性规划模型无法为其找到一个合适的方案。 例2某厂为进行生产需采购A、B两种原材料,单价分别为70元/公斤和50元/公斤。现要求购买资金不超过5000元,总购买量不少于80公斤,而A原材料不少于20公斤。问如何确定最好的采购方案(即花掉的资金最少,购买的总量最大)? 解这是一个含有两个目标的数学规划问题。设 12 ,x x分别为购买两种 原材料的公斤数,() 112 , f x x为花掉的资金,() 212 , f x x为购买的总量。建立该问题的数学模型形式如下:

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

189 习题七7.1计算如图所示的从A 到E 的最短路线及其长度(单位:km ): (1) 用逆推解法;2用标号法。 7.2 用动态规划方法求解下列问题 (1) max z =x 12x 2 x 33 x 1+x 2+x 3 ≤6 x j ≥0 (j =1,2,3) (2)min z = 3x 12+4x 22 +x 32 x 1x 2 x 3 ≥ 9 x j ≥0 (j =1,2,3) 7.3 利用动态规划方法证明平均值不等式: n n n x x x n x x x 12121)()( ≥+++ 设x i ≥0,i =1,2,…,n 。 7.4 考虑一个有m 个产地和n 个销地的运输问题。设a i (i =1,2,…,m )为产地i 可发运的物资数,b j (j =1,2,…,n )为销地j 所需要的物资数。又从产地i 到销地j 发运x ij 单位物资所需的费用为h ij (x ij ),试将此问题建立动态规划的模型。 7.5 某公司在今后三年的每一年的开头将资金投入A 或B 项工程,年末的回收及其概率如下表所示。每年至多做一项投资,每次只能投入1000万元。求出三年后所拥有的期望金额达到最大的投资方案。 投 资 回 收 概 率 A 0 0.4 2000 0.6 B 1000 0.9 2000 0.1 7.6 某公司有三个工厂,它们都可以考虑改造扩建。每个工厂都有若干种方案可供选择,各种方案的投资及所能取得的收益如下表所示(单位:千万元)。现公司有资金5千万元,问应如何分配投资使公司的总收益最大?

7.7 某厂准备连续3个月生产A种产品,每月初开始生产。A的生产成本费用为x2,其中x是A产品当月的生产数量。仓库存货成本费是每月每单位为1元。估计3个月的需求量分别为d1=100,d2=110,d3=120。现设开始时第一个月月初存货s0=0,第三个月的月末存货s3=0。试问:每月的生产数量应是多少才使总的生产和存货费用为最小。 7.8 设有一辆载重卡车,现有4种货物均可用此车运输。已知这4种货物的重量、容积及价值关系如下表所示。 货物代号重量(吨)容积(立方米)价值(千元) 1 2 2 3 2 3 2 4 3 4 2 5 4 5 3 6 若该卡车的最大载重为15吨,最大允许装载容积为10立方米,在许可的条件下,每车装载每一种货物的件数不限。问应如何搭配这四种货物,才能使每车装载货物的价值最大。 7.9 某警卫部门有12支巡逻队负责4个仓库的巡逻。按规定对每个仓库可分别派2-4支队伍巡逻。由于所派队伍数量上的差别,各仓库一年内预期发生事故的次数如下表所示。试应用动态规划的方法确定派往各仓库的巡逻队数,使预期事故的总次数为最少。 巡逻队数预期事故次数仓库 1 2 3 4 2 18 38 14 34 3 16 36 12 31 4 12 30 11 25 7.10 (生产计划问题)根据合同,某厂明年每个季度末应向销售公司提供产品,有关信息见下表。若产品过多,季末有积压,则一个季度每积压一吨产品需支付存贮费0.2万元。现需找出明年的最优生产方案,使该厂能在完成合同的情况下使全年的生产费用最低。 季度j生产能力a j(吨)生产成本d j(万元/吨)需求量b j(吨) 1 30 15.6 20 2 40 14.0 25 3 25 15.3 30 4 10 14.8 15 (1)请建立此问题的线性规划模型。(提示:设第j季度工厂生产产品x j吨,第j季度初存贮的产品为y j吨,显然y1=0)(2)请建立此问题的动态规划模型。(均不用求解) 190

相关文档
最新文档