Gurobi+Python(无需申请许可证,pip光速安装)

Gurobi+Python(无需申请许可证,pip光速安装)

使用pip 安装 gurobipy


提示:如果只希望在python中使用gurobi,则不需要申请许可证,直接pip安装即可。


前言

本篇文章会提供两种方法安装gurobipy。分别是
(1)直接pip install gurobipy;
(2)安装whl文件。


提示:以下是本篇文章正文内容。

一、Pip直接安装

最直接了当的方式,直接用pip命令安装gurobipy,命令如下

pip install gurobipy

如果直接pip安装太慢,可以使用下一种方案:安装whl文件;
或者可以考虑换源(建议从其他博客查看如何换镜像源)。

注意:该python库名称叫做gurobipy,而不是gurobi

二、安装Whl文件

1.在网站中,手动下载whl文件

网站如下::
https://pypi.org/project/gurobipy/#files

whl文件所在网站
下载whl文件的时候,要注意Python版本和个人所使用的系统。(可以上其他博客了解,如何查看Python版本)

whl文件描述
如上图所示,下载好的whl文件如上。

2.pip命令安装whl文件

使用pip命令安装刚刚下载好的whl文件,命令如下

pip install D:\gurobipy-10.0.1-cp38-cp38-win_amd64.whl

值得注意的是:“install"后面可以接"绝对路径”,也可以接"相对路径"。在此处,这里为绝对路径。我的whl文件放在D盘的下面。

这样就下好了gurobipy,可以用如下命令检验一下。

from gurobipy import *

总结

提示:这里对文章进行总结:

本篇文章提供了两种安装gurobipy的方法,分别是:
(1)直接pip;
(2)安装whl文件。
安装完成后,可以使用from gurobipy import *来试验是否能正常使用gurobipy。

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
以下是使用GurobiPython求解双目标线性规划的示例代码: ```python import gurobipy as gp # 创建模型 model = gp.Model('bilevel_problem') # 创建变量 x1 = model.addVar(lb=0, ub=1, vtype=gp.GRB.CONTINUOUS, name='x1') x2 = model.addVar(lb=0, ub=1, vtype=gp.GRB.CONTINUOUS, name='x2') y1 = model.addVar(lb=0, ub=gp.GRB.INFINITY, vtype=gp.GRB.CONTINUOUS, name='y1') y2 = model.addVar(lb=0, ub=gp.GRB.INFINITY, vtype=gp.GRB.CONTINUOUS, name='y2') # 创建约束条件 constr1 = model.addConstr(2*x1 + x2 <= y1, name='constr1') constr2 = model.addConstr(x1 + 2*x2 <= y2, name='constr2') # 定义目标函数 model.setObjective(y1 + y2, gp.GRB.MINIMIZE) # 创建子问题 submodel1 = gp.Model('subproblem1') submodel2 = gp.Model('subproblem2') # 创建子问题变量 subx1 = submodel1.addVar(lb=0, ub=1, vtype=gp.GRB.CONTINUOUS, name='subx1') subx2 = submodel1.addVar(lb=0, ub=1, vtype=gp.GRB.CONTINUOUS, name='subx2') suby1 = submodel1.addVar(lb=0, ub=gp.GRB.INFINITY, vtype=gp.GRB.CONTINUOUS, name='suby1') submodel1.update() subx1 = submodel2.addVar(lb=0, ub=1, vtype=gp.GRB.CONTINUOUS, name='subx1') subx2 = submodel2.addVar(lb=0, ub=1, vtype=gp.GRB.CONTINUOUS, name='subx2') suby2 = submodel2.addVar(lb=0, ub=gp.GRB.INFINITY, vtype=gp.GRB.CONTINUOUS, name='suby2') submodel2.update() # 创建子问题约束条件 subconstr1 = submodel1.addConstr(2*subx1 + subx2 <= suby1, name='subconstr1') submodel1.setObjective(suby1, gp.GRB.MAXIMIZE) subconstr2 = submodel2.addConstr(subx1 + 2*subx2 <= suby2, name='subconstr2') submodel2.setObjective(suby2, gp.GRB.MAXIMIZE) # 添加双层问题约束条件 model.addConstr(suby1 <= y1, name='subconstr1') model.addConstr(suby2 <= y2, name='subconstr2') # 求解模型 model.optimize() # 输出结果 print('x1=', x1.x) print('x2=', x2.x) print('y1=', y1.x) print('y2=', y2.x) ``` 在上面的代码中,我们定义了四个变量和两个约束条件,然后为目标函数设置了两个目标。接下来,我们创建了两个子问题,并分别定义了它们的变量和约束条件。然后,我们将子问题的解添加到双层问题的约束条件中,并使用 `optimize()` 方法求解模型。最后,我们输出了模型的解。 需要注意的是,双目标线性规划具有较高的计算复杂度和较多的局限性,需要根据具体问题进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值