From the data in the spreadsheet, it looks like you want:
number FixedCost {Plant,Product} = [
And:
var Y {Plant,Product} binary;
With corresponding changes in the objective declaration. And then:
/*con Producing {i in Plant} : sum {j in Product} X[i,j] <= M * Y[i];*/
/*con UseMinimum {i in Plant} : sum {j in Product} X[i,j] >= MinUse[i] * Y[i];*/
con UseMinimum {i in Plant, j in Product}: X[i,j] >= MinUse[i,j] * Y[i,j];
con UseMaximum {i in Plant, j in Product}: X[i,j] <= MaxUse[i,j] * Y[i,j];
You don't need M.
... View more