第21讲动态规划(投资分配问题)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

70 0

最优策略为(20,0,30,10),最大利润为160万元。
河南理工大学ACM-ICPC培训
THANKS
河南理工大学ACM-ICPC培训
g2 ( y)
f1(40
y) 90
最优策略为(20,20),此时最大利润为90万元。
f2 (30)

max
y 0,10,20,30
g2 ( y) f1(30 y)
70
最优策略为(20,10),此时最大利润为70万元。
河南理工大学ACM-ICPC培训
投资分配问题
f2 (20)
g2( y)
f1(60
y)
河南理工大学ACM-ICPC培训
投资分配问题
f2 (60)
max
y 0 ,10 ,, 60
g2( y)
f1(60
y)
g2 (0) f1(60)

g2
(10)

f1
(50)

0 85 20 85


f2 f2
(40)
(30)

60 max85

90 70



155

g3
(40)

f2
(
20)

100 50
g3(50) f2(10)
110 20

g3
(60)

f2 (0)

115 0

最优策略为(20,10,30),最大利润为155万元。

最优策略为(40,20),此时最大利润为120万元。 同理可求得其它 f2(x) 的值。
河南理工大学ACM-ICPC培训
投资分配问题
f2 (50)

max
y 0,10, ,50
g2 ( y) f1(50 y)
g2 (0) f1(50)

g
2
(10)

f1
(40)
策略
第四阶段:求 f4(60)。即问题的最优策略。
f4 (60)
max
y 0,10,, 60
g4 ( y)
f3 (60
y)
河南理工大学ACM-ICPC培训
投资分配问题
g4 (0) f3 (60)
0 155

g4
(10)

f3
(50)

25 135
令:fk(x) 表示以数量为x 的资金分配给前k 个工厂,所得到的最大利润值。
用动态规划求解,就是求 fn(a) 的问题。
当 k=1 时, f1(x) = g1(x)
(因为只给一个工厂)
当1<k≤n 时,其递推关系如下: 设:y 为分给第k 个工厂的资金(其中 0≤y ≤ x ),此时还剩 x - y (万元)的资金需要分配给前 k-1 个工厂,如果采取最优策略,则得到的最大 利润为fk-1(x-y) ,因此总的利润为:
10 20
20 50 20 40 25 60 25 40
依据题意,是要求 f4(60) 。
30 40 50 60
65 80 85 85 50 55 60 65 85 100 110 115 50 60 65 70
河南理工大学ACM-ICPC培训
投资分配问题
按顺序解法计算。 第一阶段:求 f1(x)。显然有 f1(x) = g1(x),得到下表


g4
(20)

maxg4 (30)
f3
(40)
f3 (30)

40 110
max50 85

160

g4
(40)

f3 (20)
Βιβλιοθήκη Baidu
60 60

g4 (50) f3 (10)

g4
(60)

f3 (0)

65 25


g2 (20)

g
2
(30)

f1 (30)
f1
(20)


105

g
2
(40)

f1
(10)

g2 (50) f1(0)
最优策略为(30,20),此时最大利润为105万元。
河南理工大学ACM-ICPC培训
投资分配问题
f2 (40)

max
y0,10, ,40
g2
(20)

maxg2 (30)
f1
(40)
f1(30)

40 80 max50 65
120

g2
(40)

f1 (20)
55 50
g2 (50) f1(10)

g2
(60)

f1 (0)

60 20
65 0
据此,有下式:
河南理工大学ACM-ICPC培训
n
max z gi ( xi ) i 1
n
i1
xi

a
xi 0 i 1.2..n
n
max z gi ( xi )
i 1
投资分配问题
n
xi a i1
xi 0 i 1.2..n

max
y 0,10,20
g2 ( y)
f1(20
y)
50
最优策略为(20,0),此时最大利润为50万元。
f2 (10)
max
y 0,10,
g2 ( y)
f1(10
y) 20
最优策略为(10,0)或( 0 , 10 ) ,此时最大利润为20万元。
f2(0) =0。最优策略为(0,0),最大利润为0万元。 得到下表
f3(60)
max
y 0 ,10 ,, 60
g3 ( y)
f2 (60
y)
河南理工大学ACM-ICPC培训
投资分配问题
g3(0) f2(60)
0 120

g3
(10)

f2
(50)

25 105

g3
(
20)

max g3(30)
fk ( x)
max
y 0,1, 2,, x
gk ( y)
fk1( x y)
河南理工大学ACM-ICPC培训
投资分配问题
设国家拨给60万元投资,供四个工厂扩建使用,每个工厂扩建后的利润与投资 额的大小有关,投资后的利润函数如下表所示。
投资 0
利润
g1(x) 0 g2(x) 0 g3(x) 0 g4(x) 0
gk(y) + fk-1(x-y)
河南理工大学ACM-ICPC培训
投资分配问题
所以,根据动态规划的最优化原理,有下式:
fk
(
x)

max
0 y x
gk
(
y)

fk 1( x
y)
其中k 2.3..n
如果a 是以万元为资金分配单位,则式中的y 只取非负整数0,1,2,…,x。 上式可变为:
河南理工大学ACM-ICPC培训
投资分配问题
利润
投资
f2(x) 最优策略
0
0 (0,0)
10
20
(10,0) (0,10)
20
50
(20,0)
30
70
(20,10)
40
90
(20,20)
50 60
105 120
(30,20) (40,20)
第三阶段:求 f3(x)。此时需考虑第一、第二及第三个工厂如何进行投资分 配,以取得最大的总利润。
投资 0 10 20 30 40 50 60
利润
f1(x) = g1(x) 0 20 50 65 80 85 85 最优策略 0 10 20 30 40 50 60
第二阶段:求 f2(x)。此时需考虑第一、第二个工厂如何进行投资分配,以取得 最大的总利润。
f2 (60)
max
y 0 ,10 ,, 60
ACM-ICPC培训
第21讲 动态规划
投资分配问题
ACM算法设计与分析——王建芳
ACM-ICPC培训
投资分配问题
现有数量为a(万元)的资金,计划分配给n 个工厂,用于 扩大再生产。
假设:xi 为分配给第i 个工厂的资金数量(万元);gi(xi) 为第i 个工厂得到资金后提供的利润值(万元)。
问题:如何确定各工厂的资金数,使得总的利润为最大。
同理可求得其它 f3(x) 的值。得到下表
河南理工大学ACM-ICPC培训
投资分配问题
投资 0
10
20
30
40
50
60
利润
f3(x) 0
25
60
85
110
135
155
最优 (0,0,0) (0,0,10) (0,0,20) (0,0,30) (20,0,20) (20,0,30) (20,10,30)
相关文档
最新文档