1、数学模型 第三次作业 线性规划实验3.1实验目的与要求l 学会建立线性规划模型、整数规划模型l 学会LINGO软件的基本使用方法,求解线性规划和整数规划问题l 学会对线性规划问题进行灵敏度分析l 对计算结果进行分析和讨论3.2基本实验1.生产计划安排NWAC电力公司为军事承包商生产4种类型的电缆。每种电缆必须经过4种相继的操作:拼接、焊接、套管和检查。表3.1给出了该问题相关的数据.承包商保证对于四种电缆的每一种最低产量是100个单位。(1) 将问题建立成一个线性规划模型,并确定最优的产品进度表(2) 基于对偶价格(Dnal Price),你会推荐增加四种操作中哪一种操作的能力?试解释。(3)
2、 对于四种电缆的最低产量要求对NWAC电力公司有利还是不利?试分析解:分析题意,这是一个较为基础的线性规划问题,可以设生产4种电缆数量分别为X1,X2,X3,X4,则目标函数:MAX 9.40X1+10.80X2+8.75X3+7.80X4约束条件:10.5X1+9.3X2+11.6X3+8.2X4=480020.4X1+24.6X2+17.7X3+8.2X4=96003.2X1+2.5X2+3.6X3+5.5X4=47005.0X1+5.0X2+5.0X3+5.0X4=100X2=100X3=100X4=100(1) 使用LINGO软件进行计算:Max 9.40X1+10.80X2+8.75
3、X3+7.80X4subject to10.5X1+9.3X2+11.6X3+8.2X4=480020.4X1+24.6X2+17.7X3+8.2X4=96003.2X1+2.5X2+3.6X3+5.5X4=47005.0X1+5.0X2+5.0X3+5.0X4=100X2=100X3=100X4=100End运行得到结果: Global optimal solution found. Objective value: 4650.484 Infeasibilities: 0.000000 Total solver iterations: 4 Variable Value Reduced Cos
4、t X1 100.0000 0.000000 X2 190.3226 0.000000 X3 100.0000 0.000000 X4 100.0000 0.000000 Row Slack or Surplus Dual Price 1 4650.484 1.000000 2 0.000000 1.161290 3 288.0645 0.000000 4 2994.194 0.000000 5 2048.387 0.000000 6 0.000000 -2.793548 7 90.32258 0.000000 8 0.000000 -4.720968 9 0.000000 -1.722581
5、即当X1为100,X2约为190,X3为100,X4为100时可以得到一个最大利润约为4650.484$。(2)“DUAL PRICE”(对偶价格)列出最优单纯形表中判别数所在行的松弛变量的系数,表示当对应约束有微小变动时,目标函数的变化率,输出结果中对应每一个约束有一个对偶价格。若其数值为x,表示对应约束中不等式右端项若增加一个单位,目标函数将增加x个单位(max 型问题)。当REDUCE COST 或DUAL PRICE 的值为0。表示当微小扰动不影响目标函数。由(1)中得到的结果,其四种能力对应的DUAL PRICE如下: Row Slack or Surplus Dual Price
6、2 0.000000 1.161290 3 288.0645 0.000000 4 2994.194 0.000000 5 2048.387 0.000000因此应该考虑增强第一种技术,即拼接技术。(3)根据第二问的依据,需要分析最低产量要求的对偶价格列出其关系式所对应的Lingo分析结果: Row Slack or Surplus Dual Price 6 0.000000 -2.793548 7 90.32258 0.000000 8 0.000000 -4.720968 9 0.000000 -1.722581 易知,只有第二种电缆的最低产量要求对最高利润无影响;第一、第三、第四种电缆产
7、量的最低要求都不利于NWAC电力公司,增加这三种电缆产量的最低要求,都会导致最大利润的减少。2.工程进度问题某城市在未来的五年内将启动四个城市住房改造工程。每项工程有不同的始时间,工程周期也不一样。表3.2提供这些项目的基本数据。工程1和工程4必须在规定的周期内全部完成。必要时,其余的二项工程可以在预算的限制内完成部分。然而,每个工程在它的规定时间内必须至少完成25%.每年底,工程完成的部分立刻入住,并且实现一定比例的收入.例如,如果工程1在第一年完成40%,在第三年完成剩下的60%,在五年计划范围内的相应收入是0.450(第二年)+0.450(第三年)+(0.4+0.6)50(第四年)+(0
8、.4+0.6)50(第五年)=(40.4+20.6)50(单位:万元)。试为工程确定最优的时间进度表,使得五年内的总收入达到最大。解:设X为各项工程的完成进度若工程1完成进度为X1,将进行工程1所获得的利润表示为:50X11+50(X11+X12)+50(X11+X12+X13)+50若工程2完成进度为X2,将进行工程2所获得的利润表示为:70X22+70(X22+X23)+70(X22+X23+X24)若工程3完成进度为X3,将进行工程3所获得的利润表示为:150X31+150(X31+X32)+150(X31+X32+X33)+150(X31+X32+X33+X34)若工程4完成进度为X4
9、, 将进行工程4所获得的利润表示为: 20X43+20(X43+X44)编辑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=
10、7000;X11+X12+X13=1;X22+X23+X24+X25=0.25;X31+X32+X33+X34+X35=0.25;X43+X44=1;End得到运算结果:Global optimal solution found. Objective value: 523.7500 Infeasibilities: 0.000000 Total solver iterations: 10 Variable Value Reduced Cost X11 0.6000000 0.000000 X12 0.4000000 0.000000 X13 0.000000 0.000000 X22 0.00
11、0000 20.00000 X23 0.000000 10.00000 X24 0.2250000 0.000000 X31 0.000000 0.000000 X32 0.2666667 0.000000 X33 0.3866667 0.000000 X34 0.3466667 0.000000 X43 1.000000 0.000000 X44 0.000000 8.000000 X25 0.7750000 0.000000 X35 0.000000 18.75000 Row Slack or Surplus Dual Price 1 523.7500 1.000000 2 0.00000
12、0 0.3875000E-01 3 0.000000 0.2875000E-01 4 0.000000 0.1875000E-01 5 0.000000 0.8750000E-02 6 800.0000 0.000000 7 0.000000 6.250000 8 0.000000 0.000000 9 0.7500000 0.000000 10 0.000000 18.75000 11 0.7500000 0.000000 12 0.000000 17.50000由此制定一个可以获得最大利润的进度计划表:第一年第二年第三年第四年第五年工程160%(开始)40%0(结束)工程20(开始)022
13、.5%77.5%(结束)工程30(开始)26.7%38.7%34.7%0(结束)工程4100%(开始)0(结束)3、投资问题一个商业主管在两个计划中有投资选择权,计划A保证每1美元的投资在1年后可以赚得0.70美元,而计划B保证每1美元的投资在两年后能赚得3美元。对于计划A,可以按年制订投资规划,而对于计划B,只允许以两年为周期制订投资规划。主管应如何投资100,000美元,使得在3年末的收入达到最大?解:考虑收益最大化,假设第一年将投资A、B两种计划:设用XiA, XiB,i=1,2,3, 表示第i年初给计划A,B,的投资金额,第一年,若将本金全部抛出,有:X1A+X1B=100000第二年
14、,因为投到B项目的钱为两年周期,所以第二年手头所拥有的钱为第一年投资到A的本金加利息:X2A+X2B=1.7*X1A对于第三年,则不应再投B项目,因为年末将无法收回本金和利息,因此,只能投资项目A,此时X3A=1.7*X2A+4*X1B第三年年末获得的本金加利息,即目标函数为:1.7*X3A+4*X2BX1A=0;X1B=0;X2A=0;X2B=0;X3A=0;编写Lingo程序:model:max=1.7*X3A+4*X2B;X1A+X1B=100000;X2A+X2B-1.7*X1A=0;X3A-1.7*X2A-4*X1B=0;X1A=0;X1B=0;X2A=0;X2B=0;X3A=0;E
15、nd得到结果 Global optimal solution found. Objective value: 680000.0 Infeasibilities: 0.000000 Total solver iterations: 0 Variable Value Reduced Cost X3A 400000.0 0.000000 X2B 0.000000 0.000000 X1A 0.000000 0.000000 X1B 100000.0 0.000000 X2A 0.000000 1.110000 Row Slack or Surplus Dual Price 1 680000.0 1.
16、000000 2 0.000000 6.800000 3 0.000000 4.000000 4 0.000000 1.700000 5 0.000000 0.000000 6 100000.0 0.000000 7 0.000000 0.000000 8 0.000000 0.000000 9 400000.0 0.000000此时可以推出获得收益最大的方式为第一年将钱全部按B计划投入,第三年再将钱全部投入A计划。第三年年末可以拿到最大收益680,000美元。如果第一年全部投资A计划,B计划不投资的情况,则有:X1A=100000,第一年年末赚到的钱为170000美元第二年的投资计划为:X2
17、A+X2B=170000第三年的投资计划为:X3A=1.7*X2A那么最后得到的钱为:1.7*X3A+4*X2BX1A=0;X2A=0; X2B=0;X3A=0;编写Lingo程序:model:max=1.7*X3A+4*X2B;X2A+X2B=170000;X3A-1.7*X2A=0;X1A=0;X2A=0;X2B=0;X3A=0;End得到结果: Global optimal solution found. Objective value: 680000.0 Infeasibilities: 0.000000 Total solver iterations: 0 Variable Valu
18、e Reduced Cost X3A 0.000000 0.000000 X2B 170000.0 0.000000 X2A 0.000000 1.110000 X1A 0.000000 0.000000 Row Slack or Surplus Dual Price 1 680000.0 1.000000 2 0.000000 4.000000 3 0.000000 1.700000 4 0.000000 0.000000 5 0.000000 0.000000 6 170000.0 0.000000 7 0.000000 0.000000如第一年全投资A,第二年全投资B,也得到了68000
19、0美金,因此,总共有两种方式获得最大收益,即:第一年将钱全部按B计划投入,第三年再将钱全部投入A计划,或者,第一年全投资A,第二年全投资B,都可得到最大钱数680000美金。4.生产计划与库存问题这里题目条件给错,自行改为500某公司已签订了在未来的六、七、八月份生产A、B两种产品的合同。总的生产能力(用小时表示)每月不同。表3.3给出了本问题的基本数据。对于产品A和B,每小时的单位生产率分别是1.25和1.所有的需求必须被满足。然而,后面的月份的需求可以从前面的月份的生产来填补。对于任何从本月转到下一个月的产品,每件产品A和产品B每月分别发生0.90美元和0.75美元的贮存成本。A、B两种产
20、品的单位成本分别是30美元和28美元,试着为两种产品确定最优的生产计划安排。解:根据题意,设六月生产A、B的时间为X1A、X1B七月 X2A、X2B,八月X3A、X3B,根据题意,列出所有目标方程和所有关系式:生产成本为:1.25*X1A*30+1*X1B*28+(1.25X1A-500)*0.90+(X1B-1000)*0.75+1.25*X2A*30+1*X2B*28+(1.25X2A-500)*0.90+(X2B-1200)*0.75+1.25*X3A*30+1*X3B*28限制条件:1.25*X1A+1.25*X2A+1.25*X3A=1750;X1B+X2B+X3B=3400;X1A
21、+X1B-3500=0;X2A+X2B-3500=0;X3A+X3B-3000=400;1.25X1A-500+1.25*X2A=500;1.25X2A-500+1.25*X3A=750;X1B=1000;X1B-1000+ X2B=1200;X2B-1000+X3B=1200;X1A=0;X2A=0;X3A=0;X1B=0;X2B=0;X3B=0;编写Lingo程序:model: min=37.5*X1A+28*X1B+0.9*(1.25*X1A-500)+0.75*(X1B-1000)+37.5*X2A+28*X2B+0.9*(1.25*X2A-500)+0.75*(X2B-1200) +
22、37.5*X3A+28*X3B;1.25*X1A+1.25*X2A+1.25*X3A=1750;X1B+X2B+X3B=3400;X1A+X1B-3500=0;X2A+X2B-3500=0;X3A+X3B-3000=400;1.25*X1A-500+1.25*X2A=500;1.25*X2A-500+1.25*X3A=750;X1B=1000;X1B-1000+ X2B=1200;X2B-1000+X3B=1200;X1A=0;X2A=0;X3A=0;X1B=0;X2B=0;X3B=0;end得到如下结果: Global optimal solution found. Objective va
23、lue: 147700.0 Infeasibilities: 0.000000 Total solver iterations: 0 Variable Value Reduced Cost X1A 400.0000 0.000000 X1B 1200.000 0.000000 X2A 400.0000 0.000000 X2B 1000.000 0.000000 X3A 600.0000 0.000000 X3B 1200.000 0.000000 Row Slack or Surplus Dual Price 1 147700.0 -1.000000 2 0.000000 -30.00000
24、 3 0.000000 -28.00000 4 1900.000 0.000000 5 2100.000 0.000000 6 1200.000 0.000000 7 0.000000 0.000000 8 0.000000 -0.9000000 9 0.000000 0.000000 10 200.0000 0.000000 11 0.000000 -0.7500000 12 0.000000 0.000000 13 400.0000 0.000000 14 400.0000 0.000000 15 600.0000 0.000000 16 1200.000 0.000000 17 1000
25、.000 0.000000 18 1200.000 0.000000即最低的生产成本为147700美金:生产计划如下6月7月8月生产A的时间(小时)400400600生产B的时间(小时)1200100012005、职员日程安排问题(1)在一个星期中每天安排一定数量的职员,每天需要的职员数如表3.4所示,每个职员每周连续工作五天,休息两天.每天付给每个职员的工资是200元.公司将如何安排每天开始的工作人数,使得总费用最小.(2)假设公司每天工作8小时,周一需要18名职员,共计144小时,以此类推.公司计划雇用全职人员和兼职人员完成公司的工作,其中全职人员每天工作8小时,兼职人员每天工作4小时,无
26、论是全职人员还是兼职人员,均是每周连续工作5天,休息2天.全职人员每小时工资25元,兼职人员每小时工资15元,并且一周内兼职人员的总工作时间不能超过全体职员总工作时间的25%,试问该公司将如何安排职员的工作时间,使公司的总花费最小?解:(1)根据题意,设一周七天每天的工作人数为Xi,i=1,2,3,4,5,6,7 列出目标函数和限制条件:公司的总花费为(X1+X4+X5+X6+X7)*200+(X1+X2+X5+X6+X7)*200+(X1+X2+X3+X6+X7)*200+(X1+X2+X3+X4+X7)*200+(X1+X2+X3+X4+X5)*200+(X2+X3+X4+X5+X6)*2
27、00+(X3+X4+X5+X6+X7)*200;X1+X4+X5+X6+X7=18;X1+X2+X5+X6+X7=15;X1+X2+X3+X6+X7=12;X1+X2+X3+X4+X7=16;X1+X2+X3+X4+X5=19;X2+X3+X4+X5+X6=14;X3+X4+X5+X6+X7=12;X1=0;X2=0;X3=0;X4=0;X5=0;X6=0;X7=0;列出Lingo程序:model: min=200*(x1+x4+x5+x6+x7)+200*(x1+x2+x5+x6+x7)+200*(x1+x2+x3+x6+x7)+(x1+x2+x3+x4+x7)*200+(x1+x2+x3+
28、x4+x5)*200+(x2+x3+x4+x5+x6)*200+(x3+x4+x5+x6+x7)*200;x1+x4+x5+x6+x7=18; x1+x2+x5+x6+x7=15; x1+x2+x3+x6+x7=12; x1+x2+x3+x4+x7=16; x1+x2+x3+x4+x5=19; x2+x3+x4+x5+x6=14; x3+x4+x5+x6+x7=12; x1=0;x2=0;x3=0;x4=0;x5=0;x6=0;x7=0;end分析结果:Global optimal solution found. Objective value: 21200.00 Infeasibilities: 0.000000 Total solver iterations: 7 Variable Value