print constraints Gurobi Python

12.7k Views Asked by At

I'm using Gurobi in Python and for a given set S I'm adding the constraint as follows:

for i in S:
  m.addConstr(quicksum(x[i,j] for j in (set(V) - set(S))) >= 2)

I want to print these constraints for each value of the sets S and V on the screen. For an example, if S={1,3,4} and V= {1,2,3,4,5,6}, then, my constraint will be x[1,2]+x[1,5]+x[1,6]+x[3,2]+x[3,5]+x[3,6]+x[4,2]+x[4,5]+x[4,6]>=2 I want this constraint to be preinted on the screen. Can someone please help me to do it?

4

There are 4 best solutions below

1
On BEST ANSWER

There is no built-in function to do this. Your best option is to call Model.write() to export the model as an LP file.

1
On

use print (model.display()) after calling model.optimize() function.

Else you can also use model.write(file_path) as suggested above by Greg

0
On

Summing up what the others have mentioned:


print to terminal: print (model.display())

Produces something like:

enter image description here


save to file: model.write("file_name.lp")

Produces something like:

enter image description here

Where the .lp file can be opened with a text editor.

0
On

Use model.write("file.lp"). You can choose any name for file but the extension must be lp.