
MOEA Framework 2.12 API Specification 

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
java.lang.Object org.moeaframework.core.Population org.moeaframework.algorithm.MSOPSRankedPopulation
public class MSOPSRankedPopulation
Population implementing the ranking scheme used by the Multiple Single Objective Pareto Sampling (MSOPS) algorithm. Solutions are ranked with respect to T weight vectors based on two metrics  the weighted minmax aggregate and the vector angle distance scaling (VADS) metric  producing 2*T scores/rankings. The overall ranking of a solution is computed using a lexicographical ordering, where the best rank is given to the solution with the best individual ranking among the T weight vectors.
Three methods of constraint handling are described in the literature. In the original paper, [1], E. Hughes recommends ranking feasible and infeasible solutions separately and ensuring the ranking if worse for the infeasible solutions. In the published Matlab code, [2], E. Hughes penalizes the objective values based on the magnitude of the constraint violation. Lastly, in [3], E. Hughes states that the infeasible solutions are ranked in order by their aggregate constraint violation. Regardless of these differences, all three methods ensure the ranking is always worse for infeasible solutions. This implementation follows this practice by penalizing the scores based on the magnitude of the constraint violation (similar to [2]).
References:
Constructor Summary  

MSOPSRankedPopulation(List<double[]> weights)
Constructs an empty population that maintains the rank and
attribute for its solutions using the MSOPS ranking method. 

MSOPSRankedPopulation(List<double[]> weights,
Iterable<? extends Solution> iterable)
Constructs a population initialized with the specified solutions that maintains the rank attribute for its solutions using the MSOPS
ranking method. 
Method Summary  

boolean 
add(Solution solution)
Adds the specified solution to this population. 
void 
clear()
Removes all solutions from this population. 
Population 
findNearest(int index,
int size)
Returns the neighborhood of solutions nearest to and including the given solution. 
Solution 
get(int index)
Returns the solution at the specified index in this population. 
Iterator<Solution> 
iterator()
Returns an iterator for accessing the solutions in this population. 
void 
remove(int index)
Removes the solution at the specified index from this population. 
boolean 
remove(Solution solution)
Removes the specified solution from this population, if present. 
void 
replace(int index,
Solution solution)
Replaces the solution at the given index. 
void 
sort(Comparator<? super Solution> comparator)
Sorts the solutions in this population using the specified comparator. 
void 
truncate(int size)
Equivalent to calling truncate(size, new RankComparator()) . 
void 
truncate(int size,
Comparator<? super Solution> comparator)
Sorts this population using the specified comparator and removes the last (maximum) solutions until this population's size is within the specified size. 
void 
update()
Updates the rank attribute of all solutions in this population using the MSOPS ranking method. 
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 MSOPSRankedPopulation(List<double[]> weights)
rank
and
attribute for its solutions using the MSOPS ranking method.
weights
 the weight vectorspublic MSOPSRankedPopulation(List<double[]> weights, Iterable<? extends Solution> iterable)
rank
attribute for its solutions using the MSOPS
ranking method.
weights
 the weight vectorsiterable
 the solutions used to initialize this populationMethod Detail 

public boolean add(Solution solution)
Population
add
in class Population
solution
 the solution to be added
true
if the population was modified as a result of this
method; false
otherwise.public void replace(int index, Solution solution)
Population
replace
in class Population
index
 the index to replacesolution
 the new solutionpublic Solution get(int index)
Population
get
in class Population
index
 the index of the solution to be returned
public void remove(int index)
Population
remove
in class Population
index
 the index of the solution to be removedpublic boolean remove(Solution solution)
Population
remove
in class Population
solution
 the solution to be removed
true
if this population was modified as a result of this
method; false
otherwisepublic void clear()
Population
clear
in class Population
public Iterator<Solution> iterator()
Population
iterator
in interface Iterable<Solution>
iterator
in class Population
public void sort(Comparator<? super Solution> comparator)
Population
get
, remove
and iteration methods
should be called immediately after invoking this method.
sort
in class Population
comparator
 the comparator to be used for sortingpublic void truncate(int size, Comparator<? super Solution> comparator)
Population
truncate
in class Population
size
 the target population size after truncationcomparator
 the comparator to be used for truncationpublic void truncate(int size)
truncate(size, new RankComparator())
.
size
 the target population size after truncationpublic Population findNearest(int index, int size)
index
 the index of the solution at the center of the neighborhoodsize
 the size of the neighborhood
public void update()
update()
manually.

MOEA Framework 2.12 API Specification 

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 