Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/04/12 16:48:59 (12 years ago)
Author:
jkarder
Message:

#1331:

  • added EvaluatedSolutions parameter
  • SingleObjectiveTestFunctionImprovementOperator now retrieves the bounds from the scope tree
  • SingleObjectiveTestFunctionProblem now assigns the bounds to the similarity calculator
Location:
branches/ScatterSearch (trunk integration)/HeuristicLab.Problems.TestFunctions/3.3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/ScatterSearch (trunk integration)/HeuristicLab.Problems.TestFunctions/3.3/Improvers/SingleObjectiveTestFunctionImprovementOperator.cs

    r7789 r7954  
    4545      get { return (IValueParameter<DoubleValue>)Parameters["Beta"]; }
    4646    }
     47    public IValueLookupParameter<DoubleMatrix> BoundsParameter {
     48      get { return (IValueLookupParameter<DoubleMatrix>)Parameters["Bounds"]; }
     49    }
    4750    public ScopeParameter CurrentScopeParameter {
    4851      get { return (ScopeParameter)Parameters["CurrentScope"]; }
     
    7477    private DoubleValue Beta {
    7578      get { return BetaParameter.Value; }
     79    }
     80    private DoubleMatrix Bounds {
     81      get { return BoundsParameter.ActualValue; }
    7682    }
    7783    public IScope CurrentScope {
     
    109115      Parameters.Add(new ValueParameter<DoubleValue>("Alpha", new DoubleValue(1.0)));
    110116      Parameters.Add(new ValueParameter<DoubleValue>("Beta", new DoubleValue(2.0)));
     117      Parameters.Add(new ValueLookupParameter<DoubleMatrix>("Bounds"));
    111118      Parameters.Add(new ScopeParameter("CurrentScope"));
    112119      Parameters.Add(new ValueParameter<DoubleValue>("Delta", new DoubleValue(0.5)));
     
    136143      for (int i = 0; i < simplex.Length; i++) {
    137144        simplex[i] = bestSol.Clone() as RealVector;
    138         simplex[i][i] += 0.1 * (Evaluator.Bounds[0, 1] - Evaluator.Bounds[0, 0]);
    139         if (simplex[i][i] > Evaluator.Bounds[0, 1]) simplex[i][i] = Evaluator.Bounds[0, 1];
    140         if (simplex[i][i] < Evaluator.Bounds[0, 0]) simplex[i][i] = Evaluator.Bounds[0, 0];
     145        simplex[i][i] += 0.1 * (Bounds[0, 1] - Bounds[0, 0]);
     146        if (simplex[i][i] > Bounds[0, 1]) simplex[i][i] = Bounds[0, 1];
     147        if (simplex[i][i] < Bounds[0, 0]) simplex[i][i] = Bounds[0, 0];
    141148      }
    142149
     
    195202
    196203      for (int i = 0; i < simplex[0].Length; i++) {
    197         if (simplex[0][i] > Evaluator.Bounds[0, 1]) simplex[0][i] = Evaluator.Bounds[0, 1];
    198         if (simplex[0][i] < Evaluator.Bounds[0, 0]) simplex[0][i] = Evaluator.Bounds[0, 0];
     204        if (simplex[0][i] > Bounds[0, 1]) simplex[0][i] = Bounds[0, 1];
     205        if (simplex[0][i] < Bounds[0, 0]) simplex[0][i] = Bounds[0, 0];
    199206      }
    200207
  • branches/ScatterSearch (trunk integration)/HeuristicLab.Problems.TestFunctions/3.3/SimilarityCalculators/SingleObjectiveTestFunctionSimilarityCalculator.cs

    r7793 r7954  
    2626using HeuristicLab.Encodings.RealVectorEncoding;
    2727using HeuristicLab.Optimization.Operators;
    28 using HeuristicLab.Parameters;
    2928using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3029
     
    3635  [StorableClass]
    3736  public sealed class SingleObjectiveTestFunctionSimilarityCalculator : SimilarityCalculator {
    38     #region Parameter properties
    39     public ILookupParameter<DoubleMatrix> BoundsParameter {
    40       get { return (ILookupParameter<DoubleMatrix>)Parameters["Bounds"]; }
    41     }
    42     #endregion
    43 
    4437    #region Properties
    45     private DoubleMatrix Bounds {
    46       get { return BoundsParameter.ActualValue; }
    47       set { BoundsParameter.ActualValue = value; }
    48     }
     38    public DoubleMatrix Bounds { get; set; }
    4939    #endregion
    5040
     
    5242    private SingleObjectiveTestFunctionSimilarityCalculator(bool deserializing) : base(deserializing) { }
    5343    private SingleObjectiveTestFunctionSimilarityCalculator(SingleObjectiveTestFunctionSimilarityCalculator original, Cloner cloner) : base(original, cloner) { }
    54     public SingleObjectiveTestFunctionSimilarityCalculator()
    55       : base() {
    56       #region Create parameters
    57       Parameters.Add(new LookupParameter<DoubleMatrix>("Bounds"));
    58       #endregion
    59     }
     44    public SingleObjectiveTestFunctionSimilarityCalculator() : base() { }
    6045
    6146    public override IDeepCloneable Clone(Cloner cloner) {
  • branches/ScatterSearch (trunk integration)/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs

    r7789 r7954  
    376376        op.ParentsParameter.Hidden = true;
    377377      }
    378       foreach (ISimilarityCalculator op in Operators.OfType<ISimilarityCalculator>()) {
     378      foreach (SingleObjectiveTestFunctionSimilarityCalculator op in Operators.OfType<ISimilarityCalculator>()) {
    379379        op.TargetParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
    380380        op.TargetParameter.Hidden = true;
     381        op.Bounds = Bounds;
    381382      }
    382383    }
Note: See TracChangeset for help on using the changeset viewer.