Package org.moeaframework.algorithm
Class PAES
java.lang.Object
org.moeaframework.algorithm.AbstractAlgorithm
org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
org.moeaframework.algorithm.PAES
- All Implemented Interfaces:
Algorithm,EvolutionaryAlgorithm,Extensible,Configurable,Named,Stateful
Implementation of the (1+1) Pareto Archived Evolution Strategy (PAES). PAES uses an adaptive grid archive to
maintain a diverse set of solutions.
References:
- Knowles, J.D. and D. W. Corne (1999). The Pareto Archived Evolution Strategy: A New Baseline Algorithm for Pareto Multiobjective Optimisation. In Proceedings of the 1999 Congress on Evolutionary Computation (CEC'99), pp. 98-105.
-
Field Summary
Fields inherited from class org.moeaframework.algorithm.AbstractAlgorithm
initialized, numberOfEvaluations, problem, terminated -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyConfiguration(TypedProperties properties) Applies the properties to this instance.Returns the current non-dominated archive of the best solutions generated by this evolutionary algorithm, ornullif no archive is used.Gets the current configuration of this instance.getName()Returns the name of this algorithm.Returns the variation operator currently in use by this algorithm.protected voiditerate()Performs one iteration of the algorithm.voidsetVariation(Mutation mutation) Replaces the mutation operator to be used by this algorithm.The test procedure to determine which solution, the parent or offspring, moves on to the next generation.Methods inherited from class org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
getInitialization, getInitialPopulationSize, getPopulation, getResult, initialize, loadState, saveState, setArchive, setInitialization, setInitialPopulationSize, 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
-
PAES
Constructs a new PAES instance with default settings.- Parameters:
problem- the problem
-
PAES
Constructs a new PAES instance.- Parameters:
problem- the problemmutation- the mutation operatorbisections- the number of bisections in the adaptive grid archivearchiveSize- the capacity of the adaptive grid archive
-
-
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
-
setVariation
Replaces the mutation operator to be used by this algorithm.- Parameters:
mutation- the mutation operator
-
getVariation
Description copied from class:AbstractEvolutionaryAlgorithmReturns the variation operator currently in use by this algorithm.- Overrides:
getVariationin classAbstractEvolutionaryAlgorithm- Returns:
- the variation operator
-
getArchive
Description copied from interface:EvolutionaryAlgorithmReturns the current non-dominated archive of the best solutions generated by this evolutionary algorithm, ornullif no archive is used.- Specified by:
getArchivein interfaceEvolutionaryAlgorithm- Overrides:
getArchivein classAbstractEvolutionaryAlgorithm- Returns:
- the current non-dominated archive of the best solutions generated by this evolutionary algorithm,
or
nullif no archive is used
-
test
The test procedure to determine which solution, the parent or offspring, moves on to the next generation. The solution in a lower density region in the archive is returned.- Parameters:
parent- the parent solutionoffspring- the offspring solution- Returns:
- the solution moving on to the next genreation
-
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
-
applyConfiguration
Description copied from interface:ConfigurableApplies the properties to this instance. It is strongly recommended to apply a configuration immediately after creating the instance, as some properties can not be changed after the class is used. Exceptions may be thrown if attempting to set such properties.After calling this method, we encourage users to call
TypedProperties.warnIfUnaccessedProperties()to verify all properties were processed. This can identify simple mistakes like typos.If overriding this method, properties should only be updated if a new value is provided. Additionally, if updating any
Configurableobjects inside this object, they should be updated before callingsuper.applyConfiguration(properties).- Parameters:
properties- the user-defined properties
-
getConfiguration
Description copied from interface:ConfigurableGets the current configuration of this instance. In theory, these properties should be able to create a duplicate instance. Note however, they are unlikely to behave identically due to random numbers and other transient fields.- Returns:
- the properties defining this instance
-