I am trying to solve the problem below using SAT4J . My question is how to specify the problem to SAT4J using their API.
Here is the problem:
boolean[50][50][20] variables; int[50][50][20] utility;
maximize Σ(over i,j,k) variables[i][j][k] * utility[i][j][k]
such that:
for each (i, j): Σ(over x) variables[i][j][x] <= 1
for each (i, j): Σ(over x) variables[i][x][j] <= 1
for each (i, j): Σ(over x) variables[x][i][j] <= 1