Opened 3 years ago

Closed 13 months ago

Last modified 12 months ago

#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 3 years ago by jkarder

  • Status changed from new to accepted

comment:2 Changed 3 years ago by jkarder

r13371: created branch PausableBasicAlgorithm

comment:3 Changed 3 years ago by jkarder

r13378: made BasicAlgorithm pausable

comment:4 Changed 3 years ago by ascheibe

  • Owner changed from jkarder to ascheibe
  • Status changed from accepted to reviewing

comment:5 Changed 2 years ago by ascheibe

  • Owner changed from ascheibe to mkommend

comment:6 Changed 20 months ago by jkarder

  • Milestone changed from HeuristicLab 4.0 to HeuristicLab 3.3.15

comment:7 Changed 20 months ago by mkommend

  • Owner changed from mkommend to jkarder
  • Status changed from reviewing to assigned

comment:8 Changed 19 months ago by jkarder

  • Status changed from assigned to accepted

comment:9 Changed 19 months ago by jkarder

  • Version changed from branch to 3.3.14

Disregard r13371 and r13378. I will implement this directly in the trunk.

comment:10 Changed 19 months ago by jkarder

r14517: made BasicAlgorithm pausable

comment:11 follow-up: Changed 19 months ago by mkommend

r14523:

  • 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 19 months ago by jkarder

r14527:

  • made sure that P3 results are updated after cancellation
  • fixed unit tests to also call Initialize

comment:13 follow-up: Changed 19 months 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 15 months 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 15 months ago by jkarder

  • Owner changed from jkarder to gkronber
  • Status changed from accepted to reviewing

I think mkommend already reviewed r14517. Could you please have a look at r14523 and r14527?

comment:16 Changed 13 months ago by gkronber

  • Status changed from reviewing to readytorelease

Reviewed r14523 and r14527.

comment:17 Changed 13 months ago by gkronber

r15061: merged r14517, r14523, r14527 from trunk to branch

comment:18 Changed 13 months ago by gkronber

  • Resolution set to done
  • Status changed from readytorelease to closed

comment:19 in reply to: ↑ 11 ; follow-up: Changed 12 months ago by abeham

Replying to mkommend:

r14523:

  • 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 12 months 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.

Last edited 12 months ago by mkommend (previous) (diff)
Note: See TracTickets for help on using tickets.