#2524 closed feature request (done)
It should be possible to pause BasicAlgorithms
Reported by: | jkarder | Owned by: | gkronber |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.15 |
Component: | Optimization | Version: | 3.3.14 |
Keywords: | Cc: |
Description
BasicAlgorithms can only be prepared, started and stopped, not paused/resumed.
Change History (20)
comment:1 Changed 9 years ago by jkarder
- Status changed from new to accepted
comment:2 Changed 9 years ago by jkarder
comment:3 Changed 9 years ago by jkarder
r13378: made BasicAlgorithm pausable
comment:4 Changed 9 years ago by ascheibe
- Owner changed from jkarder to ascheibe
- Status changed from accepted to reviewing
comment:5 Changed 9 years ago by ascheibe
- Owner changed from ascheibe to mkommend
comment:6 Changed 8 years ago by jkarder
- Milestone changed from HeuristicLab 4.0 to HeuristicLab 3.3.15
comment:7 Changed 8 years ago by mkommend
- Owner changed from mkommend to jkarder
- Status changed from reviewing to assigned
comment:8 Changed 8 years ago by jkarder
- Status changed from assigned to accepted
comment:9 Changed 8 years ago by jkarder
- Version changed from branch to 3.3.14
comment:10 Changed 8 years ago by jkarder
r14517: made BasicAlgorithm pausable
comment:11 follow-up: ↓ 19 Changed 8 years ago by mkommend
- Renamed pausable to SupportsPause
- Changed SupportsPause field to abstract property that has to be implemented
- Stored initialization flag in BasicAlgorithm
- Changed CancellationToken access to use the according property
- Adapted HillClimber to new pausing mechanism
- Disabled pause for PPP, because it does not work correctly
- Derived FixedDataAnalysisAlgorithm from BasicAlgorithm
- Changed base class of all data analysis algorithm from BasicAlgorithm to FixedDataAnalysisAlgorithm
comment:12 Changed 8 years ago by jkarder
- made sure that P3 results are updated after cancellation
- fixed unit tests to also call Initialize
comment:13 follow-up: ↓ 14 Changed 8 years ago by abeham
- Changed SupportsPause field to abstract property that has to be implemented
Why not virtual and default to false?
comment:14 in reply to: ↑ 13 Changed 8 years ago by jkarder
Replying to abeham:
- Changed SupportsPause field to abstract property that has to be implemented
Why not virtual and default to false?
This way you have to explicitly think about whether or not you make your algorithm pausable.
comment:15 Changed 8 years ago by jkarder
- Owner changed from jkarder to gkronber
- Status changed from accepted to reviewing
comment:16 Changed 8 years ago by gkronber
- Status changed from reviewing to readytorelease
comment:17 Changed 8 years ago by gkronber
comment:18 Changed 8 years ago by gkronber
- Resolution set to done
- Status changed from readytorelease to closed
comment:19 in reply to: ↑ 11 ; follow-up: ↓ 20 Changed 7 years ago by abeham
Replying to mkommend:
- Renamed pausable to SupportsPause
- Changed SupportsPause field to abstract property that has to be implemented
- Stored initialization flag in BasicAlgorithm
- Changed CancellationToken access to use the according property
- Adapted HillClimber to new pausing mechanism
- Disabled pause for PPP, because it does not work correctly
- Derived FixedDataAnalysisAlgorithm from BasicAlgorithm
- Changed base class of all data analysis algorithm from BasicAlgorithm to FixedDataAnalysisAlgorithm
You did not disable pause for P3 as claimed in the description. SupportsPause is overriden returning true. Is the description wrong or was this intentional?
comment:20 in reply to: ↑ 19 Changed 7 years ago by mkommend
Replying to abeham:
You did not disable pause for P3 as claimed in the description. SupportsPause is overriden returning true. Is the description wrong or was this intentional?
You are right that pause for P3 has not been disabled, because it actually supports pausing. However, resuming an serialized and the paused P3 algorithm is currently not supported and will be addressed in another ticket #2815.
r13371: created branch PausableBasicAlgorithm