【发布时间】:2021-08-13 17:39:47
【问题描述】:
正如HERE(或HERE)所写,人们可以得到这样一个约束的意义()和RHS(右手边):
for cnstr in model.getConstrs():
print(cnstr.sense, cnstr.rhs)
如何获得约束中的系数?我检查了变量和模型的属性,但没有找到类似的东西。
【问题讨论】:
标签: python constraints linear-programming gurobi
正如HERE(或HERE)所写,人们可以得到这样一个约束的意义()和RHS(右手边):
for cnstr in model.getConstrs():
print(cnstr.sense, cnstr.rhs)
如何获得约束中的系数?我检查了变量和模型的属性,但没有找到类似的东西。
【问题讨论】:
标签: python constraints linear-programming gurobi
好的,似乎一种方法是使用 Model.getCoeff() 函数:
for cnstr in pre.getConstrs():
for var in pre.getVars():
print(pre.getCoeff(cnstr, var), end=" ")
【讨论】:
执行此操作的最佳方法是从 LHS 中步行对象。假设您的模型仅包含线性约束,则如下所示:
for cnstr in model.getConstrs():
print("Constraint %s: sense %s, RHS=%f" % (cnstr.ConstrName, cnstr.Sense, cnstr.RHS))
row = model.getRow(cnstr)
for k in range(row.size()):
print("Variable %s, coefficient %f" % (row.getVar(k).VarName, row.getCoeff(k))
您也可以将其调整为二次约束。
【讨论】: