lingo中错误代码11,Invalid input .A syntax error has occured.3] I/

lingo中错误代码11,Invalid input .A syntax error has occured.3] I/1..4/; ^ 初学者哈
model
sets:
I/1 2 3 4/;
J/1..4/:d;
link(I,J):c,x;
endsets
data:
d=60 70 120 60;
x=70 72 74 76
0 72 74 76
0 0 80 82
0 0 0 76;
min = @sum(link(i,j):c(i,j)*x(i,j));
@for(J(j):
x05 @sum(I(i)|i#LE#j:x(i,j))=d(j));
@for(I(i):
x05 @sum(J(j)|j#GE#i:x(i,j))=0;
enddata
end
不好意思哈,中间有一个位置打错了,data中定义的矩阵是对c的定义不是x,但是这不是问题的根本哈
撒米撒米 1年前 已收到1个回答 举报

心的飞扬 幼苗

共回答了15个问题采纳率:86.7% 举报

model:
sets:
m/1 2 3 4/;
n/1..4/:d;
link(m,n):c,x;
endsets
data:
d=60 70 120 60;
c=70 72 74 76
0 72 74 76
0 0 80 82
0 0 0 76;
enddata
min = @sum(link(i,j):c(i,j)*x(i,j));
@for(n(j):
x05 @sum(m(i)|i#LE#j:x(i,j))=d(j));
@for(m(i):
x05 @sum(n(j)|j#GE#i:x(i,j))=0;
end

1年前 追问

2

撒米撒米 举报

我已经测试过了,是可以通过的哈,最佳答案肯定是你了,但是我还想问问,就是为什么我那样写是错的呢,而且看到这个错误的时候我也试过改成你这样的,只是没有改成m和n而已。至于x>=0被注释掉是因为x本来的限制就是0到正无穷是吧?

举报 心的飞扬

model:!漏掉冒号; sets: m/1 2 3 4/;!将I改成m,因为lingo不区分大小写所以集合名用I的话后面下标再用i就会冲突; n/1..4/:d;!将J改成n,同上; link(m,n):c,x; endsets data: d=60 70 120 60; c=70 72 74 76 0 72 74 76 0 0 80 82 0 0 0 76; enddata!将这句移到这边; min = @sum(link(i,j):c(i,j)*x(i,j)); @for(n(j): @sum(m(i)|i#LE#j:x(i,j))=d(j)); @for(m(i): @sum(n(j)|j#GE#i:x(i,j))<=100); @for(link:@GIN(x)); !x>=0;!lingo默认变量非负可不必约束,而且你这样约束本身也有错; end
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.027 s. - webmaster@yulucn.com