MOEA Framework 2.12
API Specification

Class VEGA

  extended by org.moeaframework.algorithm.AbstractAlgorithm
      extended by org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
          extended by org.moeaframework.algorithm.VEGA
All Implemented Interfaces:
Algorithm, EvolutionaryAlgorithm

public class VEGA
extends AbstractEvolutionaryAlgorithm

Implementation of the Vector Evaluated Genetic Algorithm (VEGA). VEGA should be avoided in practice, since many modern algorithms outperform it and exhibit better convergence properties, but is included due to its historical significance. VEGA is considered the earliest MOEA. It supports M objectives during the selection phase by selecting M different subgroups, each selected based on the i-th objective value, for i=1,...,M.

There is one small algorithmic difference between this implementation and [1]. In [1], applying the genetic operators fills the entire population. However, since custom variation operators can be specified, it is possible that the population will not be filled completely. As a result, this implementation will continue selecting parents until the population is full.


  1. Schaffer, D. (1985). Multiple Objective Optimization with Vector Evaluated Genetic Algorithms. Proceedings of the 1st International Conference on Genetic Algorithms, pp. 93-100.

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
VEGA(Problem problem, Population population, NondominatedPopulation archive, Initialization initialization, Variation variation)
          Constructs a new VEGA instance.
Method Summary
protected  void iterate()
          Performs one iteration of the algorithm.
Methods inherited from class org.moeaframework.algorithm.AbstractEvolutionaryAlgorithm
getArchive, 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.Algorithm
evaluate, getNumberOfEvaluations, getProblem, isTerminated, step, terminate

Constructor Detail


public VEGA(Problem problem,
            Population population,
            NondominatedPopulation archive,
            Initialization initialization,
            Variation variation)
Constructs a new VEGA instance.

problem - the problem
population - the population
archive - the external archive; or null if no external archive is used
initialization - the initialization operator
variation - the variation operator
Method Detail


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

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!