第21讲_动态规划(投资分配问题)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最优策略为(40,20),此时最大利润为120万元。 同理可求得其它 f2(x) 的值。
河南理工大学ACM-ICPC培训
投资分配问题
f 2 (50) max g2 ( y) ,50 f1 (50 y )
y 0,10,
g 2 (0) f1 (50) g (10) f (40) 1 2 g 2 (20) f1 (30) 105 g 2 (30) f1 (20) g 2 (40) f1 (10) g 2 (50) f1 (0)
f1 (30 y) 70
最优策略为(20,10),此时最大利润为70万元。
河南理工大学ACM-ICPC培训
投资分配问题
f 2 (20) max
y 0,10,20
g2 ( y)
f1 (20 y ) 50
最优策略为(20,0),此时最大利润为50万元。
f 2 (10) max g 2 ( y ) f1 (10 y ) 20
最优策略为(20,0,30,10),最大利润为160万元。
河南理工大学ACM-ICPC培训
THANKS
河南理工大学ACM-ICPC培训
10 20 20 25
20 50 40 60
30 65 50 85
40 80 55 100
50 85 60 110
60 85 65 115
g1(x) g2(x) g3(x)
g4(x)
0
25
40
50
60
65
70
依据题意,是要求 f4(60) 。
河南理工大学ACM-ICPC培训
投资分配问题
按顺序解法计算。 第一阶段:求 f1(x)。显然有 f1(x) = g1(x),得到下表
投资 利润
0
10
20
30
40
50
60
f1(x) = g1(x)
0
0
20
10
50
20
65
30
80
40
85
50
85
60
最优策略
第二阶段:求 f2(x)。此时需考虑第一、第二个工厂如何进行投资分配,以取得 最大的总利润。
f2 ( 60 )
河南理工大学ACM-ICPC培训
g2 ( y) y 0 , 10 ,, 60
最优策略为(30,20),此时最大利润为105万元。
河南理工大学ACM-ICPC培训
投资分配问题
f 2 (40) max g2 ( y) ,40 f1 (40 y ) 90
y 0,10,
最优策略为(20,20),此时最大利润为90万元。
f 2 (30)
g 2 ( y) y 0,10,20,30 max
据此,有下式:
m ax z g i ( xi )
i 1
n
n xi a i 1 x 0 i 1.2..n i
河南理工大学ACM-ICPC培训
m ax z
n
g (x )
i i i 1
n
令:fk(x) 表示以数量为x 的资金分配给前k 个工厂,所得到的最大利润值。
最优策略为(20,10,30),最大利润为155万元。 同理可求得其它 f3(x) 的值。得到下表
河南理工大学ACM-ICPC培训
投资分配问题
投资 利润
0 0
10 25
20 60
30 85
40 110
50 135
60 155
f3(x) 最优 策略
(0,0,0 (0,0,10 (0,0,20 (0,0,30 (20,0,20 (20,0,30 (20,10,30 ) ) ) ) ) ) )
河南理工大学ACM-ICPC培训
投资分配问题
所以,根据动态规划的最优化原理,有下式:
f k ( x ) maxg k ( y ) f k 1 ( x y )
0 y x
其中k 2.3. .n
如果a 是以万元为资金分配单位,则式中的y 只取非负整数0,1,2,…,x。 上式可变为:
max
f1 ( 60 y )
投资分配问题
f2 ( 60 )
g2 ( y) y 0 , 10 ,, 60
max
f1 ( 60 y )
g 2 (0) f1 (60) 0 85 g (10) f (50) 20 85 1 2 g 2 (20) f1 (40) 40 80 max g 2 (30) f1 (30) max50 65 120 g (40) f (20) 55 50 1 2 g 2 (50) f1 (10) 60 20 65 0 g 2 (60) f1 (0)
ACM-ICPC培训
第21讲 动态规划
投资分配问题
ACM算法设计与分析——王建芳
ACM-ICPC培训
投资分配问题
现有数量为a(万元)的资金,计划分配给n 个工厂,用于 扩大再生产。 假设:xi 为分配给第i 个工厂的资金数量(万元);gi(xi) 为第i 个工厂得到资金后提供的利润值(万元)。 问题:如何确定各工厂的资金数,使得总的利润为最大。
用动态规划求解,就是求 fn(a) 的问题。 当 k=1 时,
xi a i 1 x 0 i 1 .2 . . n i
投资分配问题
f1(x) = g1(x)
(因为只给一个工厂)
wenku.baidu.com
当1<k≤n 时,其递推关系如下: 设:y 为分给第k 个工厂的资金(其中 0≤y ≤ x ),此时还剩 x - y (万元)的资金需要分配给前 k-1 个工厂,如果采取最优策略,则得到的最大 利润为fk-1(x-y) ,因此总的利润为: gk(y) + fk-1(x-y)
y 0,10,
最优策略为(10,0)或( 0 , 10 ) ,此时最大利润为20万元。
f2(0) =0。最优策略为(0,0),最大利润为0万元。 得到下表
河南理工大学ACM-ICPC培训
投资分配问题
投资
0 0 (0,0)
10 20
(10,0) (0,10)
20 50
(20,0)
30 70
(20,10)
f k ( x ) max
y 0 ,1, 2 ,, x
g
k
( y ) f k 1 ( x y )
河南理工大学ACM-ICPC培训
投资分配问题
设国家拨给60万元投资,供四个工厂扩建使用,每个工厂扩建后的利润与投资 额的大小有关,投资后的利润函数如下表所示。 投资 利润
0 0 0 0
第四阶段:求 f4(60)。即问题的最优策略。
f 4 (60 )
g4 ( y) y 0 ,10 ,, 60
max
f 3 (60 y )
河南理工大学ACM-ICPC培训
投资分配问题
g 4 (0) f 3 (60) 0 155 g (10) f (50) 25 135 3 4 g 4 (20) f 3 (40) 40 110 max g 4 (30) f 3 (30) max50 85 160 g (40) f (20) 60 60 3 4 g 4 (50) f 3 (10) 65 25 70 0 g 4 (60) f 3 (0)
河南理工大学ACM-ICPC培训
投资分配问题
g3 ( 0) f2 ( 60) 0 120 25 105 g ( 10 ) f ( 50 ) 2 3 g3 ( 20) f2 ( 40) 60 90 m ax g3 ( 30) f2 ( 30) m ax85 70 155 g ( 40) f ( 20) 100 50 2 3 g3 ( 50) f2 (10) 110 20 115 0 g3 ( 60) f2 ( 0)
40 90
(20,20)
50 105
60 120
利润
f2(x) 最优策略
(30,20) (40,20)
第三阶段:求 f3(x)。此时需考虑第一、第二及第三个工厂如何进行投资分 配,以取得最大的总利润。
f3 ( 60 )
g3 ( y ) y 0 , 10 ,, 60
max
f2 ( 60 y )
河南理工大学ACM-ICPC培训
投资分配问题
f 2 (50) max g2 ( y) ,50 f1 (50 y )
y 0,10,
g 2 (0) f1 (50) g (10) f (40) 1 2 g 2 (20) f1 (30) 105 g 2 (30) f1 (20) g 2 (40) f1 (10) g 2 (50) f1 (0)
f1 (30 y) 70
最优策略为(20,10),此时最大利润为70万元。
河南理工大学ACM-ICPC培训
投资分配问题
f 2 (20) max
y 0,10,20
g2 ( y)
f1 (20 y ) 50
最优策略为(20,0),此时最大利润为50万元。
f 2 (10) max g 2 ( y ) f1 (10 y ) 20
最优策略为(20,0,30,10),最大利润为160万元。
河南理工大学ACM-ICPC培训
THANKS
河南理工大学ACM-ICPC培训
10 20 20 25
20 50 40 60
30 65 50 85
40 80 55 100
50 85 60 110
60 85 65 115
g1(x) g2(x) g3(x)
g4(x)
0
25
40
50
60
65
70
依据题意,是要求 f4(60) 。
河南理工大学ACM-ICPC培训
投资分配问题
按顺序解法计算。 第一阶段:求 f1(x)。显然有 f1(x) = g1(x),得到下表
投资 利润
0
10
20
30
40
50
60
f1(x) = g1(x)
0
0
20
10
50
20
65
30
80
40
85
50
85
60
最优策略
第二阶段:求 f2(x)。此时需考虑第一、第二个工厂如何进行投资分配,以取得 最大的总利润。
f2 ( 60 )
河南理工大学ACM-ICPC培训
g2 ( y) y 0 , 10 ,, 60
最优策略为(30,20),此时最大利润为105万元。
河南理工大学ACM-ICPC培训
投资分配问题
f 2 (40) max g2 ( y) ,40 f1 (40 y ) 90
y 0,10,
最优策略为(20,20),此时最大利润为90万元。
f 2 (30)
g 2 ( y) y 0,10,20,30 max
据此,有下式:
m ax z g i ( xi )
i 1
n
n xi a i 1 x 0 i 1.2..n i
河南理工大学ACM-ICPC培训
m ax z
n
g (x )
i i i 1
n
令:fk(x) 表示以数量为x 的资金分配给前k 个工厂,所得到的最大利润值。
最优策略为(20,10,30),最大利润为155万元。 同理可求得其它 f3(x) 的值。得到下表
河南理工大学ACM-ICPC培训
投资分配问题
投资 利润
0 0
10 25
20 60
30 85
40 110
50 135
60 155
f3(x) 最优 策略
(0,0,0 (0,0,10 (0,0,20 (0,0,30 (20,0,20 (20,0,30 (20,10,30 ) ) ) ) ) ) )
河南理工大学ACM-ICPC培训
投资分配问题
所以,根据动态规划的最优化原理,有下式:
f k ( x ) maxg k ( y ) f k 1 ( x y )
0 y x
其中k 2.3. .n
如果a 是以万元为资金分配单位,则式中的y 只取非负整数0,1,2,…,x。 上式可变为:
max
f1 ( 60 y )
投资分配问题
f2 ( 60 )
g2 ( y) y 0 , 10 ,, 60
max
f1 ( 60 y )
g 2 (0) f1 (60) 0 85 g (10) f (50) 20 85 1 2 g 2 (20) f1 (40) 40 80 max g 2 (30) f1 (30) max50 65 120 g (40) f (20) 55 50 1 2 g 2 (50) f1 (10) 60 20 65 0 g 2 (60) f1 (0)
ACM-ICPC培训
第21讲 动态规划
投资分配问题
ACM算法设计与分析——王建芳
ACM-ICPC培训
投资分配问题
现有数量为a(万元)的资金,计划分配给n 个工厂,用于 扩大再生产。 假设:xi 为分配给第i 个工厂的资金数量(万元);gi(xi) 为第i 个工厂得到资金后提供的利润值(万元)。 问题:如何确定各工厂的资金数,使得总的利润为最大。
用动态规划求解,就是求 fn(a) 的问题。 当 k=1 时,
xi a i 1 x 0 i 1 .2 . . n i
投资分配问题
f1(x) = g1(x)
(因为只给一个工厂)
wenku.baidu.com
当1<k≤n 时,其递推关系如下: 设:y 为分给第k 个工厂的资金(其中 0≤y ≤ x ),此时还剩 x - y (万元)的资金需要分配给前 k-1 个工厂,如果采取最优策略,则得到的最大 利润为fk-1(x-y) ,因此总的利润为: gk(y) + fk-1(x-y)
y 0,10,
最优策略为(10,0)或( 0 , 10 ) ,此时最大利润为20万元。
f2(0) =0。最优策略为(0,0),最大利润为0万元。 得到下表
河南理工大学ACM-ICPC培训
投资分配问题
投资
0 0 (0,0)
10 20
(10,0) (0,10)
20 50
(20,0)
30 70
(20,10)
f k ( x ) max
y 0 ,1, 2 ,, x
g
k
( y ) f k 1 ( x y )
河南理工大学ACM-ICPC培训
投资分配问题
设国家拨给60万元投资,供四个工厂扩建使用,每个工厂扩建后的利润与投资 额的大小有关,投资后的利润函数如下表所示。 投资 利润
0 0 0 0
第四阶段:求 f4(60)。即问题的最优策略。
f 4 (60 )
g4 ( y) y 0 ,10 ,, 60
max
f 3 (60 y )
河南理工大学ACM-ICPC培训
投资分配问题
g 4 (0) f 3 (60) 0 155 g (10) f (50) 25 135 3 4 g 4 (20) f 3 (40) 40 110 max g 4 (30) f 3 (30) max50 85 160 g (40) f (20) 60 60 3 4 g 4 (50) f 3 (10) 65 25 70 0 g 4 (60) f 3 (0)
河南理工大学ACM-ICPC培训
投资分配问题
g3 ( 0) f2 ( 60) 0 120 25 105 g ( 10 ) f ( 50 ) 2 3 g3 ( 20) f2 ( 40) 60 90 m ax g3 ( 30) f2 ( 30) m ax85 70 155 g ( 40) f ( 20) 100 50 2 3 g3 ( 50) f2 (10) 110 20 115 0 g3 ( 60) f2 ( 0)
40 90
(20,20)
50 105
60 120
利润
f2(x) 最优策略
(30,20) (40,20)
第三阶段:求 f3(x)。此时需考虑第一、第二及第三个工厂如何进行投资分 配,以取得最大的总利润。
f3 ( 60 )
g3 ( y ) y 0 , 10 ,, 60
max
f2 ( 60 y )