Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/12/10 11:34:13 (13 years ago)
Author:
cneumuel
Message:

#1215

  • enabled multiple problems
  • enabled n repetitions
  • improved results output
  • reduced memory footprint significantly
  • removed viewhost icons for less screen space waste
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Encodings/ParameterConfigurationTree.cs

    r5023 r5087  
    1313  [StorableClass]
    1414  public class ParameterConfigurationTree : ValueConfiguration {
    15     [Storable]
    16     public EngineAlgorithm Algorithm {
    17       get { return (EngineAlgorithm)base.ActualValue.Value; }
    18       set {
    19         base.ActualValue.Value = value;
    20       }
    21     }
     15    //[Storable]
     16    //public EngineAlgorithm Algorithm {
     17    //  get { return (EngineAlgorithm)base.ActualValue.Value; }
     18    //  set {
     19    //    base.ActualValue.Value = value;
     20    //  }
     21    //}
    2222
    2323    [Storable]
     
    4848      set { worstQuality = value; }
    4949    }
    50    
     50
    5151    [Storable]
    5252    private DoubleValue qualityVariance;
     
    5555      set { qualityVariance = value; }
    5656    }
    57    
     57
    5858    [Storable]
    5959    private DoubleValue qualityStandardDeviation;
     
    6262      set { qualityStandardDeviation = value; }
    6363    }
    64    
     64
    6565    [Storable]
    6666    private TimeSpanValue averageExecutionTime;
     
    7878
    7979    [Storable]
    80     public RunCollection Runs { get; set; }
    81    
     80    protected RunCollection runs;
     81    public RunCollection Runs {
     82      get { return runs; }
     83      set { runs = value; }
     84     }
     85
     86    protected IDictionary<string, IItem> parameters;
     87    public IDictionary<string, IItem> Parameters {
     88      get { return parameters; }
     89      set { parameters = value; }
     90    }
     91
    8292    #region constructors and cloning
    83     public ParameterConfigurationTree(EngineAlgorithm algorithm) : base(algorithm, algorithm.GetType()) {
     93    public ParameterConfigurationTree(EngineAlgorithm algorithm)
     94      : base(null, algorithm.GetType()) {
    8495      this.Optimize = true; // root must always be optimized
    8596      this.BestQuality = new DoubleValue();
     97      this.parameters = new Dictionary<string, IItem>();
     98
     99      PopulateParameterConfigurations(algorithm);
     100      Initialize();
    86101    }
    87102    public ParameterConfigurationTree() {
     
    90105    [StorableConstructor]
    91106    protected ParameterConfigurationTree(bool deserializing) : base(deserializing) { }
    92     protected ParameterConfigurationTree(ParameterConfigurationTree original, Cloner cloner) : base(original, cloner) {
     107    protected ParameterConfigurationTree(ParameterConfigurationTree original, Cloner cloner)
     108      : base(original, cloner) {
    93109      this.bestQuality = cloner.Clone(original.BestQuality);
    94       this.Algorithm.Prepare();
    95       this.Algorithm.Runs.Clear();
     110      this.parameters = new Dictionary<string, IItem>();
     111      foreach (var p in original.parameters) {
     112        this.parameters.Add(p.Key, cloner.Clone(p.Value));
     113      }
    96114      Initialize();
    97115    }
     
    121139    }
    122140
     141    public virtual void CollectParameterValues(IDictionary<string, IItem> values) {
     142      foreach (var p in parameters) {
     143        values.Add(p);
     144      }
     145    }
     146
    123147    #region Events
    124148    //public event EventHandler AlgorithmChanged;
     
    134158
    135159    //private void RegisterAlgorithmEvents() {
    136      
     160
    137161    //}
    138162    //private void DeregisterAlgorithmEvents() {
     
    151175    #endregion
    152176
     177    public override void Parameterize(IParameterizedItem item) {
     178      base.Parameterize(item);
     179      this.parameters.Clear();
     180      ((IAlgorithm)item).CollectParameterValues(this.Parameters);
     181    }
    153182  }
    154183}
Note: See TracChangeset for help on using the changeset viewer.