[python]gurobi安装和配置

一、什么是gurobipy

gurobipy是一种Python接口,用于与商业数学软件Gurobi中的C ++库进行通信。gurobipy通过提供高层次的Python方法,使得使用gurobipy更加容易,并且在遵循Gurobi许可证条款的前提下可以免费使用。

二、安装gurobipy

1. 未完成配置的报错
2. 安装配置步骤
第一步 下载

官网注册学术版账号并根据电脑操作系统下载gurobi。

第二步 安装

点击下载的.msi文件,进行安装,点击下一步即可,安装位置可以根据需要修改,最后注意是否重启。

第三步获取许可证

可参考**Gurobi 免IP验证学术许可申请方法。**

材料有两个:

其一, 个人申请表;其二,学信网的学籍在线验证报告,个人申请表需要自行填写并电子签名,学籍验证报告申请一个即可。

准备好材料之后发送到help@gurobi.cn。

官方邮件回复很快,在邮件中获取激活码即可:安装软件后,在计算机连接互联网的情况下,输入 cmd 进入到命令提示符窗口。在命令行下使用 cd 命令进入到 Gurobi 安装目录/win64/bin 目录下,使用激活码。

第四步 激活

直接进入目录输入cmd即可,输入激活码。

最终提示:info : License XXXXXX written to file C:\Users\...,即为激活成功。

第五步 Python配置

将Gurobi安装到python库中,先进入安装目录:

输入cmd进入命令提示符窗口,输入 python setup.py install 安装即可。

三、使用gurobipy

1. 导入gurobipy
复制代码
import gurobipy as gb
2. 创建模型

可以将模型的名称作为参数传递给Model()方法。

复制代码
m = gb.Model("优化问题")
3. 定义变量
  • lb:变量的下限(如果存在)

  • ub:变量的上限(如果存在)

  • vtype:变量类型(GB.GRB.CONTINUOUS,GB.GRB.BINARY,或GB.GRB.INTEGER)

  • name:为变量设置名称

    x = m.addVar(lb=0, ub=1, vtype=gb.GRB.BINARY, name="x")

4. 目标函数

将变量和系数添加到目标函数中,将创建一个带有x和y系数的目标函数,并将其设置为"最大化"模式。目标函数包含每个变量的系数,可以通过更改系数来修改目标函数。

复制代码
m.setObjective(x + 2*y, gb.GRB.MAXIMIZE)
5. 约束条件

可以使用addConstr()方法添加线性约束条件,将创建一个约束条件(x + 2*y <= 10),并将其命名为"约束条件"。

复制代码
m.addConstr(x + 2*y <= 10, "约束条件")
6. 模型求解

使用optimize()方法求解模型,optimize()方法在内部调用Gurobi Optimizer,并返回解决方案状态。

复制代码
m.optimize()

官方安装使用指导文档

官方FAQS

官方文档


参考博文:

Gurobi许可证获取并部署到Pycharm中

如何在python中安装Gurobi(详细教程)

Python安装gurobipy用法介绍如何在python中安装Gurobi(详细教程)

相关推荐
我喜欢山,也喜欢海1 小时前
Java和go在并发上的表现为什么不一样
java·python·golang
Wenzar_2 小时前
**零信任架构下的微服务权限控制:用Go实现基于JWT的动态访问策略**在现代云原生环境中,
java·python·微服务·云原生·架构
zhangfeng11332 小时前
多台服务器同时训练llamfactory 大语言模型 国家超算中心 Slurm 是目前全球最主流的开源、高性能计算(HPC)集群资源管理与作业调度系统
服务器·语言模型·开源
不是起点的终点2 小时前
【实战】Python 一键生成数据库说明文档(对接阿里云百炼 AI,输出 Word 格式)
数据库·python·阿里云
不会写DN3 小时前
其实跨域问题是后端来解决的? CORS
服务器·网络·面试·go
2301_813599554 小时前
Go语言怎么做秒杀系统_Go语言秒杀系统实战教程【实用】
jvm·数据库·python
--fancy8 小时前
股票预测情感分析研究案例分析
python
shughui8 小时前
PyCharm 完整教程(旧版本卸载+旧/新版本下载安装+基础使用,2026最新版附安装包)
ide·python·pycharm
爱学习的小囧8 小时前
ESXi 8.0 原生支持 NVMe 固态硬盘吗?VMD 配置详解教程
linux·运维·服务器·esxi·esxi8.0
坚持就完事了8 小时前
Linux中的变量
linux·运维·服务器