Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/30/10 22:50:59 (14 years ago)
Author:
cneumuel
Message:

#1215

  • enhanced combinations generator (now with batchruns!)
  • fixed ActualNames for metaopt-alg
  • added penalty for invalid solution-candidates (algs which throw exceptions)
  • migrated to .NET 4.0
File:
1 edited

Legend:

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

    r5144 r5184  
    1414  [StorableClass]
    1515  public class ParameterConfigurationTree : ValueConfiguration, IEnumerable {
    16     //[Storable]
    17     //public EngineAlgorithm Algorithm {
    18     //  get { return (EngineAlgorithm)base.ActualValue.Value; }
    19     //  set {
    20     //    base.ActualValue.Value = value;
    21     //  }
    22     //}
    23 
    2416    [Storable]
    2517    private DoubleValue bestQuality;
     
    8375      get { return runs; }
    8476      set { runs = value; }
    85      }
    86 
     77    }
     78
     79    [Storable]
    8780    protected IDictionary<string, IItem> parameters;
    8881    public IDictionary<string, IItem> Parameters {
     
    109102      : base(original, cloner) {
    110103      this.bestQuality = cloner.Clone(original.BestQuality);
     104      this.averageQuality = cloner.Clone(original.averageQuality);
     105      this.worstQuality = cloner.Clone(original.worstQuality);
     106      this.qualityStandardDeviation = cloner.Clone(original.qualityStandardDeviation);
     107      this.qualityVariance = cloner.Clone(original.qualityVariance);
     108      this.averageExecutionTime = cloner.Clone(original.averageExecutionTime);
     109      this.repetitions = cloner.Clone(original.repetitions);
     110      this.runs = cloner.Clone(original.runs);
    111111      this.parameters = new Dictionary<string, IItem>();
    112112      foreach (var p in original.parameters) {
     
    182182    }
    183183
    184     public Experiment GenerateExperiment(IAlgorithm algorithm) {
     184    public Experiment GenerateExperiment(IAlgorithm algorithm, bool createBatchRuns, int repetitions) {
    185185      Experiment experiment = new Experiment();
    186186      foreach (IValueConfiguration combination in this) {
    187187        IAlgorithm clonedAlg = (IAlgorithm)algorithm.Clone();
    188         clonedAlg.Name = combination.ToParameterInfoString();
     188        clonedAlg.Name = combination.ParameterInfoString;
    189189        combination.Parameterize(clonedAlg);
    190         experiment.Optimizers.Add(clonedAlg);
     190        clonedAlg.StoreAlgorithmInEachRun = false;
     191        if (createBatchRuns) {
     192          BatchRun batchRun = new BatchRun(string.Format("BatchRun: {0}", combination.ParameterInfoString));
     193          batchRun.Algorithm = clonedAlg;
     194          batchRun.Repetitions = repetitions;
     195          experiment.Optimizers.Add(batchRun);
     196        } else {
     197          experiment.Optimizers.Add(clonedAlg);
     198        }
    191199      }
    192200      return experiment;
     201    }
     202
     203    public Experiment GenerateExperiment(IAlgorithm algorithm) {
     204      return GenerateExperiment(algorithm, false, 0);
    193205    }
    194206
Note: See TracChangeset for help on using the changeset viewer.