如何解决Google OR 工具:MIP 问题中的绑定常量?
如何找出在使用 Google OR 工具解决的混合整数编程 (MIP) 问题中存在哪些约束?我将所有约束存储在一个列表中,因此在运行 CBC 求解器后我可以访问它们。我正在使用他们的 Python 包装器 pywraplp。
如何找出使用 Google OR 工具解决的 MIP 中存在哪些约束?我将所有约束存储在一个列表中,因此在运行 CBC 求解器后我可以访问它们。我正在使用他们的 Python 包装器 pywraplp。
这是我的代码的简化版本:
from ortools.linear_solver import pywraplp
# here I populate xp,yp,namep and Cp_dict
solver = pywraplp.solver.CreateSolver('CBC')
constraints_all = []
for i,p_name in enumerate(namep):
p_constraint = solver.Constraint(0,solver.infinity())
p_constraint.SetCoefficient(xp[i],-1)
for j in Cp_dict[p_name]:
p_constraint.SetCoefficient(yf[j],1)
constraints_all.append(p_constraint)
objective = solver.Objective()
for x in xp:
objective.SetCoefficient(x,1)
objective.Setmaximization()
status = solver.solve()
# Here I want to check for binding constraints.
有什么想法吗?我在求解器或约束类中都找不到对应的 getter 或函数,而且只为连续问题计算双变量(MIP 不是这种情况)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。