Class AbstractEvolutionaryAlgorithm<S,R>

java.lang.Object
org.uma.jmetal.algorithm.impl.AbstractEvolutionaryAlgorithm<S,R>
Type Parameters:
S - Solution
R - Result
All Implemented Interfaces:
Serializable, Runnable, Algorithm<R>
Direct Known Subclasses:
AbstractDifferentialEvolution, AbstractEvolutionStrategy, AbstractGeneticAlgorithm

public abstract class AbstractEvolutionaryAlgorithm<S,R> extends Object implements Algorithm<R>
Abstract class representing an evolutionary algorithm
Author:
Antonio J. Nebro <antonio@lcc.uma.es>
See Also:
  • Field Details

    • population

      protected List<S> population
    • problem

      protected Problem<S> problem
  • Constructor Details

    • AbstractEvolutionaryAlgorithm

      public AbstractEvolutionaryAlgorithm()
  • Method Details

    • getPopulation

      public List<S> getPopulation()
    • setPopulation

      public void setPopulation(List<S> population)
    • setProblem

      public void setProblem(Problem<S> problem)
    • getProblem

      public Problem<S> getProblem()
    • initProgress

      protected abstract void initProgress()
    • updateProgress

      protected abstract void updateProgress()
    • isStoppingConditionReached

      protected abstract boolean isStoppingConditionReached()
    • createInitialPopulation

      protected abstract List<S> createInitialPopulation()
    • evaluatePopulation

      protected abstract List<S> evaluatePopulation(List<S> population)
    • selection

      protected abstract List<S> selection(List<S> population)
    • reproduction

      protected abstract List<S> reproduction(List<S> population)
    • replacement

      protected abstract List<S> replacement(List<S> population, List<S> offspringPopulation)
    • run

      public void run()
      Specified by:
      run in interface Algorithm<S>
      Specified by:
      run in interface Runnable