org.opt4j.core.common.archive
Class PopulationArchive

java.lang.Object
  extended by org.opt4j.core.IndividualSet
      extended by org.opt4j.core.optimizer.Archive
          extended by org.opt4j.core.common.archive.AbstractArchive
              extended by org.opt4j.core.common.archive.PopulationArchive
All Implemented Interfaces:
java.lang.Iterable<Individual>, java.util.Collection<Individual>, java.util.Set<Individual>

public class PopulationArchive
extends AbstractArchive

The PopulationArchive keeps the non-dominated Individuals from the Population. It is assumed that the update(Set) method is called with the current Population in each iteration.


Field Summary
 
Fields inherited from class org.opt4j.core.IndividualSet
individuals, listeners
 
Constructor Summary
PopulationArchive()
           
 
Method Summary
 boolean update(java.util.Set<? extends Individual> individuals)
          Updates the archive with a set of individuals.
protected  boolean updateWithNondominated(java.util.Collection<Individual> candidates)
          Adds new candidates which are already checked to be not Pareto-dominated by any other individual in this Archive.
 
Methods inherited from class org.opt4j.core.optimizer.Archive
addCheckedIndividual, addCheckedIndividuals, update
 
Methods inherited from class org.opt4j.core.IndividualSet
add, addAll, addAll, addListener, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, removeListener, retainAll, size, toArray, toArray
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Set
equals, hashCode
 

Constructor Detail

PopulationArchive

public PopulationArchive()
Method Detail

update

public boolean update(java.util.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.

Overrides:
update in class AbstractArchive
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 boolean updateWithNondominated(java.util.Collection<Individual> candidates)
Description copied from class: AbstractArchive
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.

Specified by:
updateWithNondominated in class AbstractArchive
Parameters:
candidates - the non-dominated individuals which can be added
Returns:
true if one or more candidates are added to the archive