Package org.moeaframework.core.fitness
Class FitnessBasedArchive
java.lang.Object
org.moeaframework.core.Population
org.moeaframework.core.NondominatedPopulation
org.moeaframework.core.fitness.FitnessBasedArchive
- All Implemented Interfaces:
Iterable<Solution>
,Stateful
,Displayable
,Formattable<Solution>
Maintains a non-dominated archive of solutions with a maximum capacity. If the size exceeds the capacity, one or
more solutions are pruned based on the fitness calculation. The fitness calculation only occurs when the
addition of a solution exceeds the capacity. The fitness can be manually calculated by calling
update()
.-
Nested Class Summary
Nested classes/interfaces inherited from class org.moeaframework.core.NondominatedPopulation
NondominatedPopulation.DuplicateMode
-
Field Summary
Fields inherited from class org.moeaframework.core.NondominatedPopulation
comparator, duplicateMode
-
Constructor Summary
ConstructorDescriptionFitnessBasedArchive
(FitnessEvaluator evaluator, int capacity) Constructs an empty fitness-based archive.FitnessBasedArchive
(FitnessEvaluator evaluator, int capacity, Iterable<? extends Solution> iterable) Constructs a fitness-based archive initialized with the specified solutions.FitnessBasedArchive
(FitnessEvaluator evaluator, int capacity, DominanceComparator comparator) Constructs an empty fitness-based archive.FitnessBasedArchive
(FitnessEvaluator evaluator, int capacity, DominanceComparator comparator, Iterable<? extends Solution> iterable) Constructs a fitness-based archive initialized with the specified solutions. -
Method Summary
Modifier and TypeMethodDescriptionboolean
IfnewSolution
is dominates any solution or is non-dominated with all solutions in this population, the dominated solutions are removed andnewSolution
is added to this population.void
update()
Updates the fitness of all solutions in this population.Methods inherited from class org.moeaframework.core.NondominatedPopulation
forceAddWithoutCheck, getComparator, isDuplicate, loadReferenceSet, loadReferenceSet, replace
Methods inherited from class org.moeaframework.core.Population
addAll, addAll, asList, asList, asTabularData, clear, contains, containsAll, containsAll, get, indexOf, isEmpty, iterator, load, loadObjectives, loadObjectives, loadState, remove, remove, removeAll, removeAll, save, saveObjectives, saveState, size, sort, truncate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.moeaframework.util.format.Displayable
display
Methods inherited from interface org.moeaframework.util.format.Formattable
display, saveCSV
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
FitnessBasedArchive
Constructs an empty fitness-based archive.- Parameters:
evaluator
- the fitness evaluator for computing the fitness of solutionscapacity
- the maximum capacity of this archive
-
FitnessBasedArchive
public FitnessBasedArchive(FitnessEvaluator evaluator, int capacity, DominanceComparator comparator) Constructs an empty fitness-based archive.- Parameters:
evaluator
- the fitness evaluator for computing the fitness of solutionscapacity
- the maximum capacity of this archivecomparator
- the dominance comparator
-
FitnessBasedArchive
public FitnessBasedArchive(FitnessEvaluator evaluator, int capacity, DominanceComparator comparator, Iterable<? extends Solution> iterable) Constructs a fitness-based archive initialized with the specified solutions.- Parameters:
evaluator
- the fitness evaluator for computing the fitness of solutionscapacity
- the maximum capacity of this archivecomparator
- the dominance comparatoriterable
- the solutions used to initialize this population
-
FitnessBasedArchive
public FitnessBasedArchive(FitnessEvaluator evaluator, int capacity, Iterable<? extends Solution> iterable) Constructs a fitness-based archive initialized with the specified solutions.- Parameters:
evaluator
- the fitness evaluator for computing the fitness of solutionscapacity
- the maximum capacity of this archiveiterable
- the solutions used to initialize this population
-
-
Method Details
-
add
Description copied from class:NondominatedPopulation
IfnewSolution
is dominates any solution or is non-dominated with all solutions in this population, the dominated solutions are removed andnewSolution
is added to this population. Otherwise,newSolution
is dominated and is not added to this population.- Overrides:
add
in classNondominatedPopulation
- Parameters:
solution
- the solution to be added- Returns:
true
if the population was modified as a result of this method;false
otherwise.
-
update
public void update()Updates the fitness of all solutions in this population.
-