reset;
option solver cplex;
#option solver './minos'; # fuer macOS
param N := 17; # Number of projects/workers
param w {i in 1..N,j in 1..N} := round(Uniform(0,10)); # willingness of worker j to take project i
var x {i in 1..N,j in 1..N} binary; # whether worker j takes project i
maximize LP1: sum{i in 1..N,j in 1..N} w[i,j]*x[i,j];
subject to NB1{j in 1..N}: sum{i in 1..N} x[i,j] = 1; # each project has to be taken
subject to NB2{i in 1..N}: sum{j in 1..N} x[i,j] = 1; # each worker has to take one project
solve;
display x;