QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1485|回复: 0
打印 上一主题 下一主题

Gurobi 全局优化器

[复制链接]
字体大小: 正常 放大

1171

主题

4

听众

2781

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-8-24 11:29 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
Gurobi 全球用户超过2600家,广泛应用在金融、物流、制造、航空、石油石化、商业服务等多个领域,为智能化决策提供了坚实的基础,成为上千个成熟应用系统的核心优化引擎。
Gurobi 是全局优化器,支持的模型类型包括:
1)连续和混合整数线性问题
2)凸目标或约束连续和混合整数二次问题
3)非凸目标或约束连续和混合整数二次问题
4)含有对数、指数、三角函数、高阶多项式目标或约束,以及任何形式的分段约束的非线性问题
5)含有绝对值、最大值、最小值、逻辑与或非目标或约束的非线性问题
Gurobi 技术优势:
1)可以求解大规模线性问题,二次型问题和混合整数线性和二次型问题
2)支持非凸目标和非凸约束的二次优化
3)支持多目标优化
4)支持包括SUM, MAX, MIN, AND, OR等广义约束和逻辑约束
5)支持包括高阶多项式、指数、三角函数等的广义函数约束
6)问题尺度只受限制于计算机内存容量,不对变量数量和约束数量有限制
7)采用最新优化技术,充分利用多核处理器优势。支持并行计算
8)提供了方便轻巧的接口,支持 C++, Java, Python, .Net, Matlab 和R,内存消耗少
9)支持多种平台,包括 Windows, Linux, Mac OS X
. \8 _! P7 @) Z) B
激活安装
- V0 A) G, _( e8 E
激活
使用教育邮箱申请https://zhuanlan.zhihu.com/p/212191049免费使用
中文官网:http://www.gurobi.cn/
! @. R' a5 q, l  ~3 K- l
安装
打开Anaconda Prompt,并输入以下两条指令:
conda config --add channels http://conda.anaconda.org/gurobiconda install gurobi
即可在anaconda中完成Gurobi包的下载安装。

6 z$ z  k) D7 {& q( Y, i, x: U
使用demo
官方文档:https://www.gurobi.com/documentation/9.1/quickstart_windows/cs_simple_python_example.html
· Model(name=“”) name是模型的名称, 返回值是一个model对象,初始情况下没有变量和约束条件 调用方式:model1 = Model()
· Model.addVar(lb, ub, obj, vtype, name,column) lb是下限,ub是上限,obj是目标的优化系数,vtype是变量类型,name是变量的名称,column是变量参与的约束以及优化系数。 所有的参数都是可选的,不指定就是默认值 变量的类型有GRB.CONTINUOUS, GRB.BINARY, GRB.INTEGER, GRB.SEMICONT, or GRB.SEMIINT
· Model.addConstr( lhs, sense=None, rhs=None, name="" ) lhs是约束的右侧,rhs是约束的左侧,sense是约束的类型,有(GRB.LESS_EQUAL, GRB.EQUAL, or GRB.GREATER_EQUAL name是约束的名称
· Model.addConstrs( generator, name="" ) generator是Python表达式。这种表达方式比 2 直观一点,返回值是tupledict类型的 例:model.addConstrs(x + x[j] <= 1 for i in range(5) for j in range(5)) 注意:generator表达式只能由一个比较关系。
· Model.update() 对修改了的模型进行更新 Model.setObjective(expr, sense) 设置模型的优化函数 expr是优化目标表达式,sense是优化类型,优化类型有GRB.MINIMIZE和GRB.MAXIMIZE,如果省略sense可以使用ModelSense函数来指定优化的类型。
· Model.write(filename) 将优化模型,解向量,基向量,起始向量或参数设置写入文件,文件的类型有.mps, .rew, .lp .rlp,也可以只保存的模型的一部分,详见refman
· Model.getVars() 返回模型中的所有变量

1 X: T8 o' l  {: ]# ?4 U! Z下面是Gurobi的代码示例:$ J) L8 z9 O/ y1 B
8 P* j$ N8 S1 W& [

$ L1 L$ {. D9 T* @. j$ g, r# @  r" g5 A; ~/ m7 a& Z5 t

5 R2 o4 J" h7 l8 n5 m

; O+ H/ l5 R6 Y4 u- D0 a6 }

约束优化.rar

51.24 KB, 下载次数: 0, 下载积分: 体力 -2 点

售价: 5 点体力  [记录]  [购买]

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-6-24 09:36 , Processed in 0.380349 second(s), 54 queries .

回顶部