论文二
- 格式:doc
- 大小:159.00 KB
- 文档页数:10
model: sets: a/1..3/:e; b/1..3/:d; Routes(a,b):c,x; endsets
data: e=3000 4000 1500; d=2000 1500 5000; c=10 4 12 8 10 3 0 0 0; enddata
min=@sum(routes(i,j):c(i,j)*x(i,j)); @for(a(i):@sum(b(j):x(i,j))<=e(i)); @for(b(j):@sum(a(i):x(i,j))=d(j)); end
Global optimal solution found. Objective value: 33000.00 Infeasibilities: 0.000000 Total solver iterations: 6
Variable Value Reduced Cost E( 1) 3000.000 0.000000 E( 2) 4000.000 0.000000 E( 3) 1500.000 0.000000 D( 1) 2000.000 0.000000 D( 2) 1500.000 0.000000 D( 3) 5000.000 0.000000 C( 1, 1) 10.00000 0.000000 C( 1, 2) 4.000000 0.000000 C( 1, 3) 12.00000 0.000000 C( 2, 1) 8.000000 0.000000 C( 2, 2) 10.00000 0.000000 C( 2, 3) 3.000000 0.000000 C( 3, 1) 0.000000 0.000000 C( 3, 2) 0.000000 0.000000 C( 3, 3) 0.000000 0.000000 X( 1, 1) 1500.000 0.000000 X( 1, 2) 1500.000 0.000000 X( 1, 3) 0.000000 2.000000 X( 2, 1) 0.000000 5.000000 X( 2, 2) 0.000000 13.00000 X( 2, 3) 4000.000 0.000000 X( 3, 1) 500.0000 0.000000 X( 3, 2) 0.000000 6.000000 X( 3, 3) 1000.000 0.000000
Row Slack or Surplus Dual Price 1 33000.00 -1.000000 2 0.000000 0.000000 3 0.000000 7.000000 4 0.000000 10.00000 5 0.000000 -10.00000 6 0.000000 -4.000000 7 0.000000 -10.00000 model: sets: m/1..4/: P, z, Goal; s/1..5/: dplus, dminus; a /1..2/: e; b /1..3/: d; Routes(a, b): c, x; endsets data: P=? ? ? ?; Goal=? ? ? 0; e=3000 4000; d=2000 1500 5000; c=10 4 12 8 10 3; enddata
min=@sum(m:P*z); z(1) = dminus(1); z(2) = dminus(2)+dminus(3); z(3) = dplus(4); z(4) = dminus(5);
x(2,1)+dminus(5)-dplus(5)=1000; x(1,1)+x(2,1)+dminus(1)-dplus(1)=2000; @for(b(j):
x(1,2)+x(2,2)+dminus(2)-dplus(2)=0.75*d(2);
x(1,3)+x(2,3)+dminus(3)-dplus(3)=0.75*d(3); ); @sum(Routes: c*x)+dminus(4)-dplus(4)=33000;
@for(m(i)|i#lt#@size(m): @bnd(0,z(i),Goal(i)););
Global optimal solution found. Objective value: 0.000000 Infeasibilities: 0.000000 Total solver iterations: 4
Variable Value Reduced Cost P( 1) 0.1000000+308 0.000000 P( 2) 0.1000000+308 0.000000 P( 3) 0.1000000+308 0.000000 P( 4) 0.1000000+308 0.000000 Z( 1) 0.000000 0.000000 Z( 2) 0.000000 0.000000 Z( 3) 0.000000 0.000000 Z( 4) 0.000000 0.000000 GOAL( 1) 0.1000000+308 0.000000 GOAL( 2) 0.1000000+308 0.000000 GOAL( 3) 0.1000000+308 0.000000 GOAL( 4) 0.000000 0.000000 DPLUS( 1) 0.000000 0.000000 DPLUS( 2) 0.000000 0.000000 DPLUS( 3) 0.000000 0.000000 DPLUS( 4) 0.000000 0.1000000+308 DPLUS( 5) 375.0000 0.000000 DMINUS( 1) 0.000000 0.1000000+308 DMINUS( 2) 0.000000 0.1000000+308 DMINUS( 3) 0.000000 0.1000000+308 DMINUS( 4) 0.000000 0.000000 DMINUS( 5) 0.000000 0.1000000+308 E( 1) 3000.000 0.000000 E( 2) 4000.000 0.000000 D( 1) 2000.000 0.000000 D( 2) 1500.000 0.000000 D( 3) 5000.000 0.000000 C( 1, 1) 10.00000 0.000000 C( 1, 2) 4.000000 0.000000 C( 1, 3) 12.00000 0.000000 C( 2, 1) 8.000000 0.000000 C( 2, 2) 10.00000 0.000000 C( 2, 3) 3.000000 0.000000 X( 1, 1) 625.0000 0.000000 X( 1, 2) 1125.000 0.000000 X( 1, 3) 0.000000 0.000000 X( 2, 1) 1375.000 0.000000 X( 2, 2) 0.000000 0.000000 X( 2, 3) 3750.000 0.000000
Row Slack or Surplus Dual Price 1 0.000000 -1.000000 2 0.000000 -0.1000000+308 3 0.000000 -0.1000000+308 4 0.000000 -0.1000000+308 5 0.000000 -0.1000000+308 6 0.000000 0.000000 7 0.000000 0.000000 8 0.000000 0.000000 9 0.000000 0.000000 10 0.000000 0.000000 11 0.000000 0.000000 12 0.000000 0.000000 13 0.000000 0.000000 14 0.000000 0.000000 符号说明: ijx:从产地i运输到客户j的运输量;
ijc:从产地i运输到客户j的运输费用 d
:超出目标的差值,称为正偏差变量
d
:未达到目标的差值,称为负偏差变量
1P:第一个目标的因子
2P:第二个目标的因子
3P第三个目标的因子
4P第四个目标的因子 求解原运输问题。 由于总生产量小于总需求量,虚设产地3,生产量为1500 个单位,到各个用户间的运输单价为0,见下表 客户1 客户2 客户3 发量 产地1 10 4 12 3000 产地2 8 10 3 4000 产地3 0 0 0 1500 需求量 2000 1500 5000 目标函数为: min232221131211310812410xxxxxx
约束条件: 3000131211xxx 4000232221xxx 1500333231xxx 2000312111xxx 1500322212xxx 5000332313xxx
用LINGO软件求解,得到总运费是33000元,运输方案如表所示.