Changeset 18151 for branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression
- Timestamp:
- 12/16/21 16:47:07 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/StructuredSymbolicRegressionSingleObjectiveProblem.cs
r18146 r18151 80 80 var shapeConstraintProblemData = new ShapeConstrainedRegressionProblemData(problemData); 81 81 82 83 82 var targetInterval = shapeConstraintProblemData.VariableRanges.GetInterval(shapeConstraintProblemData.TargetVariable); 84 83 var estimationWidth = targetInterval.Width * 10; 85 84 86 87 85 var structureTemplate = new StructureTemplate(); 88 structureTemplate.Changed += OnTemplateChanged;89 86 90 87 var evaluators = new ItemSet<SymbolicRegressionSingleObjectiveEvaluator>( … … 100 97 ProblemDataParameterName, 101 98 shapeConstraintProblemData)); 102 ProblemDataParameter.ValueChanged += ProblemDataParameterValueChanged;103 99 104 100 Parameters.Add(new FixedValueParameter<StructureTemplate>( … … 123 119 Operators.Add(new SymbolicExpressionSymbolFrequencyAnalyzer()); 124 120 121 RegisterEventHandlers(); 125 122 StructureTemplate.Template = 126 123 "(" + … … 132 129 133 130 public StructuredSymbolicRegressionSingleObjectiveProblem(StructuredSymbolicRegressionSingleObjectiveProblem original, 134 Cloner cloner) : base(original, cloner) { } 131 Cloner cloner) : base(original, cloner) { 132 ProblemDataParameter.ValueChanged += ProblemDataParameterValueChanged; 133 RegisterEventHandlers(); 134 } 135 135 136 136 [StorableConstructor] 137 137 protected StructuredSymbolicRegressionSingleObjectiveProblem(StorableConstructorFlag _) : base(_) { } 138 139 140 [StorableHook(HookType.AfterDeserialization)] 141 private void AfterDeserialization() { 142 RegisterEventHandlers(); 143 } 144 138 145 #endregion 139 146 … … 148 155 } 149 156 157 private void RegisterEventHandlers() { 158 if (StructureTemplate != null) { 159 StructureTemplate.Changed += OnTemplateChanged; 160 } 161 162 ProblemDataParameter.ValueChanged += ProblemDataParameterValueChanged; 163 } 164 150 165 private void OnTemplateChanged(object sender, EventArgs args) { 151 166 SetupStructureTemplate(); … … 156 171 Encoding.Remove(e); 157 172 158 foreach (var f in StructureTemplate.SubFunctions .Values) {173 foreach (var f in StructureTemplate.SubFunctions) { 159 174 SetupVariables(f); 160 175 if (!Encoding.Encodings.Any(x => x.Name == f.Name)) // to prevent the same encoding twice
Note: See TracChangeset
for help on using the changeset viewer.