数学建模线性规划和整数规划实验.docx

上传人:b****5 文档编号:27679074 上传时间:2023-07-03 格式:DOCX 页数:27 大小:305.76KB
下载 相关 举报
数学建模线性规划和整数规划实验.docx_第1页
第1页 / 共27页
数学建模线性规划和整数规划实验.docx_第2页
第2页 / 共27页
数学建模线性规划和整数规划实验.docx_第3页
第3页 / 共27页
数学建模线性规划和整数规划实验.docx_第4页
第4页 / 共27页
数学建模线性规划和整数规划实验.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

数学建模线性规划和整数规划实验.docx

《数学建模线性规划和整数规划实验.docx》由会员分享,可在线阅读,更多相关《数学建模线性规划和整数规划实验.docx(27页珍藏版)》请在冰豆网上搜索。

数学建模线性规划和整数规划实验.docx

数学建模线性规划和整数规划实验

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1