运筹学及应用案例 动态规划.docx
《运筹学及应用案例 动态规划.docx》由会员分享,可在线阅读,更多相关《运筹学及应用案例 动态规划.docx(21页珍藏版)》请在冰豆网上搜索。
运筹学及应用案例动态规划
徐州工程学院
数理学院
案例分析报告
课程名称运筹学及应用
案例分析题目农场五年计划的制定
专业
班级
姓名
学号
指导教师
成绩等级
2013年12月4日
小组成员分工1
一.问题描述2
二•问题分析2
3.模型建立3
4.模型求解与程序设计15
小组人员详细分工
学号
姓名
具体分工
模型建立与求解
模型建立
模型求解
报告撰写
一.问题描述
农场五年计划的制定
英国某农场主有200英亩土地的农场,现在要为未来五年制定生产计划:
现在他有120头母牛,其中20头为不到2岁的幼牛,100头为产奶牛。
每头幼牛需用2/3英亩土地供养,每头产奶牛需用1英亩。
产奶牛平均每头每年生1.1头牛,其中一半为公牛,生出后不久即卖掉,平均每头卖30英镑。
另一半为母牛,可以在生出后不久卖掉,平均每头卖40英镑,也可以留下饲养,养至2岁成为产奶牛。
幼牛每年损失5%,产奶牛每年损失2%。
产奶牛养至12岁就卖掉,平均每头卖120英镑。
现有的幼牛0岁和1岁各10头,100头产奶牛,从2岁到11岁,每一年龄的都有10头,应该卖掉的小母牛都已卖掉。
现有的20头是要饲养成产奶牛的,一头牛所产的奶提供年收入370英镑。
现在最多只能养130头牛,超过此数每多养一头,要投资200英镑。
每头产奶牛每年消耗0.6吨粮食和0.7吨甜菜,粮食和甜菜可由农场种植出来.每英亩产甜菜1.5吨,只有80英亩的土地适于种粮食,且产量不同,按产量可分为4组:
第一组20英亩,亩产1.1吨;第二组30英亩,亩产0.9吨;第三组20英亩,亩产0.8吨;第四组10英亩,亩产0.65吨。
从市场购粮食每吨90英镑,卖粮食每吨75英镑,买甜菜每吨70英镑,卖出50英镑。
养牛和种植所需劳动量为:
每头幼牛每年10小时,每头产奶牛每年42小时,种一英亩粮食每年需4小时,种一英亩甜菜每年需14小时,其它费用:
每头幼牛每年50英镑,每头产奶牛每年100英镑,种粮食每英亩每年15英镑,种甜菜每英亩每年10英镑。
劳动费用现在每年为4000英镑,提供5500小时的劳动量,超过此数的劳动量每小时费用为1.20英镑。
任何投资和支出都从10年期贷款得到,贷款年利率15%,每年偿还本息总和的1/10,十年还清,每年的货币之差不能为负值.。
此外,农场主不希望产奶牛的数目在五年末较现在减少超过50%,也不希望增加超过75%.问题是应如何安排生产计划,使收益最大?
二.问题分析农场养牛问题是一个农场生产计划最优化问题,农场投资最少收益为最大,要合理生产计划,减少不必要的成本。
由题意有以下几点:
1.第四年不饲养刚出生的小奶牛,第五年不饲养小奶牛,全部饲养产奶牛盈利最大。
2.种粮食和甜菜均有利可图,种粮食平均盈利比种甜菜平均盈利大,顾可以先满足粮食产量再考虑甜菜的产量。
每年粮食的产量为(吨):
1.1S,0S20
40.9S,20S50
90.8S,50S70
650.65(S70),70S80
3.第i年0岁的幼母牛要两后才成为产奶牛,即第i+2年成为产奶牛,所以第四、五年不能盈利出生的幼母牛全部卖,所以第四、五年出生的幼母牛全部卖:
4.使用穷举法求解,先不考虑贷款及还款做出最优解,然后通过每年运营所需费用以及贷款所需费用计算出贷款金额
5.贷款问题
任何投资都是从5年期的贷款得到。
贷款的年利率为10%,每年偿还本息总共的1/5,
五年还清。
此外,农场主不希望产奶牛的数目在五年末与现在相比减少超过50%,
也不希望增加超过75%。
三.模型建立
1符号说明
Xi(k)
第i年第k个年龄的母牛头数
ai
第i年拥有的0岁幼牛头数
Mi
第i年的总支出
P
第i年的总收入
Si
第i年用于种植粮食的土地面积
Fi
第i年粮食的产量
Hi
第i年用于生产甜菜的土地
N
1—5年的净利润
2第一年收入情况
2.1第一年总收入:
产奶收入:
12
370X1(k)k2
卖公幼崽收入:
12
30X0(k)1.1/2k2
卖母幼崽收入:
12
40[0.55X0(k)a1]k2
卖粮食收入:
75d1
卖甜菜收入:
50d11
卖老牛收入:
120X1(12)
总收入:
12
P1=370X1(k)k2
1212
300.55X0(k)40[0.55X0(k)a1]k2k2
75d150d11120X1(12)
2.2第一年总支出:
买甜菜的:
70d1-1
买粮食的:
90d1
超过160头牛的花费:
90d14
幼崽每年的消耗:
50[a1x1
(1)]
产奶牛每年的消耗:
12
100X1(k)k2
种粮食的的花费:
10S1
种甜菜的花费:
10H1
劳动费用:
60001.8d13
还贷费用:
总支出:
2000(01+10%)
5
M170d1-1
90d190d1450[a1
12
x1
(1)]100X1(k)
k2
10S110H160001.8d1320000(1+10%)5约束条件:
留下的幼牛崽头数:
0a155
面积:
12
[a1X1
(1)]2/3X1(k)S1H1200
k2
消耗粮食:
12
0.6X1(k)F1d1d1k2
消耗甜菜:
12
0.7X1(k)1.5H1d11d11
k2
耗时:
12
10[a1X1
(1)]42X1(k)4S114H15500d13d13
k2
牛的总头数限制:
12
a1X1
(1)X1(k)160d14d14
k2
产量的限制:
0.95X(k1),k1,2
X1(k)
0
0.98X0(k1),k3,4,12
利用计算机得出第一年的最大净利润值为P1=53460英磅(计算程序看附录)
3第二年收入情况
3.1第二年总收入:
产奶收入:
12
370X2(k)k2
卖公幼崽收入:
12
300.55X1(k)k2
卖母幼崽收入:
12
40[0.55X1(k)a2]k2
卖粮食收入:
75d2
卖甜菜收入:
50d21
卖老牛收入:
120X2(12)
总收入:
P2370X2(k)k2
30*X1(k)*1.1/2[X1(k)*1.1/2a2]*40
k2k2
75*d250*d21
120*X2(12)
12
12
12
3.2第二年总支出:
买甜菜的:
70d-21
买粮食的:
90d2
超过160头牛的花费:
90d24
幼崽每年的消耗:
50[a2x2
(1)]
产奶牛每年的消耗:
12
100X2(k)k2
种粮食的的花费:
10S2
种甜菜的花费:
10H2
劳动费用:
60001.8d23
还贷费用:
20000(1+10%)5-[(1+10%)5]2
总支出:
12
M2
70d-2190d290d2450[a2x1
(1)]100X1(k)10S2
k2
2
10H260001.8d2320000*(1+10%)5-[(1+10%)5]2
约束条件:
留下的幼牛崽头数:
0a259
面积:
12
200
[a2X2
(1)]2/3
k2
X2(k)
S2
H2
消耗粮食:
12
X2(k)*0.6
F2
d2
d2
k2
消耗甜菜:
12
0.7X2(k)
1.5H2
d22
d22
k2
耗时:
12
10[a2
X2
(1)]42X2(k)
4S2
14H
25500d23
k2
牛的总头数限制:
12
a2X2
(1)X2
(k)
160
d24
d24
k2
产量的限制:
0.95X(kX(k)1
1),
kk
1,2
3,4..
..,12
20.98X1(k
1),
d23
4.2第三年总支出:
买甜菜的:
70d-31买粮食的:
90d3超过160头牛的花费:
90d34幼崽每年的消耗:
50[a3x3
(1)]产奶牛每年的消耗:
12
100X3(k)k2种粮食的的花费:
10S3种甜菜的花费:
10H3劳动费用:
60001.8d33
还贷费:
20000(1+10%)5-[(1+10%)5]2([1+10%)5]3
总支出:
12
M370d-3190d390d3450[a3x3
(1)]100X3(k)10S310H3k2
60001.8d3320000(1+10%)5-[(1+10%)5]2([1+10%)5]3约束条件:
留下的幼牛崽头数:
面积:
0a357
消耗粮食:
12
[a3X3
(1)]2/3X3(k)S3H3200
k2
消耗甜菜:
12
0.6X3(k)F3d3d3k2
耗时:
12
0.6X3(k)1.5H3d32d32k2
10[a3
12
X3
(1)]42X3(k)4S314H35500d33d33k2
牛的总头数限制:
产量的限制:
12
a3X3
(1)X3(k)160d34d34
k2
0.95X2(k1),k1,2X3(k)0.98X2(k1),k3,4,12
5第四年收入情况
5.1第四年的收入:
产奶收入:
12
370X4(k)k2
卖公幼崽收入:
12
30*X3(k)*1.1/2k2
卖母幼崽收入:
12
30*X3(k)*1.1/2
k2
卖粮食收入:
75*d4
卖甜菜收入:
50*d41
卖老牛收入:
120*X4(12)
总收入费用:
12
P4370X4(k)
k2
1212
300.55X3(k)40[0.55X3(k)]75d450d41120X4(12)k2k2
5.2第四年总支出:
买甜菜的:
70d-41买粮食的:
90d4超过160头牛的花费:
90d44幼崽每年的消耗:
50x4
(1)
产奶牛每年的消耗:
12
种粮食的的花费:
种甜菜的花费:
劳动费用:
还贷费用:
20000(1+10%
总支出费用
M470d4190d4
20000(1+10%
约束条件:
面积:
消耗粮食:
消耗甜菜:
耗时:
10X4
(1)
牛的总头数限制:
100X4(k)
k2
10S4
10H4
60001.8d43
2
5-[(1+10%5][(1+10%
34
5][(1+10%5]
12
90d4450x4
(1)100X4(k)10S410H46000
k2
5-[(1+10%5]2[(1+10%
|[X4
(1)]
3
12
12
X4(k)
k2
S4
H4
*1.8d43
5]3[(1+10%5]4
200
0.6X4(k)F4d4
k2
d4
12
0.7X4(k)1.5H4d42d42
k2
12
42X4(k)4S414H45500d43d43
k2
12
X4
(1)X4(k)160d44d44
产量的限制:
X4(k)
6第五年收入情况
0.95X3(k1),k
0.98X3(k1),k
1,2
3,4,12
6.1第五年收入:
产奶收入:
12
370X5(k)k2
卖公幼崽收入:
12
300.55X4(k)k2
卖母幼崽收入:
12
40[0.55X4(k)]k2
卖粮食收入:
75d5
卖甜菜收入:
50d51
卖老牛收入:
120X5(12)
总收入费用:
12
P5370X5k2
12
(k)300.55X4(k)k2
12
40[
k2
0.55X4(k)]
75d550d51
120X5(12)
6.2第五年总支出:
买甜菜的:
70d-51
买粮食的:
90d5
超过160头牛的花费:
90d54
产奶牛每年的消耗:
12
100X5(k)
k2
种粮食的的花费:
10S5
种甜菜的花费:
10H5
劳动费用:
60001.8d53
还贷费用:
200001-(1+10%)5+3[(1+10%)5]22([1+10%)5]3+[(1+10%)5]4
总支出费用:
M570d51
12
90d590d54100X5(k)10S510H560001.8d53k2
200001-
(1+10%)5+3[(1+10%)5]22([1+10%)5]3+[(1+10%)5]4
约束条件:
面积:
12
X5(k)S5H5200
k2
消耗粮食:
12
0.6X5(k)F5d5d5
k2
消耗甜菜:
12
0.7X5(k)1.5H5d52d52k2
耗时:
12
42X5(k)4S514H55500d53d53
k2
牛的总头数限制:
12
X5(k)160d54d54k2
12
100(10.5)X5(k)100(10.75)
k2
产量的限制:
X5(k)
0.95X4(k1)
0.98X4(k1)
k1,2
k3,4,12
7第一至第五年的净利润
1——5年的净利润:
NP1P2P3
P4P5M1M2
M3M4M
四.模型求解与程序设计
因为F1为S1的分段函数,所以,考虑S1分别为四个阶段的产量,用LINGO求解。
当S1<=20英亩时:
max=-90*x1+75*x2+50*x3+15*s1+10*h1+51050;
x1<=55;
0.7*x1+s1+h1<=86;x2<=1.1*s1-60;
x3<=1.5*h1-70;
s1<=20;
Nofeasiblesolutionfound.
Totalsolveriterations:
Variable
Value
ReducedCost
X1
0.000000
149.5000
X2
0.000000
0.9000000E+11
X3
29.00000
0.000000
S1
20.00000
0.000000
H1
66.00000
0.000000
Row
SlackorSurplus
DualPrice
1
38.00000
1.000000
2
55.00000
0.000000
3
0.000000
85.00000
4
-38.00000
0.9000000E+11
5
0.000000
50.00000
当20<=S1<=30时:
max=-90*x1+75*x2+50*x3+15*s1+10*h1+51050;
x1<=55;
0.7*x1+s1+h1<=86;
x2-0.9*s1+56<=0;
x3<=1.5*h1-70;
s1<=50;
s1>=20;
Nofeasiblesolutionfound.
Variable
Totalsolveriterations:
3
X1
0.000000
0.1134000E+12
X2
0.000000
0.1800000E+12
X3
0.000000
0.1080000E+12
S1
39.33333
0.000000
H1
46.66667
0.000000
Row
SlackorSurplus
DualPrice
1
41.20000
1.000000
2
55.00000
0.000000
ValueReducedCost
30.000000
0.1620000E+12
5
0.000000
0.1080000E+12
6
10.66667
0.000000
7
19.33333
0.000000
4-20.60000
0.1800000E+12
当50<=S1<=70时:
max=-90*x1+75*x2+50*x3+15*s1+10*h1+51050;
x1<=55;
0.7*x1+s1+h1<=86;
x2-0.8*s1+51<=0;
x3<=1.5*h1-70;
s1<=70;
s1>=50;
Nofeasiblesolutionfound.
Totalsolveriterations:
Variable
Value
ReducedCost
X1
0.000000
0.9450000E+11
X2
0.000000
0.1687500E+12
X3
0.000000
0.9000000E+11
S1
63.75000
0.000000
H1
22.25000
0.000000
Row
SlackorSurplus
DualPrice
1
36.62500
1.000000
2
55.00000
0.000000
3
0.000000
0.1350000E+12
4
0.000000
0.1687500E+12
5
-36.62500
0.9000000E+11
6
6.250000
0.000000
7
13.75000
0.000000
当S1>=70时:
max=-90*x1+75*x2+50*x3+15*s1+10*h1+51050;
x1<=55;
0.7*x1+s1+h1<=86;
x2-0.65*s1+40.5<=0;
x3<=1.5*h1-70;
s1<=80;
s1>=70;
Nofeasiblesolutionfound.
Totalsolveriterations:
Variable
Value
ReducedCost
X1
0.000000
0.9450000E+11
X2
0.000000
0.6923077E+11
X3
0.000000
0.9000000E+11
S1
62.30769
0.000000
H1
23.69231
0.000000
Row
SlackorSurplusDualPrice
1
42.15385
1.000000
2
55.00000
0.000000
3
0.000000
0.1350000E+12
4
0.000000
0.6923077E+11
5
-34.46154
0.9000000E+11
6
17.69231
0.000000
7
-7.692308
-0.9000000E+11
然后,通过matlab编程,分别带入各情况下的参数值:
functiony=profit(x)%定义利润函数
a=[-90,75,50,15,10]';%系数矩阵
y=x*a+51050;%求利润
y
其系数矩阵分别为
[0.000000,0.000000,29.00000,20.00000,66.00000]
[0.000000,0.000000,0.000000,39.33333,46.66667]
[0.000000,0.000000,0.000000,39.33333,46.66667]
将其分别带入profit(x)利润函数,得出三种情况下的最佳利润分别为:
y=
53460
y=
5.2107e+004
y=
5.2107e+004
附录A:
指导教师评语及成绩
指导教师评语:
成绩评定:
指导教师:
日期: