lingo程序编译出错,求修改!
model:
sets:
chamber/1..5/: capacity;
cargo/1..14/:weight;
link(chamber,cargo):X;
endsets
data:
@for(chamber(i):capacity(i)=480); 系统提示这句有语法错误
weight=239.55 294.525 85.8375 379.2 397.912 398.475 34.05 42.75 143.55 12.1125 17.7 428.7375 130.725 147.675;
enddata
min=@sum(chamber(i):sum(cargo(j):X(i,j)));
@for(chamber(ii):
@sum(cargo(j):X(ii,j)*weight(j))<=capacity(ii)
);
@for(link(i,j):
@bin(X(i,j)));
end
数据里 不能用函数吧
本帖最后由 liwenhui 于 2016-1-1 22:32 编辑
略作修改,把capacity作为约束的形式放进去,可以求解。你也可以用数据向量的形式输入,但不能用@for来输入。model:
sets:
chamber/1..5/: capacity;
cargo/1..14/:weight;
link(chamber,cargo):X;
endsets
data:
weight=239.55 294.525 85.8375 379.2 397.912 398.475 34.05 42.75 143.55 12.1125 17.7 428.7375 130.725 147.675;
enddata
min=@sum(chamber(i):@sum(cargo(j):X(i,j)));
@for(chamber(i):capacity(i)=480);
@for(chamber(ii):@sum(cargo(j):X(ii,j)*weight(j))<=capacity(ii));
@for(link(i,j):@bin(X(i,j)));
end运行结果:
Global optimal solution found.
Objective value: 0.000000
Objective bound: 0.000000
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 0
Model Class: PILP
Total variables: 70
Nonlinear variables: 0
Integer variables: 70
Total constraints: 6
Nonlinear constraints: 0
Total nonzeros: 140
Nonlinear nonzeros: 0
Variable Value Reduced Cost
CAPACITY( 1) 480.0000 0.000000
CAPACITY( 2) 480.0000 0.000000
CAPACITY( 3) 480.0000 0.000000
CAPACITY( 4) 480.0000 0.000000
CAPACITY( 5) 480.0000 0.000000
WEIGHT( 1) 239.5500 0.000000
WEIGHT( 2) 294.5250 0.000000
WEIGHT( 3) 85.83750 0.000000
WEIGHT( 4) 379.2000 0.000000
WEIGHT( 5) 397.9120 0.000000
WEIGHT( 6) 398.4750 0.000000
WEIGHT( 7) 34.05000 0.000000
WEIGHT( 8) 42.75000 0.000000
WEIGHT( 9) 143.5500 0.000000
WEIGHT( 10) 12.11250 0.000000
WEIGHT( 11) 17.70000 0.000000
WEIGHT( 12) 428.7375 0.000000
WEIGHT( 13) 130.7250 0.000000
WEIGHT( 14) 147.6750 0.000000
X( 1, 1) 0.000000 1.000000
X( 1, 2) 0.000000 1.000000
X( 1, 3) 0.000000 1.000000
X( 1, 4) 0.000000 1.000000
X( 1, 5) 0.000000 1.000000
X( 1, 6) 0.000000 1.000000
X( 1, 7) 0.000000 1.000000
X( 1, 8) 0.000000 1.000000
X( 1, 9) 0.000000 1.000000
X( 1, 10) 0.000000 1.000000
X( 1, 11) 0.000000 1.000000
X( 1, 12) 0.000000 1.000000
X( 1, 13) 0.000000 1.000000
X( 1, 14) 0.000000 1.000000
X( 2, 1) 0.000000 1.000000
X( 2, 2) 0.000000 1.000000
X( 2, 3) 0.000000 1.000000
X( 2, 4) 0.000000 1.000000
X( 2, 5) 0.000000 1.000000
X( 2, 6) 0.000000 1.000000
X( 2, 7) 0.000000 1.000000
X( 2, 8) 0.000000 1.000000
X( 2, 9) 0.000000 1.000000
X( 2, 10) 0.000000 1.000000
X( 2, 11) 0.000000 1.000000
X( 2, 12) 0.000000 1.000000
X( 2, 13) 0.000000 1.000000
X( 2, 14) 0.000000 1.000000
X( 3, 1) 0.000000 1.000000
X( 3, 2) 0.000000 1.000000
X( 3, 3) 0.000000 1.000000
X( 3, 4) 0.000000 1.000000
X( 3, 5) 0.000000 1.000000
X( 3, 6) 0.000000 1.000000
X( 3, 7) 0.000000 1.000000
X( 3, 8) 0.000000 1.000000
X( 3, 9) 0.000000 1.000000
X( 3, 10) 0.000000 1.000000
X( 3, 11) 0.000000 1.000000
X( 3, 12) 0.000000 1.000000
X( 3, 13) 0.000000 1.000000
X( 3, 14) 0.000000 1.000000
X( 4, 1) 0.000000 1.000000
X( 4, 2) 0.000000 1.000000
X( 4, 3) 0.000000 1.000000
X( 4, 4) 0.000000 1.000000
X( 4, 5) 0.000000 1.000000
X( 4, 6) 0.000000 1.000000
X( 4, 7) 0.000000 1.000000
X( 4, 8) 0.000000 1.000000
X( 4, 9) 0.000000 1.000000
X( 4, 10) 0.000000 1.000000
X( 4, 11) 0.000000 1.000000
X( 4, 12) 0.000000 1.000000
X( 4, 13) 0.000000 1.000000
X( 4, 14) 0.000000 1.000000
X( 5, 1) 0.000000 1.000000
X( 5, 2) 0.000000 1.000000
X( 5, 3) 0.000000 1.000000
X( 5, 4) 0.000000 1.000000
X( 5, 5) 0.000000 1.000000
X( 5, 6) 0.000000 1.000000
X( 5, 7) 0.000000 1.000000
X( 5, 8) 0.000000 1.000000
X( 5, 9) 0.000000 1.000000
X( 5, 10) 0.000000 1.000000
X( 5, 11) 0.000000 1.000000
X( 5, 12) 0.000000 1.000000
X( 5, 13) 0.000000 1.000000
X( 5, 14) 0.000000 1.000000
Row Slack or Surplus Dual Price
1 0.000000 -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 480.0000 0.000000
8 480.0000 0.000000
9 480.0000 0.000000
10 480.0000 0.000000
11 480.0000 0.000000
页:
[1]