Opened 6 years ago

Closed 9 days 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 5 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 2 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 2 months ago by pfleck

  • Version changed from 3.3.15 to branch

comment:4 Changed 2 months ago by pfleck

  • Description modified (diff)

r15318 Created branch and branched plugins.

comment:5 Changed 2 months ago by pfleck

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

comment:6 Changed 2 months ago by pfleck

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

comment:7 Changed 2 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 2 months ago by pfleck

r15323 Branched Optimizer-Plugin to avoid API incompatibility.

comment:9 Changed 2 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 6 weeks ago by mkommend

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

comment:11 Changed 6 weeks ago by pfleck

  • Status changed from assigned to accepted

comment:12 Changed 6 weeks 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 6 weeks ago by pfleck

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

comment:14 Changed 6 weeks ago by mkommend

Reviewed and tested all changesets in this ticket.

comment:15 Changed 6 weeks 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 6 weeks 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 6 weeks 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 6 weeks ago by mkommend (previous) (diff)

comment:18 Changed 4 weeks ago by pfleck

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

r15371: Merged into trunk

comment:19 Changed 4 weeks ago by pfleck

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

comment:20 Changed 4 weeks ago by pfleck

  • Status changed from accepted to reviewing

comment:21 Changed 3 weeks ago by pfleck

  • Owner changed from pfleck to mkommend

comment:22 Changed 3 weeks ago by mkommend

  • Owner changed from mkommend to bburlacu

comment:23 Changed 3 weeks 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 2 weeks ago by pfleck

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

comment:25 Changed 2 weeks ago by pfleck

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

comment:26 Changed 2 weeks 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 2 weeks ago by pfleck (previous) (diff)

comment:27 Changed 2 weeks ago by pfleck

r15402: Reverted accidental commit of app.config

comment:28 Changed 2 weeks ago by pfleck

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

comment:29 Changed 13 days ago by mkommend

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

Reviewed r15400 & r15402.

comment:30 Changed 12 days ago by pfleck

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

comment:31 Changed 9 days ago by pfleck

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

r15413 deleted branch

Note: See TracTickets for help on using tickets.