Class DifferentialEvolution
java.lang.Object
org.moeaframework.algorithm.AbstractAlgorithm
org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
org.moeaframework.algorithm.single.SingleObjectiveEvolutionaryAlgorithm
org.moeaframework.algorithm.single.DifferentialEvolution
- All Implemented Interfaces:
Algorithm,EvolutionaryAlgorithm,Extensible,Configurable,Named,Stateful
Single-objective differential evolution (DE) algorithm.
References:
- Rainer Storn and Kenneth Price. "Differential Evolution - A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces." Journal of Global Optimization, 11(4):341-359, 1997.
-
Field Summary
Fields inherited from class org.moeaframework.algorithm.single.SingleObjectiveEvolutionaryAlgorithm
comparatorFields inherited from class org.moeaframework.algorithm.AbstractAlgorithm
initialized, numberOfEvaluations, problem, terminated -
Constructor Summary
ConstructorsConstructorDescriptionDifferentialEvolution(Problem problem) Constructs a new single-objective differential evolution algorithm with default settings.DifferentialEvolution(Problem problem, int initialPopulationSize, AggregateObjectiveComparator comparator, Initialization initialization, DifferentialEvolutionSelection selection, DifferentialEvolutionVariation variation) Constructs a new instance of the single-objective differential evolution (DE) algorithm. -
Method Summary
Modifier and TypeMethodDescriptiongetName()Returns the name of this algorithm.Returns the current best-known result.Returns the variation operator currently in use by this algorithm.protected voiditerate()Performs one iteration of the algorithm.voidsetVariation(DifferentialEvolutionVariation variation) Replaces the variation operator to be used by this algorithm.Methods inherited from class org.moeaframework.algorithm.single.SingleObjectiveEvolutionaryAlgorithm
applyConfiguration, getComparator, getConfiguration, setComparator, setInitialPopulationSizeMethods inherited from class org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
getArchive, getInitialization, getInitialPopulationSize, getPopulation, initialize, loadState, saveState, setArchive, setInitialization, setPopulation, setVariationMethods inherited from class org.moeaframework.algorithm.AbstractAlgorithm
assertNotInitialized, evaluate, getExtensions, getNumberOfEvaluations, getProblem, isInitialized, isTerminated, step, terminateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.moeaframework.algorithm.Algorithm
evaluate, evaluateAll, evaluateAll, getNumberOfEvaluations, getProblem, isInitialized, isTerminated, run, run, step, terminateMethods inherited from interface org.moeaframework.algorithm.extension.Extensible
addExtension, getExtensions, removeExtension
-
Constructor Details
-
DifferentialEvolution
Constructs a new single-objective differential evolution algorithm with default settings.- Parameters:
problem- the problem
-
DifferentialEvolution
public DifferentialEvolution(Problem problem, int initialPopulationSize, AggregateObjectiveComparator comparator, Initialization initialization, DifferentialEvolutionSelection selection, DifferentialEvolutionVariation variation) Constructs a new instance of the single-objective differential evolution (DE) algorithm.- Parameters:
problem- the probleminitialPopulationSize- the initial population sizecomparator- the aggregate objective comparatorinitialization- the initialization methodselection- the differential evolution selection operatorvariation- the differential evolution variation operator
-
-
Method Details
-
getName
Description copied from interface:AlgorithmReturns the name of this algorithm. Whenever possible, this name should match the name recognized byAlgorithmFactory.- Returns:
- the name of this algorithm
-
iterate
protected void iterate()Description copied from class:AbstractAlgorithmPerforms one iteration of the algorithm. This method should be overridden by implementations to perform each logical iteration of the algorithm.- Specified by:
iteratein classAbstractAlgorithm
-
getResult
Description copied from interface:AlgorithmReturns the current best-known result.- Specified by:
getResultin interfaceAlgorithm- Overrides:
getResultin classSingleObjectiveEvolutionaryAlgorithm- Returns:
- the current best-known result
-
getVariation
Description copied from class:AbstractEvolutionaryAlgorithmReturns the variation operator currently in use by this algorithm.- Overrides:
getVariationin classAbstractEvolutionaryAlgorithm- Returns:
- the variation operator
-
setVariation
Replaces the variation operator to be used by this algorithm.- Parameters:
variation- the variation operator
-