Changeset 10156 for branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.DataAnalysis.Symbolic/3.3/SymbolicDataAnalysisIslandOffspringSelectionGeneticAlgorithm.cs
- Timestamp:
- 11/26/13 15:32:09 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.DataAnalysis.Symbolic/3.3/SymbolicDataAnalysisIslandOffspringSelectionGeneticAlgorithm.cs
r10152 r10156 31 31 using HeuristicLab.Parameters; 32 32 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 33 using HeuristicLab.Problems.DataAnalysis;34 33 using HeuristicLab.Problems.DataAnalysis.Symbolic; 35 34 … … 128 127 NumberOfIslandsParameter.ValueChanged += NumberOfIslandsParameter_ValueChanged; 129 128 NumberOfIslandsParameter.Value.ValueChanged += (o, ev) => RecalculateFixedSamplesPartitions(); 130 FixedSamplesParameter.Value.ValueChanged += (o, e) => RecalculateFixedSamplesPartitions(); 129 FixedSamplesParameter.Value.ValueChanged += (o, e) => { 130 RecalculateFixedSamplesPartitions(); 131 ReevaluateImmigrants = FixedSamples >= Problem.FitnessCalculationPartition.Size; 132 }; 131 133 RandomSamplesParameter.Value.ValueChanged += (o, e) => { ReevaluteElites = RandomSamples != 0; }; 132 134 Analyzer.Operators.PropertyChanged += (o, e) => ParameterizeAnalyzers(); 135 EvaluatorParameter.ValueChanged += (o, e) => ParameterizeEvaluator(); 133 136 } 134 137 … … 155 158 } 156 159 160 private void ParameterizeEvaluator() { 161 var evaluator = EvaluatorParameter.Value; 162 var islandGAEvaluator = evaluator as SymbolicDataAnalysisIslandGAEvaluator; 163 if (islandGAEvaluator != null) { 164 islandGAEvaluator.RandomSamplesParameter.ActualName = RandomSamplesParameterName; 165 } 166 } 167 157 168 private void NumberOfIslandsParameter_ValueChanged(object sender, EventArgs e) { 158 169 NumberOfIslands.ValueChanged += (o, ev) => RecalculateFixedSamplesPartitions(); … … 162 173 protected override void Problem_Reset(object sender, EventArgs e) { 163 174 FixedSamples = Problem.FitnessCalculationPartition.Size / NumberOfIslands.Value; 164 RandomSamples = Problem.FitnessCalculationPartition.Size / NumberOfIslands.Value;165 RecalculateFixedSamplesPartitions();166 175 base.Problem_Reset(sender, e); 167 176 } … … 170 179 Problem.FitnessCalculationPartition.ValueChanged += Problem_Reset; 171 180 FixedSamples = Problem.FitnessCalculationPartition.Size / NumberOfIslands.Value; 172 RandomSamples = Problem.FitnessCalculationPartition.Size / NumberOfIslands.Value; 173 174 if (Problem is IRegressionProblem) { 175 var evaluator = new SymbolicDataAnalysisIslandGAEvaluator<IRegressionProblemData>(); 176 evaluator.RandomSamplesParameter.ActualName = RandomSamplesParameterName; 177 EvaluatorParameter.Value = evaluator; 178 } else if (Problem is IClassificationProblem) { 179 var evaluator = new SymbolicDataAnalysisIslandGAEvaluator<IClassificationProblemData>(); 180 evaluator.RandomSamplesParameter.ActualName = RandomSamplesParameterName; 181 EvaluatorParameter.Value = evaluator; 182 } else 181 182 if (Problem != null && EvaluatorParameter.Value == null) { 183 EvaluatorParameter.Value = new SymbolicDataAnalysisIslandGAEvaluator(); 184 } else if (Problem == null) 183 185 EvaluatorParameter.Value = null; 184 186
Note: See TracChangeset
for help on using the changeset viewer.