NAG MATLAB 工具箱®性能测试案例
NAG MATLAB 工具箱最令使用者满意的就是其執行效能了,尤其在优化的函数上,我们提供了完整、精确且效率高的相关函数。以下我们透过 NAG 的 e04uc 函数与 MATLAB 的 fmincon 函数进行优化求解的執行效能比较。
测试背景我们自 Dolan, More 与 Munson 所提的 22 个不同的求解大尺度优化例题中,取出 4 个不同的求解问题,分别利用 NAG 的 e04uc 与 MATLAB 的 fmincon 函数求解。 这 4 个优化问题简单描述如下:
- Elastic-Plastic Torsion (扭力的弹塑性):当扭转长圆柱体时,分析潜在的压力
- Journal Bearing (轴承滑动):当轴承滑动,研究当轴承滑动时,其中润滑油的压力分布
- Minimal Surface with Obstacle (最小曲面):在给定的条件上,找出最小的曲面
- Triangular Mesh Smoothing (三角网格平滑化):透过调试顶点位置,求取具有固定边界的三角网格的最平滑解
SUSE LES 10 SP1 / 2 dual-core AMD Opterons (2.2GHz) / 4GB RAM
测试结果 (单位:秒)| Torsion (nx=30) |
Journal Bearing (nx=30) |
Minimal Surface (nx=30) |
Mesh Smoothing (pacman) |
|
|---|---|---|---|---|
| fmincon | 178.7 | 645.9 | 739.7 | 无法求解 |
| e04uc | 11.9 | 190.3 | 92.17 | 3503 |
*e04uc 与 fmincon 皆设定相同的参数条件
以下为速度倍数比较,NAG 函数远远优于 fmincon。
参考数据
E. Dolan, J. More and T. Munson, Benchmarking Optimization Software with COPS 3.0, Mathematics and Computer Science Division, Argonne National Laboratory, Technical Report ANL/MCS-273 (February 2004), http://www.mcs.anl.gov/~more//cops/cops3.pdf。