Opened 7 years ago

Closed 9 months ago

#1666 closed enhancement (done)

SimplifierViews for symbolic data analysis problems should give a visual clue when a background process is running

Reported by: gkronber Owned by: pfleck
Priority: medium Milestone: HeuristicLab 3.3.15
Component: Problems.DataAnalysis.Symbolic.Views Version: trunk
Keywords: Cc:

Description (last modified by pfleck)

Optimizing a SymbolicRegressionSolution with the InteractiveSymbolicRegressionSolutionSimplifierView freezes HL for the duration of the constant-optimization.

For smaller models/datasets, this is not an issue. However, it is annoying for larger models/datasets when HL freezes for several seconds (or even minutes). Instead, the calculations should be done in a different thread and a progress reported if available.

The following actions notably causes HL to freeze:

  • "Optimize"/"Simplify"-Buttons in the InteractiveSymbolic...SolutionSimplifierView
  • "Simplify Model"-Button in the Symbolic...SolutionView

Change History (31)

comment:1 Changed 6 years ago by mkommend

  • Summary changed from SimplifierViews for symbolic data analysis problems should give a visual cue when a background process is running to SimplifierViews for symbolic data analysis problems should give a visual clue when a background process is running

comment:2 Changed 11 months ago by pfleck

  • Description modified (diff)
  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.16
  • Owner changed from mkommend to pfleck
  • Status changed from new to accepted
  • Version changed from 3.3.5 to 3.3.15

comment:3 Changed 11 months ago by pfleck

  • Version changed from 3.3.15 to branch

comment:4 Changed 11 months ago by pfleck

  • Description modified (diff)

r15318 Created branch and branched plugins.

comment:5 Changed 11 months ago by pfleck

r15319 Made constant optimization and impact/replacement-values calculation async and added progress indication.

comment:6 Changed 11 months ago by pfleck

r15320 Adapted ProgressView so that 0 is a valid ProgressValue. Small refactorings.

comment:7 Changed 11 months ago by pfleck

r15321

  • Moved CalculateImpactAndReplacementValues into base-class.
  • Use SymRegImpactCalculator for SymTimeSeriesPrognosis.
  • Unified CalculateImpactAndReplacementValues for all SimplifierViews.

SymReg- and Classification Impact-Calculators yield same results as before. Using the SymRegImpactCalculator for the TimeSeries differs in terms that the old impact calculations for time-series only tried "Median" as replacement wheres the SymRecImpactCalculator also tries different strategies and takes the best.

comment:8 Changed 11 months ago by pfleck

r15323 Branched Optimizer-Plugin to avoid API incompatibility.

comment:9 Changed 11 months ago by pfleck

  • Milestone changed from HeuristicLab 3.3.16 to HeuristicLab 3.3.15
  • Owner changed from pfleck to mkommend
  • Status changed from accepted to reviewing

comment:10 Changed 10 months ago by mkommend

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

comment:11 Changed 10 months ago by pfleck

  • Status changed from assigned to accepted

comment:12 Changed 10 months ago by pfleck

r15353

  • Changed Progress interface (single parameterless ctor, overloads for Start-method).
  • Passed Impact-Calculator per ctor argument instead of virtual properties.
  • Created virtual OptimizeConstants-method instead of making the button-click event-handler virtual.

comment:13 Changed 10 months ago by pfleck

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

comment:14 Changed 10 months ago by mkommend

Reviewed and tested all changesets in this ticket.

comment:15 Changed 10 months ago by mkommend

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

r15354: Changed delegate creation in constant optimization.

comment:16 Changed 10 months ago by pfleck

  • Status changed from assigned to accepted

r15356 Added a delay for hiding the progress bar to avoid closing the progress during animation.

comment:17 Changed 10 months ago by mkommend

  • Status changed from accepted to assigned

Reviewed and tested r15356. The progress report looks much better now.

Please integrate this branch into the trunk for further testing.

Last edited 10 months ago by mkommend (previous) (diff)

comment:18 Changed 10 months ago by pfleck

  • Status changed from assigned to accepted
  • Version changed from branch to trunk

r15371: Merged into trunk

comment:19 Changed 10 months ago by pfleck

r15372 Fixed PluginDependency. Removed duplicate progress-removal in RegressionInstanceProviderView.

comment:20 Changed 10 months ago by pfleck

  • Status changed from accepted to reviewing

comment:21 Changed 10 months ago by pfleck

  • Owner changed from pfleck to mkommend

comment:22 Changed 10 months ago by mkommend

  • Owner changed from mkommend to bburlacu

comment:23 Changed 10 months ago by bburlacu

r15390: Fix bug in the OptimizeConstants method of the InteractiveSymbolicRegressionSolutionSimplifierView where the same tree was returned instead of the clone with the optimized constants. Renamed regressionModelModel variable to regressionModel.

comment:24 Changed 10 months ago by pfleck

Tested r15390: Results are now the same for trunk and stable(and older versions). Thanks for the fix.

comment:25 Changed 10 months ago by pfleck

  • Owner changed from bburlacu to pfleck
  • Status changed from reviewing to assigned

comment:26 Changed 9 months ago by pfleck

r15400:

  • Reverted r15371 for HeuristicLab.MainForm and HeuristicLab.MainForm.WindowsForms (all changes concerning the progress)
  • Changed the signature of OptimizeConstants in the simplifiers to "tree in - tree out" (thanks to bburlacu)

The reverted changes concerning the progress bar will be done within a separate ticket (#2845).

Last edited 9 months ago by pfleck (previous) (diff)

comment:27 Changed 9 months ago by pfleck

r15402: Reverted accidental commit of app.config

comment:28 Changed 9 months ago by pfleck

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

comment:29 Changed 9 months ago by mkommend

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

Reviewed r15400 & r15402.

comment:30 Changed 9 months ago by pfleck

r15406: Merged 15371-15372,15390,15400,15402 to stable

comment:31 Changed 9 months ago by pfleck

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

r15413 deleted branch

Note: See TracTickets for help on using tickets.