Package org.moeaframework.algorithm
Class AGEMOEAII
java.lang.Object
org.moeaframework.algorithm.AbstractAlgorithm
org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
org.moeaframework.algorithm.AGEMOEAII
- All Implemented Interfaces:
Algorithm,EvolutionaryAlgorithm,Extensible,Configurable,Named,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
ConstructorsConstructorDescriptionConstructs 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 TypeMethodDescriptiongetName()Returns the name of this algorithm.org.moeaframework.algorithm.AGEMOEAII.AGEMOEAIIPopulationReturns the current population of this evolutionary algorithm.voidPerforms any initialization that is required by this algorithm.voiditerate()Performs one iteration of the algorithm.voidsetInitialPopulationSize(int initialPopulationSize) Sets the initial population size.voidsetVariation(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, setPopulationMethods 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.core.configuration.Configurable
applyConfiguration, getConfigurationMethods 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
-
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
-
initialize
public void initialize()Description copied from interface:AlgorithmPerforms 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 throwAlgorithmInitializationExceptionif called multiple times.Implementations should always call
super.initialize()to ensure the algorithm is initialized correctly.- Specified by:
initializein interfaceAlgorithm- Overrides:
initializein classAbstractEvolutionaryAlgorithm
-
iterate
public 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
-
setVariation
Description copied from class:AbstractEvolutionaryAlgorithmReplaces the variation operator to be used by this algorithm.- Overrides:
setVariationin classAbstractEvolutionaryAlgorithm- Parameters:
variation- the variation operator
-
setInitialPopulationSize
public void setInitialPopulationSize(int initialPopulationSize) Description copied from class:AbstractEvolutionaryAlgorithmSets the initial population size. This value can not be set after initialization.- Overrides:
setInitialPopulationSizein classAbstractEvolutionaryAlgorithm- Parameters:
initialPopulationSize- the initial population size
-
getPopulation
public org.moeaframework.algorithm.AGEMOEAII.AGEMOEAIIPopulation getPopulation()Description copied from interface:EvolutionaryAlgorithmReturns the current population of this evolutionary algorithm.- Specified by:
getPopulationin interfaceEvolutionaryAlgorithm- Overrides:
getPopulationin classAbstractEvolutionaryAlgorithm- Returns:
- the current population of this evolutionary algorithm
-