设定集合以后为什么不出结果?
直接用变量出结果MODEL:
MAX= 4800 * T1 + 5600 * T2 - 10000 * X1 - 8000 * X2 - 6000 * X3 ;
( X1 - 500 ) * X2 = 0 ;
( X2 - 500 ) * X3 = 0 ;
X1 <= 500 ;
X2 <= 500 ;
X3 <= 500 ;
- X1 - X2 - X3 + A1 + A2 <= 500 ;
- T1 - T2 + X1 + X2 + X3 >= - 1500 ;
A1 - 0.5 * T1 >= 0 ;
A2 - 0.6 * T2 >= 0 ;
END
用集合不出结果
MODEL:
MAX= - 10000 * X_1 - 8000 * X_2 - 6000 * X_3 + 4800 * T_1 + 5600 *
T_2 ;
( X_1 - 500 ) * X_2 = 0 ;
( X_2 - 500 ) * X_3 = 0 ;
X_1 <= 500 ;
X_2 <= 500 ;
X_3 <= 500 ;
- X_1 - X_2 - X_3 + A_1 + A_2 <= 500 ;
X_1 + X_2 + X_3 - T_1 - T_2 >= - 1500 ;
A_1 - 0.5 * T_1 >= 0 ;
A_2 - 0.6 * T_2 >= 0 ;
END
源程序1:
max=4800*t1+5600*t2-10000*x1-8000*x2-6000*x3;
(x1-500)*x2=0;
(x2-500)*x3=0;
x1<=500;
x2<=500;
x3<=500;
a1+a2<=x1+x2+x3+500;
x1+x2+x3+1500>=t1+t2;
2*a1>=t1;
5*a2>=3*t2;
end
源程序2:
sets:
o/1..2/:p,a,t,r;
q/1..3/:p1,x;
endsets
data:
r=0.5 0.6;
p=4800 5600;
p1=10000 8000 6000;
enddata
max=@sum(o(i):p(i)*t(i))-@sum(q(i):x(i)*p1(i));
(x(1)-500)*x(2)=0;
(x(2)-500)*x(3)=0;
@for(q(i):x(i)<=500);
@sum(o(i):a(i))<=@sum(q(i):x(i))+500;
@sum(q(i):x(i))+1500>=@sum(o(i):t(i));
@for(o(i):a(i)>=t(i)*r(i));
end
为什么? 可以运行的啊,我把你的两个程序运行如下结果:
Local optimal solution found.
Objective value: 4800000.
Total solver iterations: 24
Variable Value Reduced Cost
T1 1000.000 0.000000
T2 0.000000 160.0000
X1 0.000000 400.0000
X2 0.000000 0.000000
X3 0.000000 0.000000
A1 500.0000 0.000000
A2 0.000000 0.000000
Row Slack or Surplus Dual Price
1 4800000. 1.000000
2 0.000000 -3.200000
3 0.000000 -7.200000
4 500.0000 0.000000
5 500.0000 0.000000
6 500.0000 0.000000
7 -0.5273080E-08 9600.000
8 500.0000 0.000000
9 0.000000 -4800.000
10 0.000000 -1920.000
-----------------------------------------------------------------------------------
Local optimal solution found.
Objective value: 4800000.
Total solver iterations: 24
Variable Value Reduced Cost
P( 1) 4800.000 0.000000
P( 2) 5600.000 0.000000
A( 1) 500.0000 0.000000
A( 2) 0.1180979E-08 0.000000
T( 1) 1000.000 0.000000
T( 2) 0.000000 160.0000
R( 1) 0.5000000 0.000000
R( 2) 0.6000000 0.000000
P1( 1) 10000.00 0.000000
P1( 2) 8000.000 0.000000
P1( 3) 6000.000 0.000000
X( 1) 0.000000 400.0000
X( 2) 0.000000 0.000000
X( 3) 0.000000 0.000000
Row Slack or Surplus Dual Price
1 4800000. 1.000000
2 0.000000 -3.200000
3 0.000000 -7.200000
4 500.0000 0.000000
5 500.0000 0.000000
6 500.0000 0.000000
7 0.000000 9600.000
8 500.0000 0.000000
9 0.000000 -9600.000
10 0.1180979E-08 -9600.000 我第二个程序是Error Code 201:the model is locally infeasible. however, feasible solutions may or may not exist in other regions. Consider invoking the global solver or the multistart feature
Solution is locally infeasible
Infeasibilities: 0.2707537E-03
Total solver iterations: 45
Variable Value Reduced Cost
P( 1) 4800.000 0.000000
P( 2) 5600.000 0.000000
A( 1) 0.000000 0.000000
A( 2) 1500.000 0.000000
T( 1) 0.000000 200.0000
T( 2) 2500.000 0.000000
R( 1) 0.5000000 0.000000
R( 2) 0.6000000 0.000000
P1( 1) 10000.00 0.000000
P1( 2) 8000.000 0.000000
P1( 3) 6000.000 0.000000
X( 1) 500.0000 0.000000
X( 2) 500.0000 0.000000
X( 3) 0.000000 0.000000
Row Slack or Surplus Dual Price
1 5000000. 1.000000
2 -0.2707537E-03 -4.000000
3 0.000000 0.3693396E+10
4 0.5415075E-06 0.000000
5 -0.5415071E-06 0.000000
6 500.0000 0.000000
7 0.000000 6000.000
8 0.000000 -2000.000
9 0.000000 -6000.000
10 0.000000 -6000.000
PS:我用的是Lingo11
页:
[1]