Gurobi (gurobipy)
Gurobi 也是一款顶级的商业优化求解器,与 CPLEX 并驾齐驱,以其卓越的性能和易用性受到用户的青睐。gurobipy是 Gurobi提供的 Python 接口,方便 Python 用户使用 Gurobi 求解器。
高性能商业求解器:求解速度快,鲁棒性强。
易于使用:Python 接口友好,建模方便。
功能丰富:支持线性规划、混合整数规划、二次规划、锥优化等。
广泛应用于各领域:在金融建模、物流优化、制造业等领域广泛应用。
适用场景:大规模、高难度、对求解性能要求极高的优化问题,尤其在需要快速可靠求解的场景。
注意:Gurobi 也是商业软件,需要购买许可证,但通常对学术研究有免费或优惠许可。
示例代码 (求解简单的线性规划问题):
import gurobipy as gp
try:
# 创建模型实例
model = gp.Model("simple_lp")
# 定义变量
x = model.addVar(vtype=gp.GRB.CONTINUOUS, name="x")
y = model.addVar(vtype=gp.GRB.CONTINUOUS, name="y")
# 设置目标函数 (最大化)
model.setObjective(2*x + y, gp.GRB.MAXIMIZE)
# 添加约束条件
model.addConstr(x + y <= 10, "c0")
model.addConstr(2*x <= 16, "c1")
model.addConstr(2*y <= 12, "c2")
# 求解模型
model.optimize()
# 打印结果
for v in model.getVars():
print('%s = %g' % (v.varName, v.x))
print('Obj: %g' % model.objVal)
except gp.GurobiError as e:
print('Error code ' + str(e.errno) + ": " + str(e))
except AttributeError:
print('Encountered an attribute error')

上一条:docker使用教程
下一条:gurobipy入门指南