Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/29/17 11:28:16 (7 years ago)
Author:
bwerth
Message:

#2745 added discretized EGO-version for use with IntegerVectors

Location:
branches/EfficientGlobalOptimization/HeuristicLab.Algorithms.EGO/DiscreteEGO
Files:
1 added
1 copied

Legend:

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

    r15340 r15343  
    2323using HeuristicLab.Core;
    2424using HeuristicLab.Data;
    25 using HeuristicLab.Encodings.RealVectorEncoding;
     25using HeuristicLab.Encodings.IntegerVectorEncoding;
    2626using HeuristicLab.Operators;
    2727using HeuristicLab.Parameters;
     
    3030
    3131namespace HeuristicLab.Algorithms.EGO {
    32   /// <summary>
    33   /// A base class for operators that manipulate real-valued vectors.
    34   /// </summary>
    35   [Item("SampleCollector", "Collects RealVectors into a modifiablbe dataset")]
     32  [Item("DiscreteSampleCollector", "Collects IntegerVectors into a modifiablbe dataset")]
    3633  [StorableClass]
    37   public class SampleCollector : InstrumentedOperator {
     34  public class DiscreteSampleCollector : InstrumentedOperator {
    3835    public override bool CanChangeName => true;
    3936
    40     public ILookupParameter<RealVector> RealVectorParameter => (ILookupParameter<RealVector>)Parameters["RealVector"];
     37    public ILookupParameter<IntegerVector> IntegerVectorParameter => (ILookupParameter<IntegerVector>)Parameters["IntegerVector"];
    4138    public ILookupParameter<DoubleValue> QualityParameter => (ILookupParameter<DoubleValue>)Parameters["Quality"];
    4239    public ILookupParameter<ModifiableDataset> DatasetParameter => (ILookupParameter<ModifiableDataset>)Parameters["Dataset"];
    4340
    4441    [StorableConstructor]
    45     protected SampleCollector(bool deserializing) : base(deserializing) { }
    46     protected SampleCollector(SampleCollector original, Cloner cloner) : base(original, cloner) { }
    47     public SampleCollector() {
    48       Parameters.Add(new LookupParameter<RealVector>("RealVector", "The vector which should be collected."));
     42    protected DiscreteSampleCollector(bool deserializing) : base(deserializing) { }
     43    protected DiscreteSampleCollector(DiscreteSampleCollector original, Cloner cloner) : base(original, cloner) { }
     44    public DiscreteSampleCollector() {
     45      Parameters.Add(new LookupParameter<IntegerVector>("IntegerVector", "The vector which should be collected."));
    4946      Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The quality associated which this vector"));
    5047      Parameters.Add(new LookupParameter<ModifiableDataset>("Dataset", "The Dataset in wich new samples are stored."));
     
    5249
    5350    public override IDeepCloneable Clone(Cloner cloner) {
    54       return new SampleCollector(this, cloner);
     51      return new DiscreteSampleCollector(this, cloner);
    5552    }
    5653
    5754    public sealed override IOperation InstrumentedApply() {
    58       var vector = RealVectorParameter.ActualValue;
     55      var vector = IntegerVectorParameter.ActualValue;
    5956      var quality = QualityParameter.ActualValue.Value;
    6057      var data = DatasetParameter.ActualValue;
     
    7168
    7269
    73     private static void AddRow(ModifiableDataset data, RealVector vector, double quality) {
     70    private static void AddRow(ModifiableDataset data, IntegerVector vector, double quality) {
    7471      var row = new object[vector.Length + 1];
    7572      for (var i = 0; i < vector.Length; i++)
    76         row[i] = vector[i];
     73        row[i] = (double)vector[i];
    7774      row[vector.Length] = quality;
    7875      data.AddRow(row);
Note: See TracChangeset for help on using the changeset viewer.