Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/22/10 17:03:29 (14 years ago)
Author:
abeham
Message:

Updated real vector to check bounds after each crossover and manipulation #890

Location:
trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Manipulators
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Manipulators/BreederGeneticAlgorithmManipulator.cs

    r3123 r3182  
    3838  public class BreederGeneticAlgorithmManipulator : RealVectorManipulator {
    3939    private static readonly double[] powerOfTwo = new double[] { 1, 0.5, 0.25, 0.125, 0.0625, 0.03125, 0.015625, 0.0078125, 0.00390625, 0.001953125, 0.0009765625, 0.00048828125, 0.000244140625, 0.0001220703125, 0.00006103515625, 0.000030517578125 };
    40     public ValueLookupParameter<DoubleMatrix> BoundsParameter {
    41       get { return (ValueLookupParameter<DoubleMatrix>)Parameters["Bounds"]; }
    42     }
    4340    public ValueLookupParameter<DoubleValue> SearchIntervalFactorParameter {
    4441      get { return (ValueLookupParameter<DoubleValue>)Parameters["SearchIntervalFactor"]; }
     
    5047    public BreederGeneticAlgorithmManipulator()
    5148      : base() {
    52       Parameters.Add(new ValueLookupParameter<DoubleMatrix>("Bounds", "The lower and upper bounds for each element in the vector."));
    53       Parameters.Add(new ValueLookupParameter<DoubleValue>("SearchIntervalFactor", "The factor determining the size of the search interval, that will be added/removed to/from the allele selected for manipulation.", new DoubleValue(0.1)));
     49      Parameters.Add(new ValueLookupParameter<DoubleValue>("SearchIntervalFactor", "The factor determining the size of the search interval, that will be added/removed to/from the allele selected for manipulation. E.g. a value of 0.1 means 10% of the range will be maximally added/removed.", new DoubleValue(0.1)));
    5450    }
    5551
  • trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Manipulators/MichalewiczNonUniformAllPositionsManipulator.cs

    r3172 r3182  
    3838  public class MichalewiczNonUniformAllPositionsManipulator : RealVectorManipulator {
    3939    /// <summary>
    40     /// The lower and upper bound (1st and 2nd column) of the positions in the vector. If there are less rows than dimensions, the rows are cycled.
    41     /// </summary>
    42     public ValueLookupParameter<DoubleMatrix> BoundsParameter {
    43       get { return (ValueLookupParameter<DoubleMatrix>)Parameters["Bounds"]; }
    44     }
    45     /// <summary>
    4640    /// The current generation.
    4741    /// </summary>
     
    6963    public MichalewiczNonUniformAllPositionsManipulator()
    7064      : base() {
    71       Parameters.Add(new ValueLookupParameter<DoubleMatrix>("Bounds", "The lower and upper bound (1st and 2nd column) of the positions in the vector. If there are less rows than dimensions, the rows are cycled."));
    7265      Parameters.Add(new LookupParameter<IntValue>("Generation", "Current generation of the algorithm"));
    7366      Parameters.Add(new LookupParameter<IntValue>("MaximumGenerations", "Maximum number of generations"));
  • trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Manipulators/MichalewiczNonUniformOnePositionManipulator.cs

    r3123 r3182  
    3838  public class MichalewiczNonUniformOnePositionManipulator : RealVectorManipulator {
    3939    /// <summary>
    40     /// The lower and upper bound (1st and 2nd column) of the positions in the vector. If there are less rows than dimensions, the rows are cycled.
    41     /// </summary>
    42     public ValueLookupParameter<DoubleMatrix> BoundsParameter {
    43       get { return (ValueLookupParameter<DoubleMatrix>)Parameters["Bounds"]; }
    44     }
    45     /// <summary>
    4640    /// The current generation.
    4741    /// </summary>
     
    6963    public MichalewiczNonUniformOnePositionManipulator()
    7064      : base() {
    71       Parameters.Add(new ValueLookupParameter<DoubleMatrix>("Bounds", "The lower and upper bound (1st and 2nd column) of the positions in the vector. If there are less rows than dimensions, the rows are cycled."));
    7265      Parameters.Add(new LookupParameter<IntValue>("Generation", "Current generation of the algorithm"));
    7366      Parameters.Add(new LookupParameter<IntValue>("MaximumGenerations", "Maximum number of generations"));
  • trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Manipulators/UniformOnePositionManipulator.cs

    r3123 r3182  
    3737  public class UniformOnePositionManipulator : RealVectorManipulator {
    3838    /// <summary>
    39     /// The bounds of the values in the real vector.
    40     /// </summary>
    41     public ValueLookupParameter<DoubleMatrix> BoundsParameter {
    42       get { return (ValueLookupParameter<DoubleMatrix>)Parameters["Bounds"]; }
    43     }
    44 
    45     /// <summary>
    46     /// Initializes a new instance of <see cref="UniformOnePositionManipulator"/> with one parameter
    47     /// (<c>Bounds</c>).
    48     /// </summary>
    49     public UniformOnePositionManipulator() {
    50       Parameters.Add(new ValueLookupParameter<DoubleMatrix>("Bounds", "Lower and upper bound of the positions in the vector."));
    51     }
    52 
    53     /// <summary>
    5439    /// Changes randomly a single position in the given real <paramref name="vector"/>.
    5540    /// </summary>
Note: See TracChangeset for help on using the changeset viewer.