MOEA Framework 2.12
API Specification

org.moeaframework.algorithm
Class EpsilonProgressContinuation

java.lang.Object
  extended by org.moeaframework.algorithm.PeriodicAction
      extended by org.moeaframework.algorithm.AdaptiveTimeContinuation
          extended by org.moeaframework.algorithm.EpsilonProgressContinuation
All Implemented Interfaces:
Algorithm, EvolutionaryAlgorithm

public class EpsilonProgressContinuation
extends AdaptiveTimeContinuation

Extends AdaptiveTimeContinuation to trigger restarts using ε-progress. ε-progress measures search progress by counting the number of significant improvements, as measured by the number of unoccupied ε-boxes filled during a fixed time window.

References:

  1. 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.algorithm.PeriodicAction
PeriodicAction.FrequencyType
 
Field Summary
 
Fields inherited from class org.moeaframework.algorithm.PeriodicAction
algorithm, frequency, frequencyType, iteration, lastInvocation
 
Constructor Summary
EpsilonProgressContinuation(EpsilonBoxEvolutionaryAlgorithm algorithm, int windowSize, int maxWindowSize, double populationRatio, int minimumPopulationSize, int maximumPopulationSize, Selection selection, Variation variation)
          Decorates the specified algorithm with ε-progress triggered time continuation.
 
Method Summary
protected  RestartType check()
          Performs a check to determine if a restart should occur.
 EpsilonBoxDominanceArchive getArchive()
          Returns the current non-dominated archive of the best solutions generated by this evolutionary algorithm, or null if no archive is used.
 Serializable getState()
          Returns a Serializable object representing the internal state of this algorithm.
protected  void restart(RestartType type)
          Performs a restart.
 void setState(Object objState)
          Sets the internal state of of this algorithm.
 
Methods inherited from class org.moeaframework.algorithm.AdaptiveTimeContinuation
addRestartListener, doAction, getPopulation, removeRestartListener
 
Methods inherited from class org.moeaframework.algorithm.PeriodicAction
evaluate, getNumberOfEvaluations, getProblem, getResult, isTerminated, step, terminate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.moeaframework.core.Algorithm
evaluate, getNumberOfEvaluations, getProblem, getResult, isTerminated, step, terminate
 

Constructor Detail

EpsilonProgressContinuation

public EpsilonProgressContinuation(EpsilonBoxEvolutionaryAlgorithm algorithm,
                                   int windowSize,
                                   int maxWindowSize,
                                   double populationRatio,
                                   int minimumPopulationSize,
                                   int maximumPopulationSize,
                                   Selection selection,
                                   Variation variation)
Decorates the specified algorithm with ε-progress triggered time continuation.

Parameters:
algorithm - the algorithm being decorated
windowSize - the number of iterations between invocations of check
maxWindowSize - the maximum number of iterations allowed since the last restart before forcing a restart
populationRatio - the population-to-archive ratio
minimumPopulationSize - the minimum size of the population
maximumPopulationSize - the maximum size of the population
selection - the selection operator for selecting solutions from the archive during a restart
variation - the variation operator for mutating solutions selected from the archive during a restart
Method Detail

getArchive

public EpsilonBoxDominanceArchive getArchive()
Description copied from interface: EvolutionaryAlgorithm
Returns the current non-dominated archive of the best solutions generated by this evolutionary algorithm, or null if no archive is used.

Specified by:
getArchive in interface EvolutionaryAlgorithm
Overrides:
getArchive in class AdaptiveTimeContinuation
Returns:
the current non-dominated archive of the best solutions generated by this evolutionary algorithm, or null if no archive is used

check

protected RestartType check()
Description copied from class: AdaptiveTimeContinuation
Performs a check to determine if a restart should occur. Returns RestartType.NONE if no restart should occur; or RestartType.HARD if the population-to-archive ratio exceeds populationRatio by more than 25% or the number of fitness evaluations since the last restart exceeds maxWindowSize.

Overrides:
check in class AdaptiveTimeContinuation
Returns:
RestartType.NONE if no restart should occur; or RestartType.HARD if the population-to-archive ratio exceeds populationRatio by more than 25% or if the number of fitness evaluations since the last restart exceeds maxWindowSize

restart

protected void restart(RestartType type)
Description copied from class: AdaptiveTimeContinuation
Performs a restart. If the type is RestartType.HARD, the population is emptied, resized and filled with solutions selected and mutated from the archive. If the type is RestartType.SOFT, the population is not emptied; new solutions are only added to fill any empty slots.

Overrides:
restart in class AdaptiveTimeContinuation
Parameters:
type - the type of restart

getState

public Serializable getState()
                      throws NotSerializableException
Description copied from interface: Algorithm
Returns a Serializable object representing the internal state of this algorithm.

Specified by:
getState in interface Algorithm
Overrides:
getState in class AdaptiveTimeContinuation
Returns:
a Serializable object representing the internal state of this algorithm
Throws:
NotSerializableException - if this algorithm does not support serialization

setState

public void setState(Object objState)
              throws NotSerializableException
Description copied from interface: Algorithm
Sets the internal state of of this algorithm.

Specified by:
setState in interface Algorithm
Overrides:
setState in class AdaptiveTimeContinuation
Parameters:
objState - the internal state of this algorithm
Throws:
NotSerializableException - if this algorithm does not support serialization

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!