Test functions for optimization

From Wikipedia, the free encyclopedia

In applied mathematics, test functions, known as artificial landscapes, are useful to evaluate characteristics of optimization algorithms, such as:

  • Convergence rate.
  • Precision.
  • Robustness.
  • 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]

Name Plot Formula Global minimum Search domain
Rastrigin function Rastrigin function for n=2

Ackley function Ackley's function for n=2

Sphere function Sphere function for n=2 ,
Rosenbrock function Rosenbrock's function for n=2 ,
Beale function Beale's function

Goldstein–Price function Goldstein–Price function

Booth function Booth's function
Bukin function N.6 Bukin function N.6 ,
Matyas function Matyas function
Lévi function N.13 Lévi function N.13

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

or, similarly,


Test functions for constrained optimization[edit]

Name Plot Formula Global minimum Search domain
Rosenbrock function constrained with a cubic and a line[11] Rosenbrock function constrained with a cubic and a line ,

subjected to:

Rosenbrock function constrained to a disk[12] Rosenbrock function constrained to a disk ,

subjected to:

Mishra's Bird function - constrained[13][14] Bird function (constrained) ,

subjected to:

Townsend function (modified)[15] Heart constrained multimodal function ,

subjected to: where: t = Atan2(x,y)

Gomez and Levy function (modified)[16] Gomez and Levy Function ,

subjected to:

Simionescu function[17] Simionescu function ,

subjected to:

Test functions for multi-objective optimization[edit]

[further explanation needed]

Name Plot Functions Constraints Search domain
Binh and Korn function:[5] Binh and Korn function ,
Chankong and Haimes function:[18] Chakong and Haimes function
Fonseca–Fleming function:[19] Fonseca and Fleming function ,
Test function 4:[6] Test function 4.[6]
Kursawe function:[20] Kursawe function , .
Schaffer function N. 1:[21] 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:[22] Zitzler-Deb-Thiele's function N.1 , .
Zitzler–Deb–Thiele's function N. 2:[22] Zitzler-Deb-Thiele's function N.2 , .
Zitzler–Deb–Thiele's function N. 3:[22] Zitzler-Deb-Thiele's function N.3 , .
Zitzler–Deb–Thiele's function N. 4:[22] Zitzler-Deb-Thiele's function N.4 , ,
Zitzler–Deb–Thiele's function N. 6:[22] Zitzler-Deb-Thiele's function N.6 , .
Osyczka and Kundu function:[23] Osyczka and Kundu function , , .
CTP1 function (2 variables):[4][24] CTP1 function (2 variables).[4] .
Constr-Ex problem:[4] Constr-Ex problem.[4] ,
Viennet function: Viennet function .


  1. ^ Bäck, Thomas (1995). Evolutionary algorithms in theory and practice : evolution strategies, evolutionary programming, genetic algorithms. Oxford: Oxford University Press. p. 328. ISBN 978-0-19-509971-3.
  2. ^ Haupt, Randy L. Haupt, Sue Ellen (2004). Practical genetic algorithms with CD-Rom (2nd ed.). New York: J. Wiley. ISBN 978-0-471-45565-3.{{cite book}}: CS1 maint: multiple names: authors list (link)
  3. ^ Oldenhuis, Rody. "Many test functions for global optimizers". Mathworks. Retrieved 1 November 2012.
  4. ^ a b c d e Deb, Kalyanmoy (2002) Multiobjective optimization using evolutionary algorithms (Repr. ed.). Chichester [u.a.]: Wiley. ISBN 0-471-87339-X.
  5. ^ 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
  6. ^ a b c Binh T. (1999) A multiobjective evolutionary algorithm. The study cases. Technical report. Institute for Automation and Communication. Barleben, Germany
  7. ^ Deb K. (2011) Software for multi-objective NSGA-II code in C. Available at URL: https://www.iitk.ac.in/kangal/codes.shtml
  8. ^ Ortiz, Gilberto A. "Multi-objective optimization using ES as Evolutionary Algorithm". Mathworks. Retrieved 1 November 2012.
  9. ^ Whitley, Darrell; Rana, Soraya; Dzubera, John; Mathias, Keith E. (1996). "Evaluating evolutionary algorithms". Artificial Intelligence. 85 (1–2). Elsevier BV: 264. doi:10.1016/0004-3702(95)00124-7. ISSN 0004-3702.
  10. ^ 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.
  11. ^ Simionescu, P.A.; Beale, D. (September 29 – October 2, 2002). New Concepts in Graphic Visualization of Objective Functions (PDF). ASME 2002 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference. Montreal, Canada. pp. 891–897. Retrieved 7 January 2017.
  12. ^ "Solve a Constrained Nonlinear Problem - MATLAB & Simulink". www.mathworks.com. Retrieved 2017-08-29.
  13. ^ "Bird Problem (Constrained) | Phoenix Integration". Archived from the original on 2016-12-29. Retrieved 2017-08-29.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  14. ^ Mishra, Sudhanshu (2006). "Some new test functions for global optimization and performance of repulsive particle swarm method". MPRA Paper.
  15. ^ Townsend, Alex (January 2014). "Constrained optimization in Chebfun". chebfun.org. Retrieved 2017-08-29.
  16. ^ Simionescu, P.A. (2020). "A collection of bivariate nonlinear optimisation test problems with graphical representations". International Journal of Mathematical Modelling and Numerical Optimisation. 10 (4): 365–398. doi:10.1504/IJMMNO.2020.110704.
  17. ^ Simionescu, P.A. (2014). Computer Aided Graphing and Simulation Tools for AutoCAD Users (1st ed.). Boca Raton, FL: CRC Press. ISBN 978-1-4822-5290-3.
  18. ^ Chankong, Vira; Haimes, Yacov Y. (1983). Multiobjective decision making. Theory and methodology. North Holland. ISBN 0-444-00710-5.
  19. ^ Fonseca, C. M.; Fleming, P. J. (1995). "An Overview of Evolutionary Algorithms in Multiobjective Optimization". Evol Comput. 3 (1): 1–16. CiteSeerX doi:10.1162/evco.1995.3.1.1. S2CID 8530790.
  20. ^ 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.
  21. ^ Schaffer, J. David (1984). "Multiple Objective Optimization with Vector Evaluated Genetic Algorithms". In G.J.E Grefensette; J.J. Lawrence Erlbraum (eds.). Proceedings of the First International Conference on Genetic Algorithms. OCLC 20004572.
  22. ^ a b c d e Deb, Kalyan; Thiele, L.; Laumanns, Marco; Zitzler, Eckart (2002). "Scalable multi-objective optimization test problems". Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600). Vol. 1. pp. 825–830. doi:10.1109/CEC.2002.1007032. ISBN 0-7803-7282-4. S2CID 61001583.
  23. ^ Osyczka, A.; Kundu, S. (1 October 1995). "A new method to solve generalized multicriteria optimization problems using the simple genetic algorithm". Structural Optimization. 10 (2): 94–99. doi:10.1007/BF01743536. ISSN 1615-1488. S2CID 123433499.
  24. ^ Jimenez, F.; Gomez-Skarmeta, A. F.; Sanchez, G.; Deb, K. (May 2002). "An evolutionary algorithm for constrained multi-objective optimization". Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600). Vol. 2. pp. 1133–1138. doi:10.1109/CEC.2002.1004402. ISBN 0-7803-7282-4. S2CID 56563996.