Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/15/12 09:11:17 (12 years ago)
Author:
gkronber
Message:

#1081 merged r7462:7609 from trunk into time series branch

Location:
branches/HeuristicLab.TimeSeries
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.TimeSeries

  • branches/HeuristicLab.TimeSeries/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithm.cs

    r7268 r7615  
    6464      get { return (ValueParameter<IntValue>)Parameters["PopulationSize"]; }
    6565    }
    66     private ConstrainedValueParameter<ISelector> SelectorParameter {
     66    public ConstrainedValueParameter<ISelector> SelectorParameter {
    6767      get { return (ConstrainedValueParameter<ISelector>)Parameters["Selector"]; }
    6868    }
    69     private ConstrainedValueParameter<ICrossover> CrossoverParameter {
     69    public ConstrainedValueParameter<ICrossover> CrossoverParameter {
    7070      get { return (ConstrainedValueParameter<ICrossover>)Parameters["Crossover"]; }
    7171    }
     
    7373      get { return (ValueParameter<PercentValue>)Parameters["MutationProbability"]; }
    7474    }
    75     private OptionalConstrainedValueParameter<IManipulator> MutatorParameter {
     75    public OptionalConstrainedValueParameter<IManipulator> MutatorParameter {
    7676      get { return (OptionalConstrainedValueParameter<IManipulator>)Parameters["Mutator"]; }
    7777    }
     
    9191      get { return (ValueLookupParameter<DoubleValue>)Parameters["ComparisonFactorUpperBound"]; }
    9292    }
    93     private OptionalConstrainedValueParameter<IDiscreteDoubleValueModifier> ComparisonFactorModifierParameter {
     93    public OptionalConstrainedValueParameter<IDiscreteDoubleValueModifier> ComparisonFactorModifierParameter {
    9494      get { return (OptionalConstrainedValueParameter<IDiscreteDoubleValueModifier>)Parameters["ComparisonFactorModifier"]; }
    9595    }
     
    447447      ICrossover oldCrossover = CrossoverParameter.Value;
    448448      CrossoverParameter.ValidValues.Clear();
     449      ICrossover defaultCrossover = Problem.Operators.OfType<ICrossover>().FirstOrDefault();
     450
    449451      foreach (ICrossover crossover in Problem.Operators.OfType<ICrossover>().OrderBy(x => x.Name))
    450452        CrossoverParameter.ValidValues.Add(crossover);
     453
    451454      if (oldCrossover != null) {
    452455        ICrossover crossover = CrossoverParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldCrossover.GetType());
    453456        if (crossover != null) CrossoverParameter.Value = crossover;
    454       }
     457        else oldCrossover = null;
     458      }
     459      if (oldCrossover == null && defaultCrossover != null)
     460        CrossoverParameter.Value = defaultCrossover;
    455461    }
    456462    private void UpdateMutators() {
Note: See TracChangeset for help on using the changeset viewer.