详细请看代码
旅行商问题
!旅行商问题;
sets:
city/1..6/:u;
link(city,city):x,d;
endsets
data:
d=
0 3 7 4 6 4
4 0 3 7 8 5
6 9 0 3 2 1
8 6 3 0 9 8
4 7 4 6 0 4
4 5 8 7 2 0;
enddata
n = @size(city);
min = @sum(link(i,j):d(i,j)*x(i,j));
@for(city(j):@sum(link(i,j)|i#ne#j:x(i,j))=1);
@for(city(i):@sum(link(i,j)|i#ne#j:x(i,j))=1);
@for(link(i,j)|i#ne#j#and#i#gt#1:u(i)-u(j)+n*x(i,j)<=n-1); !防止内循环;
@for(link(i,j):@bin(x(i,j)));
两点最短路径问题
!两点最短路径问题;
sets:
points/A B1 B2 B3 C1<