Class AbstractArchive

All Implemented Interfaces:
Iterable<Individual>, Collection<Individual>, Set<Individual>
Direct Known Subclasses:
BoundedArchive, PopulationArchive, UnboundedArchive

public abstract class AbstractArchive extends Archive
This AbstractArchive provides some common methods for Archive s. If one or more new Individuals are added to this Archive, it is assured that all Individuals in this Archive are not Pareto-dominated. The methods Archive.add(org.opt4j.core.Individual), Archive.addAll(Collection), and Archive.addAll(Individual...) are implemented such that each dominated Individual is removed from the archive and with the new (unknown) non-dominated Individuals the method updateWithNondominated(Collection) is called. Actual implementations of this class may still refuse or drop some Individuals. An Archive can be a BoundedArchive if it has a bounded size or an UnboundedArchive, otherwise.
  • Constructor Details

    • AbstractArchive

      public AbstractArchive()
  • Method Details

    • update

      public boolean update(Set<? extends Individual> individuals)
      Description copied from class: Archive
      Updates the archive with a set of individuals. Instead of the add /addAll methods, which are prohibited for the archive (throwing an UnsupportedOperationException), this method shall be used.
      Specified by:
      update in class Archive
      Parameters:
      individuals - the set of individuals that is used to update the archive
      Returns:
      returns true if the content of the archive changed
    • updateWithNondominated

      protected abstract boolean updateWithNondominated(Collection<Individual> candidates)
      Adds new candidates which are already checked to be not Pareto-dominated by any other individual in this Archive. All Individuals in the Archive which were dominated by the candidates have already been removed.
      Parameters:
      candidates - the non-dominated individuals which can be added
      Returns:
      true if one or more candidates are added to the archive