Changeset 15343 for branches/EfficientGlobalOptimization/HeuristicLab.Algorithms.EGO/DiscreteEGO/DiscreteSampleCollector.cs
- Timestamp:
- 08/29/17 11:28:16 (7 years ago)
- 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 23 23 using HeuristicLab.Core; 24 24 using HeuristicLab.Data; 25 using HeuristicLab.Encodings. RealVectorEncoding;25 using HeuristicLab.Encodings.IntegerVectorEncoding; 26 26 using HeuristicLab.Operators; 27 27 using HeuristicLab.Parameters; … … 30 30 31 31 namespace 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")] 36 33 [StorableClass] 37 public class SampleCollector : InstrumentedOperator {34 public class DiscreteSampleCollector : InstrumentedOperator { 38 35 public override bool CanChangeName => true; 39 36 40 public ILookupParameter< RealVector> RealVectorParameter => (ILookupParameter<RealVector>)Parameters["RealVector"];37 public ILookupParameter<IntegerVector> IntegerVectorParameter => (ILookupParameter<IntegerVector>)Parameters["IntegerVector"]; 41 38 public ILookupParameter<DoubleValue> QualityParameter => (ILookupParameter<DoubleValue>)Parameters["Quality"]; 42 39 public ILookupParameter<ModifiableDataset> DatasetParameter => (ILookupParameter<ModifiableDataset>)Parameters["Dataset"]; 43 40 44 41 [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.")); 49 46 Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The quality associated which this vector")); 50 47 Parameters.Add(new LookupParameter<ModifiableDataset>("Dataset", "The Dataset in wich new samples are stored.")); … … 52 49 53 50 public override IDeepCloneable Clone(Cloner cloner) { 54 return new SampleCollector(this, cloner);51 return new DiscreteSampleCollector(this, cloner); 55 52 } 56 53 57 54 public sealed override IOperation InstrumentedApply() { 58 var vector = RealVectorParameter.ActualValue;55 var vector = IntegerVectorParameter.ActualValue; 59 56 var quality = QualityParameter.ActualValue.Value; 60 57 var data = DatasetParameter.ActualValue; … … 71 68 72 69 73 private static void AddRow(ModifiableDataset data, RealVector vector, double quality) {70 private static void AddRow(ModifiableDataset data, IntegerVector vector, double quality) { 74 71 var row = new object[vector.Length + 1]; 75 72 for (var i = 0; i < vector.Length; i++) 76 row[i] = vector[i];73 row[i] = (double)vector[i]; 77 74 row[vector.Length] = quality; 78 75 data.AddRow(row);
Note: See TracChangeset
for help on using the changeset viewer.