数学建模线性规划和整数规划实验.docx
《数学建模线性规划和整数规划实验.docx》由会员分享,可在线阅读,更多相关《数学建模线性规划和整数规划实验.docx(27页珍藏版)》请在冰豆网上搜索。
数学建模线性规划和整数规划实验
1、线性规划和整数规划实验
1、加工奶制品的生产计划
(1)一奶制品加工厂用牛奶生产A1,A2两种奶制品,1桶牛奶可以在甲车
间用12小时加工成3千克A1产品,或者在乙车间用8小时加工成4千克A2
产品.根据市场需求,生产的A1、A2产品全部能售出,且每千克A1产品获利
24元,每千克A2产品获利16元.现在加工厂每天能得到50桶牛奶的供应,
每天正式工人总的劳动时间为480小时,并且甲车间的设备每天至多能加工100
千克A1产品,乙车间的设备的加工能力可以认为没有上限限制.试为该厂制订
一个生产计划,使每天获利最大,并进一步讨论以下3个附加问题:
(i)若用35元可以买到1桶牛奶,是否应作这项投资?
若投资,每天最多购买多少桶牛奶?
(ii)若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时几元?
(iii)由于市场需求变化,每千克A1产品的获利增加到30元,是否应改变生产计划?
(2)进一步,为增加工厂获利,开发奶制品深加工技术.用2小时和3元加
工费,可将1千克A1加工成0.8千克高级奶制品B1,也可将1千克A2加工成
0.75千克高级奶制品B2,每千克B1可获44元,每千克B2可获32元.试为该
厂制订一个生产销售计划,使每天获利最大,并进一步讨论以下问题:
(i)若投资30元可增加供应1桶牛奶,投资3元可增加1小时劳动时间,
是否应作这项投资?
若每天投资150元,或赚回多少?
(ii)每千克高级奶制品B1,B2的获利经常有10%的波动,对制订的生产销售计划有无影响?
若每千克B1的获利下降10%,计划是否应作调整?
解:
由已知可得1桶牛奶,在甲车间经过十二小时加工完成可生产3千克的A1,利润为72元;在乙车间经八小时加工完成可生产四千克的A2,利润为64元。
利用lingo软件,编写如下程序:
model:
max=24*3*x1+16*4*x2;
s.t.
12*x1+8*x2≤480;
x1+x2≤50;
3*x1≤100;
X1≥0,x2≥0
end
求解结果及灵敏度分析为:
Objectivevalue:
3360.000
Totalsolveriterations:
2
VariableValueReducedCost
X120.000000.000000
X230.000000.000000
RowSlackorSurplusDualPrice
13360.0001.000000
20.0000002.000000
30.00000048.00000
440.000000.000000
ObjectiveCoefficientRanges
CurrentAllowableAllowable
VariableCoefficientIncreaseDecrease
X172.0000024.000008.000000
X264.000008.00000016.00000
RighthandSideRanges
RowCurrentAllowableAllowable
RHSIncreaseDecrease
2480.000053.3333380.00000
350.0000010.000006.666667
4100.0000INFINITY40.00000
分析结果:
1)从结果可以看出在供应甲车间20桶、乙车间30桶的条件下,获利可以达到最大3360元。
ⅰ)从计算结果可以看出,多增加一桶可以获利48元,大于35元,因此可以做此项投资,在结果显示中,修改相关参数,可得还可以再购买10桶。
ⅱ)从结果中可以看出,增加一小时劳动时间可以增加利润两元,因此,若聘用临时工人以增加劳动时间,工人每小时的工资应不超过2元钱。
ⅱⅰ)从程序的运行结果看,A产品系数变化范围为64到96,当A1产品获利增加到30元时,系数变化为30*3=90<96,因此,不用改变生产计划。
2)由题意可知,对产品做进一步的深加工,设用以生产A1的为A1桶,A2的为A2桶,其中加工成B1B2的千克数位x和y千克,编写如下程序:
max=72*A1+64*A2+8.2*X+5*Y;
A1+A2<=50;
12*A1+8*A2+2*X+2*Y<=480;
3*A1<=100;
3*A1-X>=0;
3*A2-Y>=0;
运行以上程序,得到如下结果:
Globaloptimalsolutionfound.
Objectivevalue:
3460.800
Totalsolveriterations:
3
VariableValueReducedCost
A18.0000000.000000
A242.000000.000000
X24.000000.000000
Y0.0000001.520000
RowSlackorSurplusDualPrice
13460.8001.000000
20.00000037.92000
30.0000003.260000
476.000000.000000
50.000000-1.680000
6126.00000.000000
从上面的结果可以看出,50桶牛奶中,8桶用于生产产品A1,42桶用于生产产品A2,且其中用以加工B1产品的A1为24千克,而A2不需要,可获得的最大利润为3460.8元。
ⅰ)从结果可以看出,每增加一桶牛奶可赚钱37.92元大于30,每增加一小时可赚钱3.26元大于3,因此应做此项投资。
若投入150元,可买5桶,所得利润分别为:
39.6和13元。
ⅱ)从灵敏度分析可知,B1和B2获利10%的波动对生产销售计划没有影响,而B1获利减少10%对生产销售计划有影响。
2、下料问题
用长度为500厘米的条材,截成长度分别为98厘米和78厘米二种毛坯,
要求共截出长98厘米的毛坯10000根,78厘米的20000根,问怎样截法,
(1)使得所用的原料最少?
(2)使得所剩余的边料最少?
试分析两种问题的答案是否相同.
解:
由已知可得现有500厘米的条材,要截出98厘米和78厘米两种不同的长度的条材,可选择的模式如下表所示:
选择模式
98厘米条材根数
78厘米条材根数
余料/厘米
1
5
0
10
2
4
1
30
3
3
2
50
4
2
3
70
5
1
5
12
6
0
6
32
(1)欲使所用原料最少,建立如下数学模型,其中xi为采用第i中模式的切割根数:
min=x1+x2+x3+x4+x5+x6;
5*x1+4*x2+3*x3+2*x4+x5>=10000;
x2+2*x3+3*x4+5*x5+6*x6>=20000;
运行结果如下:
Globaloptimalsolutionfound.
Objectivevalue:
5200.000
Totalsolveriterations:
2
VariableValueReducedCost
X11200.0000.000000
X20.0000000.4000000E-01
X30.0000000.8000000E-01
X40.0000000.1200000
X54000.0000.000000
X60.0000000.4000000E-01
RowSlackorSurplusDualPrice
15200.000-1.000000
20.000000-0.2000000
30.000000-0.1600000
从运行结果可以看出,欲使所用原料最少,应采用第一种模式的截法1200根,第五种模式的截法4000根,做简单计算可得余料为60000cm。
(2)欲使剩余的边料最少,建立如下数学模型,并运行相应程序:
min=10*x1+30*x2+50*x3+70*x4+12*x5+32*x6;
5*x1+4*x2+3*x3+2*x4+x5>=10000;
x2+2*x3+3*x4+5*x5+6*x6>=20000;
运行程序,结果如下:
Globaloptimalsolutionfound.
Objectivevalue:
60000.00
Totalsolveriterations:
2
VariableValueReducedCost
X11200.0000.000000
X20.00000020.00000
X30.00000040.00000
X40.00000060.00000
X54000.0000.000000
X60.00000020.00000
RowSlackorSurplusDualPrice
160000.00-1.000000
20.000000-2.000000
30.000000-2.000000
从运行结果可以看出,最少边料依旧是60000cm,采用第一种模式裁1200根,采用第5中模式裁4000根,这与欲使使用原料最少的结果是一致的。
3、投资问题
假设投资者有如下四个投资的机会.
(A)在三年内,投资人应在每年的年初投资,每年每元投资可获利息0.2元,每年取息后可重新将本息投入生息.
(B)在三年内,投资人应在第一年年初投资,每两年每元投资可获利息0.5元.两年后取息,可重新将本息投入生息.这种投资最多不得超过20万元.
(C)在三年内,投资人应在第二年年初投资,两年后每元可获利息0.6元,这种投资最多不得超过15万元.
(D)在三年内,投资人应在第三年年初投资,一年内每元可获利息0.4元,这种投资不得超过10万元.假定在这三年为一期的投资中,每期的开始有30万元的资金可供投资,投资人应怎样决定投资计划,才能在第三年底获得最高的收益.
解:
用xiA,xiB,xiC,xiD(i=1,2,3)表示第i年初给项目A,B,C,D的投资金额,则
max1.2x3A+1.6x2C+1.4x3D
s.t.x1A+x1B=30
1.2x1A=x2A+x2C
x3B+x3A+x3D=1.2x2A+1.5x1B
x1B≤20
x2C≤15
x3D≤10
程序如下:
MODEL:
1]max=1.2*X3a+1.6*X2c+1.4*X3d;
2]X1a+X1b=30;
3]X2a+X2c-1.2*X1a=0;
4]X3b+X3a+X3d-1.2*X2a-1.5*X1b=0;
5]@bnd(0,X1b,20);
6]@bnd(0,X2c,15);
7]@bnd(0,X3d,10);
END
运行结果如下:
Globaloptimalsolutionfoundatiteration:
4
Objectivevalue:
57.50000
VariableValueReducedCost
X3A16.250000.000000
X2C15.00000-0.1000000
X3D10.00000-0.2000000
X1A12.500000.000000
X1B17.500000.000000
X2A0.0000000.6000000E-01
X3B0.0000001.200000
RowSlackorSurplusDualPrice
157.500001.000000
20.0000001.800000
30.0000001.500000
40.0000001.200000
因此,第一年在机会A上投资12.5万元,在机会B上投资17.5万元,第二年在机会C上投资15万元,第三年在机会A上投资16.25万元,在机会D上投资10万元,可获得最大收益57.5万元。
4、工程进度问题
某城市在未来的五年内将启动四个城市住房改造工程.每项工程有不同的开始时间,工程周期也不一样.表3.1提供这此项目的基本数据.
工程1和工程4必须在规定的周期内全部完成.必要时,其余的二项工程
可以在预算的限制内完成部分.然而,每个工程在它的规定时间内必须至少完成25%.每年底,工程完成的部分立刻入住,并目实现一定比例的收入.例如,如果工程1在第一年完成40%,在第三年完成剩下的60%,在五年计划范围内的相应收入是0.4x50(第二年)+0.4x50(第三年)+}0.4+0.6)x50(第四年)+(0.4+0.6)x50(第五年)=(4x0.4+2x0.6)x50(单位:
万元).试为工程确定最优的时间进度表,使得五年内的总收入达到最大.
解:
设某年某工程的完成量为Xij,i表示工程的代号(i=1,2,3),j表示年数(j=1,2,3,4,5)如第一年工程1完成X11,工程3完成X31,到第二年工程已完成X12,工程3完成X32。
另有一个投入与完成的关系,既第一年投入总费用的40%,该工程在年底就完成40%。
工程1利润:
50×X11+50×(X11+X12)+50×(X11+X12+X13)+50×(X11+X12+X13)
工程2利润:
70×X22+70×(X22+X23)+70×(X22+X23+X24)
工程3利润:
150×X31+150×(X31+X32)+150×(X31+X32+X33)+150×(X31+X32+X33+X34)
工程4利润:
20×X43+20×(X43+X44)
Max(50×X11+50×(X11+X12)+50×(X11+X12+X13)+50×(X11+X12+X13))+(70×X22+70×(X22+X23)+70×(X22+X23+X24))+(150×X31+150×(X31+X32)+150×(X31+X32+X33)+150×(X31+X32+X33+X34))+(20×X43+20×(X43+X44))
s.t.5000×X11+15000×X31=3000
5000×X12+8000×X22+15000×X32=6000
5000×X13+8000×X23+15000×X33+1200×X43=7000
8000×X24+15000×X34+1200×X44=7000
8000×X25+15000×X35=7000
X11+X12+X13=1
X22+X23+X24+X25≥0.25
X22+X23+X24+X25≤1
X31+X32+X33+X34+X35≥0.25
X31+X32+X33+X34+X35≤1
X43+X44=1
全为大于零的数
Lingo语句:
Model:
Max=50*(4*X11+3*X12+2*X13)+70*(3*X22+2*X23+1*X24)+150*(4*X31+3*X32+2*X33+1*X34)+20*(2*X43+1*X44);
!
约束条件
5000*X11+15000*X31<=3000;5000*X12+8000*X22+15000*X32<=6000;5000*X13+8000*X23+15000*X33+1200*X43<=7000;8000*X24+15000*X34+1200*X44<=7000;8000*X25+15000*X35<=7000;X11+X12+X13=1;X22+X23+X24+X25<=1;X22+X23+X24+X25>=0.25;X31+X32+X33+X34+X35<=1;X31+X32+X33+X34+X35>=0.25;X43+X44=1;
End
输出结果:
Globaloptimalsolutionfound.
Objectivevalue:
523.7500
Totalsolveriterations:
9
VariableValueReducedCost
X110.0000000.000000
X120.0000000.000000
X131.0000000.000000
X220.00000020.00000
X230.00000010.00000
X240.22500000.000000
X310.20000000.000000
X320.40000000.000000
X330.5333333E-010.000000
X340.34666670.000000
X431.0000000.000000
X440.0000008.000000
X250.2500000E-010.000000
X350.00000018.75000
RowSlackorSurplusDualPrice
1523.75001.000000
20.0000000.3875000E-01
30.0000000.2875000E-01
40.0000000.1875000E-01
50.0000000.8750000E-02
66800.0000.000000
70.0000006.250000
80.75000000.000000
90.0000000.000000
100.00000018.75000
110.75000000.000000
120.00000017.50000
结果分析:
要获得最大利润,需在第一年投资3000万的资金在工程3上,第二年投资6000资金在工程3上,第三年投资5000万在工程1上,1200万在工程4,800万在工程3上,第四年投资1800万在工程2上,5200万在工程3上,第五年投资200万在工程2上,剩余6800万。
获得的最大利润523.75万元。
5、生产计划与库存问题
All-Flavors冰淇淋店在整个的夏季的三个月中(六月、七月和八月)对于冰淇淋的需求估计分别是500、600和400箱.有两个冰淇淋批发商1和2向All-Flavors供货.虽然这两个供应商的冰淇淋的风味不同,但可以互相交换.任何一个供应商能够提供冰淇淋的最大箱数是每月400箱.还有,这两个供应商的供货价格是照下面的时间表(见表3.2)逐月变化.为了利用价格波动,
All-Flavors购买的冰淇淋可以多于某个月的需求,并目_储存剩余的部分以满足以后各月的需求.冷藏一箱冰淇淋的成本是每月5美元.实际上可以假定,冷藏成本是当月持有冰淇淋平均箱数的函数.律立一个从这两个供应商购买冰淇淋的最优采购计划.
解:
1.数学模型原程序。
model:
!
目标函数;
min=x1*100+x2*110+x3*120+y1*115+y2*108+y3*125+z1*5+z2*5;
!
约束条件;
x1<400;x2<400;x3<400;y1<400;y2<400;y3<400;
x1+y2>500;
x1+y1+x2+y2>1100;
x1+y1+x2+y2+x3+y3=1500;
z1=x1+y1-500;
z2=x1+y1+x2+y2-1100;
end
2.lingo软件求解结果。
Objectivevalue:
163700.0
Totalsolveriterations:
2
VariableValueReducedCost
X1400.00000.000000
X2400.00000.000000
X3200.00000.000000
Y1100.00000.000000
Y2400.00000.000000
Y30.0000005.000000
Z10.0000005.000000
Z2200.00000.000000
RowSlackorSurplusDualPrice
1163700.0-1.000000
20.00000015.00000
30.0000005.000000
4200.00000.000000
5300.00000.000000
60.0000007.000000
7400.00000.000000
8300.00000.000000
9200.00000.000000
100.000000-120.0000
110.0000000.000000
120.000000-5.000000
3.对结果的分析。
采购计划是:
供应商1三个月依次供应量为400、400、200,供应商2三个月依次供应量为100、400、0,库存第一个月为0,第二个月为200。
三个月最小投入163700美元。
6、志愿者排班问题
(1)一家医院雇用志愿者作为接待处的工作人员,接待时间是从早上8:
00到晚上10:
00.每名志愿者连续工作3小时,只有在晚上8:
00开始工作的人员除外,他们只工作2小时.对于志愿者的最小需求可以近似成2小时间隔的阶梯函数,其函数在早上8:
00开始,相应的需求人数分别是4、6、8、6、4、6、8.因为大多数志愿者是退休人员,他们愿意在一天的仟何时间(早上8:
00到晚上10:
00)提供他们的服务.然而,由于大多数慈善团体竞争他们的服务,所需的数目必须保持尽可能的低.为志愿者的开始时间确定最优的时间表.
(2)在问题Cl)中,考虑到午饭和晚饭,假定没有志愿者愿意在中午12:
00和晚上6:
00开始工作,确定最优的时间表.
解:
时间段
X1
X2
X3
X4
X5
X6
X7
X8
X9
X10
X11
X12
X13
X14
人数
8
X1
4
9
X1
X2
10
X1
X2
X3
6
11
X2
X3
X4
12
X3
X4
X5
8
13
X4
X5
X6
14
X5
X6
X7
6
15
X6
X7
X8
16
X7
X8
X9
4
17
X8
X9
X10
18
X9
X10
X11
6
19
X10
X11
X12
20
X11
X12
X13
8
21
X12
X13
X1