动态规划习题答案.doc
《动态规划习题答案.doc》由会员分享,可在线阅读,更多相关《动态规划习题答案.doc(19页珍藏版)》请在冰豆网上搜索。
![动态规划习题答案.doc](https://file1.bdocx.com/fileroot1/2022-10/19/e239f6c8-bc53-4caa-a441-5a0310780c7e/e239f6c8-bc53-4caa-a441-5a0310780c7e1.gif)
2.某公司有资金4百万元向A,B和C3个项目追加投资,各个项目可以有不同的投资额(百万元计),相应的效益如表所示。
问怎样分配资金,使总效益值最大?
##
表8-47
Wk(Xk)(项目k#
投资额
0
1
2
3
4
1#(A)
-
41
48
60
66
2#(B)
40
42
50
60
-
3#(C)
-
64
68
78
84
解:
设S1-A,B,C项目的总投资额,S2-B、C项目的总投资额
S3-C项目的投资额;
Xk-k项目的投资额;
(X1-A项目的投资额,X2-B项目的投资额,X3-C项目的投资额)
Wk(Sk,Xk)-对K项目投资Xk后的收益:
Wk(Sk,Xk)=Wk(Xk)
Tk(Sk,Xk)-Sk+1=Sk-Xk
fk(Sk)-当K至第3项目允许的投资额为Sk时所能获得的最大收益。
为获得最大利润,必须将4百万全部投资,假设有4阶段存在,有S4=0,建立递归方程
f4(Sk)=0
fk(Sk)=max{Wk(Xk)+fk+1(Sk+1)}k=3,2,1
Xk∈Dk(Sk)
第一步,K=3
f4(S4)=0
f3(S3)=max{W3(X3)+f4(S4)}
X3∈D3(S3)
S4=S3-X3
S3
f3(S3)
X3*
1
64
1
2
68
2
3
78
3
4
84
4
第二步:
K=2f2(S2)=max{W2(X2)+f3(S3)}
X2∈D2(S2)
S3=S2-X2
W2(X2)+f3(S2-X2)
S2
X2=0
X2=1
X2=2
X2=3
f2(S2)
X2*
1
40+64
-
-
-
104
0
2
40+68
42+64
-
-
108
0
3
40+78
42+68
50+64
-
118
0
4
40+84
42+78
50+68
60+64
124
0,3
第三步:
K=1f1(S1)=max{W1(X1)+f2(S2)}
X1∈D1(S1)
S2=S1-X1
W1(X1)+f2(S1-X1)
S1
X1=0
X1=1
X1=2
X1=3
f1(S1)
X1*
4
-
41+118
48+108
60+104
164
3
S1=4→S2=1→S3=1
↓↓↓
X1*=3X2*=0X3*=1
A投资3百万,B不投资C投资1百万。
总收益164百万元。
3.(最优分配问题)有一个仪表公司打算向它的3个营业区设立6家销售店。
每个营业区至少设一家,所获利润如表。
问设立的6家销售店数应如何分配,可使总利润最大?
利润
wk(x)
营业区Ak
A1
A2
A3
销售
店数x
1
2
3
4
200
280
330
340
210
220
225
230
180
230
260
280
解:
sk——对k#,…,3#营业区允许设立的销售店数
xk——对k#营业区设立的销售店数
wk(sk,xk)——对k#营业区设立xk销售店后的利润:
wk(sk,,xk)=wk(xk)
Tk(sk,xk)——sk+1=sk-xk
fk(sk)——当第k至第3个营业区允许设立的销售店数为sk时所能获得的最大利润
递归方程:
f4(s4)=0
fk(sk)=max{wk(xk)+fk+1(sk+1)},k=3,2,1
xk∈Dk(sk)
k=3时,有方程
f4(s4)=0
f3(s3)=max{w3(x3)+f4(s4)}
x3∈D3(s3)
s3=s2—x2
s3
f3(s3)
x3*
1
180
1
2
230
2
3
260
3
4
280
4
k=2,有方程
f2(s2)=max{w2(x2)+f3(s3)}
x2∈D2(s2)
s3=s2—x2
s2
w2(x2)+f3(s2—x2)
f2(s2)
x2*
x2=1
x2=2
x2=3
x2=4
2
210+180
/
/
/
390
1
3
210+230
220+180
/
/
440
1
4
210+260
220+230
225+180
/
470
1
5
210+280
220+260
225+230
230+180
490
1
k=1,有方程
f1(s1)=max{w1(x1)+f2(s2)}
x1∈D1(s1)
s2=s1—x1
s1
w1(x1)+f2(s1—x1)
f1(s1)
x1*
x1=1
x1=2
x1=3
x1=4
6
200+490
280+470
330+440
340+390
770
3
s1=6→s2=3→s3=2
↓↓↓
x1*=3x2*=1x3*=2
分别A1、A2、A3营业区设立3家、1家、2家销售店,最大利润为770
4.用动态规划方法求解下列模型:
maxf=10X1+4X2+5X3
s.t.3X1+5X2+4X3≤15
0≤X1≤20≤X2≤2X3≥0,Xj为整数j=1,2,3
解:
收费C1=10C2=4C3=5
X1为货物1的装载件数
X2为货物2的装载件数
X3为货物3的装载件数
分3阶段
S1为货物1、2、3允许的装载重量(3X1+5X2+4X3的允许值)
S2为货物2、3允许装载的重量(5X2+4X3的允许值)
S3为货物3允许装载的重量(4X3的允许值)
第一步:
K=3
f4(S4)=0
f3(S3)=max{5X3+f4(S4)|X3∈D3(S3)}
S4=S3-4X3
S3
0~3
4~7
8~11
12~15
D3(S3)
{0}
{0,1}
{0,1,2}
{0,1,2,3}
S3
X3=0
X3=1
X3=2
X3=3
f3(S3)
X3*
0~3
0+0
______
______
______
0
0
4~7
0+0
5+0
______
______
5
1
8~11
0+0
5+0
10+0
______
10
2
12~15
0+0
5+0
10+0
15+0
15
3
第二步:
K=2
f2(S2)=max{4X2+f3(S3)|X2∈D2(S2)}
S3=S2-5X2
S2
0~4
5~9
10~15
D2(S2)
{0}
{0,1}
{0,1,2}
划分点:
0
4
8
12
0
0
4
8
12
5
5
9
13
17
10
10
14
18
22
S2
4X2+f3(S2-5X2)
f2(S2)
X2*
X2=0
X2=1
X2=2
0~3
0+0
______
______
0
0
4
0+5
______
______
5
0
5~7
0+5
4+0
______
5
0
8
0+10
4+0
______
10
0
9
0+10
4+5
______
10
0
10~11
0+10
4+5
8+0
10
0
12
0+15
4+5
8+0
15
0
13
0+15
4+10
8+0
15
0
14~15
0+15
4+10
8+5
15
0
第三步:
K=1
f1(S3)=max{10X1+f2(S2)|X1∈D1(S1)}
S2=S1-3X1
10X1+f2(S1-3X1)
S1
X1=0
X1=1
X1=2
f1(S1)
X1*
15
0+15
10+15
20+10
30
2
顺序追踪:
最优策略为
S1=15→S2=9→S3=9
↓↓↓
X1*=2X2*=0X3*=2
最优装载方案为:
货物1装2件;货物2不装;货物3装2件
装载收费为30元
5.用动态规划方法解下列0—1背包问题:
Maxf=12x1+12x2+9x3+16x4+30x5;
s.t.3x1+4x2+3x3+4x4+6x5≤12;
xj=0,1,j=1,……,5
解:
本问题分为5个阶段。
令
sk——akxk+…+a4x4的允许值
xk——第k阶段xk取值,xk=0,1
wk(sk,xk)——xk产生的价值:
wk(sk,xk)=ckxk
Tk(sk,xk)——sk+1=sk-akxk
fk(sk)——在akxk+…+a4x4≤sk的条件下,ckxk+…+c4x4能取得的最大值。
xk∈Dk(sk)
fk(sk)=max{ckxk+fk+1(sk+1)},k=5,4,3,2,1
f6(s6)=0
递归方程为
x5∈D5(s5)
k=5f5(s5)=max{30x5}
s5
30x5
f5(s5)
x5*
x5=0
x5=1
0~5
0
——
0
0
6~12
0
30
30
1
s5=s4-4x4
x4∈D4(s4)
f4(s4)=max{16x4+f5(s5)}
k=4
s4
16x4+f5(s4-4x4)
f4(s4)
x4*
x4=0
x4=1
0~3
0+0
——
0
0
4~5
0+0
16+0
16
1
6~9
0+30
16+0
30
0
10~12
0+30
16+30
46
1
s3
9x3+f4(s3-3x3)
f3(s3)
x3*
x3=0
x3=1
0~2
0+0
——
0
0
3
0+0
9+0
9
1
4~5
0+16
9+0
16
0
6
0+30
9+0
30
0
7~8
0+30