首页 > 解决方案 > 使用 pybnb 包进行分支和绑定

问题描述

我想使用分支定界解决以下类型的整数线性规划问题:
max(Ax)
st Cx<b
下面给出了一个示例,使用 Pyomo 解决。非常坦率的 -

import pyomo.environ as pmo
from pyomo.opt import SolverFactory

M = pmo.ConcreteModel()
N = [1, 2]
M.x = pmo.Var(N, bounds=(0, None), domain=pmo.PositiveIntegers)
M.o = pmo.Objective(expr=100*M.x[1] + 150*M.x[2], sense=pmo.maximize)
M.c1 = pmo.Constraint(expr=8000*M.x[1] + 4000*M.x[2] <= 40000)
M.c2 = pmo.Constraint(expr=15*M.x[1] + 30*M.x[2] <= 200)
model = M
solver = SolverFactory('glpk')
solver.solve(model, report_timing=True, tee=True)

如何使用 Pybnb 包而不是使用 Pyomo 解决相同的问题?
这个想法是解决线性问题,在上面的例子中,x[1]=2.22 和 x[2]=5.55 并以 x[2]=<5 或 >=6 等开始分支。但是通过实现pybnb 我不清楚。
谢谢您的帮助

标签: pythonbranch-and-bound

解决方案


推荐阅读