// The hamiltonian cycle problem for a graph on 7 vertices and edges as 
// shown in the objective function,
// As the minimu turns out to be 7, the graph has a hamiltonian cycle.
var int x[1..7,1..7] in 0..1;
minimize 1*x[1,2]+1*x[1,3]+1*x[1,4]+1*x[1,7]+1*x[2,3]+1*x[2,4]+1*x[2,6]+1*x[3,6]+1*x[3,7]+1*x[4,5]+1*x[5,6]+1*x[5,7]
subject to {
 forall (i,j in 1..7) x[i,j]=x[j,i];
x[1,2]+x[1,3]+x[1,4]+x[1,7]>=2;
x[1,2]+x[1,3]+x[1,4]+x[3,7]+x[5,7]>=2;
x[1,2]+x[1,3]+x[1,4]+x[1,7]+x[2,6]+x[3,6]+x[5,6]>=2;
x[1,2]+x[1,3]+x[1,4]+x[2,6]+x[3,6]+x[3,7]+x[5,6]+x[5,7]>=2;
x[1,2]+x[1,3]+x[1,4]+x[1,7]+x[4,5]+x[5,6]+x[5,7]>=2;
x[1,2]+x[1,3]+x[1,4]+x[3,7]+x[4,5]+x[5,6]>=2;
x[1,2]+x[1,3]+x[1,4]+x[1,7]+x[2,6]+x[3,6]+x[4,5]+x[5,7]>=2;
x[1,2]+x[1,3]+x[1,4]+x[2,6]+x[3,6]+x[3,7]+x[4,5]>=2;
x[1,2]+x[1,3]+x[1,7]+x[2,4]+x[4,5]>=2;
x[1,2]+x[1,3]+x[2,4]+x[3,7]+x[4,5]+x[5,7]>=2;
x[1,2]+x[1,3]+x[1,7]+x[2,4]+x[2,6]+x[3,6]+x[4,5]+x[5,6]>=2;
x[1,2]+x[1,3]+x[2,4]+x[2,6]+x[3,6]+x[3,7]+x[4,5]+x[5,6]+x[5,7]>=2;
x[1,2]+x[1,3]+x[1,7]+x[2,4]+x[5,6]+x[5,7]>=2;
x[1,2]+x[1,3]+x[2,4]+x[3,7]+x[5,6]>=2;
x[1,2]+x[1,3]+x[1,7]+x[2,4]+x[2,6]+x[3,6]+x[5,7]>=2;
x[1,2]+x[1,3]+x[2,4]+x[2,6]+x[3,6]+x[3,7]>=2;
x[1,2]+x[1,4]+x[1,7]+x[2,3]+x[3,6]+x[3,7]>=2;
x[1,2]+x[1,4]+x[2,3]+x[3,6]+x[5,7]>=2;
x[1,2]+x[1,4]+x[1,7]+x[2,3]+x[2,6]+x[3,7]+x[5,6]>=2;
x[1,2]+x[1,4]+x[2,3]+x[2,6]+x[5,6]+x[5,7]>=2;
x[1,2]+x[1,4]+x[1,7]+x[2,3]+x[3,6]+x[3,7]+x[4,5]+x[5,6]+x[5,7]>=2;
x[1,2]+x[1,4]+x[2,3]+x[3,6]+x[4,5]+x[5,6]>=2;
x[1,2]+x[1,4]+x[1,7]+x[2,3]+x[2,6]+x[3,7]+x[4,5]+x[5,7]>=2;
x[1,2]+x[1,4]+x[2,3]+x[2,6]+x[4,5]>=2;
x[1,2]+x[1,7]+x[2,3]+x[2,4]+x[3,6]+x[3,7]+x[4,5]>=2;
x[1,2]+x[2,3]+x[2,4]+x[3,6]+x[4,5]+x[5,7]>=2;
x[1,2]+x[1,7]+x[2,3]+x[2,4]+x[2,6]+x[3,7]+x[4,5]+x[5,6]>=2;
x[1,2]+x[2,3]+x[2,4]+x[2,6]+x[4,5]+x[5,6]+x[5,7]>=2;
x[1,2]+x[1,7]+x[2,3]+x[2,4]+x[3,6]+x[3,7]+x[5,6]+x[5,7]>=2;
x[1,2]+x[2,3]+x[2,4]+x[3,6]+x[5,6]>=2;
x[1,2]+x[1,7]+x[2,3]+x[2,4]+x[2,6]+x[3,7]+x[5,7]>=2;
x[1,2]+x[2,3]+x[2,4]+x[2,6]>=2;
x[1,3]+x[1,4]+x[1,7]+x[2,3]+x[2,4]+x[2,6]>=2;
x[1,3]+x[1,4]+x[2,3]+x[2,4]+x[2,6]+x[3,7]+x[5,7]>=2;
x[1,3]+x[1,4]+x[1,7]+x[2,3]+x[2,4]+x[3,6]+x[5,6]>=2;
x[1,3]+x[1,4]+x[2,3]+x[2,4]+x[3,6]+x[3,7]+x[5,6]+x[5,7]>=2;
x[1,3]+x[1,4]+x[1,7]+x[2,3]+x[2,4]+x[2,6]+x[4,5]+x[5,6]+x[5,7]>=2;
x[1,3]+x[1,4]+x[2,3]+x[2,4]+x[2,6]+x[3,7]+x[4,5]+x[5,6]>=2;
x[1,3]+x[1,4]+x[1,7]+x[2,3]+x[2,4]+x[3,6]+x[4,5]+x[5,7]>=2;
x[1,3]+x[1,4]+x[2,3]+x[2,4]+x[3,6]+x[3,7]+x[4,5]>=2;
x[1,3]+x[1,7]+x[2,3]+x[2,6]+x[4,5]>=2;
x[1,3]+x[2,3]+x[2,6]+x[3,7]+x[4,5]+x[5,7]>=2;
x[1,3]+x[1,7]+x[2,3]+x[3,6]+x[4,5]+x[5,6]>=2;
x[1,3]+x[2,3]+x[3,6]+x[3,7]+x[4,5]+x[5,6]+x[5,7]>=2;
x[1,3]+x[1,7]+x[2,3]+x[2,6]+x[5,6]+x[5,7]>=2;
x[1,3]+x[2,3]+x[2,6]+x[3,7]+x[5,6]>=2;
x[1,3]+x[1,7]+x[2,3]+x[3,6]+x[5,7]>=2;
x[1,3]+x[2,3]+x[3,6]+x[3,7]>=2;
x[1,4]+x[1,7]+x[2,4]+x[2,6]+x[3,6]+x[3,7]>=2;
x[1,4]+x[2,4]+x[2,6]+x[3,6]+x[5,7]>=2;
x[1,4]+x[1,7]+x[2,4]+x[3,7]+x[5,6]>=2;
x[1,4]+x[2,4]+x[5,6]+x[5,7]>=2;
x[1,4]+x[1,7]+x[2,4]+x[2,6]+x[3,6]+x[3,7]+x[4,5]+x[5,6]+x[5,7]>=2;
x[1,4]+x[2,4]+x[2,6]+x[3,6]+x[4,5]+x[5,6]>=2;
x[1,4]+x[1,7]+x[2,4]+x[3,7]+x[4,5]+x[5,7]>=2;
x[1,4]+x[2,4]+x[4,5]>=2;
x[1,7]+x[2,6]+x[3,6]+x[3,7]+x[4,5]>=2;
x[2,6]+x[3,6]+x[4,5]+x[5,7]>=2;
x[1,7]+x[3,7]+x[4,5]+x[5,6]>=2;
x[4,5]+x[5,6]+x[5,7]>=2;
x[1,7]+x[2,6]+x[3,6]+x[3,7]+x[5,6]+x[5,7]>=2;
x[2,6]+x[3,6]+x[5,6]>=2;
x[1,7]+x[3,7]+x[5,7]>=2;
};
