Description Usage Arguments Value References Examples
Differential Evolution procedure to solve minimization problems with bound constraints
1 |
funcname |
function to optimize |
lo |
lower bound (same for each component of the vector x) |
up |
upper bound (same for each component of the vector x) |
n |
problem size |
NP |
population size (should be ~ four times the size of the problem) |
n_gen |
number of generations (~ ten times the value of NP) |
f |
F value (usually from 0.1 to 1.1) |
CR |
crossover rate (it is a probability, should stay between 0 and 1) |
strategy |
type of strategy implemented. Default to DE/RAND/1 |
... |
parameters to pass at objective function to optimize |
The output of the function DEbase
is a list (of length 3) containing the following elements:
f_best
: the best value found by the algorithm for the last generation
x_best
: the vector which corresponds to the best overall function value
f
: the vector of the n_gen
optimal values found by the algorithm at each generation
S. Das, S. Mullick, P. N. Suganthan, Recent advances in differential evolution– an updated survey. Swarm and evolutionary computation, vol. 23, 2016, pp. 1–30
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ##implementation of the schwefel function
schwef <- function(x)
{
if(is.vector(x))
{
d <- length(x)
sum <- sum(x*sin(sqrt(abs(x))))
y <- 418.9829*d - sum
return(y)
}
if(is.matrix(x))
{
d <- ncol(x)
sum <- apply(x*sin(sqrt(abs(x))),1,sum)
y <- 418.9829*d - sum
return(y)
}
}
##application of DEbase function
set.seed(123)
d <- DEbase(schwef,-500,500,10,40,400,0.8,0.4,strategy=2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.