QuantLib_DifferentialEvolution man page

DifferentialEvolution — Differential Evolution configuration object.  


#include <ql/math/optimization/differentialevolution.hpp>

Inherits OptimizationMethod.

Public Types

enum Strategy { Rand1Standard, BestMemberWithJitter, CurrentToBest2Diffs, Rand1DiffWithPerVectorDither, Rand1DiffWithDither, EitherOrWithOptimalRecombination, Rand1SelfadaptiveWithRotation }
enum CrossoverType { Normal, Binomial, Exponential }

Public Member Functions

DifferentialEvolution (const Configuration &configuration=Configuration())
virtual EndCriteria::Type minimize (Problem &p, const EndCriteria &endCriteria)
minimize the optimization problem P
const Configuration & configuration () const

Detailed Description

Differential Evolution configuration object.

The algorithm and strategy names are taken from here:

Price, K., Storn, R., 1997. Differential Evolution - A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces. Journal of Global Optimization, Kluwer Academic Publishers, 1997, Vol. 11, pp. 341 - 359.

There are seven basic strategies for creating mutant population currently implemented. Three basic crossover types are also available.

Future development: 1) base element type to be extracted 2) L differences to be used instead of fixed number 3) various weights distributions for the differences (dither etc.) 4) printFullInfo parameter usage to track the algorithm


This was reported to fail tests on Mac OS X 10.8.4.

OptimizationMethod using Differential Evolution algorithm


Generated automatically by Doxygen for QuantLib from the source code.

Referenced By

The man pages configuration(3), DifferentialEvolution(3) and minimize(3) are aliases of QuantLib_DifferentialEvolution(3).

Wed Aug 2 2017 Version 1.10 QuantLib