运筹学实验报告(共23页).doc
精选优质文档-倾情为你奉上一、投资计划问题某地区在今后3年内有4种投资机会,第一种是在3年内每年年初投资,年底可获利润20%,并可将本金收回。第二种是在第一年年初投资,第二年年底可获利50%,并可将本金收回,但该项投资金额不超过2百万元。第三种是在第二年年初投资,第三年年底收回本金,并获利60%,但该项投资金额不超过1.5百万元。第四种是在第三年年初投资,第三年年底收回本金,并可获利40%,但该项投资金额不超过1百万元。现在该地区准备了3百万元资金,如何制定投资方案,使到第三年年末本利的和最大?解:解:设x1,x2,x3,x4依次表示从一种投资方案到第四种投资方案的投资额输入模型:max=x1*1.2+x2*1.5+(x1+x3)*1.2+x4*1.6+(x1+x3+x5)*1.2+x6*1.4;x1+x2+x3+x4+x5+x5+x6=3;x2<2;x4<1.5;x6<1;end计算结果如下: Global optimal solution found. Objective value: 10.80000 Total solver iterations: 0 Variable Value Reduced Cost X1 3. 0. X2 0. 2. X3 0. 1. X4 0. 2. X5 0. 6. X6 0. 2. Row Slack or Surplus Dual Price 1 10.80000 1. 2 0. 3. 3 2. 0. 4 1. 0. 5 1. 0.本利和最大为10.80000二、配料问题某冶炼厂计划炼制含甲、乙、丙、丁4种金属成分的合金1吨,4种金属的含量比例为:甲不少于23,乙不多于15,丙不多于4,丁介于3565之间,此外不允许有其他成分。该厂准备用6种不同等级的矿石熔炼这种合金,各种矿石中的杂质在熔炼中废弃。现将每种矿石中的4种金属含量和价格列表如下,试计算如何选配各种矿石才能使合金的原料成本达到最低。金属含量和价格矿石品种金属甲金属乙金属丙金属丁矿石含金属()矿石含杂质()矿石价格(元/吨)矿石10.250.100.100.250.700.3023矿石20.400.000.000.300.700.3020矿石30.200.100.000.300.600.4018矿石40.000.150.050.200.400.6010矿石50.200.200.000.400.800.2027矿石60.080.050.100.170.400.6012解:设x1,x2,x3,x4,x5,x6依次表示矿石1到矿石6所需的用量程序如下:min=23*x1+20*x2+18*x3+10*x4+27*x5+12*x6;0.25*x1+0.4*x2+0.2*x3+0.2*x5+0.08*x6>0.23;0.1*x1+0.1*x3+0.15*x4+0.2*x5+0.05*x6<0.15;0.1*x1+0.05*x4+0.1*x6<0.04;0.25*x1+0.3*x2+0.3*x3+0.2*x4+0.4*x5+0.17*x6>0.35;0.25*x1+0.3*x2+0.3*x3+0.2*x4+0.4*x5+0.17*x6<0.65;0.25*x1+0.4*x2+0.2*x3+0.2*x5+0.08*x6+0.1*x1+0.1*x3+0.15*x4+0.2*x5+0.05*x6+0.1*x1+0.05*x4+0.1*x6+0.25*x1+0.3*x2+0.3*x3+0.2*x4+0.4*x5+0.17*x6=1;End结果如下:Global optimal solution found. Objective value: 27.42857 Total solver iterations: 1 Variable Value Reduced Cost X1 0. 5. X2 0. 0. X3 0. 0. X4 0. 0. X5 0. 4. X6 0. 3. Row Slack or Surplus Dual Price 1 27.42857 -1. 2 0. 0. 3 0.E-01 0. 4 0. 28.57143 5 0. 0. 6 0. 0. 7 0. -28.57143解得 最低成本为27.42857 最优解 X2=0.,X4=0.8三、下料问题有一批500cm长的条材,要截成98cm长的毛坯1000根、78cm长的毛坯2000根。现有6种下料方法,每种方法截出两种毛坯的根数和残料的长度列表如下,要求计算如何下料可使所用条材根数最少。6种下料方法比较下料方法98cm毛坯根数78cm毛坯根数残料(cm)方法15010方法24130方法33260方法42370方法51512方法60632解:设x1为方法1所用的条材根数,x2为方法2所用的条材根数,x3为方法3所用的条材根数,x4为方法4所用的条材根数,x5为方法5所用的条材根数,x6为方法6所用的条材根数 输入程序:min=x1+x2+x3+x4+x5+x6;5*x1+4*x2+3*x3+2*x4+x5=1000;x2+2*x3+3*x4+5*x5+6*x6=2000;end结果如下:Global optimal solution found. Objective value: 520.0000 Total solver iterations: 0 Variable Value Reduced Cost X1 120.0000 0. X2 0. 0.E-01 X3 0. 0.E-01 X4 0. 0. X5 400.0000 0. X6 0. 0.E-01 Row Slack or Surplus Dual Price 1 520.0000 -1. 2 0. -0. 3 0. -0.解得 : 用掉条材根数最少为520 最优解 x1=120,x5=400四、资源分配问题某个中型的百货商场对售货人员的需求经过统计分析如下表所示。时间所需售货员人数星期日28人星期一15人星期二24人星期三25人星期四19人星期五31人星期六28人为了保证销售人员充分休息,售货人员每周工作五天,工作的五天连续。休息两天,并要求休息的两天是连续的。问应该如何安排售货人员的作息,既能满足工作需要,又使配备的售货人员的人数最少?解:x1,x2,x3,x4,x5,x6,x7依次表示每天安排的售货员人数sets:days/x1.x7/:required,start;endsetsdata:required=15 24 25 19 31 28 28;enddatamin=sum(days:start);for(days(j):sum(days(i)|i#le#5:start(wrap(j+i+2,7) >=required(j);end结果如下:Global optimal solution found. Objective value: 36.00000 Total solver iterations: 11 Variable Value Reduced Cost REQUIRED( X1) 15.00000 0. REQUIRED( X2) 24.00000 0. REQUIRED( X3) 25.00000 0. REQUIRED( X4) 19.00000 0. REQUIRED( X5) 31.00000 0. REQUIRED( X6) 28.00000 0. REQUIRED( X7) 28.00000 0. START( X1) 3. 0. START( X2) 5. 0. START( X3) 12.00000 0. START( X4) 0. 0. START( X5) 11.00000 0. START( X6) 0. 0. START( X7) 5. 0. Row Slack or Surplus Dual Price 1 36.00000 -1. 2 4. 0. 3 0. -0. 4 0. -0. 5 6. 0. 6 0. -0. 7 0. 0. 8 0. -0.五、计算如下运输问题:销地单位运费产地B1B2B3B4B5B6B7B8产量A16267425960A24953858255A35219743351A47673927143A52395726541A65522814352需求量3537223241324338解:x1,x2,x3,x4,x5,x6是6个产地,y1,y2,y3,y4,y5,y6,y7,y8是8个销地输入模型:sets:need/x1,x2,x3,x4,x5,x6/:re;coul/y1,y2,y3,y4,y5,y6,y7,y8/:requ;link(need,coul):cost,num;endsetsdata:cost=6 2 6 7 4 2 5 94 9 5 3 8 5 8 25 2 1 9 7 4 3 37 6 7 3 9 2 7 1 2 3 9 5 7 2 6 55 5 2 2 8 1 4 3;re=60 55 51 43 41 52; requ=35 37 22 32 41 32 43 38;enddatamin=sum(link:cost*num);for(need(i):sum(coul(j):num(i,j)<=re(i);for(coul(j):sum(need(i):num(i,j)>=requ(j);end结果如下:Global optimal solution found. Objective value: 664.0000 Total solver iterations: 25 Variable Value Reduced Cost RE( X1) 60.00000 0. RE( X2) 55.00000 0. RE( X3) 51.00000 0. RE( X4) 43.00000 0. RE( X5) 41.00000 0. RE( X6) 52.00000 0. REQU( Y1) 35.00000 0. REQU( Y2) 37.00000 0. REQU( Y3) 22.00000 0. REQU( Y4) 32.00000 0. REQU( Y5) 41.00000 0. REQU( Y6) 32.00000 0. REQU( Y7) 43.00000 0. REQU( Y8) 38.00000 0. COST( X1, Y1) 6. 0. COST( X1, Y2) 2. 0. COST( X1, Y3) 6. 0. COST( X1, Y4) 7. 0. COST( X1, Y5) 4. 0. COST( X1, Y6) 2. 0. COST( X1, Y7) 5. 0. COST( X1, Y8) 9. 0. COST( X2, Y1) 4. 0. COST( X2, Y2) 9. 0. COST( X2, Y3) 5. 0. COST( X2, Y4) 3. 0. COST( X2, Y5) 8. 0. COST( X2, Y6) 5. 0. COST( X2, Y7) 8. 0. COST( X2, Y8) 2. 0. COST( X3, Y1) 5. 0. COST( X3, Y2) 2. 0. COST( X3, Y3) 1. 0. COST( X3, Y4) 9. 0. COST( X3, Y5) 7. 0. COST( X3, Y6) 4. 0. COST( X3, Y7) 3. 0. COST( X3, Y8) 3. 0. COST( X4, Y1) 7. 0. COST( X4, Y2) 6. 0. COST( X4, Y3) 7. 0. COST( X4, Y4) 3. 0. COST( X4, Y5) 9. 0. COST( X4, Y6) 2. 0. COST( X4, Y7) 7. 0. COST( X4, Y8) 1. 0. COST( X5, Y1) 2. 0. COST( X5, Y2) 3. 0. COST( X5, Y3) 9. 0. COST( X5, Y4) 5. 0. COST( X5, Y5) 7. 0. COST( X5, Y6) 2. 0. COST( X5, Y7) 6. 0. COST( X5, Y8) 5. 0. COST( X6, Y1) 5. 0. COST( X6, Y2) 5. 0. COST( X6, Y3) 2. 0. COST( X6, Y4) 2. 0. COST( X6, Y5) 8. 0. COST( X6, Y6) 1. 0. COST( X6, Y7) 4. 0. COST( X6, Y8) 3. 0. NUM( X1, Y1) 0. 5. NUM( X1, Y2) 19.00000 0. NUM( X1, Y3) 0. 5. NUM( X1, Y4) 0. 7. NUM( X1, Y5) 41.00000 0. NUM( X1, Y6) 0. 2. NUM( X1, Y7) 0. 2. NUM( X1, Y8) 0. 10.00000 NUM( X2, Y1) 1. 0. NUM( X2, Y2) 0. 4. NUM( X2, Y3) 0. 1. NUM( X2, Y4) 32.00000 0. NUM( X2, Y5) 0. 1. NUM( X2, Y6) 0. 2. NUM( X2, Y7) 0. 2. NUM( X2, Y8) 0. 0. NUM( X3, Y1) 0. 4. NUM( X3, Y2) 11.00000 0. NUM( X3, Y3) 0. 0. NUM( X3, Y4) 0. 9. NUM( X3, Y5) 0. 3. NUM( X3, Y6) 0. 4. NUM( X3, Y7) 40.00000 0. NUM( X3, Y8) 0. 4. NUM( X4, Y1) 0. 4. NUM( X4, Y2) 0. 2. NUM( X4, Y3) 0. 4. NUM( X4, Y4) 0. 1. NUM( X4, Y5) 0. 3. NUM( X4, Y6) 5. 0. NUM( X4, Y7) 0. 2. NUM( X4, Y8) 38.00000 0. NUM( X5, Y1) 34.00000 0. NUM( X5, Y2) 7. 0. NUM( X5, Y3) 0. 7. NUM( X5, Y4) 0. 4. NUM( X5, Y5) 0. 2. NUM( X5, Y6) 0. 1. NUM( X5, Y7) 0. 2. NUM( X5, Y8) 0. 5. NUM( X6, Y1) 0. 3. NUM( X6, Y2) 0. 2. NUM( X6, Y3) 22.00000 0. NUM( X6, Y4) 0. 1. NUM( X6, Y5) 0. 3. NUM( X6, Y6) 27.00000 0. NUM( X6, Y7) 3. 0. NUM( X6, Y8) 0. 3. Row Slack or Surplus Dual Price 1 664.0000 -1. 2 0. 3. 3 22.00000 0. 4 0. 3. 5 0. 1. 6 0. 2. 7 0. 2. 8 0. -4. 9 0. -5. 10 0. -4. 11