QQ登录

只需要一步,快速开始

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

Gurobi 全局优化器

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

1171

主题

4

听众

2780

积分

该用户从未签到

跳转到指定楼层
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

# I% E* g8 u% A6 K
激活安装
* E( I/ m2 y& K- l9 }/ ~5 i
激活
使用教育邮箱申请https://zhuanlan.zhihu.com/p/212191049免费使用
中文官网:http://www.gurobi.cn/

+ [4 g3 ~2 O! M. o7 _1 e
安装
打开Anaconda Prompt,并输入以下两条指令:
conda config --add channels http://conda.anaconda.org/gurobiconda install gurobi
即可在anaconda中完成Gurobi包的下载安装。

8 T% J, P1 l6 p: e4 `
使用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() 返回模型中的所有变量

& U0 i0 j0 Q# J$ y$ I% k2 j; @下面是Gurobi的代码示例:
/ |) C9 |6 z: {& H: n0 I, n. o% \7 L& A% r# }) u4 ]$ b

% J2 y1 m1 M- ~' ]/ w' R) S
1 K! I# D, R1 S$ F7 }$ Z! N' B7 K. u# L  ]. y( Q% n
2 {: G! f7 j  a  d' f. Z' g

约束优化.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-23 02:52 , Processed in 0.422068 second(s), 54 queries .

回顶部