Package org.opt4j.common.archive
Class PopulationArchive
java.lang.Object
org.opt4j.core.IndividualSet
org.opt4j.core.optimizer.Archive
org.opt4j.common.archive.AbstractArchive
org.opt4j.common.archive.PopulationArchive
- All Implemented Interfaces:
Iterable<Individual>
,Collection<Individual>
,Set<Individual>
The
PopulationArchive
keeps the non-dominated Individual
s
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
-
Method Summary
Modifier and TypeMethodDescriptionboolean
update
(Set<? extends Individual> individuals) Updates the archive with a set of individuals.protected boolean
updateWithNondominated
(Collection<Individual> candidates) Adds newcandidates
which are already checked to be not Pareto-dominated by any other individual in thisArchive
.Methods inherited from class org.opt4j.core.optimizer.Archive
add, addAll, addAll, addCheckedIndividual, addCheckedIndividuals, update
Methods inherited from class org.opt4j.core.IndividualSet
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.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface java.util.Set
equals, hashCode, spliterator
-
Constructor Details
-
PopulationArchive
public PopulationArchive()
-
-
Method Details
-
update
Description copied from class:Archive
Updates the archive with a set of individuals. Instead of theadd
/addAll
methods, which are prohibited for the archive (throwing anUnsupportedOperationException
), this method shall be used.- Overrides:
update
in classAbstractArchive
- Parameters:
individuals
- the set of individuals that is used to update the archive- Returns:
- returns
true
if the content of the archive changed
-
updateWithNondominated
Description copied from class:AbstractArchive
Adds newcandidates
which are already checked to be not Pareto-dominated by any other individual in thisArchive
. AllIndividual
s in theArchive
which were dominated by the candidates have already been removed.- Specified by:
updateWithNondominated
in classAbstractArchive
- Parameters:
candidates
- the non-dominated individuals which can be added- Returns:
- true if one or more candidates are added to the archive
-