Opened 12 years ago
Closed 9 years ago
#2027 closed feature request (done)
Customizable termination criteria
Reported by: | abeham | Owned by: | mkommend |
---|---|---|---|
Priority: | highest | Milestone: | HeuristicLab 3.3.13 |
Component: | Algorithms | Version: | 3.3.13 |
Keywords: | Cc: |
Description
Algorithms should support a customizable number of termination criteria that can be extended and combined.
Change History (62)
comment:1 Changed 11 years ago by gkronber
- Priority changed from high to highest
comment:2 Changed 10 years ago by abeham
- Owner changed from swagner to pfleck
- Status changed from new to assigned
comment:3 Changed 10 years ago by pfleck
- Status changed from assigned to accepted
comment:4 Changed 10 years ago by pfleck
comment:5 Changed 10 years ago by pfleck
- Added and configured Termination Plugin.
- Adapted references for OSGA Plugin.
- Created solution file.
comment:6 Changed 10 years ago by pfleck
r12303 First draft for termination criteria.
comment:7 Changed 10 years ago by pfleck
r12304 Used new termination-operator and -criteria in OSGA.
comment:8 Changed 10 years ago by pfleck
r12307 Fixed problem that parameter values are not available during operator construction by using value changed events. Note that the debug view is not working with this because of the runtime operator graph change.
comment:9 Changed 10 years ago by pfleck
r12308 Used an InstrumentedOperator instead of an AlgorithmOperator and added the operators to the BeforeExecutionOperators.
comment:10 Changed 10 years ago by pfleck
r12310 Made a genetic ComparisonTerminationCriterion instead of the MaximumIterationsTerminationCriterion.
comment:11 Changed 10 years ago by pfleck
r12312 Corrected wrong variable name.
comment:12 Changed 10 years ago by pfleck
r12328 Added execution-time based termination criterion. Restructured configuring termination criteria.
comment:13 Changed 10 years ago by pfleck
r12355 Fixed small bugs and typos.
comment:14 Changed 10 years ago by pfleck
r12356 Split update and parameterization of TerminationCriteria similar to other operators.
comment:15 Changed 10 years ago by pfleck
r12357 Removed obsolete manual termination criteria operators.
comment:16 Changed 10 years ago by pfleck
r12362 Added specific View for ComparisonTerminationCriterion for simpler configuration.
comment:17 Changed 10 years ago by pfleck
r12364 Changed a few things to better show single value criteria.
comment:18 Changed 10 years ago by pfleck
r12366 Added a base class ThresholdTerminationCriterion for generalization of the view, which shows only a single value threshold now, and of the ToString mechanic.
comment:19 Changed 10 years ago by pfleck
r12367 Forgot adding new ThresholdTerminationCriterion.
comment:20 Changed 10 years ago by pfleck
r12368 Fixed some typos.
comment:21 Changed 10 years ago by pfleck
- Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.12
- Owner changed from pfleck to architects
- Status changed from accepted to reviewing
comment:22 Changed 10 years ago by ascheibe
- Owner changed from architects to mkommend
- Status changed from reviewing to assigned
comment:23 Changed 10 years ago by pfleck
- Owner changed from mkommend to pfleck
- Status changed from assigned to accepted
comment:24 Changed 10 years ago by pfleck
r12402 Renamed TerminationCriterion to Terminator.
comment:25 Changed 10 years ago by pfleck
r12403 Wired Maximization-Parameter for the Quality Terminator.
comment:26 Changed 10 years ago by pfleck
- Hide the additional ViewsLabel of the ViewHost in the ThresholdTerminatorView.
- Renamed Terminators-parameter to Terminator to match naming of the Analyzer-parameter.
comment:27 Changed 10 years ago by pfleck
- Uses FixedValueParameters and added some properties.
- Added the comparison-symbol in the string-representation of Terminators.
- Renamed Terminator parameter to Termination to use a more neutral term.
- Used Red-Flag as Termination-Icon.
comment:28 Changed 9 years ago by pfleck
r12407 Inverted the conditions to check the continue criteria instead of termination criteria. Conditions are then specified more naturally: "while generations < max" instead of "break if generations > min". If any Continue-Check returns false, the algorithm will be terminated.
The naming "Terminator" has to be discussed because it suggest to specify the criteria when the algorithm should stop, instead of continue.
comment:29 Changed 9 years ago by pfleck
- Added ValueChanged-events to Terminators.
- Fixed wiring bug of quality-based Terminator.
comment:30 Changed 9 years ago by pfleck
- Added IThresholdTerminator interface for more flexibility. The ThresholdTerminatorView now uses the interface instead of a concrete terminator.
- Added MaximumIterationsTerminator and SingleObjectiveQualityTerminator as common used Terminators.
comment:31 Changed 9 years ago by pfleck
- Removed MaximumIterationsTerminator and MaximumEvaluatedSolutionsTermimator because they practically do the same.
- Add the possibility for ThresholdTerminators to use a foreign parameter (e.g. MaximumSelectionPressure). This way the terminator can use parameters which are still relevant for the algorithm and still provide consistent management of the terminators.
- Renamed IThresholdTerminator to ISingleValueTerminator.
comment:32 Changed 9 years ago by pfleck
r12412 Removed the MaximumEvaluatedSolutions-parameter from OSGA.
comment:33 Changed 9 years ago by pfleck
r12413 Added some custom values when collecting parameter values of Terminators.
comment:34 Changed 9 years ago by pfleck
r12414 Changed Terminator base class to SingleSuccessorOperator and omit some values while collecting parameter values to reduce the amount of collected values for all terminators.
comment:35 Changed 9 years ago by pfleck
r12415 Renamed the parameter of ISingleValueTerminator to match the interface name.
comment:36 Changed 9 years ago by pfleck
- Owner changed from pfleck to mkommend
- Status changed from accepted to reviewing
comment:37 Changed 9 years ago by mkommend
- Owner changed from mkommend to pfleck
- Status changed from reviewing to assigned
Review comments:
- Improve naming of SingleValueTerminator
- ComparisonTerminator is missing the changed event for the ComparisonType
- SingleObjecitveQualityTerminator is missing an item description
- ITerminationBasedOperator should be added which contains the lookup parameter for the termination flag -> the actual name of the termination flag could be changed and the appropriate operators automatically wired.
comment:38 Changed 9 years ago by mkommend
r12436: Improved code formatting for terminators.
comment:39 Changed 9 years ago by pfleck
- Removed ISingleValueTerminator and used ThresholdTerminator for the View instead.
- Added missing description in SingleObjectiveQualityTerminator.
- Added ITerminationBasedOperator which contains the terminate-flag.
comment:40 Changed 9 years ago by pfleck
- Renamed TerminatonParameter to TerminatorParameter.
- Renamed Comparison to ComparisonType.
comment:41 Changed 9 years ago by pfleck
- Owner changed from pfleck to mkommend
- Status changed from assigned to reviewing
comment:42 Changed 9 years ago by mkommend
- Version changed from 3.3.7 to branch
comment:43 Changed 9 years ago by mkommend
- Milestone changed from HeuristicLab 3.3.12 to HeuristicLab 3.3.13
comment:44 Changed 9 years ago by pfleck
- Owner changed from mkommend to pfleck
- Status changed from reviewing to assigned
comment:45 Changed 9 years ago by pfleck
- Status changed from assigned to accepted
comment:46 Changed 9 years ago by pfleck
comment:47 Changed 9 years ago by pfleck
r12528 Adapted plugin references.
comment:48 Changed 9 years ago by pfleck
- Moved Termination to HeuristicLab.Optimization-Plugin.
- Moved Termination-Views to HeuristicLab.Optimization.Views-Plugin.
- Removed Termination-Plugin.
comment:49 Changed 9 years ago by pfleck
r12530 Removed plugin dependency.
comment:50 Changed 9 years ago by pfleck
r12567 Added missing clone method.
comment:51 Changed 9 years ago by pfleck
r12809 Merged trunk changes.
comment:52 Changed 9 years ago by pfleck
r12887 Merged trunk changes.
comment:53 Changed 9 years ago by pfleck
r12974 Updated merge infos before trunk integration.
comment:54 Changed 9 years ago by pfleck
r12975 Merged Terminators and Terminator-Views to trunk.
comment:55 Changed 9 years ago by pfleck
r12976 Removed Optimization-Plugin because Terminators were merged to Trunk. OSGA-Plugin remains as a sample on how to use/implement the Terminators.
comment:56 Changed 9 years ago by pfleck
- Owner changed from pfleck to mkommend
- Status changed from accepted to reviewing
comment:57 Changed 9 years ago by ascheibe
- Version changed from branch to 3.3.13
comment:58 Changed 9 years ago by pfleck
- Owner changed from mkommend to pfleck
- Status changed from reviewing to assigned
comment:59 Changed 9 years ago by pfleck
- Owner changed from pfleck to mkommend
- Status changed from assigned to reviewing
r13137 Deleted TerminationCriteria branch. Because ALPS will be integrated into the trunk soon, it will function as a showcase for implementing TerminationCriteria.
comment:60 Changed 9 years ago by mkommend
- Status changed from reviewing to readytorelease
comment:61 Changed 9 years ago by mkommend
comment:62 Changed 9 years ago by mkommend
- Resolution set to done
- Status changed from readytorelease to closed
Please make a suggestion that we can discuss in the next architects meeting