- Timestamp:
- 02/10/20 11:07:14 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views/3.4/InteractiveSymbolicRegressionSolutionSimplifierView.cs
r17380 r17430 53 53 protected override ISymbolicExpressionTree OptimizeConstants(ISymbolicExpressionTree tree, IProgress progress) { 54 54 const int constOptIterations = 50; 55 const int maxRepetitions = 1000; 55 const int maxRepetitions = 100; 56 const double minimumImprovement = 1e-10; 56 57 var regressionProblemData = Content.ProblemData; 57 58 var model = Content.Model; 58 59 progress.CanBeStopped = true; 59 var prevResult = 0.0;60 double prevResult = 0.0, improvement = 0.0; 60 61 var result = 0.0; 61 62 int reps = 0; … … 66 67 applyLinearScaling: true, maxIterations: constOptIterations, updateVariableWeights: true, lowerEstimationLimit: model.LowerEstimationLimit, upperEstimationLimit: model.UpperEstimationLimit, 67 68 iterationCallback: (args, func, obj) => { 68 double newProgressValue = progress.ProgressValue + 1.0 / (constOptIterations + 2); // (maxIterations + 2) iterations are reported69 double newProgressValue = progress.ProgressValue + (1.0 / (constOptIterations + 2) / maxRepetitions); // (constOptIterations + 2) iterations are reported 69 70 progress.ProgressValue = Math.Min(newProgressValue, 1.0); 70 71 }); 71 72 reps++; 72 } while (prevResult < result && reps < maxRepetitions && 73 improvement = result - prevResult; 74 } while (improvement > minimumImprovement && reps < maxRepetitions && 73 75 progress.ProgressState != ProgressState.StopRequested && 74 76 progress.ProgressState != ProgressState.CancelRequested);
Note: See TracChangeset
for help on using the changeset viewer.