附录:
程序一:
问题一
model:
max=2*x1+4*(y2)+13*x2+6*(y4)+9*(y5)+4*x4+7.5*(y7)+12.5*(y8)+10*(y9)+11*(y10)+6*x6+14*(y12)+9*x7+3.5*x7+6*(y15);
(9.5*x1+7*x2+19*x3+14*x4+17.5*x5+13*x6+11*x7)<=50; Y2=@if(x1+x2#eq#0,0,1); Y4=@if(x1+x3#eq#0,0,1); Y5=@if(x2+x4#eq#0,0,1); Y7=@if(x3+x6#eq#0,0,1); Y8=@if(x3+x4+x5#eq#0,0,1); Y9=@if(x4+x5#eq#0,0,1); Y10=@if(x3+x6#eq#0,0,1); Y12=@if(x5+x6+x7#eq#0,0,1); Y15=@if(x6+x7#eq#0,0,1);
@bin(x1); @bin(x2); @bin(x3); @bin(x4); @bin(x5); @bin(x6); @bin(x7); end 运行结果:
Local optimal solution found.
Objective value: 109.5000 Extended solver steps: 3 Total solver iterations: 185
Variable Value Reduced Cost X1 0.000000 -2.000000 Y2 1.000000 0.000000 X2 1.000000 -13.00000 Y4 0.000000 0.000000 Y5 1.000000 0.000000 X4 1.000000 -4.000000 Y7 1.000000 0.000000 Y8 1.000000 0.000000 Y9 1.000000 0.000000 Y10 1.000000 0.000000 X6 1.000000 -6.000000 Y12 1.000000 0.000000 X7 1.000000 -12.50000 Y15 1.000000 0.000000
9
X3 0.000000 0.000000 X5 0.000000 0.000000
Row Slack or Surplus Dual Price 1 109.5000 1.000000
2 5.000000 0.000000 3 0.000000 4.000000 4 0.000000 6.000000 5 0.000000 9.000000 6 0.000000 7.500000 7 0.000000 12.50000 8 0.000000 10.00000 9 0.000000 11.00000 10 0.000000 14.00000 11 0.000000 6.000000
程序二:
问题二
model:
max=2*x1+4*(y2)+13*x2+6*(y4)+9*(y5)+4*x4+7.5*(y7)+12.5*(y8)+10*(y9)+11*(y10)+6*x6+14*(y12)+9*x7+3.5*x7+6*(y15);
(9.5*x1+7*x2+19*x3+14*x4+17.5*x5+13*x6+11*x7)<=50; y2=@if(x1+x2#eq#0,0,1); y4=@if(x1+x3#eq#0,0,1); y5=@if(x2+x4#eq#0,0,1); y7=@if(x3+x6#eq#0,0,1); y8=@if(x3+x4+x5#eq#0,0,1); y9=@if(x4+x5#eq#0,0,1); y10=@if(x3+x6#eq#0,0,1); y12=@if(x5+x6+x7#eq#0,0,1); y15=@if(x6+x7#eq#0,0,1); k1=@if(x1#eq#1,0.68,0); k2=@if(x1+x2#eq#1,0.68,1); k3=@if(x2#eq#1,0.68,1); k4=@if(x1+x3#eq#1,0.68,0); k5=@if(x4+x2#eq#1,0.68,1); k6=@if(x4#eq#1,0.68,1); k7=@if(x3+x6#eq#1,0.68,1); k8=@if(x3+x4+x5#eq#1,0.68,1); k9=@if(x4+x5#eq#1,0.68,1); k10=@if(x3+x6#eq#1,0.68,1);
10
k11=@if(x6#eq#1,0.68,1);
k12=@if(x5+x6+x7#eq#1,0.68,1); k13=@if(x7#eq#1,0.68,1); k14=@if(x7#eq#1,0.68,1); k15=@if(x6+x7#eq#1,0.68,1);
s=2*x1*(k1)+4*(y2)*(k2)+13*x2*(k3)+6*(y4)*(k4)+9*(y5)*(k5)+4*x4*(k6)+7.5*(y7)*(k7)+12.5*(y8)*(k8)+10*(y9)*(k9)+11*(y10)*(k10)+6*x6*(k11)+14*(y12)*(k12)+9*x7*(k13)+3.5*x7*(k13)+6*(y15)*(k15);
@bin(x1); @bin(x2); @bin(x3); @bin(x4); @bin(x5); @bin(x6); @bin(x7); end
运行结果:
Local optimal solution found.
Objective value: 109.5000 Extended solver steps: 0 Total solver iterations: 115
Variable Value Reduced Cost X1 0.000000 -2.000000 Y2 1.000000 0.000000 X2 1.000000 -13.00000 Y4 0.000000 0.000000 Y5 1.000000 0.000000 X4 1.000000 -4.000000 Y7 1.000000 0.000000 Y8 1.000000 0.000000 Y9 1.000000 0.000000 Y10 1.000000 0.000000 X6 1.000000 -6.000000 Y12 1.000000 0.000000 X7 1.000000 -12.50000 Y15 1.000000 0.000000 X3 0.000000 0.000000 X5 0.000000 0.000000 K1 0.000000 0.000000 K2 0.6800000 0.000000 K3 0.6800000 0.000000 K4 0.000000 0.000000 K5 1.000000 0.000000 K6 0.6800000 0.000000 K7 0.6800000 0.000000 K8 0.6800000 0.000000 K9 0.6800000 0.000000 K10 0.6800000 0.000000
11
K11 0.6800000 0.000000 K12 1.000000 0.000000 K13 0.6800000 0.000000 K14 0.6800000 0.000000 K15 1.000000 0.000000 S 83.74000 0.000000
Row Slack or Surplus Dual Price 1 109.5000 1.000000 2 5.000000 0.000000 3 0.000000 4.000000 4 0.000000 6.000000 5 0.000000 9.000000 6 0.000000 7.500000 7 0.000000 12.50000 8 0.000000 10.00000 9 0.000000 11.00000 10 0.000000 14.00000 11 0.000000 6.000000 12 0.000000 0.000000 13 0.000000 0.000000 14 0.000000 0.000000 15 0.000000 0.000000 16 0.000000 0.000000 17 0.000000 0.000000 18 0.000000 0.000000 19 0.000000 0.000000 20 0.000000 0.000000 21 0.000000 0.000000 22 0.000000 0.000000 23 0.000000 0.000000 24 0.000000 0.000000 25 0.000000 0.000000 26 0.000000 0.000000 27 0.000000 0.000000
12
相关推荐: