Opened 4 years ago

Closed 22 months ago

#1985 closed feature request (done)

Create optimizer that limits runtime of an optimizer

Reported by: abeham Owned by: abeham
Priority: medium Milestone: HeuristicLab 3.3.12
Component: Optimization Version: branch
Keywords: Cc:

Description (last modified by abeham)

Similar to the role of a Batchrun as an optimizer that executes another optimizer several times, a new optimizer should be created that limits the runtime of an algorithm to a certain time.

Additionally the created optimizer should support creating snapshots of the executed algorithm at specified time intervals.

Change History (30)

comment:1 Changed 4 years ago by abeham

  • Status changed from new to accepted
  • Version changed from 3.3.7 to branch

comment:2 Changed 4 years ago by abeham

r8943: created branch

comment:3 Changed 4 years ago by abeham

r8955: Added optimizer and view

comment:4 Changed 4 years ago by abeham

r8956:

  • Removed .resx file
  • Fixed bugs

comment:5 Changed 4 years ago by abeham

  • Description modified (diff)

comment:6 Changed 4 years ago by abeham

r8961: added ability to edit snapshot times (changed representation to a list of timespan instead of a list of double)

comment:7 Changed 4 years ago by abeham

r8971: Synchronized with trunk

comment:8 Changed 4 years ago by abeham

r8975:

  • Moved arithmetic progression dialog to MainForm (created a folder dialogs)
  • Added a button to generate such a progression for snapshot times
  • Changed TimeLimitRun to react on ExecutionTimeChanged instead of maintaining its own timers
  • Changed to allow manual snapshoting only during Paused state
  • Perform a pause + snapshot when terminating the algorithm instead of stop + snapshot (allows the algorithm in the final snapshot to continue running if the option was selected)

comment:9 Changed 4 years ago by abeham

r8977: Fixed case where no snapshots should be made

comment:10 Changed 4 years ago by abeham

r9040:

  • Added camera icon
  • Rewrote time matching to use regular expressions
  • Changed item name of TimeLimitRun

comment:11 Changed 4 years ago by abeham

r9041:

  • Moved code to format and parse timespans to a TimeSpanHelper class
  • Added a dialog for defining arithmetic sequences of timespans

comment:12 Changed 4 years ago by abeham

  • Owner changed from abeham to mkommend
  • Status changed from accepted to reviewing

I would like to discuss the changes with you before merging it into trunk

comment:13 Changed 4 years ago by mkommend

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.8

comment:14 Changed 4 years ago by abeham

  • Version changed from branch to 3.3.7

r9079: Trunk integration

comment:15 Changed 4 years ago by abeham

r9080: removed branch

comment:16 Changed 4 years ago by mkommend

r9153: Removed unused enum TimeLimitRunAction.

comment:17 Changed 4 years ago by mkommend

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

Reviewing comments:

  • Constructors should be reused in TimeLimitRun.
  • Reuse the Run constructor in MakeSnapShot if StoreAlgorithmInEachSnapshot is set to false.

Tested the new feature and everything works as intended.

comment:18 Changed 4 years ago by abeham

  • Milestone changed from HeuristicLab 3.3.8 to HeuristicLab 3.3.x Backlog
  • Version changed from 3.3.7 to branch

r9438: pulling TimeLimitRun optimizer from trunk again

comment:19 Changed 2 years ago by abeham

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.12

comment:20 Changed 2 years ago by abeham

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

r12118:

  • Restored compilable state of TimeLimitRunOptimizer branch
  • Updated changes from trunk

Regarding the review comments (from 2 years ago :-)): The constructors in TimeLimitRun are implemented as in BatchRun and Experiment. I don't know how to reuse them. I can't use : this(ItemName, ItemDescription) if you meant that.

Also the second comment, after this long time, is not clear to me. Do you still know what you meant?

Maybe you can have a fresh look at it.

comment:21 Changed 2 years ago by abeham

r12128: mkommend improved MakeSnapshot

comment:22 Changed 2 years ago by mkommend

  • Owner changed from mkommend to architects

comment:23 Changed 2 years ago by ascheibe

  • Owner changed from architects to abeham
  • Status changed from reviewing to assigned

Integrate into trunk.

comment:24 Changed 22 months ago by abeham

  • Status changed from assigned to accepted

comment:25 Changed 22 months ago by abeham

r12624: small change to the cancel state

comment:26 Changed 22 months ago by abeham

r12625:

  • Merged trunk changes
  • Modified creatable attribute of timelimit run

comment:27 Changed 22 months ago by abeham

r12626: small change to TimeSpanHelper

comment:28 Changed 22 months ago by abeham

  • Owner changed from abeham to mkommend
  • Status changed from accepted to reviewing

r12627: Integrated time limit run into trunk r12628: Removed branch

comment:29 Changed 22 months ago by mkommend

  • Owner changed from mkommend to abeham
  • Status changed from reviewing to readytorelease

comment:30 Changed 22 months ago by abeham

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

r12739: merged 12626,12627 to stable

Note: See TracTickets for help on using tickets.