Package de.uka.ipd.sdq.tcfmoop.tcmanager
Class TerminationCriteriaManager
java.lang.Object
de.uka.ipd.sdq.tcfmoop.tcmanager.TerminationCriteriaManager
- All Implemented Interfaces:
IRequestManualTerminationListener,ITerminationCriteriaManager,org.opt4j.core.optimizer.OptimizerIterationListener
The main goal of the Termination Criteria Manager is to create termination
criteria, call them so that they can evaluate the current optimization state
and then evaluate their decisions, on which it must base its own decision
whether to stop the optimization or not.
-
Constructor Summary
ConstructorsConstructorDescriptionTerminationCriteriaManager(org.opt4j.core.optimizer.Control control, org.opt4j.core.optimizer.Population population, org.opt4j.core.optimizer.Archive archive) -
Method Summary
Modifier and TypeMethodDescriptionvoidActivates Composed Criterion Mode in which multiple termination criteria can be stringed together to form a more powerful termination criterionvoidActivates Termination Criteria Comparison Mode in which termination criteria decisions do not influence the optimization but are shown on the output.voidRemoves a new listener for the OptimizationTerminated event.voidAdds a new listener for the OutputChanged event.static voidaddTerminationCriteriaManagerInitializedListener(ITerminationCriteriaManagerInitializedListener listener) Adds a new listener for the static TerminationCriteriaManagerInitialized event.voidIf Composed Criterion is deactivated then a simple || condition is used to evaluate results from the different criteria.voidDeactivates Termination Criteria Comparison Mode in which termination criteria decisions are do not influence the optimization but are shown on the output.voidEvaluates the termination criteria and then stops the optimization if the specified conditions are met.voidLogic witch should be executed when a ManualTerminationRequest event is fired.voidinitialize(List<IConfiguration> tcConfigurations) Initializes the termination criteria manager by supplying it with a list of termination criteria configurations.voiditerationComplete(org.opt4j.core.optimizer.Optimizer optimizer, int iteration) voidRemoves a new listener for the OptimizationTerminated event.voidRemoves a new listener for the OutputChanged event.static voidremoveTerminationCriteriaManagerInitializedListener(ITerminationCriteriaManagerInitializedListener listener) Removes a listener from the static TerminationCriteriaManagerInitialized event.voidsetComposedCriterionExpression(String composedCriterionExpression) Sets the expression used to define the relationship between the termination criterion.
-
Constructor Details
-
TerminationCriteriaManager
@Inject public TerminationCriteriaManager(org.opt4j.core.optimizer.Control control, org.opt4j.core.optimizer.Population population, org.opt4j.core.optimizer.Archive archive)
-
-
Method Details
-
initialize
Initializes the termination criteria manager by supplying it with a list of termination criteria configurations.- Specified by:
initializein interfaceITerminationCriteriaManager
-
activateTCComparisionMode
public void activateTCComparisionMode()Activates Termination Criteria Comparison Mode in which termination criteria decisions do not influence the optimization but are shown on the output.- Specified by:
activateTCComparisionModein interfaceITerminationCriteriaManager
-
deactivateTCComparisionMode
public void deactivateTCComparisionMode()Deactivates Termination Criteria Comparison Mode in which termination criteria decisions are do not influence the optimization but are shown on the output.- Specified by:
deactivateTCComparisionModein interfaceITerminationCriteriaManager
-
activateComposedCriterion
public void activateComposedCriterion()Activates Composed Criterion Mode in which multiple termination criteria can be stringed together to form a more powerful termination criterion- Specified by:
activateComposedCriterionin interfaceITerminationCriteriaManager
-
deactivateComposedCriterion
public void deactivateComposedCriterion()If Composed Criterion is deactivated then a simple || condition is used to evaluate results from the different criteria.- Specified by:
deactivateComposedCriterionin interfaceITerminationCriteriaManager
-
setComposedCriterionExpression
Sets the expression used to define the relationship between the termination criterion. If not set a standard Expression is used (Crit1 || Crit2 || Crit3 || Crit4 || ...)- Specified by:
setComposedCriterionExpressionin interfaceITerminationCriteriaManager
-
evaluateTerminationCriteria
public void evaluateTerminationCriteria()Evaluates the termination criteria and then stops the optimization if the specified conditions are met.- Specified by:
evaluateTerminationCriteriain interfaceITerminationCriteriaManager
-
addOutputChangedListener
Adds a new listener for the OutputChanged event. If the listener is also a IRequestManualTerminationProvider. the TCM will add itself as a listener to that event.- Specified by:
addOutputChangedListenerin interfaceITerminationCriteriaManager- Parameters:
listener- IOutputChangedListener listener
-
removeOutputChangedListener
Removes a new listener for the OutputChanged event. If the listener is also a IRequestManualTerminationProvider. the TCM will remove itself as a listener from that event.- Specified by:
removeOutputChangedListenerin interfaceITerminationCriteriaManager- Parameters:
listener- IOutputChangedListener listener
-
addTerminationCriteriaManagerInitializedListener
public static void addTerminationCriteriaManagerInitializedListener(ITerminationCriteriaManagerInitializedListener listener) Adds a new listener for the static TerminationCriteriaManagerInitialized event.- Parameters:
listener- ITerminationCriteriaManagerInitializedListener listener
-
removeTerminationCriteriaManagerInitializedListener
public static void removeTerminationCriteriaManagerInitializedListener(ITerminationCriteriaManagerInitializedListener listener) Removes a listener from the static TerminationCriteriaManagerInitialized event.- Parameters:
listener- ITerminationCriteriaManagerInitializedListener listener
-
iterationComplete
public void iterationComplete(org.opt4j.core.optimizer.Optimizer optimizer, int iteration) - Specified by:
iterationCompletein interfaceorg.opt4j.core.optimizer.OptimizerIterationListener
-
addOptimizationTerminatedListener
Removes a new listener for the OptimizationTerminated event.- Specified by:
addOptimizationTerminatedListenerin interfaceITerminationCriteriaManager- Parameters:
listener- IOptimizationTerminatedListener listener
-
removeOptimizationTerminatedListener
Removes a new listener for the OptimizationTerminated event.- Specified by:
removeOptimizationTerminatedListenerin interfaceITerminationCriteriaManager- Parameters:
listener- IOptimizationTerminatedListener listener
-
handleManualTerminationRequest
public void handleManualTerminationRequest()Logic witch should be executed when a ManualTerminationRequest event is fired.- Specified by:
handleManualTerminationRequestin interfaceIRequestManualTerminationListener
-