Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/06/20 17:55:24 (4 years ago)
Author:
mkommend
Message:

#2973: Merged r17276, r17426, r17430, r17488 into stable.

Location:
stable
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views

  • stable/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views/3.4/InteractiveSymbolicRegressionSolutionSimplifierView.cs

    r17499 r17500  
    5353    protected override ISymbolicExpressionTree OptimizeConstants(ISymbolicExpressionTree tree, IProgress progress) {
    5454      const int constOptIterations = 50;
    55       const int maxRepetitions = 1000;
     55      const int maxRepetitions = 100;
     56      const double minimumImprovement = 1e-10;
    5657      var regressionProblemData = Content.ProblemData;
    5758      var model = Content.Model;
    5859      progress.CanBeStopped = true;
    59       var prevResult = 0.0;
     60      double prevResult = 0.0, improvement = 0.0;
    6061      var result = 0.0;
    6162      int reps = 0;
     
    6667          applyLinearScaling: true, maxIterations: constOptIterations, updateVariableWeights: true, lowerEstimationLimit: model.LowerEstimationLimit, upperEstimationLimit: model.UpperEstimationLimit,
    6768          iterationCallback: (args, func, obj) => {
    68             double newProgressValue = progress.ProgressValue + 1.0 / (constOptIterations + 2); // (maxIterations + 2) iterations are reported
     69            double newProgressValue = progress.ProgressValue + (1.0 / (constOptIterations + 2) / maxRepetitions); // (constOptIterations + 2) iterations are reported
    6970            progress.ProgressValue = Math.Min(newProgressValue, 1.0);
    7071          });
    7172        reps++;
    72       } while (prevResult < result && reps < maxRepetitions &&
     73        improvement = result - prevResult;
     74      } while (improvement > minimumImprovement && reps < maxRepetitions &&
    7375               progress.ProgressState != ProgressState.StopRequested &&
    7476               progress.ProgressState != ProgressState.CancelRequested);
Note: See TracChangeset for help on using the changeset viewer.