simpleDE: Simple Differential Evolution Algorithm

View source: R/simpleDE.R

simpleDER Documentation

Simple Differential Evolution Algorithm

Description

Simple Differential Evolution for Minimization.

Usage

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

p_1 + r(p_2 - p_3)

where the p_i are members of the current generation and r is an amplification factor.

Value

List with the following components:

fmin

function value at the minimum found.

xmin

numeric vector representing the minimum.

nfeval

number of function calls.

Note

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

Author(s)

HwB <hwborchers@googlemail.com>

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.

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!

adagio documentation built on Oct. 26, 2023, 5:08 p.m.

Related to simpleDE in adagio...