MOEA Framework 2.12
API Specification

org.moeaframework.core
Class EpsilonBoxDominanceArchive

java.lang.Object
  extended by org.moeaframework.core.Population
      extended by org.moeaframework.core.NondominatedPopulation
          extended by org.moeaframework.core.EpsilonBoxDominanceArchive
All Implemented Interfaces:
Iterable<Solution>

public class EpsilonBoxDominanceArchive
extends NondominatedPopulation

A non-dominated population using an ε-box dominance comparator. ε-Dominance archives provide several important theoretical properties, such as guaranteed convergence and diversity if certain other conditions hold [1]. In addition, this archive also tracks ε-progress [2] by counting the number of ε-box improvements.

References:

  1. Laumanns, M. et al. "Combining Convergence and Diversity in Evolutionary Multi-Objective Optimization." Evolutionary Computation, 10(3):263-282, 2002.
  2. Hadka, D. and Reed, P. "Borg: An Auto-Adaptive Many-Objective Evolutionary Computing Framework." Evolutionary Computation, 21(2):231-259, 2013.


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
EpsilonBoxDominanceArchive(double epsilon)
          Constructs an empty ε-box dominance archive using an additive ε-box dominance comparator with the specified ε.
EpsilonBoxDominanceArchive(double[] epsilon)
          Constructs an empty ε-box dominance archive using an additive ε-box dominance comparator with the specified ε values.
EpsilonBoxDominanceArchive(double[] epsilon, Iterable<? extends Solution> iterable)
          Constructs an ε-box dominance archive using an additive ε-box dominance comparator with the specified ε values and initialized with the specified solutions.
EpsilonBoxDominanceArchive(double epsilon, Iterable<? extends Solution> iterable)
          Constructs an ε-box dominance archive using an additive ε-box dominance comparator with the specified ε and initialized with the specified solutions.
EpsilonBoxDominanceArchive(EpsilonBoxDominanceComparator comparator)
          Constructs an empty ε-box dominance archive using the specified ε-box dominance comparator.
EpsilonBoxDominanceArchive(EpsilonBoxDominanceComparator comparator, Iterable<? extends Solution> iterable)
          Constructs an ε-box dominance archive using the specified ε-box dominance comparator and initialized with the specified solutions.
 
Method Summary
 boolean add(Solution newSolution)
          If newSolution is dominates any solution or is non-dominated with all solutions in this population, the dominated solutions are removed and newSolution is added to this population.
 EpsilonBoxDominanceComparator getComparator()
          Returns the ε-box dominance comparator used by this archive.
 int getNumberOfDominatingImprovements()
          Returns the number of ε-box improvements dominating existing solutions that have occurred.
 int getNumberOfImprovements()
          Returns the number of ε-box improvements that have occurred.
 
Methods inherited from class org.moeaframework.core.NondominatedPopulation
distance, forceAddWithoutCheck, isDuplicate, replace
 
Methods inherited from class org.moeaframework.core.Population
addAll, addAll, clear, contains, containsAll, containsAll, get, indexOf, isEmpty, iterator, remove, remove, removeAll, removeAll, size, sort, truncate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EpsilonBoxDominanceArchive

public EpsilonBoxDominanceArchive(double epsilon)
Constructs an empty ε-box dominance archive using an additive ε-box dominance comparator with the specified ε.

Parameters:
epsilon - the ε value used by the additive ε-box dominance comparator

EpsilonBoxDominanceArchive

public EpsilonBoxDominanceArchive(double epsilon,
                                  Iterable<? extends Solution> iterable)
Constructs an ε-box dominance archive using an additive ε-box dominance comparator with the specified ε and initialized with the specified solutions.

Parameters:
epsilon - the ε value used by the additive ε-box dominance comparator
iterable - the solutions used to initialize this archive

EpsilonBoxDominanceArchive

public EpsilonBoxDominanceArchive(double[] epsilon)
Constructs an empty ε-box dominance archive using an additive ε-box dominance comparator with the specified ε values.

Parameters:
epsilon - the ε values used by the additive ε-box dominance comparator

EpsilonBoxDominanceArchive

public EpsilonBoxDominanceArchive(double[] epsilon,
                                  Iterable<? extends Solution> iterable)
Constructs an ε-box dominance archive using an additive ε-box dominance comparator with the specified ε values and initialized with the specified solutions.

Parameters:
epsilon - the ε values used by the additive ε-box dominance comparator
iterable - the solutions used to initialize this archive

EpsilonBoxDominanceArchive

public EpsilonBoxDominanceArchive(EpsilonBoxDominanceComparator comparator)
Constructs an empty ε-box dominance archive using the specified ε-box dominance comparator.

Parameters:
comparator - the ε-box dominance comparator used by this archive

EpsilonBoxDominanceArchive

public EpsilonBoxDominanceArchive(EpsilonBoxDominanceComparator comparator,
                                  Iterable<? extends Solution> iterable)
Constructs an ε-box dominance archive using the specified ε-box dominance comparator and initialized with the specified solutions.

Parameters:
comparator - the ε-box dominance comparator used by this archive
iterable - the solutions used to initialize this archive
Method Detail

add

public boolean add(Solution newSolution)
Description copied from class: NondominatedPopulation
If newSolution is dominates any solution or is non-dominated with all solutions in this population, the dominated solutions are removed and newSolution is added to this population. Otherwise, newSolution is dominated and is not added to this population.

Overrides:
add in class NondominatedPopulation
Parameters:
newSolution - the solution to be added
Returns:
true if the population was modified as a result of this method; false otherwise.

getComparator

public EpsilonBoxDominanceComparator getComparator()
Returns the ε-box dominance comparator used by this archive.

Overrides:
getComparator in class NondominatedPopulation
Returns:
the ε-box dominance comparator used by this archive

getNumberOfImprovements

public int getNumberOfImprovements()
Returns the number of ε-box improvements that have occurred.

Returns:
the number of ε-box improvements that have occurred

getNumberOfDominatingImprovements

public int getNumberOfDominatingImprovements()
Returns the number of ε-box improvements dominating existing solutions that have occurred.

Returns:
the number of ε-box improvements dominating existing solutions that have occurred

MOEA Framework 2.12
API Specification

Copyright 2009-2016 MOEA Framework. All rights reserved.
Licensed under the GNU Lesser General Public License.
Return to the MOEA Framework homepage. Visit us on Github!