Test functions for optimization

From Wikipedia, the free encyclopedia

Template:Short description 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

Name Plot Formula Global minimum Search domain
Rastrigin function Rastrigin function for n=2 f(𝐱)=An+βˆ‘i=1n[xi2βˆ’Acos(2Ο€xi)]

where: A=10 and π±βˆˆβ„n

f(0,,0)=0 βˆ’5.12≀xi≀5.12
Ackley function Ackley's function for n=2 f(x,y)=βˆ’20exp[βˆ’0.20.5(x2+y2)]

βˆ’exp[0.5(cos2Ο€x+cos2Ο€y)]+e+20

f(0,0)=0 βˆ’5≀x,y≀5
Sphere function Sphere function for n=2 f(𝒙)=βˆ‘i=1nxi2 f(x1,,xn)=f(0,,0)=0 βˆ’βˆžβ‰€xiβ‰€βˆž, 1≀i≀n
Rosenbrock function Rosenbrock's function for n=2 f(𝒙)=βˆ‘i=1nβˆ’1[100(xi+1βˆ’xi2)2+(1βˆ’xi)2] Min={n=2β†’f(1,1)=0,n=3β†’f(1,1,1)=0,n>3β†’f(1,,1⏟n times)=0 βˆ’βˆžβ‰€xiβ‰€βˆž, 1≀i≀n
Beale function Beale's function f(x,y)=(1.5βˆ’x+xy)2+(2.25βˆ’x+xy2)2

+(2.625βˆ’x+xy3)2

f(3,0.5)=0 βˆ’4.5≀x,y≀4.5
Goldstein–Price function Goldstein–Price function f(x,y)=[1+(x+y+1)2(19βˆ’14x+3x2βˆ’14y+6xy+3y2)]

[30+(2xβˆ’3y)2(18βˆ’32x+12x2+48yβˆ’36xy+27y2)]

f(0,βˆ’1)=3 βˆ’2≀x,y≀2
Booth function Booth's function f(x,y)=(x+2yβˆ’7)2+(2x+yβˆ’5)2 f(1,3)=0 βˆ’10≀x,y≀10
Bukin function N.6 Bukin function N.6 f(x,y)=100|yβˆ’0.01x2|+0.01|x+10|. f(βˆ’10,1)=0 βˆ’15≀xβ‰€βˆ’5, βˆ’3≀y≀3
Matyas function Matyas function f(x,y)=0.26(x2+y2)βˆ’0.48xy f(0,0)=0 βˆ’10≀x,y≀10
LΓ©vi function N.13 LΓ©vi function N.13 f(x,y)=sin23Ο€x+(xβˆ’1)2(1+sin23Ο€y)

+(yβˆ’1)2(1+sin22Ο€y)

f(1,1)=0 βˆ’10≀x,y≀10
Griewank function Griewank's function f(𝒙)=1+14000βˆ‘i=1nxi2βˆ’βˆi=1nPi(xi), where Pi(xi)=cos(xii) f(0,,0)=0 βˆ’βˆžβ‰€xiβ‰€βˆž, 1≀i≀n
Himmelblau's function Himmelblau's function f(x,y)=(x2+yβˆ’11)2+(x+y2βˆ’7)2. Min={f(3.0,2.0)=0.0f(βˆ’2.805118,3.131312)=0.0f(βˆ’3.779310,βˆ’3.283186)=0.0f(3.584428,βˆ’1.848126)=0.0 βˆ’5≀x,y≀5
Three-hump camel function Three Hump Camel function f(x,y)=2x2βˆ’1.05x4+x66+xy+y2 f(0,0)=0 βˆ’5≀x,y≀5
Easom function Easom function f(x,y)=βˆ’cos(x)cos(y)exp(βˆ’((xβˆ’Ο€)2+(yβˆ’Ο€)2)) f(Ο€,Ο€)=βˆ’1 βˆ’100≀x,y≀100
Cross-in-tray function Cross-in-tray function f(x,y)=βˆ’0.0001[|sinxsinyexp(|100βˆ’x2+y2Ο€|)|+1]0.1 Min={f(1.34941,βˆ’1.34941)=βˆ’2.06261f(1.34941,1.34941)=βˆ’2.06261f(βˆ’1.34941,1.34941)=βˆ’2.06261f(βˆ’1.34941,βˆ’1.34941)=βˆ’2.06261 βˆ’10≀x,y≀10
Eggholder function[9][10] Eggholder function f(x,y)=βˆ’(y+47)sin|x2+(y+47)|βˆ’xsin|xβˆ’(y+47)| f(512,404.2319)=βˆ’959.6407 βˆ’512≀x,y≀512
HΓΆlder table function Holder table function f(x,y)=βˆ’|sinxcosyexp(|1βˆ’x2+y2Ο€|)| Min={f(8.05502,9.66459)=βˆ’19.2085f(βˆ’8.05502,9.66459)=βˆ’19.2085f(8.05502,βˆ’9.66459)=βˆ’19.2085f(βˆ’8.05502,βˆ’9.66459)=βˆ’19.2085 βˆ’10≀x,y≀10
McCormick function McCormick function f(x,y)=sin(x+y)+(xβˆ’y)2βˆ’1.5x+2.5y+1 f(βˆ’0.54719,βˆ’1.54719)=βˆ’1.9133 βˆ’1.5≀x≀4, βˆ’3≀y≀4
Schaffer function N. 2 Schaffer function N.2 f(x,y)=0.5+sin2(x2βˆ’y2)βˆ’0.5[1+0.001(x2+y2)]2 f(0,0)=0 βˆ’100≀x,y≀100
Schaffer function N. 4 Schaffer function N.4 f(x,y)=0.5+cos2[sin(|x2βˆ’y2|)]βˆ’0.5[1+0.001(x2+y2)]2 Min={f(0,1.25313)=0.292579f(0,βˆ’1.25313)=0.292579f(1.25313,0)=0.292579f(βˆ’1.25313,0)=0.292579 βˆ’100≀x,y≀100
Styblinski–Tang function Styblinski-Tang function f(𝒙)=βˆ‘i=1nxi4βˆ’16xi2+5xi2 βˆ’39.16617n<f(βˆ’2.903534,…,βˆ’2.903534⏟n times)<βˆ’39.16616n βˆ’5≀xi≀5, 1≀i≀n..
Shekel function A Shekel function in 2 dimensions and with 10 maxima f(𝒙)=βˆ‘i=1m(ci+βˆ‘j=1n(xjβˆ’aji)2)βˆ’1 βˆ’βˆžβ‰€xiβ‰€βˆž, 1≀i≀n

Test functions for constrained optimization

Name Plot Formula Global minimum Search domain
Rosenbrock function constrained to a disk[11] Rosenbrock function constrained to a disk f(x,y)=(1βˆ’x)2+100(yβˆ’x2)2,

subjected to: x2+y2≀2

f(1.0,1.0)=0 βˆ’1.5≀x≀1.5, βˆ’1.5≀y≀1.5
Mishra's Bird function - constrained[12][13] Bird function (constrained) f(x,y)=sin(y)e[(1βˆ’cosx)2]+cos(x)e[(1βˆ’siny)2]+(xβˆ’y)2,

subjected to: (x+5)2+(y+5)2<25

f(βˆ’3.1302468,βˆ’1.5821422)=βˆ’106.7645367 βˆ’10≀x≀0, βˆ’6.5≀y≀0
Townsend function (modified)[14] Heart constrained multimodal function f(x,y)=βˆ’[cos((xβˆ’0.1)y)]2βˆ’xsin(3x+y),

subjected to:x2+y2<[2costβˆ’12cos2tβˆ’14cos3tβˆ’18cos4t]2+[2sint]2 where: t = Atan2(x,y)

f(2.0052938,1.1944509)=βˆ’2.0239884 βˆ’2.25≀x≀2.25, βˆ’2.5≀y≀1.75
Keane's bump function[15] Keane's bump function f(𝒙)=βˆ’|[βˆ‘i=1mcos4(xi)βˆ’2∏i=1mcos2(xi)](βˆ‘i=1mixi2)0.5|,

subjected to: 0.75βˆ’βˆi=1mxi<0, and βˆ‘i=1mxiβˆ’7.5m<0

f((1.60025376,0.468675907))=βˆ’0.364979746 0<xi<10

Test functions for multi-objective optimization

[<span title="Script error: No such module "decodeEncode".">further explanation needed]

Name Plot Functions Constraints Search domain
Binh and Korn function:[5] Binh and Korn function Minimize={f1(x,y)=4x2+4y2f2(x,y)=(xβˆ’5)2+(yβˆ’5)2 s.t.={g1(x,y)=(xβˆ’5)2+y2≀25g2(x,y)=(xβˆ’8)2+(y+3)2β‰₯7.7 0≀x≀5, 0≀y≀3
Chankong and Haimes function:[16] Chakong and Haimes function Minimize={f1(x,y)=2+(xβˆ’2)2+(yβˆ’1)2f2(x,y)=9xβˆ’(yβˆ’1)2 s.t.={g1(x,y)=x2+y2≀225g2(x,y)=xβˆ’3y+10≀0 βˆ’20≀x,y≀20
Fonseca–Fleming function:[17] Fonseca and Fleming function Minimize={f1(𝒙)=1βˆ’exp[βˆ’βˆ‘i=1n(xiβˆ’1n)2]f2(𝒙)=1βˆ’exp[βˆ’βˆ‘i=1n(xi+1n)2] βˆ’4≀xi≀4, 1≀i≀n
Test function 4:[6] Test function 4.[6] Minimize={f1(x,y)=x2βˆ’yf2(x,y)=βˆ’0.5xβˆ’yβˆ’1 s.t.={g1(x,y)=6.5βˆ’x6βˆ’yβ‰₯0g2(x,y)=7.5βˆ’0.5xβˆ’yβ‰₯0g3(x,y)=30βˆ’5xβˆ’yβ‰₯0 βˆ’7≀x,y≀4
Kursawe function:[18] Kursawe function Minimize={f1(𝒙)=βˆ‘i=12[βˆ’10exp(βˆ’0.2xi2+xi+12)]f2(𝒙)=βˆ‘i=13[|xi|0.8+5sin(xi3)] βˆ’5≀xi≀5, 1≀i≀3.
Schaffer function N. 1:[19] Schaffer function N.1 Minimize={f1(x)=x2f2(x)=(xβˆ’2)2 βˆ’A≀x≀A. Values of A from 10 to 105 have been used successfully. Higher values of A increase the difficulty of the problem.
Schaffer function N. 2: Schaffer function N.2 Minimize={f1(x)={βˆ’x,if x≀1xβˆ’2,if 1<x≀34βˆ’x,if 3<x≀4xβˆ’4,if x>4f2(x)=(xβˆ’5)2 βˆ’5≀x≀10.
Poloni's two objective function: Poloni's two objective function Minimize={f1(x,y)=[1+(A1βˆ’B1(x,y))2+(A2βˆ’B2(x,y))2]f2(x,y)=(x+3)2+(y+1)2

where={A1=0.5sin(1)βˆ’2cos(1)+sin(2)βˆ’1.5cos(2)A2=1.5sin(1)βˆ’cos(1)+2sin(2)βˆ’0.5cos(2)B1(x,y)=0.5sin(x)βˆ’2cos(x)+sin(y)βˆ’1.5cos(y)B2(x,y)=1.5sin(x)βˆ’cos(x)+2sin(y)βˆ’0.5cos(y)

βˆ’Ο€β‰€x,y≀π
Zitzler–Deb–Thiele's function N. 1:[20] Zitzler-Deb-Thiele's function N.1 Minimize={f1(𝒙)=x1f2(𝒙)=g(𝒙)h(f1(𝒙),g(𝒙))g(𝒙)=1+929βˆ‘i=230xih(f1(𝒙),g(𝒙))=1βˆ’f1(𝒙)g(𝒙) 0≀xi≀1, 1≀i≀30.
Zitzler–Deb–Thiele's function N. 2:[20] Zitzler-Deb-Thiele's function N.2 Minimize={f1(𝒙)=x1f2(𝒙)=g(𝒙)h(f1(𝒙),g(𝒙))g(𝒙)=1+929βˆ‘i=230xih(f1(𝒙),g(𝒙))=1βˆ’(f1(𝒙)g(𝒙))2 0≀xi≀1, 1≀i≀30.
Zitzler–Deb–Thiele's function N. 3:[20] Zitzler-Deb-Thiele's function N.3 Minimize={f1(𝒙)=x1f2(𝒙)=g(𝒙)h(f1(𝒙),g(𝒙))g(𝒙)=1+929βˆ‘i=230xih(f1(𝒙),g(𝒙))=1βˆ’f1(𝒙)g(𝒙)βˆ’(f1(𝒙)g(𝒙))sin(10Ο€f1(𝒙)) 0≀xi≀1, 1≀i≀30.
Zitzler–Deb–Thiele's function N. 4:[20] Zitzler-Deb-Thiele's function N.4 Minimize={f1(𝒙)=x1f2(𝒙)=g(𝒙)h(f1(𝒙),g(𝒙))g(𝒙)=91+βˆ‘i=210(xi2βˆ’10cos(4Ο€xi))h(f1(𝒙),g(𝒙))=1βˆ’f1(𝒙)g(𝒙) 0≀x1≀1, βˆ’5≀xi≀5, 2≀i≀10
Zitzler–Deb–Thiele's function N. 6:[20] Zitzler-Deb-Thiele's function N.6 Minimize={f1(𝒙)=1βˆ’exp(βˆ’4x1)sin6(6Ο€x1)f2(𝒙)=g(𝒙)h(f1(𝒙),g(𝒙))g(𝒙)=1+9[βˆ‘i=210xi9]0.25h(f1(𝒙),g(𝒙))=1βˆ’(f1(𝒙)g(𝒙))2 0≀xi≀1, 1≀i≀10.
Osyczka and Kundu function:[21] Osyczka and Kundu function Minimize={f1(𝒙)=βˆ’25(x1βˆ’2)2βˆ’(x2βˆ’2)2βˆ’(x3βˆ’1)2βˆ’(x4βˆ’4)2βˆ’(x5βˆ’1)2f2(𝒙)=βˆ‘i=16xi2 s.t.={g1(𝒙)=x1+x2βˆ’2β‰₯0g2(𝒙)=6βˆ’x1βˆ’x2β‰₯0g3(𝒙)=2βˆ’x2+x1β‰₯0g4(𝒙)=2βˆ’x1+3x2β‰₯0g5(𝒙)=4βˆ’(x3βˆ’3)2βˆ’x4β‰₯0g6(𝒙)=(x5βˆ’3)2+x6βˆ’4β‰₯0 0≀x1,x2,x6≀10, 1≀x3,x5≀5, 0≀x4≀6.
CTP1 function (2 variables):[4][22] CTP1 function (2 variables).[4] Minimize={f1(x,y)=xf2(x,y)=(1+y)exp(βˆ’x1+y) s.t.={g1(x,y)=f2(x,y)0.858exp(βˆ’0.541f1(x,y))β‰₯1g2(x,y)=f2(x,y)0.728exp(βˆ’0.295f1(x,y))β‰₯1 0≀x,y≀1.
Constr-Ex problem:[4] Constr-Ex problem.[4] Minimize={f1(x,y)=xf2(x,y)=1+yx s.t.={g1(x,y)=y+9xβ‰₯6g2(x,y)=βˆ’y+9xβ‰₯1 0.1≀x≀1, 0≀y≀5
Viennet function: Viennet function Minimize={f1(x,y)=0.5(x2+y2)+sin(x2+y2)f2(x,y)=(3xβˆ’2y+4)28+(xβˆ’y+1)227+15f3(x,y)=1x2+y2+1βˆ’1.1exp(βˆ’(x2+y2)) βˆ’3≀x,y≀3.

References

  1. ^ Page Module:Citation/CS1/styles.css has no content.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. ^ Page Module:Citation/CS1/styles.css has no content.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. ^ Page Module:Citation/CS1/styles.css has no content.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. Template:Isbn.
  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. ^ Page Module:Citation/CS1/styles.css has no content.Ortiz, Gilberto A. "Multi-objective optimization using ES as Evolutionary Algorithm". Mathworks. Retrieved 1 November 2012.
  9. ^ Page Module:Citation/CS1/styles.css has no content.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. ^ Page Module:Citation/CS1/styles.css has no content."Solve a Constrained Nonlinear Problem - MATLAB & Simulink". www.mathworks.com. Retrieved 2017-08-29.
  12. ^ Page Module:Citation/CS1/styles.css has no content."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)
  13. ^ Page Module:Citation/CS1/styles.css has no content.Mishra, Sudhanshu (2006). "Some new test functions for global optimization and performance of repulsive particle swarm method". MPRA Paper.
  14. ^ Page Module:Citation/CS1/styles.css has no content.Townsend, Alex (January 2014). "Constrained optimization in Chebfun". chebfun.org. Retrieved 2017-08-29.
  15. ^ Page Module:Citation/CS1/styles.css has no content.Mishra, Sudhanshu (5 May 2007). "Minimization of Keane's Bump Function by the Repulsive Particle Swarm and the Differential Evolution Methods". MPRA Paper. University Library of Munich, Germany.
  16. ^ Page Module:Citation/CS1/styles.css has no content.Chankong, Vira; Haimes, Yacov Y. (1983). Multiobjective decision making. Theory and methodology. North Holland. ISBN 0-444-00710-5.
  17. ^ Page Module:Citation/CS1/styles.css has no content.Fonseca, C. M.; Fleming, P. J. (1995). "An Overview of Evolutionary Algorithms in Multiobjective Optimization". Evol Comput. 3 (1): 1–16. CiteSeerX 10.1.1.50.7779. doi:10.1162/evco.1995.3.1.1. S2CID 8530790.
  18. ^ 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.
  19. ^ Page Module:Citation/CS1/styles.css has no content.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.
  20. ^ a b c d e Page Module:Citation/CS1/styles.css has no content.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.
  21. ^ Page Module:Citation/CS1/styles.css has no content.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.
  22. ^ Page Module:Citation/CS1/styles.css has no content.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.