论文二

  • 格式: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

约束条件: 3000131211xxx 4000232221xxx 1500333231xxx 2000312111xxx 1500322212xxx 5000332313xxx

用LINGO软件求解,得到总运费是33000元,运输方案如表所示.