Class VEGA

All Implemented Interfaces:
Algorithm, Configurable, EvolutionaryAlgorithm, Stateful

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.

References:

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

    • VEGA

      public VEGA(Problem problem)
      Constructs a new VEGA instance with default settings.
      Parameters:
      problem - the problem
    • VEGA

      public VEGA(Problem problem, int initialPopulationSize, Population population, NondominatedPopulation archive, Initialization initialization, Variation variation)
      Constructs a new VEGA instance.
      Parameters:
      problem - the problem
      initialPopulationSize - the initial population size
      population - the population
      archive - the external archive; or null if no external archive is used
      initialization - the initialization operator
      variation - the variation operator
  • Method Details