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

最佳答案

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

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

关于python - 读取现有的gurobi .lp文件并为其添加约束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54842821/

10-12 22:49