数学规划优化器包括免费开源和商业二大类,虽然为数众多,但性能参差不齐,可以求解的问题类型、应用广度和深度也都不相同。
应用最广泛的数学规划问题类型包括
l 混合整数线性规划(MILP)
l 混合整数二阶锥规划(MISOCP)
l 混合整数二次凸规划(凸MIQP/MIQCQP)
l 混合整数二次非凸规划(非凸MIQP/MIQCQP)
l 混合整数非线性规划(包括指数、对数、三角函数、高阶多项式等)
Gurobi 是唯一一个可以适用上述全部类型,并且在每一个类型中都排名第一,并且大幅度领先第二名的优化器。第三方评比报告做出了明确说明。
以下列举了在商业优化器中排名领先的几个优化器在各个类别上的评比。有些优化器在2016年、2018年评比之后退出性能评比。未标注年份的数据为最新2021年评比结果。数值为1表明速度最快(基准速度),而其他数值表明性能变慢的倍数。最后一个类别(混合整数非线性)没有第三方评比结果,只列出优化器是否具备该功能。
| 混合整数线性规划(MILP) | 混合整数二阶锥规划(MISOCP) | 混合整数二次凸规划(凸MIQP/MIQCQP) | 混合整数二次非凸规划(非凸MIQP/MIQCQP) | 混合整数非线性规划(包括指数、对数、三角函数、高阶多项式等) |
Gurobi | 1 | 1 | 1 | 1 | 支持 |
Cplex | 1.49 (2018年数据,后退出评比) | 4.82 (2018年数据,后退出评比) | 2.9 (2018年数据,后退出评比) | 不支持 | 不支持 |
Xpress | 1.57 (2018年数据,后退出评比) | 1.67 (2018年数据,后退出评比) | 3.07 (2018年数据,后退出评比) | 不支持 | 不支持 |
SCIP | 7.98 | 46.8 | 12.5 | 17.4 | 不支持 |
COPT | 5.41 | 不支持 | 不支持 | 不支持 | 不支持 |
BARON | 不支持 | 不支持 | 5.42 | 22.6 | 支持 |
MOSEK | 9.66 (2016年数据,后退出评比) | 12.8 | 10.2 | 不支持 | 不支持 |
注: 评比中采用了 Shifted Geometric Mean 方法,将差异过大的优化时间进行缩小折算,因此实际运行时间的领先倍数更优于表格中倍数,建议用户亲自测试。 |
从以上报告可以看出
(1) Gurobi 可以求解的问题类型最多,在每个类型中均排名第一,同时领先第二名的优势比较明显。适用问题类型广、求解效率高的优化器可以更能胜任广泛和复杂的科研和应用。
(2) 有些优化器在不断研发过程中逐渐落后而退出,但Gurobi的研发团队不断扩大,持续开发能力不断提升,为后续科研工作的顺利开展提供了坚实的保障。
Gurobi 不但在优化广度和速度上保持领先优势,并且在开发和部署上也提供了领先的辅助功能,让Gurobi成为稳定、可靠、高效的工具,大大缩短了创造价值的时间和降低了创造价值的难度。
数学规划优化器评价指标: |
1.支持的问题类型广泛 |
2.求解速度优良(经过大量测试数据的验证) |
3.性能稳健,特别对于有数值问题的模型稳定性高 |
4.技术支持及时有效 |
5.软件开发团队持续开发能力强,人员不断扩充 |
6.总成本(软件费用、人员费用、时间费用、维护费用等)适合 |
7.配套功能完备,包括但不限于: |
软件运行稳定,后期维护工作简单 | 提供参数自动调优功能 |
提供回调(Callback)功能,可以在搜索中融入个性化逻辑 | 提供连续模型和混合整数模型的敏感度分析 |
提供优化质量分析 | 支持多目标优化 |
支持矩阵操作 | 提供多解解池(Solution Pool)功能 |
方便和其他算法融合 | 提供搜索自由程度和精度控制的各种参数 |
支持行业通用的格式文件 | 先进的内存管理 |
支持并行计算、分布式计算、中台集群计算、云计算 | 问题尺度只受限制于计算机内存容量,不对变量数量和约束数量有限制。 |
提供了方便轻巧的接口,支持 C++, Java, Python, .Net, Matlab 和R,内存消耗少 | 支持多种平台,包括 Windows, Linux, Mac OS X |
上一条:Gurobi 为什么是科研和应用的最佳选择
下一条:Gurobi安装和使用