Class EpsilonProgressContinuation
java.lang.Object
org.moeaframework.core.PeriodicAction
org.moeaframework.algorithm.continuation.AdaptiveTimeContinuation
org.moeaframework.algorithm.continuation.EpsilonProgressContinuation
- All Implemented Interfaces:
Extensible
,Algorithm
,Configurable
,EvolutionaryAlgorithm
,Stateful
Deprecated.
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:
- 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.PeriodicAction
PeriodicAction.FrequencyType
-
Field Summary
Fields inherited from class org.moeaframework.core.PeriodicAction
algorithm, frequency, frequencyType, iteration, lastInvocation
-
Constructor Summary
ConstructorDescriptionEpsilonProgressContinuation
(EpsilonBoxEvolutionaryAlgorithm algorithm, int windowSize, int maxWindowSize, double injectionRate, int minimumPopulationSize, int maximumPopulationSize, Selection selection, Variation variation) Deprecated.Decorates the specified algorithm with ε-progress triggered time continuation. -
Method Summary
Modifier and TypeMethodDescriptionprotected RestartType
check()
Deprecated.Performs a check to determine if a restart should occur.Deprecated.Returns the current non-dominated archive of the best solutions generated by this evolutionary algorithm, ornull
if no archive is used.void
loadState
(ObjectInputStream stream) Deprecated.Loads the state of this object from the stream.protected void
restart
(RestartType type) Deprecated.Performs a restart.void
saveState
(ObjectOutputStream stream) Deprecated.Writes the state of this object to the stream.Methods inherited from class org.moeaframework.algorithm.continuation.AdaptiveTimeContinuation
addRestartListener, doAction, getAlgorithm, getInjectionRate, getMaximumPopulationSize, getMaxWindowSize, getMinimumPopulationSize, getPopulation, getWindowSize, removeRestartListener, setInjectionRate, setMaximumPopulationSize, setMaxWindowSize, setMinimumPopulationSize, setWindowSize
Methods inherited from class org.moeaframework.core.PeriodicAction
evaluate, getExtensions, getNumberOfEvaluations, getProblem, getResult, initialize, isInitialized, 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, evaluateAll, evaluateAll, getNumberOfEvaluations, getProblem, getResult, initialize, isInitialized, isTerminated, run, run, step, terminate
Methods inherited from interface org.moeaframework.core.configuration.Configurable
applyConfiguration, getConfiguration
Methods inherited from interface org.moeaframework.algorithm.extension.Extensible
addExtension, getExtensions, removeExtension
-
Constructor Details
-
EpsilonProgressContinuation
public EpsilonProgressContinuation(EpsilonBoxEvolutionaryAlgorithm algorithm, int windowSize, int maxWindowSize, double injectionRate, int minimumPopulationSize, int maximumPopulationSize, Selection selection, Variation variation) Deprecated.Decorates the specified algorithm with ε-progress triggered time continuation.- Parameters:
algorithm
- the algorithm being decoratedwindowSize
- the number of iterations between invocations ofcheck
maxWindowSize
- the maximum number of iterations allowed since the last restart before forcing a restartinjectionRate
- the injection rateminimumPopulationSize
- the minimum size of the populationmaximumPopulationSize
- the maximum size of the populationselection
- the selection operator for selecting solutions from the archive during a restartvariation
- the variation operator for mutating solutions selected from the archive during a restart
-
-
Method Details
-
getArchive
Deprecated.Description copied from interface:EvolutionaryAlgorithm
Returns the current non-dominated archive of the best solutions generated by this evolutionary algorithm, ornull
if no archive is used.- Specified by:
getArchive
in interfaceEvolutionaryAlgorithm
- Overrides:
getArchive
in classAdaptiveTimeContinuation
- Returns:
- the current non-dominated archive of the best solutions generated by this evolutionary algorithm,
or
null
if no archive is used
-
check
Deprecated.Description copied from class:AdaptiveTimeContinuation
Performs a check to determine if a restart should occur. ReturnsRestartType.NONE
if no restart should occur; orRestartType.HARD
if the population-to-archive ratio exceedspopulationRatio
by more than25%
or the number of fitness evaluations since the last restart exceedsmaxWindowSize
.- Overrides:
check
in classAdaptiveTimeContinuation
- Returns:
RestartType.NONE
if no restart should occur; orRestartType.HARD
if the population-to-archive ratio exceedspopulationRatio
by more than25%
or if the number of fitness evaluations since the last restart exceedsmaxWindowSize
-
restart
Deprecated.Description copied from class:AdaptiveTimeContinuation
Performs a restart. If the type isRestartType.HARD
, the population is emptied, resized and filled with solutions selected and mutated from the archive. If the type isRestartType.SOFT
, the population is not emptied; new solutions are only added to fill any empty slots.- Overrides:
restart
in classAdaptiveTimeContinuation
- Parameters:
type
- the type of restart
-
saveState
Deprecated.Description copied from interface:Stateful
Writes the state of this object to the stream. The order that objects are written to the stream is important. We recommend first callingsuper.saveState(stream)
followed by writing each field.- Specified by:
saveState
in interfaceStateful
- Overrides:
saveState
in classAdaptiveTimeContinuation
- Parameters:
stream
- the stream- Throws:
IOException
- if an I/O error occurred
-
loadState
Deprecated.Description copied from interface:Stateful
Loads the state of this object from the stream. The order for reading objects from the stream must match the order they are written to the stream inStateful.saveState(ObjectOutputStream)
.- Specified by:
loadState
in interfaceStateful
- Overrides:
loadState
in classAdaptiveTimeContinuation
- Parameters:
stream
- the stream- Throws:
IOException
- if an I/O error occurredClassNotFoundException
- if the stream referenced a class that is not defined
-
EpsilonProgressContinuationExtension
instead