MOEA Framework 2.12
API Specification

org.moeaframework.algorithm
Class EpsilonMOEA

java.lang.Object
  extended by org.moeaframework.algorithm.AbstractAlgorithm
      extended by org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
          extended by org.moeaframework.algorithm.EpsilonMOEA
All Implemented Interfaces:
Algorithm, EpsilonBoxEvolutionaryAlgorithm, EvolutionaryAlgorithm

public class EpsilonMOEA
extends AbstractEvolutionaryAlgorithm
implements EpsilonBoxEvolutionaryAlgorithm

Implementation of the ε-MOEA algorithm. The ε-MOEA is a steady-state algorithm, meaning only one individual in the population is evolved per step, and uses an ε-dominance archive to maintain a well-spread set of Pareto-optimal solutions.

References:

  1. Deb et al. "A Fast Multi-Objective Evolutionary Algorithm for Finding Well-Spread Pareto-Optimal Solutions." KanGAL Report No 2003002. Feb 2003.


Field Summary
 
Fields inherited from class org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
archive, initialization, population
 
Fields inherited from class org.moeaframework.algorithm.AbstractAlgorithm
initialized, numberOfEvaluations, problem, terminated
 
Constructor Summary
EpsilonMOEA(Problem problem, Population population, EpsilonBoxDominanceArchive archive, Selection selection, Variation variation, Initialization initialization)
          Constructs the ε-MOEA algorithm with the specified components.
EpsilonMOEA(Problem problem, Population population, EpsilonBoxDominanceArchive archive, Selection selection, Variation variation, Initialization initialization, DominanceComparator dominanceComparator)
          Constructs the ε-MOEA algorithm with the specified components.
 
Method Summary
protected  void addToPopulation(Solution newSolution)
          Adds the new solution to the population if is non-dominated with the current population, removing either a randomly-selected dominated solution or a non-dominated solution.
 EpsilonBoxDominanceArchive getArchive()
          Returns the current non-dominated archive of the best solutions generated by this evolutionary algorithm, or null if no archive is used.
 void iterate()
          Performs one iteration of the algorithm.
 
Methods inherited from class org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
getPopulation, getResult, getState, initialize, setState
 
Methods inherited from class org.moeaframework.algorithm.AbstractAlgorithm
evaluate, evaluateAll, evaluateAll, finalize, getNumberOfEvaluations, getProblem, isInitialized, isTerminated, step, terminate
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.moeaframework.core.EvolutionaryAlgorithm
getPopulation
 
Methods inherited from interface org.moeaframework.core.Algorithm
evaluate, getNumberOfEvaluations, getProblem, getResult, getState, isTerminated, setState, step, terminate
 

Constructor Detail

EpsilonMOEA

public EpsilonMOEA(Problem problem,
                   Population population,
                   EpsilonBoxDominanceArchive archive,
                   Selection selection,
                   Variation variation,
                   Initialization initialization)
Constructs the ε-MOEA algorithm with the specified components.

Parameters:
problem - the problem being solved
population - the population used to store solutions
archive - the archive used to store the result
selection - the selection operator
variation - the variation operator
initialization - the initialization method

EpsilonMOEA

public EpsilonMOEA(Problem problem,
                   Population population,
                   EpsilonBoxDominanceArchive archive,
                   Selection selection,
                   Variation variation,
                   Initialization initialization,
                   DominanceComparator dominanceComparator)
Constructs the ε-MOEA algorithm with the specified components.

Parameters:
problem - the problem being solved
population - the population used to store solutions
archive - the archive used to store the result
selection - the selection operator
variation - the variation operator
initialization - the initialization method
dominanceComparator - the dominance comparator used by the addToPopulation(org.moeaframework.core.Solution) method
Method Detail

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 class AbstractAlgorithm

addToPopulation

protected void addToPopulation(Solution newSolution)
Adds the new solution to the population if is non-dominated with the current population, removing either a randomly-selected dominated solution or a non-dominated solution.

Parameters:
newSolution - the new solution being added to the population

getArchive

public EpsilonBoxDominanceArchive getArchive()
Description copied from interface: EvolutionaryAlgorithm
Returns the current non-dominated archive of the best solutions generated by this evolutionary algorithm, or null if no archive is used.

Specified by:
getArchive in interface EpsilonBoxEvolutionaryAlgorithm
Specified by:
getArchive in interface EvolutionaryAlgorithm
Overrides:
getArchive in class AbstractEvolutionaryAlgorithm
Returns:
the current non-dominated archive of the best solutions generated by this evolutionary algorithm, or null if no archive is used

MOEA Framework 2.12
API Specification

Copyright 2009-2016 MOEA Framework. All rights reserved.
Licensed under the GNU Lesser General Public License.
Return to the MOEA Framework homepage. Visit us on Github!