Skip to content

Benchmarking functions

Gustavo Rosa edited this page Jun 11, 2016 · 35 revisions

LibOPT implements the following benchmarking functions:

  • 1st Ackley: minimum at f(x*) = 0 at x* = (0, ..., 0) within domain [-35,35].
  • 2nd Ackley: minimum at f(x*) = -200 at x* = (0, 0) within domain [-32,32].
  • 3rd Ackley: minimum at f(x*) = -219.1418 at x* = (0, -0.4) within domain [-32,32].
  • Adjiman: minimum at f(x*) = -2.02181 at x* = (2, 0.10578) within domain [-1,2] for x_0 and [-1,1] for x_1.
  • 1st Alpine: minimum at f(x*) = 0 at x* = (0, ..., 0) within domain [-10,10].
  • 2nd Alpine: minimum at f(x*) = 2.808^n at x* = (7.917, ..., 7.917) within domain [0,10].
  • Bartels Conn: minimum at f(x*) = 1 at x* = (0, 0) within domain [-500,500].
  • Beale: minimum at f(x*) = 0 at x* = (3, 0.5) within domain [-4.5,4.5].
  • 2-D Biggs Exponential: minimum at f(x*) = 0 at x* = (1, 10) within domain [0,20].
  • 3-D Biggs Exponential: minimum at f(x*) = 0 at x* = (1, 10, 5) within domain [0,20].
  • 4-D Biggs Exponential: minimum at f(x*) = 0 at x* = (1, 10, 1, 5) within domain [0,20].
  • 5-D Biggs Exponential: minimum at f(x*) = 0 at x* = (1, 10, 1, 5, 4) within domain [0,20].
  • 6-D Biggs Exponential: minimum at f(x*) = 0 at x* = (1, 10, 1, 5, 4, 3) within domain [0,20].
  • Bird: minimum at f(x*) = -106.764537 at x* = (4,70104, 3.15294) or (-1.58214, -3.13024) within domain [-2PI,2PI].
  • 1st Bohachevsky: minimum at f(x*) = 0 at x* = (0, 0) within domain [-100,100].
  • 2nd Bohachevsky: minimum at f(x*) = 0 at x* = (0, 0) within domain [-100,100].
  • 3rd Bohachevsky: minimum at f(x*) = 0 at x* = (0, 0) within domain [-100,100].
  • Booth: minimum at f(x*) = 0 at x* = (1, 3) within domain [-10,10].
  • Box-Betts Quadratic Sum: minimum at f(x*) = 0 at x* = (1, 10, 1) within domain [0.9,1.2] for x_0, [9,11.2] for x_1 and [0.9,1.2] for x_2.
  • Brent: minimum at f(x*) = 0 at x* = (10, 10) within domain [-10,10].
  • Brown: minimum at f(x*) = 0 at x* = (0, ..., 0) within domain [-1,4].
  • 2nd Bukin: minimum at f(x*) = 0 at x* = (-10, 0) within domain [-15,-5] for x_0 and [-3,3] for x_1.
  • 4th Bukin: minimum at f(x*) = 0 at x* = (-10, 0) within domain [-15,-5] for x_0 and [-3,3] for x_1.
  • 6th Bukin: minimum at f(x*) = 0 at x* = (-10, 1) within domain [-15,-5] for x_0 and [-3,3] for x_1.
  • Three-Hump Camel: minimum at f(x*) = 0 at x* = (0, 0) within domain [-5,5].
  • Six-Hump Camel: minimum at f(x*) = -1.0316 at x* = (-0.0898, 0.7126) or (0.0898, -0.7126) within domain [-5,5].
  • Chen Bird: minimum at f(x*) = -2000 at x* = (-7/18, -13/18) within domain [-500,500].
  • Chen V: minimum at f(x*) = -2000 at x* = (-0.38889, 0.72222) within domain [-500,500].
  • Chichinadze: minimum at f(x*) = -43.3159 at x* = (5.90133, 0.5) within domain [-30,30].
  • Chung Reynolds: minimum at f(x*) = 0 at x* = (0, ..., 0) within domain [-100,100].
  • Colville: minimum at f(x*) = 0 at x* = (1, 1, 1, 1) within domain [-10,10].
  • Cross-in-Tray: minimum at f(x*) = -2.06261 at x* = (1.3494, -1.3494), (1.3494, 1.3494), (-1.3494, 1.3494) or (-1.3494, -1.3494) within domain [-10,10].
  • Csendes: minimum at f(x*) = 0 at x* = (0, ..., 0) within domain [-1,1].
  • Cube: minimum at f(x*) = 0 at x* = (-1, 1) within domain [-10,10].
  • Damavandi: minimum at f(x*) = 0 at x* = () within domain [,].
  • Deckkers-Aarts: minimum at f(x*) = 0 at x* = () within domain [,].
  • Dixon-Price: minimum at f(x*) = 0 at x* = () within domain [,].
  • Easom: minimum at f(x*) = 0 at x* = () within domain [,].
  • El-Attar-Vidyasagar-Dutta: minimum at f(x*) = 0 at x* = () within domain [,].
  • Egg Crate: minimum at f(x*) = 0 at x* = () within domain [,].
  • Egg Holder: minimum at f(x*) = 0 at x* = () within domain [,].
  • Exponential: minimum at f(x*) = 0 at x* = () within domain [,].
  • 2-D Exponential: minimum at f(x*) = 0 at x* = () within domain [,].
  • Freudenstein Roth: minimum at f(x*) = 0 at x* = () within domain [,].
  • Giunta: minimum at f(x*) = 0 at x* = () within domain [,].
  • Goldstein-Price: minimum at f(x*) = 0 at x* = () within domain [,].
  • Griewank: minimum at f(x*) = 0 at x* = () within domain [,].
  • Gulf Research Problem: minimum at f(x*) = 0 at x* = () within domain [,].
  • Helical Valley: minimum at f(x*) = 0 at x* = () within domain [,].
  • Himmelblau: minimum at f(x*) = 0 at x* = () within domain [,].
  • Hosaki: minimum at f(x*) = 0 at x* = () within domain [,].
  • Jennrick-Sampson: minimum at f(x*) = 0 at x* = () within domain [,].
  • Keane: minimum at f(x*) = 0 at x* = () within domain [,].
  • Leon: minimum at f(x*) = 0 at x* = () within domain [,].
  • Levy: minimum at f(x*) = 0 at x* = () within domain [,].
  • 13th Levy: minimum at f(x*) = 0 at x* = () within domain [,].
  • Matyas: minimum at f(x*) = 0 at x* = () within domain [,].
  • McCormick: minimum at f(x*) = 0 at x* = () within domain [,].
  • Miele Cantrell: minimum at f(x*) = 0 at x* = () within domain [,].
  • Parsopoulos: minimum at f(x*) = 0 at x* = () within domain [,].
  • Pen Holder: minimum at f(x*) = 0 at x* = () within domain [,].
  • Pathological: minimum at f(x*) = 0 at x* = () within domain [,].
  • Paviani: minimum at f(x*) = 0 at x* = () within domain [,].
  • Periodic: minimum at f(x*) = 0 at x* = () within domain [,].
  • Powell Sum: minimum at f(x*) = 0 at x* = () within domain [,].
  • 1st Price: minimum at f(x*) = 0 at x* = () within domain [,].
  • 2nd Price: minimum at f(x*) = 0 at x* = () within domain [,].
  • 3rd Price: minimum at f(x*) = 0 at x* = () within domain [,].
  • 4th Price: minimum at f(x*) = 0 at x* = () within domain [,].
  • Qing: minimum at f(x*) = 0 at x* = () within domain [,].
  • Quadratic: minimum at f(x*) = 0 at x* = () within domain [,].
  • Quartic: minimum at f(x*) = 0 at x* = () within domain [,].
  • Quintic: minimum at f(x*) = 0 at x* = () within domain [,].
  • Rastrigin: minimum at f(x*) = 0 at x* = () within domain [,].
  • Rosenbrock: minimum at f(x*) = 0 at x* = () within domain [,].
  • Rotated Ellipsoid 1: minimum at f(x*) = 0 at x* = () within domain [,].
  • Rotated Ellipsoid 2: minimum at f(x*) = 0 at x* = () within domain [,].
  • Rump: minimum at f(x*) = 0 at x* = () within domain [,].
  • Salomon: minimum at f(x*) = 0 at x* = () within domain [,].
  • 1st Schaffer: minimum at f(x*) = 0 at x* = () within domain [,].
  • 2nd Schaffer: minimum at f(x*) = 0 at x* = () within domain [,].
  • 3rd Schaffer: minimum at f(x*) = 0 at x* = () within domain [,].
  • 4th Schaffer: minimum at f(x*) = 0 at x* = () within domain [,].
  • Schmidt Vetters: minimum at f(x*) = 0 at x* = () within domain [,].
  • Schumer Steiglitz: minimum at f(x*) = 0 at x* = () within domain [,].
  • Schewefel: minimum at f(x*) = 0 at x* = () within domain [,].
  • Sphere: minimum at f(x*) = 0 at x* = () within domain [,].
  • Step 1: minimum at f(x*) = 0 at x* = () within domain [,].
  • Step 2: minimum at f(x*) = 0 at x* = () within domain [,].
  • Step 3: minimum at f(x*) = 0 at x* = () within domain [,].
  • Stepint: minimum at f(x*) = 0 at x* = () within domain [,].
  • Streched V Sine Wave: minimum at f(x*) = 0 at x* = () within domain [,].
  • Sum of Different Powers: minimum at f(x*) = 0 at x* = () within domain [,].
  • Sum Squares: minimum at f(x*) = 0 at x* = () within domain [,].
  • Styblinski-Tang: minimum at f(x*) = 0 at x* = () within domain [,].
  • 1st Holder Table: minimum at f(x*) = 0 at x* = () within domain [,].
  • 2nd Holder Table: minimum at f(x*) = 0 at x* = () within domain [,].
  • Carrom Table: minimum at f(x*) = 0 at x* = () within domain [,].
  • Testtube Holder: minimum at f(x*) = 0 at x* = () within domain [,].
  • Trecanni: minimum at f(x*) = 0 at x* = () within domain [,].
  • Trid 6: minimum at f(x*) = 0 at x* = () within domain [,].
  • Trid 10: minimum at f(x*) = 0 at x* = () within domain [,].
  • Trefethen: minimum at f(x*) = 0 at x* = () within domain [,].
  • Trigonometric 1: minimum at f(x*) = 0 at x* = () within domain [,].
  • Trigonometric 2: minimum at f(x*) = 0 at x* = () within domain [,].
  • Tripod: minimum at f(x*) = 0 at x* = () within domain [,].
  • Venter Sobiezcczanski-Sobieski: minimum at f(x*) = 0 at x* = () within domain [,].
  • Watson: minimum at f(x*) = 0 at x* = () within domain [,].
  • Wayburn Seader 1: minimum at f(x*) = 0 at x* = () within domain [,].
  • Wayburn Seader 2: minimum at f(x*) = 0 at x* = () within domain [,].
  • Wayburn Seader 3: minimum at f(x*) = 0 at x* = () within domain [,].
  • Wavy: minimum at f(x*) = 0 at x* = () within domain [,].
  • Xin-She Yang 1: minimum at f(x*) = 0 at x* = () within domain [,].
  • Xin-She Yang 2: minimum at f(x*) = 0 at x* = () within domain [,].
  • Xin-She Yang 3: minimum at f(x*) = 0 at x* = () within domain [,].
  • Xin-She Yang 4: minimum at f(x*) = 0 at x* = () within domain [,].
  • Zakharov: minimum at f(x*) = 0 at x* = () within domain [,].
  • Zettl: minimum at f(x*) = 0 at x* = () within domain [,].
  • Zirilli: minimum at f(x*) = 0 at x* = () within domain [,].
Notice that the functions are implemented in src/function.c and examples can be found in examples/.

Also, note that we have used the following paper as reference for implementing our functions. Be aware that we have fixed all the little mistakes that could been found:

[1] Momin Jamil and Xin-She Yang, A literature survey of benchmark functions for global optimization problems, Int. Journal of Mathematical Modelling and Numerical Optimisation, Vol. 4, No. 2, pp. 150–194 (2013).

Clone this wiki locally