Class EvolutionStrategy
java.lang.Object
org.moeaframework.algorithm.AbstractAlgorithm
org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
org.moeaframework.algorithm.single.SingleObjectiveEvolutionaryAlgorithm
org.moeaframework.algorithm.single.EvolutionStrategy
- All Implemented Interfaces:
Extensible
,Algorithm
,Configurable
,EvolutionaryAlgorithm
,Stateful
Single-objective
(mu + lambda)
evolution strategy (ES) algorithm. In this implementation, mu
and
lambda
are both equal to the initial population size. For example, with an initial population of size 1,
this mimics the classic (1 + 1)-ES algorithm. Can only be used with mutation operators with a single parent.
References:
- Ingo Rechenberg. "Evolutionsstrategie: Optimierung technischer Systeme nach Prinzipien der biologischen Evolution." Ph.D. thesis, Fromman-Holzboog, 1971.
-
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
ConstructorDescriptionEvolutionStrategy
(Problem problem) Constructs a new instance of the evolution strategy (ES) algorithm with default settings.EvolutionStrategy
(Problem problem, int initialPopulationSize, AggregateObjectiveComparator comparator, Initialization initialization, SelfAdaptiveNormalVariation variation) Constructs a new instance of the evolution strategy (ES) algorithm. -
Method Summary
Modifier and TypeMethodDescriptionReturns the variation operator currently in use by this algorithm.void
iterate()
Performs one iteration of the algorithm.void
setVariation
(SelfAdaptiveNormalVariation variation) Replaces the variation operator to be used by this algorithm.Methods inherited from class org.moeaframework.algorithm.single.SingleObjectiveEvolutionaryAlgorithm
applyConfiguration, getComparator, getConfiguration, getResult, 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
-
EvolutionStrategy
Constructs a new instance of the evolution strategy (ES) algorithm with default settings.- Parameters:
problem
- the problem to solve
-
EvolutionStrategy
public EvolutionStrategy(Problem problem, int initialPopulationSize, AggregateObjectiveComparator comparator, Initialization initialization, SelfAdaptiveNormalVariation variation) Constructs a new instance of the evolution strategy (ES) algorithm.- Parameters:
problem
- the problem to solveinitialPopulationSize
- the initial population sizecomparator
- the aggregate objective comparatorinitialization
- the initialization methodvariation
- the variation operator
-
-
Method Details
-
iterate
public 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
-
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
-