一个lingo lingo中约束条件之间是 ‘或’ 的关系,应该如何表示?Lingo中是否允许?代码如下,就是最后一个循环出错,去掉后可以执行,最后一句错在哪?P是火车票价格;model:sets:citys/1..10/:;city/1..11/:u,tt1,tt2,et;link(city,city):T1,T2,p,x;links(city,city,citys):;endsetsdata:p=@file('price.txt');T1=@file('T1.txt');T2=@file('T2.txt');tt1=@file('tt1.txt');tt2=@file('tt2.txt');enddata[OBJ] min=@SUM(link(i,j):p(i,j)*x(i,j));@for(city(j):@sum(city(i)|j#ne#i:x(i,j))=1);!j前有一个城市相连;@for(city(i):@sum(city(j)|j#ne#i:x(i,j))=1);!i前有一个城市

问题描述:

一个lingo lingo中约束条件之间是 ‘或’ 的关系,应该如何表示?Lingo中是否允许?
代码如下,就是最后一个循环出错,去掉后可以执行,最后一句错在哪?
P是火车票价格;
model:
sets:
citys/1..10/:;
city/1..11/:u,tt1,tt2,et;
link(city,city):T1,T2,p,x;
links(city,city,citys):;
endsets
data:
p=@file('price.txt');
T1=@file('T1.txt');
T2=@file('T2.txt');
tt1=@file('tt1.txt');
tt2=@file('tt2.txt');
enddata
[OBJ] min=@SUM(link(i,j):p(i,j)*x(i,j));
@for(city(j):@sum(city(i)|j#ne#i:x(i,j))=1);!j前有一个城市相连;
@for(city(i):@sum(city(j)|j#ne#i:x(i,j))=1);!i前有一个城市相连;
@for(link(i,j)|(i#ne#j)#AND#(i#gt#1):u(i)-u(j)+11*x(i,j)