Python 环境下 Gurobi 安装与配置指南
Gurobi 优化求解器的功能特点及在 Python 环境下的完整安装流程。内容涵盖 Gurobi 软件的安装步骤、学术许可证的申请与激活方法(包括在线和离线模式)、gurobipy 包的 pip/conda 安装方式,以及通过测试代码验证环境是否可用的方法。此外,还总结了常见故障排查经验,如驱动盘符变更导致的卸载失败问题。适合需要在 Python 中部署数学优化模型的用户参考。

Gurobi 优化求解器的功能特点及在 Python 环境下的完整安装流程。内容涵盖 Gurobi 软件的安装步骤、学术许可证的申请与激活方法(包括在线和离线模式)、gurobipy 包的 pip/conda 安装方式,以及通过测试代码验证环境是否可用的方法。此外,还总结了常见故障排查经验,如驱动盘符变更导致的卸载失败问题。适合需要在 Python 中部署数学优化模型的用户参考。

Gurobi 是由美国 Gurobi Optimization 公司开发的一款高性能商业数学优化求解器,广泛应用于学术研究与工业领域。它能够高效求解以下类型的优化问题:
主要特点:
简言之,Gurobi 是当前最先进、最高效的数学优化工具之一,特别适合求解大规模复杂决策优化问题。
注意:PyCharm 使用 Anaconda 解释器与原生 Python 类似。
进入 Gurobi 软件页面(需要注册登录):https://www.gurobi.com/downloads/gurobi-software/
根据自己的需要选择对应的版本,建议下载最新版本,但需注意 Gurobi 主版本号与其 Python 接口 gurobipy 的版本号需保持一致。
使用 pip 或者 conda 命令进行安装,会自动选择合适的版本。
pip install gurobipy
conda config --add channels "http://conda.anaconda.org/gurobi"
conda install gurobi
C:\ProgramData\anaconda3\python.exe setup.py install
python -m pip install --find-links gurobipy-12.0.0-cp312-cp312-win_amd64.whl --no-index gurobipy
进入 python 后新建测试 py 文件(注意不要命名为 gurobipy.py),测试代码如下:
"""
3000 约束量的规划求解,以验证证书是否为免费限制证书
免费限制证书:约束量<=1000
"""
import gurobipy as gp
from gurobipy import GRB
# 创建模型
model = gp.Model("3000_constraints")
# 添加变量
num_vars = 3000
vars = model.addVars(num_vars, vtype=GRB.CONTINUOUS, name="x")
# 添加约束(约束量 3000)
for i in range(3000):
# 示例:每个约束为 x_i <= 1
model.addConstr(vars[i] <= 1, name=f"constraint_{i}")
# 添加目标函数(最大化总和)
model.setObjective(sum(vars), GRB.MAXIMIZE)
# 求解
model.optimize()
# 输出结果
if model.status == GRB.OPTIMAL:
print("最优解:", model.objVal)
驱动盘符变更导致卸载失败
如果软件以前安装在 E 盘,后来 E 盘移除,删除文件夹重新安装时可能出现 Invalid Drive: E: 错误。即使尝试卸载也会报错。此时可使用 CCleaner 清除注册表,但可能无法彻底解决。
解决方案:先创建一个虚拟 E 盘,把 Gurobi 进行卸载,再把虚拟 E 盘删了,用 CCleaner 清理一遍注册表,就可以重新安装了。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online