【问题标题】:Gurobi: get LHS (left-hand side) of a constraintGurobi:获取约束的 LHS(左侧)
【发布时间】:2021-08-13 17:39:47
【问题描述】:

正如HERE(或HERE)所写,人们可以得到这样一个约束的意义()和RHS(右手边):

for cnstr in model.getConstrs():
    print(cnstr.sense, cnstr.rhs)

如何获得约束中的系数?我检查了变量和模型的属性,但没有找到类似的东西。

【问题讨论】:

    标签: python constraints linear-programming gurobi


    【解决方案1】:

    好的,似乎一种方法是使用 Model.getCoeff() 函数:

    for cnstr in pre.getConstrs():
        for var in pre.getVars():
            print(pre.getCoeff(cnstr, var), end=" ")
    

    【讨论】:

      【解决方案2】:

      执行此操作的最佳方法是从 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))
      

      您也可以将其调整为二次约束。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-31
        • 2020-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-26
        • 2022-06-15
        • 1970-01-01
        相关资源
        最近更新 更多