我在Python中使用Gurobi时遇到了一些问题。我有一个.lp文件,其中保存了我的线性程序。对于这些约束,我想添加一些其他约束。加载和优化工作没有任何问题,但是我无法为模型添加新的约束。我不知道我在做什么错... 我希望有人发现我的错误! 谢谢!
我的代码如下所示(我简化了一点) SI是一个二维数组,其中包含每个变量的数据。
from gurobipy import *
model = read("testdatei.lp")
for j in range(len(SI)):
model.addConstr(x[SI[j][0], SI[j][1], SI[j][2], SI[j][3], SI[j][4], SI[j][5]] == 1)
答案 0 :(得分:0)
在不知道您的错误消息的情况下,我认为问题是您尚未定义x
。
解决此问题的最快方法可能是从SI
值重建变量名称(您在构建模型时先前定义的名称),然后使用getVarByName
访问变量。
如果由于模型很大而导致速度很慢并且正在访问许多变量,则可以使用model.getVars()
获取所有变量的数组,然后对其进行迭代并重建多维数组(或{ 1}})tuple_dict
,方法是解析变量的名称。