Class AbstractCoralReefsOptimization<S,R>

java.lang.Object
org.uma.jmetal.algorithm.impl.AbstractCoralReefsOptimization<S,R>
All Implemented Interfaces:
Serializable, Runnable, Algorithm<R>

public abstract class AbstractCoralReefsOptimization<S,R> extends Object implements Algorithm<R>
Abstract class representing a Coral Reefs Optimization Algorithm Reference: S. Salcedo-Sanz, J. Del Ser, S. Gil-López, I. Landa-Torres and J. A. Portilla-Figueras, "The coral reefs optimization algorithm: an efficient meta-heuristic for solving hard optimization problems," 15th Applied Stochastic Models and Data Analysis International Conference, Mataró, Spain, June, 2013.
Author:
Inacio Medeiros invalid input: '<'inaciogmedeiros@gmail.com>
See Also:
  • Field Details

  • Constructor Details

    • AbstractCoralReefsOptimization

      public AbstractCoralReefsOptimization(Comparator<S> comparator, SelectionOperator<List<S>,S> selectionOperator, CrossoverOperator<S> crossoverOperator, MutationOperator<S> mutationOperator, int n, int m, double rho, double fbs, double fa, double pd, int attemptsToSettle)
      Constructor
      Parameters:
      comparator - Object for comparing two solutions
      selectionOperator - Selection Operator
      crossoverOperator - Crossover Operator
      mutationOperator - Mutation Operator
      n - width of Coral Reef Grid
      m - height of Coral Reef Grid
      rho - Percentage of occupied reef
      fbs - Percentage of broadcast spawners
      fa - Percentage of budders
      pd - Probability of depredation
      attemptsToSettle - number of attempts a larvae has to try to settle reef
  • Method Details

    • getPopulation

      public List<S> getPopulation()
    • getPopulationSize

      public int getPopulationSize()
    • getCoordinates

    • setPopulation

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

      public void setCoordinates(List<AbstractCoralReefsOptimization.Coordinate> coordinates)
    • getN

      public int getN()
    • getM

      public int getM()
    • getRho

      public double getRho()
    • getFbs

      public double getFbs()
    • getFbr

      public double getFbr()
    • getFa

      public double getFa()
    • getFd

      public double getFd()
    • getPd

      public double getPd()
    • getAttemptsToSettle

      public int getAttemptsToSettle()
    • initProgress

      protected abstract void initProgress()
    • updateProgress

      protected abstract void updateProgress()
    • isStoppingConditionReached

      protected abstract boolean isStoppingConditionReached()
    • createInitialPopulation

      protected abstract List<S> createInitialPopulation()
    • generateCoordinates

      protected abstract List<AbstractCoralReefsOptimization.Coordinate> generateCoordinates()
    • evaluatePopulation

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

      protected abstract List<S> selectBroadcastSpawners(List<S> population)
    • sexualReproduction

      protected abstract List<S> sexualReproduction(List<S> broadcastSpawners)
    • asexualReproduction

      protected abstract List<S> asexualReproduction(List<S> brooders)
    • larvaeSettlementPhase

      protected abstract List<S> larvaeSettlementPhase(List<S> larvae, List<S> population, List<AbstractCoralReefsOptimization.Coordinate> coordinates)
    • depredation

      protected abstract List<S> depredation(List<S> population, List<AbstractCoralReefsOptimization.Coordinate> coordinates)
    • run

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

      public abstract R result()
      Specified by:
      result in interface Algorithm<S>