【Gurobi 为什么是科研和应用的最佳选择】
【综合考虑各种原因,Gurobi 决定从2024年8月20日开始,退出 ASU 举办的
Decision Tree for Optimization Software 求解器测评活动。不论是否参与测评,Gurobi
都会一如既往在线性、二次凸,二次非凸,非线性等各种问题类型上追求高速度和高稳定性,继续成为用户可以充分信赖的首选优化产品。Gurobi
鼓励用户用自己的数据全面测试求解器的速度、易用性、稳定性和技术服务能力,真实反映解决问题的实际能力。以下任何测评数据只是历史过往数据的片段,不代表2024年8月20日之后的求解器性能对比。】
Gurobi 追求高速度和高稳定性同步发展。速度和稳定性是优化求解器的二个轮子。二个轮子均衡快速,优化求解才能行稳致远,才能让用户放心地部署在生产环境中。换套数据、改动一下模型,优化结果就会巨大波动,就要重新调整优化参数是不稳定的表现。过大的波动性无法让用户满意。速度和稳定性对于用户同样重要,但对于开发者来说工作量却不一样,实现稳定性的代码量远高于实现速度的代码量,需要的积累和煎熬也更多。Gurobi 内部数千个案例提供了每个版本更迭时稳定性测试的基础。Gurobi 是追求高速度和高稳定性均衡发展的产品。
数学规划优化器包括免费开源和商业二大类,虽然为数众多,但性能参差不齐,可以求解的问题类型、应用广度和深度也都不相同。
应用最广泛的数学规划问题类型包括
l
混合整数线性规划(MILP)
l
混合整数二阶锥规划(MISOCP)
l
混合整数二次凸规划(凸MIQP/MIQCQP)
l
混合整数二次非凸规划(非凸MIQP/MIQCQP)
l
混合整数非线性规划(包括指数、对数、三角函数、高阶多项式等)
Gurobi
是唯一一个可以适用上述全部类型,并且在每一个类型中都排名第一,并且大幅度领先第二名的优化器。第三方评比报告做出了明确说明。
以下列举了在商业优化器中排名领先的几个优化器在各个类别上的评比。有些优化器在2016年、2018年评比之后退出性能评比。未标注年份的数据为最新2021年评比结果。数值为1表明速度最快(基准速度),而其他数值表明性能变慢的倍数。最后一个类别(混合整数非线性)没有第三方评比结果,只列出优化器是否具备该功能。
【Gurobi
已经于2024年8月20日退出此项测评活动。以下任何测评数据只是历史过往数据的片段,不代表2024年8月20日之后的求解器性能对比。】
以下是数据链接和出处:
(1)2016年数据:http://plato.asu.edu/talks/informs2016-bench.pdf
(2)2018年数据:http://plato.asu.edu/talks/informs2018.pdf
(3)2021年数据
l
混合整数线性规划(MILP):http://plato.asu.edu/ftp/milp.html
l
混合整数二阶锥规划(MISOCP):http://plato.asu.edu/ftp/misocp.html
l
混合整数二次凸规划(凸MIQP/MIQCQP):http://plato.asu.edu/ftp/convex.html
l
混合整数二次非凸规划(非凸MIQP/MIQCQP):http://plato.asu.edu/ftp/nonbinary.html
|
混合整数线性规划(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 |
12.3 |
26.7 |
36.9 |
33.2 |
不支持 |
COPT |
1.74 |
2.34 |
1.09 |
不支持 |
不支持 |
BARON |
不支持 |
不支持 |
7.3 |
13.6 |
支持 |
MOSEK |
9.66
(2016年数据,后退出评比) |
10.7 |
10.0 |
不支持 |
不支持 |
注: 评比中采用了 Shifted Geometric
Mean 方法,将差异过大的优化时间进行缩小折算,因此实际运行时间的领先倍数更优于表格中倍数,建议用户亲自测试。 |
从以上报告可以看出
(1) Gurobi
可以求解的问题类型最多,在每个类型中均排名第一,同时领先第二名的优势比较明显。适用问题类型广、求解效率高的优化器可以更能胜任广泛和复杂的科研和应用。
(2)
有些优化器在不断研发过程中逐渐落后而退出,但Gurobi的研发团队不断扩大,持续开发能力不断提升,为后续科研工作的顺利开展提供了坚实的保障。
Gurobi
不但在优化广度和速度上保持领先优势,并且在开发和部署上也提供了领先的辅助功能,让Gurobi成为稳定、可靠、高效的工具,大大缩短了创造价值的时间和降低了创造价值的难度。
数学规划优化器评价指标(下载
数学规划求解器软件选型技术评判参考标准) |
1.支持的问题类型广泛 |
2.求解速度优良(经过大量测试数据的验证) |
3.性能稳健,特别对于有数值问题的模型稳定性高 |
4.技术支持及时有效 |
5.软件开发团队持续开发能力强,人员不断扩充 |
6.总成本(软件费用、人员费用、时间费用、维护费用等)适合 |
7.配套功能完备,包括但不限于: |
问题尺度只受限制于计算机内存容量,不对变量和约束数量有限制 |
提供模型不可行或无界分析功能 |
软件运行稳定,后期维护工作简单 |
提供参数自动调优功能 |
提供回调(Callback)功能,可以在搜索中融入个性化逻辑 |
提供连续模型和混合整数模型的敏感度分析 |
提供优化质量分析 |
支持多目标优化 |
支持矩阵变量和矩阵约束操作 |
提供多解解池功能,可以获取全部可行解或者最优解 |
支持将机器学习模型嵌入到数学规划模型中 |
提供搜索自由程度和精度控制的各种参数 |
支持行业通用的格式文件 |
支持国产芯片和国产操作系统 |
提供了方便轻巧的接口,支持
C++, Java, Python, .Net, Matlab
和R,内存消耗少 |
支持 max、min、abs 等数学函数和 and、or、indicator等逻辑条件的直接建模 |
支持并行计算、分布式计算、中台集群计算、云计算 |
支持多种平台,包括
Windows, Linux, Mac OS X |