Benchmarks for evaluating optimization algorithms and benchmarking MATLAB derivative-free optimizers for practitioners' rapid access

Li, Lin and Saldivar, Alfredo Alan Flores and Bai, Yun and Chen, Yi and Liu, Qunfeng and Li, Yun (2019) Benchmarks for evaluating optimization algorithms and benchmarking MATLAB derivative-free optimizers for practitioners' rapid access. IEEE Access, 7. pp. 79657-79670. ISSN 2169-3536 (https://doi.org/10.1109/ACCESS.2019.2923092)

[thumbnail of Li-etal-IEEE-Access-2019-Benchmarks-for-evaluating-optimization-algorithms-and-benchmarking-MATLAB]
Preview
Text. Filename: Li_etal_IEEE_Access_2019_Benchmarks_for_evaluating_optimization_algorithms_and_benchmarking_MATLAB.pdf
Final Published Version

Download (15MB)| Preview

Abstract

MATLAB ® has built in five derivative-free optimizers (DFOs), including two direct search algorithms (simplex search, pattern search) and three heuristic algorithms (simulated annealing, particle swarm optimization, and genetic algorithm), plus a few in the official user repository, such as Powell’s conjugate (PC) direct search recommended by MathWorks ® . To help a practicing engineer or scientist to choose a MATLAB DFO most suitable for their application at hand, this paper presents a set of five benchmarking criteria for optimization algorithms and then uses four widely adopted benchmark problems to evaluate the DFOs systematically. Comprehensive tests recommend that the PC be most suitable for a unimodal or relatively simple problem, whilst the genetic algorithm (with elitism in MATLAB, GAe) for a relatively complex, multimodal or unknown problem. This paper also provides an amalgamated scoring system and a decision tree for specific objectives, in addition to recommending the GAe for optimizing structures and categories as well as for offline global search together with PC for local parameter tuning or online adaptation. To verify these recommendations, all the six DFOs are further tested in a case study optimizing a popular nonlinear filter. The results corroborate the benchmarking results. It is expected that the benchmarking system would help select optimizers for practical applications.