Changeset 12105 for branches/HeuristicLab.DatasetRefactor/sources/HeuristicLab.Algorithms.RAPGA/3.3/DuplicatesSelector.cs
- Timestamp:
- 03/03/15 11:18:07 (9 years ago)
- Location:
- branches/HeuristicLab.DatasetRefactor/sources
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.DatasetRefactor/sources
- Property svn:mergeinfo changed
/trunk/sources merged: 12037,12041,12057,12059-12060,12067,12069-12070,12072,12074,12076-12078,12085,12087-12091,12093,12095-12096,12100-12104
- Property svn:mergeinfo changed
-
branches/HeuristicLab.DatasetRefactor/sources/HeuristicLab.Algorithms.RAPGA/3.3/DuplicatesSelector.cs
r12031 r12105 25 25 using HeuristicLab.Core; 26 26 using HeuristicLab.Optimization; 27 using HeuristicLab.Parameters; 27 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 29 using HeuristicLab.Selection; … … 37 38 [Item("DuplicatesSelector", "A selection operator which considers a single solution representation and selects duplicates. The remaining scope then contains unique solutions and the selected scope their duplicates.")] 38 39 [StorableClass] 39 public sealed class DuplicatesSelector : SingleObjectiveSelector, ISimilarityBasedOperator { 40 #region ISimilarityBasedOperator Members 41 [Storable] 42 public ISolutionSimilarityCalculator SimilarityCalculator { get; set; } 43 #endregion 40 public sealed class DuplicatesSelector : SingleObjectiveSelector { 41 public IValueLookupParameter<ISolutionSimilarityCalculator> SimilarityCalculatorParameter { 42 get { return (IValueLookupParameter<ISolutionSimilarityCalculator>)Parameters["SimilarityCalculator"]; } 43 } 44 44 45 45 [StorableConstructor] 46 46 private DuplicatesSelector(bool deserializing) : base(deserializing) { } 47 private DuplicatesSelector(DuplicatesSelector original, Cloner cloner) 48 : base(original, cloner) { 49 this.SimilarityCalculator = cloner.Clone(original.SimilarityCalculator); 47 private DuplicatesSelector(DuplicatesSelector original, Cloner cloner) : base(original, cloner) { } 48 public DuplicatesSelector() 49 : base() { 50 Parameters.Add(new ValueLookupParameter<ISolutionSimilarityCalculator>("SimilarityCalculator", "The similarity calculator that should be used to calculate solution similarity.")); 50 51 } 51 public DuplicatesSelector() : base() { }52 52 53 53 public override IDeepCloneable Clone(Cloner cloner) { 54 54 return new DuplicatesSelector(this, cloner); 55 } 56 57 [StorableHook(HookType.AfterDeserialization)] 58 private void AfterDeserialization() { 59 // BackwardsCompatibility3.3 60 #region Backwards compatible code, remove with 3.4 61 if (!Parameters.ContainsKey("SimilarityCalculator")) 62 Parameters.Add(new ValueLookupParameter<ISolutionSimilarityCalculator>("SimilarityCalculator", "The similarity calculator that should be used to calculate solution similarity.")); 63 #endregion 55 64 } 56 65 … … 61 70 for (int i = 0; i < scopes.Count; i++) 62 71 for (int j = i + 1; j < scopes.Count; j++) 63 marks[j] = SimilarityCalculator .Equals(scopes[i], scopes[j]);72 marks[j] = SimilarityCalculatorParameter.ActualValue.Equals(scopes[i], scopes[j]); 64 73 65 74
Note: See TracChangeset
for help on using the changeset viewer.