一、Gurobi 是什么?
Gurobi 是目前工业界与学术界最顶级的商业优化求解器之一,核心特点可以概括为:
极快 + 极稳 + 极准
在 CVXPY 中,Gurobi 主要用于求解:
线性规划(LP)
二次规划(QP)
混合整数规划(MILP)
混合整数二次规划(MIQP)
部分二阶锥问题(有限支持)
二、Gurobi 在 CVXPY 中的“定位”
如果你的模型是 LP / QP / MIP,并且你追求“速度 + 全局最优 + 高精度”,那 Gurobi 是天花板。
求解器对比:

三、Gurobi 能解什么类型的问题?




四、Gurobi 的核心算法思想
1️⃣ 对连续问题:内点法 + 单纯形法
Primal Simplex
Dual Simplex
Barrier Method(内点法)
Gurobi 会:自动选择最合适的算法,你不用指定。
2️⃣ 对整数问题:分支定界(Branch & Bound)
核心逻辑:
先忽略整数约束(松弛问题)
解连续问题
若变量非整数 → 分支
剪枝(cutting planes)
搜索全局最优
Gurobi 的强项在于:
剪枝极强
启发式极多
并行能力一流
五、 CVXPY 中求解整数问题推荐使用 Gurobi

GLPK_MI 可以求解教学中问题、小规模问题,复杂问题、工业中的实际问题推荐使用Gurobi 。
六、 CVXPY + Gurobi 的一个整数规划案例

#author: chengd
import cvxpy as cp
x = cp.Variable(2, integer=True)
objective = cp.Maximize(x[0] + x[1])
constraints = [
2*x[0] + x[1] <= 4,
x >= 0
]
prob = cp.Problem(objective, constraints)
prob.solve(solver=cp.GUROBI)
print("最优解 x =", x.value)
print("最优目标值 =", prob.value)
上一条:gurobi怎么样
下一条:gurobi是什么软件