Changeset 13594 for branches/PerformanceComparison/HeuristicLab.OptimizationExpertSystem/3.3/ProblemCharacteristicAnalysis/CharacteristicCalculator.cs
- Timestamp:
- 02/07/16 23:14:22 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PerformanceComparison/HeuristicLab.OptimizationExpertSystem/3.3/ProblemCharacteristicAnalysis/CharacteristicCalculator.cs
r13551 r13594 20 20 #endregion 21 21 22 using System.Collections.Generic;23 22 using HeuristicLab.Common; 24 23 using HeuristicLab.Core; 24 using HeuristicLab.Data; 25 25 using HeuristicLab.Optimization; 26 26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 using System.Collections.Generic; 27 28 28 29 namespace HeuristicLab.Problems.CharacteristicAnalysis { 29 30 [Item("Characteristic Calculator", "")] 30 31 [StorableClass] 31 public abstract class CharacteristicCalculator : NamedItem, ICharacteristicCalculator {32 public abstract class CharacteristicCalculator : ParameterizedNamedItem, ICharacteristicCalculator { 32 33 33 public abstract IEnumerable<string> Characteristics { get; } 34 [Storable] 35 public IProblem Problem { get; set; } 36 37 [Storable] 38 protected CheckedItemList<StringValue> characteristics; 39 public ReadOnlyCheckedItemList<StringValue> Characteristics { get { return characteristics.AsReadOnly(); } } 34 40 35 41 [StorableConstructor] 36 42 protected CharacteristicCalculator(bool deserializing) : base(deserializing) { } 37 protected CharacteristicCalculator(CharacteristicCalculator original, Cloner cloner) : base(original, cloner) { } 43 protected CharacteristicCalculator(CharacteristicCalculator original, Cloner cloner) 44 : base(original, cloner) { 45 characteristics = cloner.Clone(original.characteristics); 46 Problem = cloner.Clone(original.Problem); 47 } 38 48 protected CharacteristicCalculator() 39 49 : base() { 40 50 name = ItemName; 41 51 description = ItemDescription; 52 characteristics = new CheckedItemList<StringValue>(); 42 53 } 43 54 44 public abstract bool CanCalculate( IProblem problem);55 public abstract bool CanCalculate(); 45 56 46 public abstract IEnumerable< KeyValuePair<string, IItem>> Calculate(IProblem problem, IEnumerable<string> characteristics = null);57 public abstract IEnumerable<IResult> Calculate(); 47 58 } 48 59 }
Note: See TracChangeset
for help on using the changeset viewer.