sets:
cities/1..6/:u;
link(cities,cities):dist,x;
endsets
n=@size(cities);
data:
dist=0 3 1 5 100 100
3 0 100 2 100 3
1 100 0 2 3 100
5 2 1 0 4 1
100 100 3 4 0 2
100 3 100 1 2 0;
enddate
min=@sum(link;dist*x);
u(1)=0;
@for(link:@bin(x));
@for(city(k)|k#gt#1:@sum(city(i)|i#ne#k:x(i,k))=1:
@for(city(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);););
@sum(city(j)|j#gt#1:x(1,j))>=1;
@for(city(k)|k#gt#1:u(k)<=n-1(n-2)*x(1,k););
cities/1..6/:u;
link(cities,cities):dist,x;
endsets
n=@size(cities);
data:
dist=0 3 1 5 100 100
3 0 100 2 100 3
1 100 0 2 3 100
5 2 1 0 4 1
100 100 3 4 0 2
100 3 100 1 2 0;
enddate
min=@sum(link;dist*x);
u(1)=0;
@for(link:@bin(x));
@for(city(k)|k#gt#1:@sum(city(i)|i#ne#k:x(i,k))=1:
@for(city(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);););
@sum(city(j)|j#gt#1:x(1,j))>=1;
@for(city(k)|k#gt#1:u(k)<=n-1(n-2)*x(1,k););