## 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.

### 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.

simpleEA, DEoptim in the ‘DEoptim’ package.
  simpleDE(fnTrefethen, lower = c(-1,-1), upper = c(1,1))
# $fmin # [1] -3.306869 #$xmin