快速上手:在 Python 环境中安装与配置 Gurobi
快速上手:在 Python 环境中安装与配置 Gurobi
一、Gurobi简介
Gurobi 是由美国 Gurobi Optimization 公司开发的一款高性能商业数学优化求解器,广泛应用于学术研究与工业领域。它能够高效求解以下类型的优化问题:
- 线性规划(LP)
- 整数规划(IP)
- 混合整数规划(MIP)
- 二次规划(QP)
- 二次约束规划(QCP)
- 非线性规划(部分支持,如含对数、指数、三角函数、分段函数等)
主要特点:
- 求解速度快、精度高:在多项第三方评测中性能领先,曾于2010年超越 CPLEX 成为行业标杆。
- 多语言支持:提供 Python、C/C++、Java、.NET、MATLAB、R 等接口,其中 Python 接口(gurobipy)最为常用。
- 跨平台兼容:支持 Windows、Linux 和 macOS。
- 学术免费:高校师生可申请免费学术许可证。
- 广泛应用:涵盖物流调度、生产计划、金融投资组合、能源系统、机器学习等多个领域。
简言之,Gurobi 是当前最先进、最高效的数学优化工具之一,特别适合求解大规模复杂决策优化问题。
二、前置工作
- 要在内网的服务器上配置Gurobi环境,需要两台电脑先配置好远程连接:Windows RDP远程桌面连接(超详细)
- 配置好Python环境(Python或者Anaconda):Anaconda下载安装及老版本选择(超详细)
- 安装编辑器PyCharm(其他的编辑器VSCode):Pycharm安装教程
注意:PyCharm使用Anaconda与Python类似。
三、Gurobi下载安装
3.1 Gurobi下载
进入Gurobi软件页面(需要注册登录):gurobi-software
根据自己的需要选择对应的版本,这里我们使用的是Gurobi-12.0.0版本(当然下载最新版本也可以,不过需要注意Gurobi的版本一致),属于历史版本。
历史版本下载可以参考:【实践】如何下载Gurobi的历史版本

3.2 Gurobi安装
双击下载好的软件:

等待一会,点击Next:

接受协议,点击Next:

根据自己的情况修改安装路径(C盘比较大的话就不用动了):

点击Install进行安装:

安装完成,点击Finsh:

安装完成后,会有一个弹窗,点击YES后会重启电脑:

四、Gurobi许可证申请激活
4.1 在连接校园网的情况下申请许可证!
4.1.1 Named-User Academic(推荐使用)
登录后点击My account或者Your gurobi licenses——Request——Named-User Academic

同意协议,提交请求:

Gurobi 许可证创建成功:

在计算机连接互联网的情况下,Win+R 输入 cmd 进入到命令提示符窗口。在命令行下使用 cd 命令进入到 Gurobi 安装目录/win64/bin 目录下(如图),然后输入使用激活码,出现最下面红框内容代表激活成功。

4.1.2 Online Course(可离线使用,有规模限制)
登录后点击My account或者Your gurobi licenses——Request——Online Course

Gurobi 许可证创建成功:

自动激活的话和上面 Name-User Academic一致。
这里选择手动激活:
在Gurobi安装路径中找到grbprobe.exe程序:

运行grbprobe以生成有关系统的报告:

点击手动生成:

会出现一个表单,复制上面grbprobe生成的信息,点击提交:

提交后会下载许可证:

五、安装Gurobipy
5.1 在线安装
使用pip或者conda命令进行安装,会自动选择合适的版本。
pip install gurobipy conda config --add channels "http://conda.anaconda.org/gurobi" conda install gurobi 5.2 离线安装1
确定好python的安装位置:

win+Q,搜索cmd,并且右键管理员运行

进入gurobi安装根目录的win64目录,如:C:\gurobi1001\win64,使用命令行安装:
C:\ProgramData\anaconda3\python.exe setup.py install安装成功:

5.3 离线安装2
进入Gurobipy的官网:

点击Release history,可以找到历史版本。因为Gurobi 的主版本号与其 Python 接口 gurobipy 的版本号是一致的,所以我们选择12.0.0版本的gurobipy:

根据自己的Python版本和平台,选择对应的文件进行下载:

将文件复制到服务器上:

通过cd命令进入到该文件目录,安装Gurobi扩展包:
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 inrange(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,清除注册表后也无法卸载。
后面参考:
卸载或安装Git出现Invalid drive错误的解决方案【简记】
先创建一个虚拟E盘,把Gurobi进行卸载,再把虚拟E盘删了,用CCleaner清理一遍注册表,就可以重新安装了