读取现有的gurobi .lp文件并为其添加约束

时间:2019-02-23 14:52:35

标签: python gurobi

我在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)

1 个答案:

答案 0 :(得分:0)

在不知道您的错误消息的情况下,我认为问题是您尚未定义x。 解决此问题的最快方法可能是从SI值重建变量名称(您在构建模型时先前定义的名称),然后使用getVarByName访问变量。

如果由于模型很大而导致速度很慢并且正在访问许多变量,则可以使用model.getVars()获取所有变量的数组,然后对其进行迭代并重建多维数组(或{ 1}})tuple_dict,方法是解析变量的名称。