Changeset 12120 for branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3
- Timestamp:
- 03/04/15 14:07:38 (10 years ago)
- Location:
- branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/Alps.cs
r12119 r12120 66 66 get { return (IValueParameter<IntValue>)Parameters["NumberOfLayers"]; } 67 67 } 68 69 68 private IValueParameter<AgingScheme> AgingSchemeParameter { 70 69 get { return (IValueParameter<AgingScheme>)Parameters["AgingScheme"]; } … … 106 105 set { NumberOfLayersParameter.Value = value; } 107 106 } 108 109 107 public AgingScheme AgingScheme { 110 108 get { return AgingSchemeParameter.Value; } … … 166 164 Parameters.Add(new FixedValueParameter<MultiAnalyzer>("LayerAnalyzer", "The operator used to analyze each layer.", new MultiAnalyzer())); 167 165 Parameters.Add(new ValueParameter<IntValue>("NumberOfLayers", "The number of layers.", new IntValue(10))); 168 169 166 Parameters.Add(new ValueParameter<AgingScheme>("AgingScheme", "The aging scheme for setting the age-limits for the layers.", new AgingScheme(AgingSchemes.Polynomial))); 170 167 Parameters.Add(new ValueParameter<IntValue>("AgeGap", "The frequency of reseeding the lowest layer and scaling factor for the age-limits for the layers", new IntValue(20))); … … 193 190 194 191 #region Events 195 196 192 protected override void OnProblemChanged() { 197 193 base.OnProblemChanged(); … … 202 198 ParameterizeSolutionsCreator(); 203 199 ParameterizeAnalyzers(); 204 ParameterizeIterationBasedOperators();205 200 UpdateAnalyzers(); 206 201 Problem.Evaluator.QualityParameter.ActualNameChanged += Evaluator_QualityParameter_ActualNameChanged; … … 222 217 foreach (var @operator in Problem.Operators.OfType<IOperator>()) 223 218 ParameterizeStochasticOperator(@operator); 224 ParameterizeIterationBasedOperators();225 219 UpdateAnalyzers(); 226 220 base.Problem_OperatorsChanged(sender, e); … … 312 306 } 313 307 } 314 private void ParameterizeIterationBasedOperators() { 315 if (Problem != null) { 316 foreach (var @operator in Problem.Operators.OfType<IIterationBasedOperator>()) { 317 @operator.IterationsParameter.ActualName = "Generations"; 318 @operator.IterationsParameter.Hidden = true; 319 @operator.MaximumIterationsParameter.ActualName = "MaximumGenerations"; 320 @operator.MaximumIterationsParameter.Hidden = true; 321 } 322 } 323 } 324 protected void ParameterizeStochasticOperator(IOperator @operator) { 308 protected virtual void ParameterizeStochasticOperator(IOperator @operator) { 325 309 var stochasticOperator = @operator as IStochasticOperator; 326 310 if (stochasticOperator != null) { … … 329 313 } 330 314 } 331 protected v oid ParameterizeStochasticOperatorForLayer(IOperator @operator) {315 protected virtual void ParameterizeStochasticOperatorForLayer(IOperator @operator) { 332 316 var stochasticOperator = @operator as IStochasticOperator; 333 317 if (stochasticOperator != null) { -
branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/AlpsGeneticAlgorithm.cs
r12119 r12120 46 46 get { return (IValueParameter<IntValue>)Parameters["MaximumGenerations"]; } 47 47 } 48 49 48 public IConstrainedValueParameter<ISelector> SelectorParameter { 50 49 get { return (IConstrainedValueParameter<ISelector>)Parameters["Selector"]; } … … 101 100 set { ReevaluateElitesParameter.Value.Value = value; } 102 101 } 103 104 102 105 103 private AlpsGeneticAlgorithmMainLoop MainLoop { … … 204 202 ParameterizeMainLoop(); 205 203 ParameterizeSelectors(); 204 ParameterizeIterationBasedOperators(); 206 205 UpdateCrossovers(); 207 206 UpdateMutators(); … … 219 218 protected override void Problem_OperatorsChanged(object sender, EventArgs e) { 220 219 base.Problem_OperatorsChanged(sender, e); 220 ParameterizeIterationBasedOperators(); 221 221 UpdateCrossovers(); 222 222 UpdateMutators(); … … 227 227 ParameterizeSelectors(); 228 228 } 229 void PopulationSizeParameter_ValueChanged(object sender, EventArgs e) {230 PopulationSizeParameter.ValueChanged += PopulationSize_ValueChanged;231 ParameterizeSelectors();232 }233 void PopulationSize_ValueChanged(object sender, EventArgs e) {234 ParameterizeSelectors();235 }236 void ElitesParameter_ValueChanged(object sender, EventArgs e) {237 Elites.ValueChanged += ElitesParameter_ValueChanged;238 ParameterizeSelectors();239 }240 void Elites_ValueChanged(object sender, EventArgs e) {241 ParameterizeSelectors();242 }243 229 #endregion 244 230 245 231 #region Parameterization 246 232 private void Initialize() { 247 PopulationSizeParameter.ValueChanged += PopulationSizeParameter_ValueChanged;248 ElitesParameter.ValueChanged += ElitesParameter_ValueChanged;249 Elites.ValueChanged += Elites_ValueChanged;250 233 } 251 234 private void ParameterizeSolutionsCreator() { … … 275 258 selector.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName; 276 259 selector.QualityParameter.Hidden = true; 260 } 261 } 262 } 263 private void ParameterizeIterationBasedOperators() { 264 if (Problem != null) { 265 foreach (var @operator in Problem.Operators.OfType<IIterationBasedOperator>()) { 266 @operator.IterationsParameter.ActualName = "Generations"; 267 @operator.IterationsParameter.Hidden = true; 268 @operator.MaximumIterationsParameter.ActualName = MaximumGenerationsParameter.Name; 269 @operator.MaximumIterationsParameter.Hidden = true; 277 270 } 278 271 }
Note: See TracChangeset
for help on using the changeset viewer.