reset; model vcolor.mod; data italia.dat; for {i in V} let a[i,i] := 1; problem Master: L, colors, cover_all; problem Pricing: x, reduced_cost, independence; #display a; repeat { problem Master; #expand Master; option solver gurobi; option relax_integrality 1; solve; #display L; #display cover_all.dual; # the dual value for each constraint for {i in V} let pi[i]:= cover_all.dual[i]; problem Pricing; #display pi; option solver gurobi; option relax_integrality 0; solve; if (reduced_cost > -1e-16) then break; let p := p+1; let {i in V} a[i,p] := x[i]; } until 0; problem Master; option solver gurobi; option relax_integrality 1; solve; display L; problem Master; option solver gurobi; option relax_integrality 0; solve; for {j in P: L[j]=1} { for {i in V: a[i,j]=1} printf"%d ", i; printf" are in set %d\n" , j; }