Learn R Programming

adagio (version 0.7.1)

simpleDE: 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.

Value

List with the following components:

fmin

function value at the minimum found.

xmin

numeric vector representing the minimum.

nfeval

number of function calls.

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.

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

Run this code
# NOT RUN {
  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!
# }

Run the code above in your browser using DataLab