一:
某厂生产甲、乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名;可获利9万元。今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过800箱。
1)问:如何安排生产计划使获利最大?请建立相应的LINGO模型。
2)若设生产甲饮料X1百箱,乙饮料X2百箱,以获利最大为目标,得到如下LINGO求解结果,请据此回答问题:
a)若投资0.8万元可增加原料1千克,问应否作这项投资?
b)若每100箱甲饮料获利可增加1万元,问应否改变生产计划?
分析:
设生产甲饮料X1百箱,乙X2百箱 目标:10X1+9X2最大 约束条件:
原料供应:6X1+5X2<=60 工人加工:10x1+20x2<150 产量限制:x1<8
程序如下
max=10*x1+9*x2; 6*x1+5*x2<60; 10*x1+20*x2<150; x1<8; end
Global optimal solution found.
Objective value: Infeasibilities: Total solver iterations:
Variable X1 X2
Row 1 2 3 4
102.8571 0.000000 2 Value Reduced Cost 6.428571 0.000000 4.285714 0.000000 Slack or Surplus Dual Price 102.8571 1.000000 0.000000 1.571429 0.000000 0.5714286E-01 1.571429 0.000000
Ranges in which the basis is unchanged:
Objective Coefficient Ranges
Current Allowable Allowable Variable Coefficient Increase Decrease
X1 10.00000 0.8000000 5.500000 X2 9.000000 11.00000 0.6666667
Righthand Side Ranges
Row Current Allowable Allowable RHS Increase Decrease 2 60.00000 5.500000 22.50000 3 150.0000 90.00000 22.00000 4 8.000000 INFINITY 1.571429
解答:
(1)由结果可知当甲生产642箱,乙生产428箱时,获利最大为102.8万元。 (2)
a)由灵敏度分析可知,每增加1千克原料,获利增加1.57万元,所以投资0.8万元获得1千克原料收货大于支出,应该做这项投资。
b)若每箱甲饮料获利增加1万元,则X1的系数变为11,大于10.8,获利增加,所以应该改变生产计划。
二:
某游泳队拟选甲、乙、丙、丁四名游泳队员组成一个4×100m混合泳接力队,参加今年的锦标赛。他们的100m自由泳、蛙泳、蝶泳、仰泳的成绩如下表所示。问甲、乙、丙、丁四名队员各自游什么姿势,才最有可能取得最好成绩。请建立数学模型,并写出用LINGO软件的求解程序. 成绩 自由泳/s 蛙泳/s 蝶泳/s 仰泳/s 甲 56 74 61 63 乙 63 69 65 71 丙 57 77 63 67 丁 55 76 62 62
分析:
引入0-1变量Xij,若选择队员i参加泳姿j的比赛,记Xij=1,否则记Xij=0根据组成接力队的要求,Xij应该满足两个约束条件:第一,没人最多且只能入选4种泳姿之一,即对于i=1234;应有Xij=1;第二,每种泳姿必须有一人且只能有一人入选,即对于j=1234;应有Xij=1 当队员i入选泳姿j是,CijXij表示他的成绩,否则CijXij=0。
源程序:
Min=56*x11+74*x12+61*x13+63*x14
+63*x21+69*x22+65*x23+71*x24
+57*x31+77*x32+63*x33+67*x34
+55*x41+76*x42+62*x43+62*x44;
x11+x12+x13+x14=1;
x21+x22+x23+x24=1;
x31+x32+x33+x34=1;
x41+x42+x43+x44=1;
x11+x21+x31+x41=1;
x12+x22+x32+x42=1;
x13+x23+x33+x43=1; x14+x24+x34+x44=1; @bin(x11);
@bin(x12);
@bin(x13);
@bin(x14);
@bin(x21);
@bin(x22);
@bin(x23);
@bin(x24);
@bin(x31);
@bin(x32);
@bin(x33);
@bin(x34);
@bin(x41);
@bin(x42);
@bin(x43);
@bin(x44);
Global optimal solution found.
Objective value: Objective bound: Infeasibilities: Extended solver steps: Total solver iterations:
249.0000 249.0000 0.000000 0 0
Variable Value Reduced Cost X11 0.000000 56.00000 X12 0.000000 74.00000 X13 1.000000 61.00000 X14 0.000000 63.00000 X21 0.000000 63.00000 X22 1.000000 69.00000 X23 0.000000 65.00000 X24 0.000000 71.00000 X31 1.000000 57.00000 X32 0.000000 77.00000 X33 0.000000 63.00000 X34 0.000000 67.00000 X41 0.000000 55.00000 X42 0.000000 76.00000 X43 0.000000 62.00000 X44 1.000000 62.00000
Row Slack or Surplus Dual Price 1 249.0000 -1.000000 2 0.000000 0.000000 3 0.000000 0.000000 4 0.000000 0.000000 5 0.000000 0.000000 6 0.000000 0.000000 7 0.000000 0.000000 8 0.000000 0.000000 9 0.000000 0.000000
甲参加蝶泳,乙参加蛙泳,丙参加自由泳,丁参加仰泳,成绩最好,为249秒。