Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/12/15 10:35:02 (9 years ago)
Author:
mkommend
Message:

#2175: Merged trunk changes and extracted parameters of evaluators to their base class.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DataAnalysis.ComplexityAnalyzer/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/MultiObjective/SymbolicRegressionMultiObjectiveEvaluator.cs

    r12130 r12848  
    2222
    2323using HeuristicLab.Common;
     24using HeuristicLab.Core;
     25using HeuristicLab.Data;
     26using HeuristicLab.Parameters;
    2427using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     28
    2529namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
     30  [StorableClass]
    2631  public abstract class SymbolicRegressionMultiObjectiveEvaluator : SymbolicDataAnalysisMultiObjectiveEvaluator<IRegressionProblemData>, ISymbolicRegressionMultiObjectiveEvaluator {
     32    private const string DecimalPlacesParameterName = "Decimal Places";
     33    private const string UseConstantOptimizationParameterName = "Use constant optimization";
     34
     35    public IFixedValueParameter<IntValue> DecimalPlacesParameter {
     36      get { return (IFixedValueParameter<IntValue>)Parameters[DecimalPlacesParameterName]; }
     37    }
     38    public IFixedValueParameter<BoolValue> UseConstantOptimizationParameter {
     39      get { return (IFixedValueParameter<BoolValue>)Parameters[UseConstantOptimizationParameterName]; }
     40    }
     41
     42    public int DecimalPlaces {
     43      get { return DecimalPlacesParameter.Value.Value; }
     44      set { DecimalPlacesParameter.Value.Value = value; }
     45    }
     46    public bool UseConstantOptimization {
     47      get { return UseConstantOptimizationParameter.Value.Value; }
     48      set { UseConstantOptimizationParameter.Value.Value = value; }
     49    }
     50
    2751    [StorableConstructor]
    2852    protected SymbolicRegressionMultiObjectiveEvaluator(bool deserializing) : base(deserializing) { }
     
    3155    }
    3256
    33     protected SymbolicRegressionMultiObjectiveEvaluator() : base() { }
     57    protected SymbolicRegressionMultiObjectiveEvaluator()
     58      : base() {
     59      Parameters.Add(new FixedValueParameter<IntValue>(DecimalPlacesParameterName, "The number of decimal places used for rounding the quality values.", new IntValue(5)) { Hidden = true });
     60      Parameters.Add(new FixedValueParameter<BoolValue>(UseConstantOptimizationParameterName, "", new BoolValue(false)));
     61    }
     62
     63    [StorableHook(HookType.AfterDeserialization)]
     64    private void AfterDeserialization() {
     65      if (!Parameters.ContainsKey(UseConstantOptimizationParameterName)) {
     66        Parameters.Add(new FixedValueParameter<BoolValue>(UseConstantOptimizationParameterName, "", new BoolValue(false)));
     67      }
     68      if (!Parameters.ContainsKey(DecimalPlacesParameterName)) {
     69        Parameters.Add(new FixedValueParameter<IntValue>(DecimalPlacesParameterName, "The number of decimal places used for rounding the quality values.", new IntValue(-1)) { Hidden = true });
     70      }
     71    }
    3472  }
    3573}
Note: See TracChangeset for help on using the changeset viewer.