Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/30/12 10:21:21 (12 years ago)
Author:
mkommend
Message:

#1788: Prepared symbolic regression evaluators to apply linear scaling and moved to separate folder.

Location:
trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators
Files:
1 added
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/SymbolicRegressionSingleObjectiveEvaluator.cs

    r7670 r7672  
    2222
    2323using HeuristicLab.Common;
     24using HeuristicLab.Core;
     25using HeuristicLab.Data;
     26using HeuristicLab.Parameters;
    2427using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2528namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
     29  [StorableClass]
    2630  public abstract class SymbolicRegressionSingleObjectiveEvaluator : SymbolicDataAnalysisSingleObjectiveEvaluator<IRegressionProblemData>, ISymbolicRegressionSingleObjectiveEvaluator {
     31    private const string ApplyLinearScalingParameterName = "ApplyLinearScaling";
     32    public IFixedValueParameter<BoolValue> ApplyLinearScalingParameter {
     33      get { return (IFixedValueParameter<BoolValue>)Parameters[ApplyLinearScalingParameterName]; }
     34    }
     35    public bool ApplyLinearScaling {
     36      get { return ApplyLinearScalingParameter.Value.Value; }
     37      set { ApplyLinearScalingParameter.Value.Value = value; }
     38    }
     39
    2740    [StorableConstructor]
    2841    protected SymbolicRegressionSingleObjectiveEvaluator(bool deserializing) : base(deserializing) { }
    29     protected SymbolicRegressionSingleObjectiveEvaluator(SymbolicRegressionSingleObjectiveEvaluator original, Cloner cloner)
    30       : base(original, cloner) {
     42    protected SymbolicRegressionSingleObjectiveEvaluator(SymbolicRegressionSingleObjectiveEvaluator original, Cloner cloner) : base(original, cloner) { }
     43    protected SymbolicRegressionSingleObjectiveEvaluator()
     44      : base() {
     45      Parameters.Add(new FixedValueParameter<BoolValue>(ApplyLinearScalingParameterName, "Flag that indicates if the individual should be linearly scaled before evaluating.", new BoolValue(true)));
     46      ApplyLinearScalingParameter.Hidden = true;
    3147    }
    3248
    33     protected SymbolicRegressionSingleObjectiveEvaluator() : base() { }
     49    [StorableHook(HookType.AfterDeserialization)]
     50    private void AfterDeserialization() {
     51      if (!Parameters.ContainsKey(ApplyLinearScalingParameterName)) {
     52        Parameters.Add(new FixedValueParameter<BoolValue>(ApplyLinearScalingParameterName, "Flag that indicates if the individual should be linearly scaled before evaluating.", new BoolValue(false)));
     53        ApplyLinearScalingParameter.Hidden = true;
     54      }
     55    }
    3456  }
    3557}
Note: See TracChangeset for help on using the changeset viewer.