赞
踩
大规模优化器一般针对问题规模比较庞大,变量和约束数量达到几十万或者以上级别的问题。当前运筹学领域公认主流的大规模优化器中,商业优化器包括 Gurobi, Cplex, Xpress;免费优化器包括 SCIP, CBC, GLPK 等。其中Gurobi有提供学术免费版本,并且现在支持特定广义约束,可以直接输入Min, Max, Abs, 逻辑条件(AND, OR)等约束,而不必人为转换为线性约束。
Gurobi 可以解决的数学问题包括:
假如在在官网申请了学术免费版后进行安装出现以下的一些错误:
ERROR 303: hostname mymachine.mydomain (xx.xx.xx.xx) not recognized as belonging to an academic domain
# 或
ERROR 303: hostname xx.xx.xx.xx (xx.xx.xx.xx) not recognized as belonging to an academic domain
可以申请免ip验证学术许可,具体可以看下:http://www.edgestone-it.com/gurobi.htm
找到gurobi安装目录下的R文件夹下的gurobi_7.0-1.zip。并在R语言中安装此包,便可以进行在R中调用gurobi接口。
gurobi中,只提供了一条函数gourbi
.主要通过两个list进行描述问题。Model描述问题,params描述自定义参量。
其中Model列表中包含以下元素
参数 | 作用 |
---|---|
model$A | 线性约束系数矩阵 |
model$obj | 决策变量(控制变量)系数 |
model$sense | 约束符号,由=, >, <, >=, <=组成 |
model$rhs | 线性约束右端向量 |
model$lb | 求解向量下界 |
model$ub | 求解向量上界 |
model$vtypes | 求解向量的类型,I表示整数,B表示0-1,C表示连续,S表示半连续,N表示半整数次 |
model$modelsense | 设定max,min,默认求解min |
model$start | MIP初始解的设定,当存在是必须为每个变量都设定初始值。你也可以设定一些变量为NA,MIP求解器会尝试去进行填补NA值。(个人理解是设定初始的基本可行解) |
model$vbasis | 变量的状态向量(The variable basis status vector.),为单纯形法提供一个较好的起点。进行设置时,需要对变量都进行设置。(个人理解是非基变量的价值系数子向量) |
model$cbasis | 约束的状态向量(The constraint basis status vect |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。