simpleDE function

Simple Differential Evolution Algorithm

Simple Differential Evolution Algorithm

Simple Differential Evolution for Minimization.

simpleDE(fun, lower, upper, N = 64, nmax = 256, r = 0.4, confined = TRUE, log = FALSE)

Arguments

  • fun: the objective function to be minimized.
  • lower: vector of lower bounds for all coordinates.
  • upper: vector of upper bounds for all coordinates.
  • N: population size.
  • nmax: bound on the number of generations.
  • r: amplification factor.
  • confined: logical; stay confined within bounds.
  • log: logical; shall a trace be printed.

Details

Evolutionary search to minimize a function: For points in the current generation, children are formed by taking a linear combination of parents, i.e., each member of the next generation has the form

p1+r(p2p3) p_1 + r(p_2 - p_3)

where the pip_i are members of the current generation and rr is an amplification factor.

Returns

List with the following components: - fmin: function value at the minimum found.

  • xmin: numeric vector representing the minimum.

  • nfeval: number of function calls.

References

Dirk Laurie. ``A Complex Optimization". Chapter 5 In: F. Bornemann, D. Laurie, S. Wagon, and J. Waldvogel (Eds.). The SIAM 100-Digit Challenge. Society of Industrial and Applied Mathematics, 2004.

Author(s)

HwB hwborchers@googlemail.com

Note

Original Mathematica version by Dirk Laurie in the SIAM textbook. Translated to R by Hans W Borchers.

See Also

simpleEA, DEoptim in the `DEoptim' package.

Examples

simpleDE(fnTrefethen, lower = c(-1,-1), upper = c(1,1)) # $fmin # [1] -3.306869 # $xmin # [1] -0.02440308 0.21061243 # this is the true global optimum!
  • Maintainer: Hans W. Borchers
  • License: GPL (>= 3)
  • Last published: 2023-10-26

Useful links