|
MOEA Framework 2.5 API Specification |
|||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||
java.lang.Objectorg.moeaframework.core.Population
org.moeaframework.core.NondominatedSortingPopulation
org.moeaframework.algorithm.ReferencePointNondominatedSortingPopulation
public class ReferencePointNondominatedSortingPopulation
Implementation of the reference-point-based nondominated sorting method
for NSGA-III. NSGA-III includes an additional parameter, the number of
divisions, that controls the spacing of reference points. For large
objective counts, an alternate two-layered approach was also proposed
allowing the user to specify the divisions on the outer and inner layer.
When using the two-layered approach, the number of outer divisions should
less than the number of objectives, otherwise it will generate reference
points overlapping with the inner layer. If there are M objectives and
p divisions, then binomialCoefficient(M+p-1, p) reference points are
generated.
Unfortunately, since no official implementation has been released by the original authors, we have made our best effort to implement the algorithm as described in the journal article. We would like to thank Tsung-Che Chiang for developing the first publicly available implementation of NSGA-III in C++.
References:
| Constructor Summary | |
|---|---|
ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisions)
Constructs an empty population that maintains the rank
attribute for its solutions. |
|
ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisions,
DominanceComparator comparator)
Constructs an empty population that maintains the rank attribute
for its solutions. |
|
ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisions,
DominanceComparator comparator,
Iterable<? extends Solution> iterable)
Constructs a new population with the specified solutions that maintains the rank attribute for its solutions. |
|
ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisionsOuter,
int divisionsInner)
Constructs an empty population that maintains the rank attribute
for its solutions. |
|
ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisionsOuter,
int divisionsInner,
DominanceComparator comparator)
Constructs an empty population that maintains the rank attribute
for its solutions. |
|
ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisionsOuter,
int divisionsInner,
DominanceComparator comparator,
Iterable<? extends Solution> iterable)
Constructs a new population with the specified solutions that maintains the rank attribute for its solutions. |
|
ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisionsOuter,
int divisionsInner,
Iterable<? extends Solution> iterable)
Constructs a new population with the specified solutions that maintains the rank attribute for its solutions. |
|
ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisions,
Iterable<? extends Solution> iterable)
Constructs a new population with the specified solutions that maintains the rank attribute for its solutions. |
|
| Method Summary | |
|---|---|
protected double |
achievementScalarizingFunction(Solution solution,
double[] weights)
The Chebyshev achievement scalarizing function. |
void |
truncate(int size)
Truncates the population to the specified size using the reference-point based nondominated sorting method. |
void |
truncate(int size,
Comparator<? super Solution> comparator)
Truncates the population to the specified size using the reference-point based nondominated sorting method. |
| Methods inherited from class org.moeaframework.core.NondominatedSortingPopulation |
|---|
add, clear, get, iterator, prune, remove, remove, sort, update |
| Methods inherited from class org.moeaframework.core.Population |
|---|
addAll, addAll, contains, containsAll, containsAll, indexOf, isEmpty, removeAll, removeAll, size |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisions)
rank
attribute for its solutions.
numberOfObjectives - the number of objectivesdivisions - the number of divisions
public ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisions,
DominanceComparator comparator,
Iterable<? extends Solution> iterable)
rank attribute for its solutions.
numberOfObjectives - the number of objectivesdivisions - the number of divisionscomparator - the dominance comparatoriterable - the solutions used to initialize this population
public ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisions,
DominanceComparator comparator)
rank attribute
for its solutions.
numberOfObjectives - the number of objectivesdivisions - the number of divisionscomparator - the dominance comparator
public ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisions,
Iterable<? extends Solution> iterable)
rank attribute for its solutions.
numberOfObjectives - the number of objectivesdivisions - the number of divisionsiterable - the solutions used to initialize this population
public ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisionsOuter,
int divisionsInner)
rank attribute
for its solutions.
numberOfObjectives - the number of objectivesdivisionsOuter - the number of outer divisionsdivisionsInner - the number of inner divisions
public ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisionsOuter,
int divisionsInner,
DominanceComparator comparator,
Iterable<? extends Solution> iterable)
rank attribute for its solutions.
numberOfObjectives - the number of objectivesdivisionsOuter - the number of outer divisionsdivisionsInner - the number of inner divisionscomparator - the dominance comparatoriterable - the solutions used to initialize this population
public ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisionsOuter,
int divisionsInner,
DominanceComparator comparator)
rank attribute
for its solutions.
numberOfObjectives - the number of objectivesdivisionsOuter - the number of outer divisionsdivisionsInner - the number of inner divisionscomparator - the dominance comparator
public ReferencePointNondominatedSortingPopulation(int numberOfObjectives,
int divisionsOuter,
int divisionsInner,
Iterable<? extends Solution> iterable)
rank attribute for its solutions.
numberOfObjectives - the number of objectivesdivisionsOuter - the number of outer divisionsdivisionsInner - the number of inner divisionsiterable - the solutions used to initialize this population| Method Detail |
|---|
protected double achievementScalarizingFunction(Solution solution,
double[] weights)
solution - the normalized solutionweights - the reference point (weight vector)
public void truncate(int size,
Comparator<? super Solution> comparator)
truncate in class NondominatedSortingPopulationsize - the target population size after truncationcomparator - the comparator to be used for truncationpublic void truncate(int size)
truncate in class NondominatedSortingPopulationsize - the target population size after truncation
|
MOEA Framework 2.5 API Specification |
|||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||