SETS:
 
nodes/1..7/:w;
 
arcs(nodes,nodes)|&1#LT#&2:c;
 
tour/t1 t2/;
 
npart(tour,nodes):z;
apart(tour,arcs):x;
 
 
ENDSETS
 
DATA:
 
w =  0  5 7 4 8 6 5;
 
cap= 21;
 
c=    15  18  35   20  25  50
          20  40   35  37  35
              20   33  43  40
                   25  40  60
                       15  70
                           72
;
 
 
 
ENDDATA
 
min= @SUM(apart(k,i,j): c(i,j)*x(k,i,j));
 
@FOR(tour(k):  
     @FOR(nodes(i):
           @SUM(arcs(i,j): x(k,i,j) ) + @SUM(arcs(j,i): x(k,j,i) ) = 2* z(k,i)
         )
    );
 
@FOR(apart(k,i,j): x(k,i,j) < z(k,i) ; x(k,i,j) < z(k,j) );
 
@FOR(tour(k): @SUM(nodes(i) : w(i)*z(k,i) ) < cap );
 
@FOR(nodes(i)|i#GT#1: @SUM(tour(k)|k#LT#i: z(k,i) ) = 1 );
 
@FOR(tour(k): z(k,1) = 1 );
 
@FOR(apart:@BND(0,x,1)); 
@FOR(npart: @BND(0,z,1));