Skip to content

Set of functions commonly used to test optimization algorithms

License

Notifications You must be signed in to change notification settings

edgarsmdn/OptiFunctions

Repository files navigation

Set of functions to test optimization algorithms

Development

This work was part of the project I did during my undergrad research internship in the summer of 2018 at the Centre for Process Integration, The University of Manchester on stochastic optimization.

Functions set

The functions are gathered in 6 groups according to their two-dimensional shape: plane-shaped, bowl-shaped, many local minima, plate-shaped, valley-shaped and others.

Plane-shaped

  • Simple sum function

Bowl-shaped

  • Bohachevsky function
  • Brown function
  • Sum of different squares function
  • Exponential function
  • Rotated hyper-ellipsoid function
  • Perm function
  • Sargan function
  • Schwefel 1 function
  • Sphere function
  • Trid function

Many local minima

  • Ackley function
  • Alpine 1 function
  • Alpine 2 function
  • Deb 1 function
  • Griewank function
  • Levy function
  • Mishra 11 function
  • Multimodal function
  • Penalty 1 function
  • Penalty 2 function
  • Pinter function
  • Rana function
  • Rastrigin function
  • Salomon function
  • Schwefel 26 function
  • Sine envelope function
  • Trigonometric 2 function
  • Vincent function
  • Weierstrass function
  • Whitley function
  • Xin She Yang 2 function
  • Xin She Yang 4 function

Plate-shaped

  • Arithmetic Mean - Geometric Mean Equality function
  • Csendes function (also called Infinity function)
  • Katsuura function
  • Mishra 1 function
  • Mishra 2 function
  • Mishra 7 function
  • Quintic function
  • Schewefel 4 function
  • Zakharov function

Valley-shaped

  • Dixon-price function
  • Rosenbrock function
  • Schwefel 2 function

Other

  • Deceptive function (in its general form)
  • Deflected corrugated spring function
  • Perm d function
  • Plateau function
  • Powell function
  • Qing function
  • Quartic function
  • Schwefel 20 function
  • Schwefel 21 function
  • Schwefel 22 function
  • Step 2 function
  • Stepint function
  • Styblinski-Tang function
  • Trigonometric 1 function
  • Xin She Yang 3 function
  • Yao Liu 4 function
  • Zero sum function

Prerequisites

The functions requires Python 3.0 (or more recent versions).

General information

  • All the functions require an array as input, and return a real value as output.

  • The file 3D_plot.py presents the plotting routine to obtained the same style of 3D plots as shown here.

  • Specific information for each function can be found in the docstring of each one of them.

License

This repository contains a MIT LICENSE

About

Set of functions commonly used to test optimization algorithms

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages