- Timestamp:
- 09/13/20 22:37:36 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3076_IA_evaluators_analyzers/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/MultiObjective/SymbolicRegressionMultiObjectiveMultiSoftConstraintEvaluator.cs
r17733 r17743 118 118 119 119 var qualities = Calculate(interpreter, solution, estimationLimits.Lower, estimationLimits.Upper, problemData, 120 rows, DecimalPlaces, minIntervalWidth, maxIntervalSplitDepth);120 rows, UseIntervalSplitting); 121 121 QualitiesParameter.ActualValue = new DoubleArray(qualities); 122 122 return base.InstrumentedApply(); … … 132 132 var quality = Calculate(SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, tree, 133 133 EstimationLimitsParameter.ActualValue.Lower, EstimationLimitsParameter.ActualValue.Upper, 134 problemData, rows, DecimalPlaces, MinSplittingWidth, 135 MaxSplittingDepth); 134 problemData, rows, UseIntervalSplitting); 136 135 137 136 SymbolicDataAnalysisTreeInterpreterParameter.ExecutionContext = null; … … 146 145 ISymbolicExpressionTree solution, double lowerEstimationLimit, 147 146 double upperEstimationLimit, 148 IRegressionProblemData problemData, IEnumerable<int> rows, 149 int decimalPlaces, double minIntervalSplitWidth, int maxIntervalSplitDepth) { 147 IRegressionProblemData problemData, IEnumerable<int> rows, bool splitting) { 150 148 OnlineCalculatorError errorState; 151 149 var estimatedValues = … … 166 164 167 165 var objectives = new List<double> {nmse}; 168 var intervalInterpreter = new IntervalInterpreter(); 169 /*{MinIntervalSplitWidth = minIntervalSplitWidth, MaxIntervalSplitDepth = maxIntervalSplitDetph};*/ 166 var intervalInterpreter = new IntervalInterpreter(){UseIntervalSplitting = splitting}; 170 167 171 168 var constraintObjectives = new List<double>(); 172 169 foreach (var c in constraints) { 173 170 var penalty = ConstraintExceeded(c, intervalInterpreter, variableRanges, 174 solution /*, problemData.IntervalSplitting*/);171 solution); 175 172 var maxP = 0.1; 176 173 … … 188 185 public static double ConstraintExceeded(IntervalConstraint constraint, IntervalInterpreter intervalInterpreter, 189 186 IReadOnlyDictionary<string, Interval> variableRanges, 190 ISymbolicExpressionTree solution /*, bool splitting*/) {187 ISymbolicExpressionTree solution) { 191 188 if (constraint.Variable != null && !variableRanges.ContainsKey(constraint.Variable)) 192 189 throw new ArgumentException( … … 196 193 if (!constraint.IsDerivative) { 197 194 resultInterval = 198 intervalInterpreter.GetSymbolicExpressionTreeInterval(solution, variableRanges /*, splitting:splitting*/);195 intervalInterpreter.GetSymbolicExpressionTreeInterval(solution, variableRanges, 0); 199 196 } 200 197 else { … … 204 201 205 202 resultInterval = 206 intervalInterpreter.GetSymbolicExpressionTreeInterval(tree, variableRanges /*, splitting: splitting*/);203 intervalInterpreter.GetSymbolicExpressionTreeInterval(tree, variableRanges, 0); 207 204 } 208 205
Note: See TracChangeset
for help on using the changeset viewer.