Package org.moeaframework.algorithm
Class AGEMOEAII
java.lang.Object
org.moeaframework.algorithm.AbstractAlgorithm
org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
org.moeaframework.algorithm.AGEMOEAII
- All Implemented Interfaces:
Extensible
,Algorithm
,Configurable
,EvolutionaryAlgorithm
,Stateful
Implementation of AGE-MOEA-II, which is an adaptive evolutionary algorithm that estimates the Pareto front geometry
and uses this to score solutions during selection.
References:
- Panichella, A. "An Adaptive Evolutionary Algorithm based on Non-Euclidean Geometry for Many-objective Optimization." GECCO '19, July 13-17, 2019, Prague, Czech Republic, pp. 595-603.
- Panichella, A. "An Improved Pareto Front Modeling Algorithm for Large-scale Many-Objective Optimization." GECCO '22, July 9-13, 2022, Boston, MA, USA, pp. 565-573.
- The JMetal implementation contributed by A. Panichella - https://github.com/jMetal/jMetal/pull/451
-
Field Summary
Fields inherited from class org.moeaframework.algorithm.AbstractAlgorithm
initialized, numberOfEvaluations, problem, terminated
-
Constructor Summary
ConstructorDescriptionConstructs the AGE-MOEA-II algorithm with default settings.AGEMOEAII
(Problem problem, int initialPopulationSize, org.moeaframework.algorithm.AGEMOEAII.AGEMOEAIIPopulation population, Selection selection, Variation variation, Initialization initialization) Constructs the AGE-MOEA-II algorithm with the specified components. -
Method Summary
Modifier and TypeMethodDescriptionorg.moeaframework.algorithm.AGEMOEAII.AGEMOEAIIPopulation
Returns the current population of this evolutionary algorithm.void
Performs any initialization that is required by this algorithm.void
iterate()
Performs one iteration of the algorithm.void
setInitialPopulationSize
(int initialPopulationSize) Sets the initial population size.void
setVariation
(Variation variation) Replaces the variation operator to be used by this algorithm.Methods inherited from class org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
getArchive, getInitialization, getInitialPopulationSize, getResult, getVariation, loadState, saveState, setArchive, setInitialization, setPopulation
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.core.configuration.Configurable
applyConfiguration, getConfiguration
Methods inherited from interface org.moeaframework.algorithm.extension.Extensible
addExtension, getExtensions, removeExtension
-
Constructor Details
-
AGEMOEAII
Constructs the AGE-MOEA-II algorithm with default settings.- Parameters:
problem
- the problem being solved
-
AGEMOEAII
public AGEMOEAII(Problem problem, int initialPopulationSize, org.moeaframework.algorithm.AGEMOEAII.AGEMOEAIIPopulation population, Selection selection, Variation variation, Initialization initialization) Constructs the AGE-MOEA-II algorithm with the specified components.- Parameters:
problem
- the problem being solvedinitialPopulationSize
- the initial population sizepopulation
- the population used to store solutionsselection
- the selection operatorvariation
- the variation operatorinitialization
- the initialization method
-
-
Method Details
-
initialize
public void initialize()Description copied from interface:Algorithm
Performs any initialization that is required by this algorithm. This method should only be called once, though the specific implementation may choose to no-op or throwAlgorithmInitializationException
if called multiple times.Implementations should always call
super.initialize()
to ensure the algorithm is initialized correctly.- Specified by:
initialize
in interfaceAlgorithm
- Overrides:
initialize
in classAbstractEvolutionaryAlgorithm
-
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
-
setVariation
Description copied from class:AbstractEvolutionaryAlgorithm
Replaces the variation operator to be used by this algorithm.- Overrides:
setVariation
in classAbstractEvolutionaryAlgorithm
- Parameters:
variation
- the variation operator
-
setInitialPopulationSize
public void setInitialPopulationSize(int initialPopulationSize) Description copied from class:AbstractEvolutionaryAlgorithm
Sets the initial population size. This value can not be set after initialization.- Overrides:
setInitialPopulationSize
in classAbstractEvolutionaryAlgorithm
- Parameters:
initialPopulationSize
- the initial population size
-
getPopulation
public org.moeaframework.algorithm.AGEMOEAII.AGEMOEAIIPopulation getPopulation()Description copied from interface:EvolutionaryAlgorithm
Returns the current population of this evolutionary algorithm.- Specified by:
getPopulation
in interfaceEvolutionaryAlgorithm
- Overrides:
getPopulation
in classAbstractEvolutionaryAlgorithm
- Returns:
- the current population of this evolutionary algorithm
-