Changeset 3426 for trunk/sources/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithm.cs
- Timestamp:
- 04/20/10 00:13:43 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithm.cs
r3413 r3426 89 89 get { return (ValueLookupParameter<DoubleValue>)Parameters["ComparisonFactorUpperBound"]; } 90 90 } 91 private ConstrainedValueParameter<IDiscreteDoubleValueModifier> ComparisonFactorModifierParameter {92 get { return ( ConstrainedValueParameter<IDiscreteDoubleValueModifier>)Parameters["ComparisonFactorModifier"]; }91 private OptionalConstrainedValueParameter<IDiscreteDoubleValueModifier> ComparisonFactorModifierParameter { 92 get { return (OptionalConstrainedValueParameter<IDiscreteDoubleValueModifier>)Parameters["ComparisonFactorModifier"]; } 93 93 } 94 94 private ValueLookupParameter<DoubleValue> MaximumSelectionPressureParameter { … … 193 193 Parameters.Add(new ValueLookupParameter<DoubleValue>("ComparisonFactorLowerBound", "The lower bound of the comparison factor (start).", new DoubleValue(0))); 194 194 Parameters.Add(new ValueLookupParameter<DoubleValue>("ComparisonFactorUpperBound", "The upper bound of the comparison factor (end).", new DoubleValue(1))); 195 Parameters.Add(new ConstrainedValueParameter<IDiscreteDoubleValueModifier>("ComparisonFactorModifier", "The operator used to modify the comparison factor."));195 Parameters.Add(new OptionalConstrainedValueParameter<IDiscreteDoubleValueModifier>("ComparisonFactorModifier", "The operator used to modify the comparison factor.", new ItemSet<IDiscreteDoubleValueModifier>(new IDiscreteDoubleValueModifier[] { new LinearDiscreteDoubleValueModifier() }), new LinearDiscreteDoubleValueModifier())); 196 196 Parameters.Add(new ValueLookupParameter<DoubleValue>("MaximumSelectionPressure", "The maximum selection pressure that terminates the algorithm.", new DoubleValue(100))); 197 197 Parameters.Add(new ValueLookupParameter<BoolValue>("OffspringSelectionBeforeMutation", "True if the offspring selection step should be applied before mutation, false if it should be applied after mutation.", new BoolValue(false))); … … 386 386 private void UpdateComparisonFactorModifiers() { 387 387 IDiscreteDoubleValueModifier oldModifier = ComparisonFactorModifier; 388 if (oldModifier == null) oldModifier = new LinearDiscreteDoubleValueModifier();389 388 390 389 ComparisonFactorModifierParameter.ValidValues.Clear(); 391 390 foreach (IDiscreteDoubleValueModifier modifier in comparisonFactorModifiers) 392 391 ComparisonFactorModifierParameter.ValidValues.Add(modifier); 393 394 IDiscreteDoubleValueModifier mod = ComparisonFactorModifierParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldModifier.GetType()); 395 if (mod != null) ComparisonFactorModifierParameter.Value = mod; 392 393 if (oldModifier != null) { 394 IDiscreteDoubleValueModifier mod = ComparisonFactorModifierParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldModifier.GetType()); 395 if (mod != null) ComparisonFactorModifierParameter.Value = mod; 396 } 396 397 } 397 398 private void UpdateCrossovers() {
Note: See TracChangeset
for help on using the changeset viewer.