安装 Gurobi 优化器¶
本文记录了 Mac 安装 Gurobi 优化器的过程。
下载安装包¶
到https://www.gurobi.com/downloads/gurobi-software/下载安装包:
申请学术许可¶
根据http://www.gurobi.cn/NewsView1.Asp?id=4的说明,填写申请表并签名,并同学籍验证报告一起发送到指定邮箱。我是晚上申请的,第二天一早就收到了许可证书。
安装学术许可证书¶
在终端输入:
会要求输入许可证书,输入正确后会生成一个名为 gurobi.lic
证书文件。根据提示,在 Mac 下,需要将证书文件放在 /Library/gurobi/
下。
在 Python 中使用 Gurobi¶
为了在 Python 中使用 Gurobi,需要在 Conda 环境中安装 Gurobi 的包。到这里找到与 Gurobi 版本和 Python 版本对应的安装包并下载。
建议在新建一个 Conda 环境。例如我将这个环境取名为 gurobi
,并安装 3.9 版本的 Python:
再将下载的文件安装到环境中:
测试是否安装成功¶
\[
\begin{eqnarray}
\text{minimize} && 2x_1 &+& 3x_2 &+& 3x_3 &+& x_4 &-& 2x_5 & \\
\text{subject to}&& x_1 &+& 3x_2 & & &+& 4x_4 &+& x_5 & =2 \\
&& x_1 &+& 2x_2 & & &-& 3x_4 &+& x_5 & =2 \\
&-& x_1 &-& 4x_2 &+& 3x_3 & & & & & =1 \\
&&x_1,&\cdots,&x_5&\geq 0.
\end{eqnarray}
\]
Python
c = gp.tuplelist([2, 3, 3, 1, -2])
b = gp.tuplelist([2, 2, 1])
A = gp.tuplelist(
[
[1, 3, 0, 4, 1],
[1, 2, 0, -3, 1],
[-1, -4, 3, 0, 0],
],
)
Python
m = gp.Model("Exercise")
x = m.addVars(
range(5),
vtype=GRB.CONTINUOUS,
name="x",
)
cons = m.addConstrs(
(x.prod(A[i]) == b[i] for i in range(len(b))), name="constrs" # <= >=
)
m.setObjective(x.prod(c), GRB.MINIMIZE)