Gurobi python更改定义值的值

时间:2014-02-23 16:13:57

标签: python gurobi

我有一个关于如何更改约束中的系数的问题。 例如,我有以下约束:

lhs.addTerms(temp, x[i])
model.addConstr(cost, GRB.EQUAL, 1.0/a*lhs, 'cost_cons')

如果我想在下一次迭代中更改“temp”,如何修改模型? 非常感谢

1 个答案:

答案 0 :(得分:3)

你能提供更多信息吗?我认为你想要做的是改变特定约束中x [i]的系数。如果是这样,那么您应该通过将约束分配给变量(或将其添加到列表中)来保存约束:

lhs.addTerms(temp, x[i])
savedConstraint = model.addConstr(cost, GRB.EQUAL, 1.0/a*lhs, 'cost_cons')

然后,在下一次迭代中,您可以使用chgCoeff(请参阅http://www.gurobi.com/documentation/5.6/reference-manual/py_model_chgcoeff)。

model.chgCoef(savedConstraint,x[i],newtemp)

那是你在寻找什么?通常人们会将约束保存到列表中。最后,您可能希望与您的命名保持一致(右侧的lhs有点偏离)。