数学建模社区-数学中国

标题: Gurobi 全局优化器 [打印本页]

作者: 2744557306    时间: 2023-8-24 11:29
标题: Gurobi 全局优化器
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
% S* G9 h7 o" R. [7 J. l
激活安装7 Z3 u  J; f9 D2 a1 p" E8 k* F
激活
使用教育邮箱申请https://zhuanlan.zhihu.com/p/212191049免费使用
中文官网:http://www.gurobi.cn/
1 b9 p& c3 _* }4 e# P: P
安装
打开Anaconda Prompt,并输入以下两条指令:
conda config --add channels http://conda.anaconda.org/gurobiconda install gurobi
即可在anaconda中完成Gurobi包的下载安装。
! U" W2 y# M/ K, X/ h
使用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() 返回模型中的所有变量
, u! Q" B" n% X; C8 u  ~: @5 A( D
下面是Gurobi的代码示例:/ |% x; a2 Q2 D7 w0 ?9 t) }- a

; d* S3 U$ ?2 E+ z: t6 ?  U( e8 V3 x: C* o- ~  x) j7 y5 {" g/ o
: ~- n: G" t* ~" v& H. S+ W5 V

  N( i" F# X+ I

2 [1 T" z. h2 y+ @  e

约束优化.rar

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

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






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5