Test functions for optimization
In applied mathematics, test functions, known as artificial landscapes, are useful to evaluate characteristics of optimization algorithms, such as convergence rate, precision, robustness and general performance.
Here some test functions are presented with the aim of giving an idea about the different situations that optimization algorithms have to face when coping with these kinds of problems. In the first part, some objective functions for single-objective optimization cases are presented. In the second part, test functions with their respective Pareto fronts for multi-objective optimization problems (MOP) are given.
The artificial landscapes presented herein for single-objective optimization problems are taken from BΓ€ck,[1] Haupt et al.[2] and from Rody Oldenhuis software.[3] Given the number of problems (55 in total), just a few are presented here.
The test functions used to evaluate the algorithms for MOP were taken from Deb,[4] Binh et al.[5] and Binh.[6] The software developed by Deb can be downloaded,[7] which implements the NSGA-II procedure with GAs, or the program posted on Internet,[8] which implements the NSGA-II procedure with ES.
Just a general form of the equation, a plot of the objective function, boundaries of the object variables and the coordinates of global minima are given herein.
Test functions for single-objective optimization
[edit | edit source]| Name | Plot | Formula | Global minimum | Search domain |
|---|---|---|---|---|
| Rastrigin function |
|
|||
| Ackley function |
|
|||
| Sphere function | , | |||
| Rosenbrock function | , | |||
| Beale function |
|
|||
| GoldsteinβPrice function |
|
|||
| Booth function | ||||
| Bukin function N.6 | , | |||
| Matyas function | Matyas function | |||
| LΓ©vi function N.13 | LΓ©vi function N.13 |
|
||
| Griewank function | Griewank's function | , where | , | |
| Himmelblau's function | Himmelblau's function | |||
| Three-hump camel function | Three Hump Camel function | |||
| Easom function | Easom function | |||
| Cross-in-tray function | Cross-in-tray function | |||
| Eggholder function[9][10] | Eggholder function | |||
| HΓΆlder table function | Holder table function | |||
| McCormick function | McCormick function | , | ||
| Schaffer function N. 2 | Schaffer function N.2 | |||
| Schaffer function N. 4 | Schaffer function N.4 | |||
| StyblinskiβTang function | Styblinski-Tang function | , .. | ||
| Shekel function | A Shekel function in 2 dimensions and with 10 maxima | , |
Test functions for constrained optimization
[edit | edit source]| Name | Plot | Formula | Global minimum | Search domain |
|---|---|---|---|---|
| Rosenbrock function constrained to a disk[11] | Rosenbrock function constrained to a disk | ,
subjected to: |
, | |
| Mishra's Bird function - constrained[12][13] | Bird function (constrained) | ,
subjected to: |
, | |
| Townsend function (modified)[14] | Heart constrained multimodal function | ,
subjected to: where: t = Atan2(x,y) |
, | |
| Keane's bump function[15] | Keane's bump function | ,
subjected to: , and |
Test functions for multi-objective optimization
[edit | edit source]| Name | Plot | Functions | Constraints | Search domain |
|---|---|---|---|---|
| Binh and Korn function:[5] | Binh and Korn function | , | ||
| Chankong and Haimes function:[16] | Chakong and Haimes function | |||
| FonsecaβFleming function:[17] | Fonseca and Fleming function | , | ||
| Test function 4:[6] | Test function 4.[6] | |||
| Kursawe function:[18] | Kursawe function | , . | ||
| Schaffer function N. 1:[19] | Schaffer function N.1 | . Values of from to have been used successfully. Higher values of increase the difficulty of the problem. | ||
| Schaffer function N. 2: | Schaffer function N.2 | . | ||
| Poloni's two objective function: | Poloni's two objective function |
|
||
| ZitzlerβDebβThiele's function N. 1:[20] | Zitzler-Deb-Thiele's function N.1 | , . | ||
| ZitzlerβDebβThiele's function N. 2:[20] | Zitzler-Deb-Thiele's function N.2 | , . | ||
| ZitzlerβDebβThiele's function N. 3:[20] | Zitzler-Deb-Thiele's function N.3 | , . | ||
| ZitzlerβDebβThiele's function N. 4:[20] | Zitzler-Deb-Thiele's function N.4 | , , | ||
| ZitzlerβDebβThiele's function N. 6:[20] | Zitzler-Deb-Thiele's function N.6 | , . | ||
| Osyczka and Kundu function:[21] | Osyczka and Kundu function | , , . | ||
| CTP1 function (2 variables):[4][22] | CTP1 function (2 variables).[4] | . | ||
| Constr-Ex problem:[4] | Constr-Ex problem.[4] | , | ||
| Viennet function: | Viennet function | . |
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c d e Deb, Kalyanmoy (2002) Multiobjective optimization using evolutionary algorithms (Repr. ed.). Chichester [u.a.]: Wiley. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
- ^ a b Binh T. and Korn U. (1997) MOBES: A Multiobjective Evolution Strategy for Constrained Optimization Problems. In: Proceedings of the Third International Conference on Genetic Algorithms. Czech Republic. pp. 176β182
- ^ a b c Binh T. (1999) A multiobjective evolutionary algorithm. The study cases. Technical report. Institute for Automation and Communication. Barleben, Germany
- ^ Deb K. (2011) Software for multi-objective NSGA-II code in C. Available at URL: https://www.iitk.ac.in/kangal/codes.shtml
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Vanaret C. (2015) Hybridization of interval methods and evolutionary algorithms for solving difficult optimization problems. PhD thesis. Ecole Nationale de l'Aviation Civile. Institut National Polytechnique de Toulouse, France.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ F. Kursawe, βA variant of evolution strategies for vector optimization,β in PPSN I, Vol 496 Lect Notes in Comput Sc. Springer-Verlag, 1991, pp. 193β197.
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c d e Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).