Anaconda+gurobi 软件安装与环境配置【Windows环境】
全文分为:
一、Anaconda安装
二、gurobi许可证申请
三、Anaconda中安装gurobi
四、调用与测试
Anaconda是一个很好用的Python集成开发环境,包括Spyder,Jupyter notebook, Pycharm 等工具。合理的使用可以让电脑清爽的应对各种Python和R的程序开发,科学计算,优化求解等问题。
Gurobi是一个强大的求解器,支持C,C++,Java,Python等语言。但其安装与环境配置为人诟病。
本文给出自己在Anaconda中安装Gurobi的过程。为科研中的问题优化求解提供一个清爽易用的开发环境。
一、Anaconda安装
1.1 下载渠道:
官网下载:
https://www.anaconda.com/download/
如果网络较慢,可在清华镜像下载:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
2023年6月下载到的最新的Windows版本为:
Anaconda3-2023.03-1-Windows-x86_64.exe
1.2 安装
一路下一步即可
1.3 更换国内源
国内源可以提高软件包下载速度
打开 Anaconda Navigator (桌面快捷方式 或 开始菜单),启动其中的 CMC.exe(点击Launch启动)
输入以下命令,生成源的配置文件
conda config --set show_channel_urls yes
命令执行后,在 “C:\Users\[用户名]” 目录中,出现名为“.condarc”的文件。
删除该文件内的全部内容。将下列内容粘贴进文件中并保存
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
如下图
即可添加 Anaconda Python 免费仓库。
最后,运行下面的命令清除索引缓存,保证用的是镜像站提供的索引
conda clean -i
二、gurobi许可证申请
许可证申请方法很多。包括但不限于以下方式:
2.1 校园网内申请,申请半年学术许可证
2.1.1 注册
官网注册账号
https://portal.gurobi.com/iam/register/
第一步中,填写邮箱,手机号等信息
第二步中,用途选择Academic,填写自己身份为Research Staff
2.1.2 申请
进入网站,登录
https://portal.gurobi.com/iam/home
选择左侧“Licenses”-"Request" ,类型选择“ACADEMIC”,“Named-User Academic”
得到的系列号为如下类型,将其记录下来:
grbgetkey XXXXXXXX-XXX-XXXX-XXXX-XXXXXXXXXXXX
2.2 邮件申请
http://www.gurobi.cn/NewsView1.Asp?id=4
三、Anaconda中安装gurobi
3.1 创建gurobi环境
打开 Anaconda Navigator (桌面快捷方式 或 开始菜单)
按照下图步骤创建环境。其中name中填写自己想要的环境名称。勾选gurobi所处的python版本
等待完成
3.2 增加gurobi源
回到主页,选择正确的环境,安装并启动 CMC.exe
输入以下命令,
conda config --add channels "http://conda.anaconda.org/gurobi"
3.3 安装gurobi
进入要安装gurobi的conda环境
按照以下步骤安装gurobi。到下图这个步骤时,按y并回车
1.查询自己的虚拟环境
conda info -e
2.进入自己的虚拟环境,your name表示你的虚拟环境名称
conda activate [your name]
3.进入后安装Gurobipy
conda install gurobi
#注:如果不进入选择conda环境,默认在base环境下执行!!!
3.4 安装许可证
仍然处在cmd.exe中,输入刚在申请的序列号
grbgetkey XXXXXXXX-XXX-XXXX-XXXX-XXXXXXXXXXXX
会有步骤需要敲回车
四、调用与测试
选择合适的环境后,anaconda内的Notebook,spyder等都可以调用gurobi了
以下再展示一种或调用方法
4.1 安装pycharm
在以下网站下载pycharm的免费Community Edition,一直下一步就可以安装
https://www.jetbrains.com.cn/pycharm/download/other.html
4.2 打开并调试环境
安装完之后,打开anaconda,就能看到pycharm Community
选择已经安装好gurobi的环境后,点击进入
点击“New Project”以新建项目
需要点击图中位置以使用合适的环境
左侧选conda,右侧选择设置好的环境名称,即可
之后一直下一步,就得到了一个可以调用gurobi的python环境。
4.3 优化问题样例
将下面的代码粘贴进main.py中,如图。特别:注意代码缩进!!!
import gurobipy as gp
from gurobipy import *
m = gp.Model("MIP")
x1 = m.addVar(lb=0,ub=40,vtype=GRB.CONTINUOUS,name='x1')
x2 = m.addVar(vtype=GRB.CONTINUOUS,name= 'x2')
x3 = m.addVar(vtype=GRB.CONTINUOUS,name='x3')
x4 = m.addVar(lb=2,ub=3,vtype=GRB.INTEGER,name='x4')
m.setObjective(x1 + 2*x2 + 3*x3 + x4,GRB.MAXIMIZE)
m.addConstr(-x1+x2+x3+10*x4 <= 20,name='c1')
m.addConstr(x1-3*x2+x3 <= 30,name='c2')
m.addConstr(x2-3.5*x4 == 0,name='c3')
m.setParam('outPutFlag',0)
m.optimize()
if m. status==GRB.Status .OPTIMAL:
print('obj=' ,m.objVal)
for v in m.getVars():
print(v.varName, ':',v.x)
出现优化结果,即说明安装成功