Skip to content
/ ExpDE Public
forked from fcampelo/ExpDE

Modular DE algorithm for the experimental investigation of the effect of different recombination / mutation / selection operators.

Notifications You must be signed in to change notification settings

orcslab/ExpDE

 
 

Repository files navigation

ExpDE

Build Status CRAN_Status_Badge CRAN Downloads

ExpDE is a modular implementation of the Differential Evolution metaheuristic, which aims at providing a platform for the experimental investigation of the effect of different recombination / mutation / selection operators.

Installation

Install the package directly from CRAN using:

install.packages("ExpDE")

To get the latest version from Github, use:

# install.packages("devtools")
devtools::install_github("fcampelo/ExpDE")

How to use

Full usage instructions and examples can be found in the documentation of ExpDE::ExpDE(). Type ?ExpDE to check it.

Available Operators

Differential mutation

  • Best (mutation_best)
  • Current-to-pbest (mutation_current_to_pbest - includes special case current-to-best)
  • Mean (mutation_mean)
  • Rand (mutation_rand)
  • Weighted global intermediate (mutation_wgi)

It is also possible to run the algorithm without using any differential mutation operator (mutation_none). Run mutation_operators() for a list of available variants.

Recombination

  • Arithmetic (recombination_arith)
  • Binomial (recombination_bin)
  • BLX-α-β (recombination_blxAlphaBeta - includes special cases blxAlpha and Flat)
  • Eigenvector-based (recombination_eigen)
  • Exponential (recombination_exp)
  • Geometric (recombination_geo)
  • Linear BGA (recombination_lbga)
  • Linear (recombination_linear)
  • M-max (recombination_mmax)
  • N-point (recombination_npoint)
  • One-point (recombination_onepoint)
  • pbest (recombination_pbest)
  • SBX (recombination_sbx)
  • Wright (recombination_wright)

It is also possible to run the algorithm without using any recombination operator (recombination_none). Run recombination_operators() for a list of available variants.

Selection

  • Standard DE (selection_standard)

Stop criteria

  • Maximum number of iterations (stop_maxiter)
  • Maximum number of function evaluations (stop_maxeval)

Example: DE/best/1/sbx on the shifted sphere problem for N = 10

popsize  <- 200
mutpars  <- list(name = "mutation_best", f = 0.6, nvecs = 1)
recpars  <- list(name = "recombination_sbx", eta = 10)
selpars  <- list(name = "selection_standard")
stopcrit <- list(names = "stop_maxeval", maxevals = 100000)
probpars <- list(name  = "sphere", xmin = rep(2, 10), xmax = rep(20, 10))
seed     <- 1234
showpars <- list(show.iters = "numbers", showevery = 10)
out      <- ExpDE(popsize, mutpars, recpars, selpars, 
                  stopcrit, probpars, seed, showpars)

If you find any bugs or has any suggestions for improvement, please feel free to contact me.

Cheers,
Felipe

About

Modular DE algorithm for the experimental investigation of the effect of different recombination / mutation / selection operators.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • R 100.0%