sets:xuesheng/1..6/;xingqi/1..5/;xinzi/1..6/:a;maxtime(xuesheng,xingqi):c,x,y;endsetsdata:a=10,10,9.9,9.8,10.8,11.3;c=6,0,6,0,7,0,6,0,6,3,4,8,3,0,5,5,5,6,4,0,3,0,4,6,0,0,6,2,4,4;enddatamin=@sum(xinzi(i):a(i)*@sum(xingqi(j):x(i,j)));@for(xingqi(j):@sum(xuesheng(i):x(i,j))=14);@for(xingqi(j):@for(xuesheng(i):x(i,j)>=2*y(i,j)));@for(xuesheng(i):@sum(xingqi(j):x(i,j))<=3);@for(xingqi(j):@sum(xuesheng(i)|i#ge#5#and#i#ge#6:x(i,j))>=1);@for(xuesheng(i):@for(xingqi(j):x(i,j)<=10000*y(i,j)));@for(xuesheng(i):@for(xingqi(j):x(i,j)<=c(i,j)));@for(xuesheng(i):@for(xingqi(j):@gin(x(i,j))));@for(xuesheng(i):@for(xingqi(j):@bin(y(i,j))));endsets:xuesheng/1..6/;xingqi/1..5/;xinzi/1..6/:a;maxtime(xuesheng,xingqi):c,x,y;endsetsdata:a=10,10,9.9,9.8,10.8,11.3;c=6,0,6,0,7,0,6,0,6,3,4,8,3,0,5,5,5,6,4,0,3,0,4,6,0,0,6,2,4,4;enddatamin=@sum(xinzi(i):a(i)*@sum(xingqi(j):x(i,j)));@for(xingqi(j):@sum(xuesheng(i):x(i,j))=14);@for(xingqi(j):@for(xuesheng(i):x(i,j)>=2*y(i,j)));@for(xuesheng(i):@sum(xingqi(j):x(i,j))<=3);@for(xingqi(j):@sum(xuesheng(i)|i#ge#5#and#i#ge#6:x(i,j))>=1);@for(xuesheng(i):@for(xingqi(j):x(i,j)<=10000*y(i,j)));@for(xuesheng(i):@for(xingqi(j):x(i,j)<=c(i,j)));@for(xuesheng(i):@for(xingqi(j):@gin(x(i,j))));@for(xuesheng(i):@for(xingqi(j):@bin(y(i,j))));end
请问大佬们,我用的15.0的lingo,为什么出现108报错,是我版本的问题吗
dist=
0 3.6 22.4 55.9 33.6 101.8 36.6 301.5
3.6 0 2.6 44.7 36.7 112.8 28.3 316.4
22.4 2.6 0 43.2 37.1 88.2 26.7 316.2
55.9 44.7 43.2 0 9.6 119.2 70.8 284.5
33.6 36.7 37.1 9.6 0 110.7 67.5 291.3
101.8 112.8 88.2 119.2 107.7 0 112.1 351.7
33.6 28.3 26.7 70.8 67.5 112.1 0 338.1
301.5 316.4 316.2 284.5 291.3 351.7 338.1 0
;
enddata
! the model:ref.desrochers&laporte,or letters,feb.91;
n=@ size(site);
min=@ sum(link:distx);
@ for(site(k):
!it must be entered;
@ sum(site(i)|i#ne#k:x(i,k))=1;
!it must be departed;
@ sum(site(j)|j#ne#k:x(k,j))=1;
!weak form of the subtour breking constraints;
!these are not very powerful for large problems;
@ for(site(j)|j#gt#1#and#j#ne#k:
u(j)>=u(k)+x(k,j)-(n-2)(1-x(k,j))+(n-3)*x(j,k)));
!make the x's 0/1;
@ for(link:@ bin(x));
!for the first and last stop we know...;
@ for(site(k)|k#gt#1:
u(k)<=n-1-(n-2)*x(1,k);
u(k)>=1+(n-2)*x(k,1));
End