Class RankingAndCrowdingSelection<S extends Solution<?>>

java.lang.Object
org.uma.jmetal.operator.selection.impl.RankingAndCrowdingSelection<S>
All Implemented Interfaces:
Serializable, Operator<List<S>,List<S>>, SelectionOperator<List<S>,List<S>>
Direct Known Subclasses:
RankingAndDirScoreSelection

public class RankingAndCrowdingSelection<S extends Solution<?>> extends Object implements SelectionOperator<List<S>,List<S>>
This class implements a selection for selecting a number of solutions from a solution list. The solutions are taken by mean of its ranking and crowding distance values.
Author:
Antonio J. Nebro, Juan J. Durillo
See Also:
  • Constructor Details

    • RankingAndCrowdingSelection

      public RankingAndCrowdingSelection(int solutionsToSelect, Comparator<S> dominanceComparator)
      Constructor
    • RankingAndCrowdingSelection

      public RankingAndCrowdingSelection(int solutionsToSelect)
      Constructor
  • Method Details

    • numberOfSolutionsToSelect

      public int numberOfSolutionsToSelect()
    • execute

      public List<S> execute(List<S> solutionList) throws JMetalException
      Execute() method
      Specified by:
      execute in interface Operator<List<S extends Solution<?>>,List<S extends Solution<?>>>
      Parameters:
      solutionList - The data to process
      Throws:
      JMetalException
    • crowdingDistanceSelection

      protected List<S> crowdingDistanceSelection(Ranking<S> ranking)
    • subfrontFillsIntoThePopulation

      protected boolean subfrontFillsIntoThePopulation(Ranking<S> ranking, int rank, List<S> population)
    • addRankedSolutionsToPopulation

      protected void addRankedSolutionsToPopulation(Ranking<S> ranking, int rank, List<S> population)
    • addLastRankedSolutionsToPopulation

      protected void addLastRankedSolutionsToPopulation(Ranking<S> ranking, int rank, List<S> population)