Package org.opt4j.common.archive
Class AbstractArchive
java.lang.Object
org.opt4j.core.IndividualSet
org.opt4j.core.optimizer.Archive
org.opt4j.common.archive.AbstractArchive
- All Implemented Interfaces:
Iterable<Individual>,Collection<Individual>,Set<Individual>
- Direct Known Subclasses:
BoundedArchive,PopulationArchive,UnboundedArchive
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.-
Field Summary
Fields inherited from class org.opt4j.core.IndividualSet
individuals, listeners -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanupdate(Set<? extends Individual> individuals) Updates the archive with a set of individuals.protected abstract booleanupdateWithNondominated(Collection<Individual> candidates) Adds newcandidateswhich 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, updateMethods inherited from class org.opt4j.core.IndividualSet
addListener, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, removeListener, retainAll, size, toArray, toArrayMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface java.util.Set
equals, hashCode, spliterator
-
Constructor Details
-
AbstractArchive
public AbstractArchive()
-
-
Method Details
-
update
Description copied from class:ArchiveUpdates the archive with a set of individuals. Instead of theadd/addAllmethods, which are prohibited for the archive (throwing anUnsupportedOperationException), this method shall be used. -
updateWithNondominated
Adds newcandidateswhich are already checked to be not Pareto-dominated by any other individual in thisArchive. AllIndividuals in theArchivewhich 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
-