jmetal.util.archive
Class HypervolumeArchive

java.lang.Object
  extended by jmetal.core.SolutionSet
      extended by jmetal.util.archive.Archive
          extended by jmetal.util.archive.HypervolumeArchive
All Implemented Interfaces:
java.io.Serializable

public class HypervolumeArchive
extends Archive

This class implements a bounded archive based on crowding distances (as defined in NSGA-II).

See Also:
Serialized Form

Field Summary
 
Fields inherited from class jmetal.core.SolutionSet
solutionsList_
 
Constructor Summary
HypervolumeArchive(int maxSize, int numberOfObjectives)
          Constructor.
 
Method Summary
 void actualiseHVContribution()
          This method forces to compute the contribution of each solution (required for PAEShv)
 boolean add(Solution solution)
          Adds a Solution to the archive.
 int getLocation(Solution solution)
          This method returns the location (integer position) of a solution in the archive.
 
Methods inherited from class jmetal.core.SolutionSet
add, best, clear, get, getCapacity, getMaxSize, indexWorst, iterator, printFeasibleFUN, printFeasibleVAR, printObjectives, printObjectivesToFile, printVariablesToFile, remove, replace, setCapacity, size, sort, union, worst, writeObjectivesToMatrix
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HypervolumeArchive

public HypervolumeArchive(int maxSize,
                          int numberOfObjectives)
Constructor.

Parameters:
maxSize - The maximum size of the archive.
numberOfObjectives - The number of objectives.
Method Detail

add

public boolean add(Solution solution)
Adds a Solution to the archive. If the Solution is dominated by any member of the archive, then it is discarded. If the Solution dominates some members of the archive, these are removed. If the archive is full and the Solution has to be inserted, the solutions are sorted by crowding distance and the one having the minimum crowding distance value.

Overrides:
add in class SolutionSet
Parameters:
solution - The Solution
Returns:
true if the Solution has been inserted, false otherwise.

actualiseHVContribution

public void actualiseHVContribution()
This method forces to compute the contribution of each solution (required for PAEShv)


getLocation

public int getLocation(Solution solution)
This method returns the location (integer position) of a solution in the archive. For that, the equals_ comparator is used