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:
Extensible
,Algorithm
,Configurable
,EvolutionaryAlgorithm
,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
comparator
Fields inherited from class org.moeaframework.algorithm.AbstractAlgorithm
initialized, numberOfEvaluations, problem, terminated
-
Constructor Summary
ConstructorDescriptionDifferentialEvolution
(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 TypeMethodDescriptionReturns the current best-known result.Returns the variation operator currently in use by this algorithm.protected void
iterate()
Performs one iteration of the algorithm.void
setVariation
(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, setInitialPopulationSize
Methods inherited from class org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
getArchive, getInitialization, getInitialPopulationSize, getPopulation, initialize, loadState, saveState, setArchive, setInitialization, setPopulation, setVariation
Methods inherited from class org.moeaframework.algorithm.AbstractAlgorithm
assertNotInitialized, evaluate, getExtensions, getNumberOfEvaluations, getProblem, isInitialized, isTerminated, step, terminate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.moeaframework.core.Algorithm
evaluate, evaluateAll, evaluateAll, getNumberOfEvaluations, getProblem, isInitialized, isTerminated, run, run, step, terminate
Methods 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
-
iterate
protected void iterate()Description copied from class:AbstractAlgorithm
Performs one iteration of the algorithm. This method should be overridden by implementations to perform each logical iteration of the algorithm.- Specified by:
iterate
in classAbstractAlgorithm
-
getResult
Description copied from interface:Algorithm
Returns the current best-known result.- Specified by:
getResult
in interfaceAlgorithm
- Overrides:
getResult
in classSingleObjectiveEvolutionaryAlgorithm
- Returns:
- the current best-known result
-
getVariation
Description copied from class:AbstractEvolutionaryAlgorithm
Returns the variation operator currently in use by this algorithm.- Overrides:
getVariation
in classAbstractEvolutionaryAlgorithm
- Returns:
- the variation operator
-
setVariation
Replaces the variation operator to be used by this algorithm.- Parameters:
variation
- the variation operator
-