Gurobi简介
Gurobi是由美国 Gurobi Optimization 公司开发新一代大规模优化器,支持的模型类型包括:
(1)连续和混合整数线性问题
(2)凸目标或约束连续和混合整数二次问题
(3)非凸目标或约束连续和混合整数二次问题
(4)含有对数、指数、三角函数、高阶多项式目标或约束,以及任何形式的分段约束的非线性问题
(5)含有绝对值、最大值、最小值、逻辑与或非目标或约束的非线性问题
为此,我们常用Gurobi来求解上述模型,一般运行在服务器上,本文将进一步介绍Gurobi在服务器上的认证、安装和运行。
Gurobi本质是方便轻巧的接口,支持 C++, Java, Python, .Net, Matlab 和R,内存消耗少,以下以Python的场景下为例进行介绍。
Gurobi认证
Gurobi是一款商业优化器,进行使用需要获得其公司的授权。其许可申请包括学术许可和商业许可。
商业许可需要联系Gurobi官方客服并进一步交互以获得权限;而学术许可提供自助免费认证,提交申请资料,申请免 IP 验证激活码。学术许可一般情况下当天就可以获得,最长不超过二个工作日,具体步骤见官方说明Gurobi 免IP验证学术许可申请方法[1]
申请成功后Gurobi官方会邮件回复并提供密钥,用于激活权限。
Gurobi安装
在服务器搭建Anaconda
通过Python运行Gurobi,需要事先在服务器上配置Python环境,为方便管理及结合个人习惯,笔者采用Anaconda。如果想要采用Pycharm等IDE也是可以的,Gurobi只是作为Python的一个拓展包。
首先下载对应版本,国内可采用清华源进行下载,网址如下:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
找到最新的适合Linux服务器的。
右键获取链接
在服务器Linux终端用wget命令+获取的链接,下载Anaconda
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2022.05-Linux-x86_64.sh
下载完毕后,会得到一个Anaconda对应版本的sh文件,bash+下载的Anaconda文件
bash Anaconda3-2022.05-Linux-x86_64.sh
之后不断回车,然后不断yes,直到结束,则安装成功
配置环境变量
source ~/.bashrc
为方便实验管理,可以创建虚拟环境,如下述指令指定环境名为seg,指定Python版本为3.7:
conda create -n seg python=3.7
启用自己的虚拟环境,seg为虚拟环境的名字:
conda activate seg
若想返回base环境
deactivate
想删除环境,则可通过下述指令实现,name为你想删的环境名。
conda env remove -n name
安装并激活Gurobi
(1)首先下载Gurobi
conda install -c gurobi gurobi
激活Gurobi 通过学术申请,获得免费Gurobi权限,Gurobi通过邮箱发送密钥,先进入所在的虚拟环境,在命令行中复制密钥回车即可激活
验证是否激活:在Python环境中,import gurobi,如果没有报错则已经成功激活Gurobi
(2)升级Gurobi 不指定版本,默认采用最新版本:
conda update gurobi
若要求指定版本,如下述,9.1.2为版本号:
conda install gurobi=9.1.2
上一条:Python + Gurobi 求解运输问题入门
下一条:gurobi安装教程