[论文解读] Nonlinear Programming Solvers for Unconstrained and Constrained Optimization Problems: a Benchmark Analysis
本论文在 MATLAB 中对 23 种非线性规划(NLP)求解器在 60 个无约束和有约束的基准问题上进行了基准测试,评估了其精度、收敛率和速度。主要发现显示,BARON 在精度和收敛率方面表现最佳,但速度最慢;PENLAB 在性能上提供了最佳平衡;FMINCON、KNITRO、SNOPT 和 MIDACO 在实际应用中表现出良好的精度、收敛率与速度权衡。
In this paper we propose a set of guidelines to select a solver for the solution of nonlinear programming problems. With this in mind, we present a comparison of the convergence performances of commonly used solvers for both unconstrained and constrained nonlinear programming problems. The comparison involves accuracy, convergence rate, and convergence speed. Because of its popularity among research teams in academia and industry, MATLAB is used as common implementation platform for the solvers. Our study includes solvers which are either freely available, or require a license, or are fully described in literature. In addition, we differentiate solvers if they allow the selection of different optimal search methods. As result, we examine the performances of 23 algorithms to solve 60 benchmark problems. To enrich our analysis, we will describe how, and to what extent, convergence speed and accuracy can be improved by changing the inner settings of each solver.
研究动机与目标
- 为无约束和有约束优化问题的 NLP 求解器提供系统性比较。
- 指导研究人员和实践者根据精度、收敛率和计算速度选择最优求解器。
- 评估求解器设置对性能的影响,特别是对高精度和快速求解配置的敏感性。
- 使用最多 30 个变量和 9 个约束的标准 NLP 测试问题建立标准化基准。
- 通过分析主流基于 MATLAB 的求解器之间的权衡,支持实时和高性能应用中的求解器选择。
提出的方法
- 本研究评估了 23 种求解器,包括 MATLAB 内置求解器(如 fmincon、fminunc)、基于梯度的方法以及元启发式方法(如 APSO),所有求解器均基于 MATLAB 实现。
- 基准问题来自标准数据集(Hedar、Schittkowski、Floudas & Pardalos),最多包含 30 个变量和 9 个约束。
- 性能通过四个指标进行衡量:平均误差(E)、误差标准差(σ)、收敛率(γ)和平均 CPU 时间(CPU)。
- 测试了两种求解器配置:高精度(HA)和快速求解(QS)设置,以评估对内部参数调优的敏感性。
- 求解器根据高精度设置下的平均误差(HA)和快速求解设置下的 CPU 时间(QS)进行排名,并在 60 个测试问题上进行统计比较。
- 结果以详细表格形式呈现,比较了两种设置下所有 60 个基准问题中求解器的性能。
实验结果
研究问题
- RQ1在无约束和有约束的基准问题中,哪种 NLP 求解器在精度和收敛速度方面表现最佳?
- RQ2不同求解器配置(如 BARON 的不同模式、fmincon 的算法)如何影响收敛速度和精度?
- RQ3在广泛使用的基于 MATLAB 的求解器中,精度与计算速度之间的权衡如何?
- RQ4哪些求解器在实时或高性能优化任务中提供了精度、收敛率和速度的最佳平衡?
- RQ5通过调优求解器特定的内部设置,收敛性能可以提升到何种程度?
主要发现
- BARON 在所有有约束问题中均实现了最高精度(平均误差 < 2.1e-3)和最佳收敛率(92.0% 成功率),尤其在高精度(HA)模式下表现突出。
- PENLAB 在精度(平均误差 1.127e-4)、收敛率(31.0%)和速度(平均 CPU 时间 0.0379 秒)方面实现了最佳综合平衡,在 HA 设置下优于其他求解器。
- FMINCON、KNITRO、SNOPT 和 MIDACO 在精度、收敛率和速度之间提供了良好权衡,其中 SNOPT 在 QS 设置下速度最快(CPU 时间 0.0027 秒)。
- 在高精度设置下,BARON(auto)的平均误差为 2.054e-3,标准差接近零(4.556e-17),表明其结果具有近乎完美的稳定性。
- 粒子群优化器(APSO)精度较差(平均误差 1.173e+0),且显著慢于基于梯度的求解器,尤其在 HA 模式下。
- 调优求解器设置可显著提升性能:例如,BARON 在所有模式下表现均优异,而 FMINCON 的 SQP 方法在 QS 设置下收敛速度(0.0071 秒)优于其活动集变体(0.0165 秒)。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。