我在Python中使用Gurobi并在给定的集合S
中添加约束,如下所示:
for i in S:
m.addConstr(quicksum(x[i,j] for j in (set(V) - set(S))) >= 2)
我想在屏幕上为集S
和V
的每个值打印这些约束。
例如,如果S={1,3,4}
和V= {1,2,3,4,5,6}
,我的约束将是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
我希望在屏幕上预先显示此约束。
有人可以帮我做吗?
答案 0 :(得分:4)
没有内置功能来执行此操作。您最好的选择是调用Model.write()
将模型导出为LP文件。
答案 1 :(得分:2)
在调用print (model.display())
函数之后使用model.optimize()
。
否则,您也可以按照Greg的建议使用model.write(file_path)
答案 2 :(得分:0)
使用model.write(" file.lp")。您可以为文件选择任何名称,但扩展名必须为lp。