Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/29/18 09:07:03 (6 years ago)
Author:
jkarder
Message:

#2745: worked on EGO implementation

  • added parameter for initial sample set (only for D-EGO)
  • fixed project references and output paths
  • minor changes
Location:
branches/EfficientGlobalOptimization/HeuristicLab.Algorithms.EGO/DiscreteEGO
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/EfficientGlobalOptimization/HeuristicLab.Algorithms.EGO/DiscreteEGO/DiscreteAdaptiveSamplingAlgorithm.cs

    r15343 r15976  
    4040    private const string RemoveDuplicatesParamterName = "PerturbDuplicates";
    4141    private const string MaxModelSizeParameterName = "Maximal Model Size";
     42    private const string InitialDatasetParameterName = "SampleSet";
    4243    #endregion
    4344
     
    5354    public IFixedValueParameter<BoolValue> RemoveDuplicatesParameter => (IFixedValueParameter<BoolValue>)Parameters[RemoveDuplicatesParamterName];
    5455    public IFixedValueParameter<IntValue> MaxModelSizeParameter => (IFixedValueParameter<IntValue>)Parameters[MaxModelSizeParameterName];
     56    public IValueParameter<IDataset> InitialDatasetParameter => (IValueParameter<IDataset>)Parameters[InitialDatasetParameterName];
    5557    #endregion
    5658
     
    6769    public int MaxModelSize => MaxModelSizeParameter.Value.Value;
    6870    private SolutionsCreator SolutionsCreator => OperatorGraph.Iterate().OfType<SolutionsCreator>().First();
     71    public IDataset InitialDataset => InitialDatasetParameter.Value;
    6972    #endregion
    7073
     
    168171      Parameters.Add(new FixedValueParameter<BoolValue>(RemoveDuplicatesParamterName, "Whether (almost) duplicate points in the dataset should be perturbed before evaluation (this greatly increases numerical stability for some model types)", new BoolValue(true)));
    169172      Parameters.Add(new FixedValueParameter<IntValue>("Maximal Model Size", "The maximum number of sample points used to build the model", new IntValue(-1)));
     173      Parameters.Add(new ValueParameter<IDataset>(InitialDatasetParameterName, "The initial dataset that should be built upon.", new ModifiableDataset()));
    170174      #endregion
    171175
  • branches/EfficientGlobalOptimization/HeuristicLab.Algorithms.EGO/DiscreteEGO/DiscreteSampleCollector.cs

    r15343 r15976  
    2020#endregion
    2121
     22using System.Collections.Generic;
     23using System.Linq;
    2224using HeuristicLab.Common;
    2325using HeuristicLab.Core;
     
    5961      if (data.Columns != vector.Length + 1) {
    6062        if (data.Columns != 0 || data.Rows != 0) throw new OperatorExecutionException(this, "dataset columns do not match samplesize+1");
    61         for (var i = 0; i < vector.Length; i++)
    62           data.AddVariable("input" + i, new double[0]);
    63         data.AddVariable("output", new double[0]);
    64       }
    65       AddRow(data, vector, quality);
    66       return base.InstrumentedApply(); ;
     63        var variableNames = vector.Select((x, i) => string.Format("input" + i)).Concat("output".ToEnumerable());
     64        var variableValues = vector.Select(x => (double)x).Concat(quality.ToEnumerable()).Select(x => new List<double> { x });
     65        data = DatasetParameter.ActualValue = new ModifiableDataset(variableNames, variableValues);
     66      } else AddRow(data, vector, quality);
     67
     68      return base.InstrumentedApply();
    6769    }
    6870
Note: See TracChangeset for help on using the changeset viewer.