test functions for optimization
{{Short description|Functions used to evaluate optimization algorithms}}
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,{{cite book|last=Bäck|first=Thomas|title=Evolutionary algorithms in theory and practice : evolution strategies, evolutionary programming, genetic algorithms|year=1995|publisher=Oxford University Press|location=Oxford|isbn=978-0-19-509971-3|page=328}} Haupt et al.{{cite book|last=Haupt|first=Randy L. Haupt, Sue Ellen|title=Practical genetic algorithms with CD-Rom|year=2004|publisher=J. Wiley|location=New York|isbn=978-0-471-45565-3|edition=2nd}} and from Rody Oldenhuis software.{{cite web|last=Oldenhuis|first=Rody|title=Many test functions for global optimizers|url=http://www.mathworks.com/matlabcentral/fileexchange/23147-many-testfunctions-for-global-optimizers|publisher=Mathworks|access-date=1 November 2012}} 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,Deb, Kalyanmoy (2002) Multiobjective optimization using evolutionary algorithms (Repr. ed.). Chichester [u.a.]: Wiley. {{isbn|0-471-87339-X}}. Binh et al.Binh T. and Korn U. (1997) [https://web.archive.org/web/20190801183649/https://pdfs.semanticscholar.org/cf68/41a6848ca2023342519b0e0e536b88bdea1d.pdf MOBES: A Multiobjective Evolution Strategy for Constrained Optimization Problems]. In: Proceedings of the Third International Conference on Genetic Algorithms. Czech Republic. pp. 176–182 and Binh.Binh T. (1999) [https://www.researchgate.net/profile/Thanh_Binh_To/publication/2446107_A_Multiobjective_Evolutionary_Algorithm_The_Study_Cases/links/53eb422f0cf28f342f45251d.pdf A multiobjective evolutionary algorithm. The study cases.] Technical report. Institute for Automation and Communication. Barleben, Germany The software developed by Deb can be downloaded,Deb K. (2011) Software for multi-objective NSGA-II code in C. Available at URL: https://www.iitk.ac.in/kangal/codes.shtml which implements the NSGA-II procedure with GAs, or the program posted on Internet,{{cite web|last=Ortiz|first=Gilberto A.|title=Multi-objective optimization using ES as Evolutionary Algorithm.|url=http://www.mathworks.com/matlabcentral/fileexchange/35824-multi-objective-optimization-using-evolution-strategies-es-as-evolutionary-algorithm-ea|publisher=Mathworks|access-date=1 November 2012}} 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
class="sortable wikitable"
! Name ! Plot ! Formula ! Global minimum ! Search domain |
Rastrigin function
| File:Rastrigin contour plot.svg | | | |
Ackley function
| File:Ackley contour function.svg | | | |
Sphere function
| | | , |
Rosenbrock function
| | \begin{cases} n=2 & \rightarrow \quad f(1,1) = 0, \\ n=3 & \rightarrow \quad f(1,1,1) = 0, \\ n>3 & \rightarrow \quad f(\underbrace{1,\dots,1}_{n \text{ times}}) = 0 \\ \end{cases} | , |
Beale function
| | | |
Goldstein–Price function
| File:Goldstein-Price contour.svg | | | |
Booth function
| | | |
Bukin function N.6
| |
|
| ,
|-
|
|
|
|-
| Lévi function N.13
|
|
|
|-
| File:Griewank 2D Contour.svg
| , where
|
|,
|-
|File:Himmelblau contour plot.svg
|
|
\begin{cases}
f\left(3.0, 2.0\right) & = 0.0 \\
f\left(-2.805118, 3.131312\right) & = 0.0 \\
f\left(-3.779310, -3.283186\right) & = 0.0 \\
f\left(3.584428, -1.848126\right) & = 0.0 \\
\end{cases}
|
|-
| Three-hump camel function
| File:Three-hump-camel contour.svg
|
|
|
|-
|
|
|
|-
| Cross-in-tray function
| File:Cross-in-tray contour.svg
|
|
\begin{cases}
f\left(1.34941, -1.34941\right) & = -2.06261 \\
f\left(1.34941, 1.34941\right) & = -2.06261 \\
f\left(-1.34941, 1.34941\right) & = -2.06261 \\
f\left(-1.34941,-1.34941\right) & = -2.06261 \\
\end{cases}
|
|-
| Eggholder function{{cite journal | last1=Whitley | first1=Darrell | last2=Rana | first2=Soraya | last3=Dzubera | first3=John | last4=Mathias | first4=Keith E. | title=Evaluating evolutionary algorithms | journal=Artificial Intelligence | publisher=Elsevier BV | volume=85 | issue=1–2 | year=1996 | issn=0004-3702 | doi=10.1016/0004-3702(95)00124-7 | pages=264| doi-access=free }}Vanaret C. (2015) [https://www.researchgate.net/publication/337947149_Hybridization_of_interval_methods_and_evolutionary_algorithms_for_solving_difficult_optimization_problems 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.
|
|
|
|-
| File:Hoelder table contour.svg
|
|
\begin{cases}
f\left(8.05502, 9.66459\right) & = -19.2085 \\
f\left(-8.05502, 9.66459\right) & = -19.2085 \\
f\left(8.05502,-9.66459\right) & = -19.2085 \\
f\left(-8.05502,-9.66459\right) & = -19.2085
\end{cases}
|
|-
|
|
| ,
|-
| Schaffer function N. 2
|
|
|
|-
| Schaffer function N. 4
|
|
\begin{cases}
f\left(0,1.25313\right) & = 0.292579 \\
f\left(0,-1.25313\right) & = 0.292579 \\
f\left(1.25313,0\right) & = 0.292579 \\
f\left(-1.25313,0\right) & = 0.292579
\end{cases}
|
|-
| File:Styblinski-Tang contour.svg
|
|
| , ..
|-
|
f(\vec{x}) = \sum_{i = 1}^{m} \; \left( c_{i} + \sum\limits_{j = 1}^{n} (x_{j} - a_{ji})^2 \right)^{-1}
or, similarly,
f(x_1,x_2,...,x_{n-1},x_n) = \sum_{i = 1}^{m} \; \left( c_{i} + \sum\limits_{j = 1}^{n} (x_{j} - a_{ij})^2 \right)^{-1}
|
| ,
|}
Test functions for constrained optimization
Test functions for multi-objective optimization
{{explain|reason=What does it mean to minimize two objective functions?|date=September 2016}}
References
External links
- [https://github.com/nathanrooy/landscapes landscapes]
{{DEFAULTSORT:Test functions for optimization}}