数学建模作业实验3线性规划实验.docx
《数学建模作业实验3线性规划实验.docx》由会员分享,可在线阅读,更多相关《数学建模作业实验3线性规划实验.docx(30页珍藏版)》请在冰豆网上搜索。
![数学建模作业实验3线性规划实验.docx](https://file1.bdocx.com/fileroot1/2023-1/2/c9248815-de52-4968-b88f-9e91153db939/c9248815-de52-4968-b88f-9e91153db9391.gif)
数学建模作业实验3线性规划实验
数学建模作业
(实验3线性规划实验)
基本实验
1.生产计划安排
某公司使用三种操作装配三种玩具——玩具火车、玩具卡车和玩具汽车。
对于三种操作可用时间限制分别是每天430分钟、460分钟和420分钟,玩具火车、玩具卡车和玩具汽车的单位收入分别是3美元、2美元和5美元。
每辆玩具火车在三种操作的装配时间分别是1分钟,3分钟和1分钟。
每辆玩具卡车和每辆玩具汽车相应的时间是(2,0,4)和(1,2,0)分钟(零时间表示不使用该项操作)。
(1)将问题建立成一个线性规划模型,确定最优的生产方案。
(2)对于操作1,假定超过它当前每天430分钟能力的任何附加时间必须依靠每小时50美元的加班获得。
每小时成本包括劳动力和机器运行费两个方面。
对于操作1,使用加班在经济上有利吗?
如果有利,最多加多少时间?
(3)假定操作2的操作员已同意每天加班工作两小时,加班费是45美元一小时。
还有,操作自身的成本是一小时10美元。
这项活动对于每天收入的实际结果是什么?
(4)操作3需要加班时间吗?
解答
解:
设生产玩具火车、玩具卡车和玩具汽车的数量分别为X1,X2,X3,
则目标函数为:
3X1+2X2+5X3
约束条件:
X1+2X2+X3<=430
3X1+2X3<=460
X1+4X2<=420
X1>=0;X2>=0;X3>=0
最优值为目标函数取得最大。
LINGO程序
max=3*x1+2*x2+5*x3;
x1+2*x2+x3<=430;
3*x1+2*x3<=460;
x1+4*x2<=420;
运行结果
Globaloptimalsolutionfound.
Objectivevalue:
1350.000
Infeasibilities:
0.000000
Totalsolveriterations:
2
ModelClass:
LP
Totalvariables:
3
Nonlinearvariables:
0
Integervariables:
0
Totalconstraints:
4
Nonlinearconstraints:
0
Totalnonzeros:
10
Nonlinearnonzeros:
0
VariableValueReducedCost
X10.0000004.000000
X2100.00000.000000
X3230.00000.000000
RowSlackorSurplusDualPrice
11350.0001.000000
20.0000001.000000
30.0000002.000000
420.000000.000000
(1)由运行结果可得,最优的生产方案为:
玩具火车、玩具卡车和玩具汽车的生产数量分别为:
0、100、230;收入为1350.
(2)由DualPrice第二行可知,当操作1每增加1分钟收入增加1美元,所以50/60<1,使用加班在经济上是有利的;
Rangesinwhichthebasisisunchanged:
ObjectiveCoefficientRanges:
CurrentAllowableAllowable
VariableCoefficientIncreaseDecrease
X13.0000004.000000INFINITY
X22.0000008.0000002.000000
X35.000000INFINITY2.666667
RighthandSideRanges:
CurrentAllowableAllowable
RowRHSIncreaseDecrease
2430.000010.00000200.0000
3460.0000400.000020.00000
4420.0000INFINITY20.00000
分析可知,最多增加10分钟。
(3)由运算结果第三行可知,当操作2每加班1分钟时,收入增加2美元,若每天加班2小时,则收入增加2*120=240美元,成本为(45+10)*2=110美元,240-110=130美元。
所以,每天收入增加130美元。
(4)不需要操作3加班,因为其影子价格为0。
2.工程进度问题
某城市在未来的五年内将启动四个城市住房改造工程。
每项工程有不同的始时间,工程周期也不一样。
表3.1提供这些项目的基本数据。
工程1和工程4必须在规定的周期内全部完成。
必要时,其余的二项工程可以在预算的限制内完成部分。
然而,每个工程在它的规定时间内必须至少完成25%。
每年底,工程完成的部分立刻入住,并且实现一定比例的收入。
例如,如果工程1在第一年完成40%,在第三年完成剩下的60%,在五年计划范围内的相应收入是0.4×50(第二年)+0.4×50(第三年)+(0.4+0.6)×50(第四年)+(0.4+0.6)×50(第五年)=(4×0.4+2×0.6)×50(单位:
万元)。
试为工程确定最优的时间进度表,使得五年内的总收入达到最大。
解答
解:
设工程1、2、3、4在第i年工程完成量分别为Xi、Yi、Zi、Wi,其中i=1,2,3,4。
则:
工程1的收入为:
50X1+50(X1+X2)+50(X1+X2+X3)+50(万元)
工程2的收入为:
70Y2+70(Y2+Y3)+70(Y2+Y3+Y4)(万元)
工程3的收入为:
150Z1+150(Z1+Z2)+150(Z1+Z2+Z3)+150(Z1+Z2+Z3+Z4)(万元)
工程4的收入为:
20W3+20(W3+W4)(万元)
目标函数为:
50X1+50(X1+X2)+50(X1+X2+X3)+50+70Y2+70(Y2+Y3)+70(Y2+Y3+Y4)+150Z1+150(Z1+Z2)
+150(Z1+Z2+Z3)+150(Z1+Z2+Z3+Z4)+20W3+20(W3+W4)
约束条件:
5000X1+1500Z1<=3000
5000X2+8000Y2+15000Z2<=6000
5000X3+8000Y3+15000Z3+1200W3<=7000
8000Y4+15000Z4+1200W4<=7000
8000Y5+15000Z5<=7000
X1+X2+X3=1
Y2+Y3+Y4+Y5>=0.25
Y2+Y3+Y4+Y5<=1
Z1+Z2+Z3+Z4+Z5<=1
Z1+Z2+Z3+Z4+Z5>=0.25
W3+W4=1
最优值为目标函数取得最大值。
LINGO程序
max=50*x1+50*(x1+x2)+50*(x1+x2+x3)+50*(x1+x2+x3)+70*y2+70*(y2+y3)+70*(y2+y3+y4)+150*z1+150*(z1+z2)+150*(z1+z2+z3)+150*(z1+z2+z3+z4)+20*w3+20*(w3+w4);
5000*x1+15000*z1<=3000;
5000*x2+8000*y2+15000*z2<=6000;
5000*x3+8000*y3+15000*z3+1200*w3<=7000;
8000*y4+15000*z4+1200*w4<=7000;
8000*y5+15000*z5<=7000;
x1+x2+x3=1;
y2+y3+y4+y5>=0.25;
y2+y3+y4+y5<=1;
z1+z2+z3+z4+z5>=0.25;
z1+z2+z3+z4+z5<=1;
w3+w4=1;
运行结果
Globaloptimalsolutionfound.
Objectivevalue:
523.7500
Infeasibilities:
0.000000
Totalsolveriterations:
10
ModelClass:
LP
Totalvariables:
14
Nonlinearvariables:
0
Integervariables:
0
Totalconstraints:
12
Nonlinearconstraints:
0
Totalnonzeros:
49
Nonlinearnonzeros:
0
VariableValueReducedCost
X10.60000000.000000
X20.40000000.000000
X30.0000000.000000
Y20.00000020.00000
Y30.00000010.00000
Y40.22500000.000000
Z10.0000000.000000
Z20.26666670.000000
Z30.38666670.000000
Z40.34666670.000000
W31.0000000.000000
W40.0000008.000000
Y50.77500000.000000
Z50.00000018.75000
RowSlackorSurplusDualPrice
1523.75001.000000
20.0000000.3875000E-01
30.0000000.2875000E-01
40.0000000.1875000E-01
50.0000000.8750000E-02
6800.00000.000000
70.0000006.250000
80.75000000.000000
90.0000000.000000
100.75000000.000000
110.00000018.75000
120.00000017.50000
所以最优进度如下表所示:
第一年
第二年
第三年
第四年
第五年
工程1
60%
40%
0
工程2
0
0
22.5%
77.5%
工程3
0
26.7%
38.7%
34.7%
工程4
100%
0
总收入最大为:
523.75万元
3.投资问题
一个商业主管在两个计划中有投资选择权,计划A保证每1美元的投资在1年后可以赚得0.70美元,而计划B保证每1美元的投资在两年后能赚得3美元。
对于计划A,可以按年制订投资规划,而对于计划B,只允许以两年为周期制订投资规划。
主管应如何投资100,000美元,使得在3年末的收入达到最大?
解答
解:
设xi和yi分别表示第i年给A、B的投资金额,其中,i=1,2,3。
第1年,将100000美元全部用于A、B两个计划的投资,则:
x1+y1=100000;
第2年,将第一年的本金加利息用于A、B两个计划的投资,则:
x2+y2=(1+0.7)x1=1.7x1;
第三年,由于计划B只能在两年后收回本息,所以,第3年只能投资计划A,则:
x3=1.7x2+4y2。
第3年末的收入即为所求目标函数:
1.7x2+4y2
最优值为
LINGO程序
max=1.7*x3+4*y2;
x1+y1=100000;
-1.7*x1+x2+y2=0;
-1.7*x2+x3-4*y1=0;
运行结果
Globaloptimalsolutionfound.
Objectivevalue:
680000.0
Infeasibilities:
0.000000
Totalsolveriterations:
0
ModelClass:
LP
Totalvariables:
5
Nonlinearvariables:
0
Integervariables:
0
Totalconstraints:
4
Nonlinearconstraints:
0
Totalnonzeros:
10
Nonlinearnonzeros:
0
VariableValueReducedCost
X3400000.00.000000
Y20.0000000.000000
X10.0000000.000000
Y1100000.00.000000
X20.0000001.110000
RowSlackorSurplusDualPrice
1680000.01.000000
20.0000006.800000
30.0000004.000000
40.0000001.700000
由运行结果可得:
第一年将100000钱全部投入B计划,第三年再将钱全部投入A计划。
第三年年末可以获得最大收入为680000美元。
4.生产计划与库存问题
某公司已签订了在未来的六、七、八月份生产A、B两种产品的合同。
总的生产能力(用小时表示)每月不同。
表3.2给出了本问题的基本数据。
对于产品A和B,每小时的单位生产率分别是1.25和1.所有的需求必须被满足。
然而,后面的月份的需求可以从前面的月份的生产来填补。
对于任何从本月转到下一个月的产品,每件产品A和产品B每月分别发生0.90美元和0.75美元的贮存成本。
A、B两种产品的单位成本分别是30美元和28美元,试着为两种产品确定最优的生产计划安排。
解答
解:
本问题变量包括每月的生产时间和月底的库存量
设六、七、八月份生产A、B两种产品的时间分别为:
xiA,xiB,其中i=1,2,3,
设六、七月底A、B两种产品的库存量为IiA、IiB,其中i=1,2。
则总成本为总的生产成本和总的库存成本:
总的生产成本为:
1.25*x1A*30+1*x1B*28+1.25*x2A*30+1*x2B*28+1.25*x3A*30+1*x3B*28
总的库存成本为:
0.90*(I1A+I2A)+0.75*(I1B+I2B)
可得目标函数为:
1.25*x1A*30+1*x1B*28+1.25*x2A*30+1*x2B*28+1.25*x3A*30+1*x3B*28+0.90*(I1A+I2A)+0.75*(I1B+I2B)
约束条件为:
1.25*x1A-I1A=500
I1A+1.25*x2A-I2A=5000
I2A+1.25*x3A=750
1*x1B-I1B=1000
I1B+1*x2B-I2B=1200
I2B+1*x3B=1200
x1A+x1B<=3500
x2A+x2B<=3500
x3A+x3B<=3000
最优值为目标函数取得最小。
LINGO程序
min=1.25*X1A*30+1*X1B*28+1.25*X2A*30+1*X2B*28+1.25*X3A*30+1*X3B*28+0.9*(I1A+I2A)+0.75*(I1B+I2B);
1.25*X1A-I1A=500;
I1A+1.25*X2A-I2A=5000;
I2A+1.25*X3A=750;
1*X1B-I1B=1000;
I1B+1*X2B-I2B=1200;
I2B+1*X3B=1200;
X1A+X1B<=3500;
X2A+X2B<=3500;
X3A+X3B<=3000;
运行结果
Globaloptimalsolutionfound.
Objectivevalue:
284162.5
Infeasibilities:
0.000000
Totalsolveriterations:
4
ModelClass:
LP
Totalvariables:
10
Nonlinearvariables:
0
Integervariables:
0
Totalconstraints:
10
Nonlinearconstraints:
0
Totalnonzeros:
30
Nonlinearnonzeros:
0
VariableValueReducedCost
X1A900.00000.000000
X1B2200.0000.000000
X2A3500.0000.000000
X2B0.0000000.3750000
X3A600.00000.000000
X3B1200.0000.000000
I1A625.00000.000000
I2A0.0000001.800000
I1B1200.0000.000000
I2B0.0000001.500000
RowSlackorSurplusDualPrice
1284162.5-1.000000
20.000000-30.00000
30.000000-30.90000
40.000000-30.00000
50.000000-28.00000
60.000000-28.75000
70.000000-28.00000
8400.00000.000000
90.0000001.125000
101200.0000.000000
可得生产计划和库存如下表所示:
六月
库存
数量
七月
库存
数量
八月
时间
数量
时间
数量
六月
数量
A产品
900
1125
625
3500
4375
0
600
750
B产品
2200
2200
1200
0
0
0
1200
1200
成本最低为:
284162.5美元。
5.学生服务时间安排问题
大多数大学在校学生与所在院系签订和他那个,为学校做如接听电话和打字等杂活。
对这类的服务的需求在整个工作时间内(上午8:
00到下午5:
00)是波动的。
在工业工程系,所需学生的最小数量在上午8:
00到上午10:
00之间是2名,在上午10:
01到上午11:
00之间是3名,在上午11:
01到下午1:
00间是4名,在下午1:
01到下午5:
00之间是3名。
分配每位学生连续工作3小时(在下午3:
01开始工作的除外,他们连续工作2小时,在下午4:
01开始工作的,他们工作1小时)。
由于学生们的时间很灵活,他们可以在工作日随时开始上班,午饭时间(中午12:
00)除外,学生不打算在此时开始工作。
求工业工程系应该雇佣的最小学生数,并制定他们的工作开始时间。
解答
解:
设Xi为8:
00到16:
00开始上班的学生人数,其中,i=1,…,8,9。
学生上班的示意图如下图所示:
时间段
X1
X2
X3
X4
X5
X6
X7
X8
X9
人数
8
X1
2
9
X1
X2
10
X1
X2
X3
3
11
X2
X3
X4
4
12
X3
X4
X5
13
X4
X5
X6
3
14
X5
X6
X7
15
X6
X7
X8
16
X7
X8
X9
则目标函数为:
X1+X2+X3+X4+X5+X6+X7+X8+X9
约束条件为:
X1>=2
X1+X2>=2
X1+X2+X3>=3
X2+X3+X4>=4
X3+X4+X5>=4
X4+X5+X6>=3
X5+X6+X7>=3
X6+X7+X8>=3
X7+X8+X9>=3
X5=0
最优值为目标函数取得最小。
LINGO程序
min=X1+X2+X3+X4+X5+X6+X7+X8+X9;
X1>=2;
X1+X2>=2;
X1+X2+X3>=3;
X2+X3+X4>=4;
X3+X4+X5>=4;
X4+X5+X6>=3;
X5+X6+X7>=3;
X6+X7+X8>=3;
X7+X8+X9>=3;
X5=0;
运行结果
Globaloptimalsolutionfound.
Objectivevalue:
9.000000
Infeasibilities:
0.000000
Totalsolveriterations:
4
ModelClass:
LP
Totalvariables:
8
Nonlinearvariables:
0
Integervariables:
0
Totalconstraints:
10
Nonlinearconstraints:
0
Totalnonzeros:
29
Nonlinearnonzeros:
0
VariableValueReducedCost
X12.0000000.000000
X20.0000001.000000
X31.0000000.000000
X43.0000000.000000
X50.0000000.000000
X60.0000000.000000
X73.0000000.000000
X80.0000000.000000
X90.0000001.000000
RowSlackorSurplusDualPrice
19.000000-1.000000
20.000000-1.000000
30.0000000.000000
40.0000000.000000
50.0000000.000000
60.000000-1.000000
70.0000000.000000
80.0000000.000000
90.000000-1.000000
100.0000000.000000
110.0000000.000000
由结果可得,最少需要雇用9名学生,具体开始工作时间如下:
时段
8
9
10
11
12
13
14
15
16
总数
人数
2
0
1
3
0
0
3
0
0
9
6.油料生产安排问题
一家汽油公司蒸馏A和B两种原油,生产普通汽油和优质汽油,以及航空燃油,表3.3提供了各种情形的数据。
对原油的月供应量以及最终产品最小需求,量均有上限。
如果生产不能满足需求,不足的部分采取外购补充,并发生惩罚费用。
剩余产品不能立即销售,会带来相应的储藏成本。
试为精练厂制定最优的生产方案。
解答
解:
设每天采购原油A、B的桶数分别为XA和XB;外购普通汽油、成品汽油和航空燃油的桶数分别为:
Y1,Y2,Y3;储藏普通汽油、成品汽油和航空燃油的桶数分别为Z1,Z2,Z3。
则目标函数为:
50*500+70*700+120*400-(30*XA+40*XB)-((50+10)*Y1+(70+15)*Y2+(120+20)*Y3)-(2*Z1+3*Z2+4