MOEA Framework 2.12
API Specification

org.moeaframework.algorithm
Class RVEA

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

public class RVEA
extends AbstractEvolutionaryAlgorithm

Implementation of the Reference Vector Guided Evolutionary Algorithm (RVEA). This version does not include the reference vector regeneration method proposed by the authors.

RVEA is similar in concept to NSGA-III, but replaces NSGA-III's dominance-based selection with an angle-penalized distance function. Additionally, whereas NSGA-III renormalizes the objectives every iteration, RVEA periodically scales the reference vectors, potentially reducing algorithm overhead.

References:

  1. R. Cheng, Y. Jin, M. Olhofer, and B. Sendhoff. "A Reference Vector Guided Evolutionary Algorithm for Many-objective Optimization." IEEE Transactions on Evolutionary Computation, Issue 99, 2016.


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
RVEA(Problem problem, ReferenceVectorGuidedPopulation population, Variation variation, Initialization initialization, int maxGeneration, int adaptFrequency)
          Constructs a new instance of the RVEA algorithm.
 
Method Summary
 ReferenceVectorGuidedPopulation getPopulation()
          Returns the current population of this evolutionary algorithm.
 Serializable getState()
          Returns a Serializable object representing the internal state of this algorithm.
protected  void iterate()
          Performs one iteration of the algorithm.
 void setState(Object objState)
          Sets the internal state of of this algorithm.
 
Methods inherited from class org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
getArchive, getResult, initialize
 
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.Algorithm
evaluate, getNumberOfEvaluations, getProblem, isTerminated, step, terminate
 

Constructor Detail

RVEA

public RVEA(Problem problem,
            ReferenceVectorGuidedPopulation population,
            Variation variation,
            Initialization initialization,
            int maxGeneration,
            int adaptFrequency)
Constructs a new instance of the RVEA algorithm.

Parameters:
problem - the problem being solved
population - the population used to store solutions
variation - the variation operator
initialization - the initialization method
maxGeneration - the maximum number of generations for the angle-penalized distance to transition between convergence and diversity
adaptFrequency - the frequency, in generations, that the reference vectors are normalized.
Method Detail

iterate

protected 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

getPopulation

public ReferenceVectorGuidedPopulation getPopulation()
Description copied from interface: EvolutionaryAlgorithm
Returns the current population of this evolutionary algorithm.

Specified by:
getPopulation in interface EvolutionaryAlgorithm
Overrides:
getPopulation in class AbstractEvolutionaryAlgorithm
Returns:
the current population of this evolutionary algorithm

getState

public Serializable getState()
                      throws NotSerializableException
Description copied from interface: Algorithm
Returns a Serializable object representing the internal state of this algorithm.

Specified by:
getState in interface Algorithm
Overrides:
getState in class AbstractEvolutionaryAlgorithm
Returns:
a Serializable object representing the internal state of this algorithm
Throws:
NotSerializableException - if this algorithm does not support serialization

setState

public void setState(Object objState)
              throws NotSerializableException
Description copied from interface: Algorithm
Sets the internal state of of this algorithm.

Specified by:
setState in interface Algorithm
Overrides:
setState in class AbstractEvolutionaryAlgorithm
Parameters:
objState - the internal state of this algorithm
Throws:
NotSerializableException - if this algorithm does not support serialization

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!