数学建模线性规划实验.docx
《数学建模线性规划实验.docx》由会员分享,可在线阅读,更多相关《数学建模线性规划实验.docx(16页珍藏版)》请在冰豆网上搜索。
![数学建模线性规划实验.docx](https://file1.bdocx.com/fileroot1/2022-10/25/68d0309b-a63d-4fd5-838d-3c1d81b93354/68d0309b-a63d-4fd5-838d-3c1d81b933541.gif)
数学建模线性规划实验
3线性规划实验
3.1实验目的与要求
●学会建立线性规划模型
●学会LINGO软件的基本使用方法,求解线性规划问题
●学会对线性规划问题进行灵敏度分析,以及影子价格的意义
3.2基本实验
1.生产计划安排与灵敏度分析
解:
(1)假设最后总生产得到的Ⅰ型产品为x1kg,Ⅱ型产品为x2kg,那么它们必须同时满足以下条件:
MaxZ=130x1+400x2-100(x1+x2/0.33)
x1+(x2)/0.33≤90
2x1+3(x2)/0.33≤200
x2≤40
LINGO程序:
Max=130*x1+400*x2-100*(x1+x2/0.33);
x1+x2/0.33<=90;
2*x1+3*x2/0.33<=200;
x2<=40;
结果:
Globaloptimalsolutionfound.
Objectivevalue:
2740.000
Infeasibilities:
0.000000
Totalsolveriterations:
3
ModelClass:
LP
Totalvariables:
2
Nonlinearvariables:
0
Integervariables:
0
Totalconstraints:
4
Nonlinearconstraints:
0
Totalnonzeros:
7
Nonlinearnonzeros:
0
VariableValueReducedCost
X170.000000.000000
X26.6000000.000000
RowSlackorSurplusDualPrice
12740.0001.000000
20.00000026.00000
30.0000002.000000
433.400000.000000
即:
最优的方案是Ⅰ型产品为70kg,Ⅱ型产品为6.6kg。
(2)MaxZ=130x1+400x2-100(x1+x2/0.33)
x1+(x2)/0.33≤87
2x1+3(x2)/0.33≤200
x2≤40
LINGO程序:
Max=130*x1+400*x2-100*(x1+x2/0.33);
x1+x2/0.33<=87;
2*x1+3*x2/0.33<=200;
x2<=40;
结果:
VariableValueReducedCost
X161.000000.000000
X28.5800000.000000
RowSlackorSurplusDualPrice
12662.0001.000000
20.00000026.00000
30.0000002.000000
431.420000.000000
那么公司得到的利润为:
2662元
(3)如果产品Ⅱ的销售价格变为395元/千克,最优解没有变化。
因为销售价格变化不足以引起最优方案的线性变化。
(4)根据LINGO计算得到的影子价格可知,最多追加1kg的原料支付26元。
(5)根据LINGO计算得到的影子价格可知,最多追加1h的劳动时间支付2元。
2.动物饲料制造
解:
假设原料燕麦x1kg,玉米x2kg,糖渣x3kg,结颗粒x4kg,筛粉x5kg。
Min=2.5(x1+x2)+0.5(x1+x2+x3)+4.2x4+1.7x5+1.3x1+1.7x2+1.2x3;(蓝色是加工费,红色是成本费)
13.6x1+4.1x2+5.0x3>=9.5(x1+x2+x3);
7.1x1+2.4x2+0.3x3>=2(x1+x2+x3);
7.0x1+3.7x2+25.0x3<=6(x1+x2+x3);
x1<=11900;
x2<=23500;
x3<=750;
x1+x2+x3>=9000+12000;
x4>=9000;
x5>=12000;
LINGO程序:
min=2.5*(x1+x2)+0.5*(x1+x2+x3)+4.2*x4+1.7*x5+1.3*x1+1.7*x2+1.2*x3;
13.6*x1+4.1*x2+5.0*x3>=9.5*(x1+x2+x3);
7.1*x1+2.4*x2+0.3*x3>=2*(x1+x2+x3);
7.0*x1+3.7*x2+25.0*x3<=6*(x1+x2+x3);
x1<=11900;
x2<=23500;
x3<=750;
x1+x2+x3>=9000+12000;
x4>=9000;
x5>=12000;
结果:
结论:
原料燕麦11896.63kg,玉米8678.905kg,糖渣424.4658kg,可以使成本最低150868元。
3.投资问题
解:
假设对应A、B、C、D、E各个项目分别为x1、x2、x3、x4、x5,则投资满足以下条件:
Max:
Z=2x2+2.9x4+2.5x5+x8
x1、x2、x3、x4、x5≤75
今年投资:
x1+x3+x4≤100
假若有剩余资金则投入基金收益:
[100-(x1+x3+x4)](1+8%)=x6
第一年投资:
x2≤0.5x1+2.2x3+x6
假若这年有剩余资金则投入基金收益:
(0.5x1+2.2x3+x6-x2)(1+8%)=x7
第二年投资:
x5≤2x1+0.5x2+x7
假若这年有剩余资金则投入基金收益:
(2x1+0.5x2+x7-x5)(1+8%)=x8
LINGO程序:
Max=2*x2+2.9*x4+2.5*x5+x8;
x1<=75;
x2<=75;
x3<=75;
x4<=75;
x5<=75;
x1+x3+x4<=100;
(100-x1-x3-x4)*(1+0.08)=x6;
x2<=0.5*x1+2.2*x3+x6;
(0.5*x1+2.2*x3+x6-x2)*(1+0.08)=x7;
x5<=2*x1+0.5*x2+x7;
(2*x1+0.5*x2+x7-x5)*(1+0.08)=x8;
LINGO运行结果:
结论:
对应投资项目A=18.75000万元;B=75万元;C=29.82955万元;D=51.42045万元;
E=75万元,每一年都把钱用于投资,没有放到基金里面。
按表中的计划投资,最后总收益为486.6193万元。
4.自行车生产规划
解:
假设i表示明年销售的月份(i为1,2,3…12);
Xi表示在第i个月该公司生产儿童自行车辆数(单位:
辆);
Yi表示在第i个月工人加班生产的自行车数量(单位:
辆);
ki表示第i个月自行车库存数量(单位:
辆);
si表示公司第i个月的预计销售量(单位:
辆);
则,以上假设必须同时满足
i=1,2,3…12;
k0=2000;
xi+yi+k(i-1)-ki=si每月销售满足的自行车数量;
0≤xi≤30000,每个月工人正常产量;
0≤yi≤15000,加班生产的辆数;
0≤ki,库存是大于零的。
LINGO程序:
sets:
var/1..12/:
x,y,s,k;
endsets
min=@sum(var(i):
(30*x(i)+40*y(i)+5*k(i)));
data:
s=300001500015000250003300040000450004500026000140002500030000;
enddata
@for(var(i):
@bnd(0,x,30000));!
限制x在(0,30000)之间;
@for(var(i):
@bnd(0,y,15000));!
加班的产量限制y在(0,15000)之间;
x
(1)+y
(1)+2000-k
(1)=s
(1);!
1月份为1时的情形;
@for(var(i)|i#gt#1:
x(i)+y(i)+k(i-1)-k(i)=s(i));
程序运行结果:
结果为:
第一个月正常生产28000台,加班生产0台,库存0台;
第二个月正常生产15000台,加班生产0台,库存0台;
第三个月正常生产15000台,加班生产0台,库存0台;
第四个月正常生产28000台,加班生产0台,库存3000台;
第五个月正常生产30000台,加班生产0台,库存0台;
第六个月正常生产30000台,加班生产10000台,库存0台;
第七个月正常生产30000台,加班生产15000台,库存0台;
第八个月正常生产30000台,加班生产15000台,库存0台;
第九个月正常生产26000台,加班生产0台,库存0台;
第十个月正常生产14000台,加班生产0台,库存0台;
第十一个月正常生产25000台,加班生产0台,库存0台;
第十二个月正常生产30000台,加班生产0台,库存0台;
最小化总成本为:
1.0645x107欧元。
解:
(1)设该银行全天服务员x1名,半全天服务员x7名.满足以下条件:
Minz=100x1+40x7
x2+x5+x6=x7;
x3+x4=x1;(用于换这吃饭)
x7≤3;
9-12时间段:
4≤x1+x2;
12-13点:
X1里面一部分人出来吃饭:
6≤x3+x2+x5;
13-14点:
5≤x4+x5+x6;
15-16点:
8≤x1+x5+x6;
16-17点:
8≤x1+x6;
LINGO程序:
min=100*x1+40*x7;
x2+x5+x6=x7;
x3+x4=x1;
x7<=3;
4<=x1+x2;
6<=x2+x3+x5;
5<=x4+x5+x6;
8<=x1+x5+x6;
8<=x1+x6;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);@gin(x7);
程序运行结果:
结果:
银行应该请7名全天职员,在12-13点时2名全职去吃饭,13-14点另外5名去吃饭;聘请3名半全天职员,12-13点上1个,13-14点再上另外2个。
(2)如果使用
(1)的方案一天的付报酬820,如果不按
(1)方案,考虑到中午吃饭,会花费至少1100.则每天增加费用1100-820=280元。
(3)即取消对x7的限制,可以聘请14名半值的职员,可以节省820-560=260元。
如下图所示程序:
程序结果如下:
6.油料生产安排问题
解:
假设原油A生产普通、优质、航空的燃油桶数分别为:
x1,x2,x3;原油B生产普通、优质、航空的燃油桶数分别为:
x4,x5,x6;需要额外采购普通、优质、航空的燃油桶数:
x7,x8,x9;供应富余的普通、优质、航空的燃油桶数x10,x11,x12。
那么必须同时满足以下条件:
MaxZ=50(x1+x4)+70(x2+x5)+120(x3+x6)-30(0.2x1+0.1x2+0.25x3)-40(0.25x4+0.3x5+0.1x6)-(10x7+15x8+
20x9)-(2x10+3x11+4x12)
x1+x4+x7-x10=500;
x2+x5+x8-x11=700;
x3+x6+x9-x12=400;
0.2x1+0.1x2+0.25x3≤2500;
0.25x4+0.3x5+0.1x6≤3000;
LINGO程序:
程序运行结果:
结论:
原油A全部生产优质油25000桶,原油B全部生产航空油30000桶,最终收入元。
7.加分实验(人力资源计划)