Changeset 4663 for branches/CloningRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves
- Timestamp:
- 10/29/10 16:41:43 (14 years ago)
- Location:
- branches/CloningRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/CloningRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/ExhaustiveOneBitflipMoveGenerator.cs
r4068 r4663 23 23 using HeuristicLab.Optimization; 24 24 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 25 using HeuristicLab.Common; 25 26 26 27 namespace HeuristicLab.Encodings.BinaryVectorEncoding { 27 28 [Item("ExhaustiveBitflipMoveGenerator", "Generates all possible one bitflip moves from a given binaryVector.")] 28 29 [StorableClass] 29 public class ExhaustiveOneBitflipMoveGenerator : OneBitflipMoveGenerator, IExhaustiveMoveGenerator { 30 public sealed class ExhaustiveOneBitflipMoveGenerator : OneBitflipMoveGenerator, IExhaustiveMoveGenerator { 31 [StorableConstructor] 32 private ExhaustiveOneBitflipMoveGenerator(bool deserializing) : base(deserializing) { } 33 private ExhaustiveOneBitflipMoveGenerator(ExhaustiveOneBitflipMoveGenerator original, Cloner cloner) : base(original, cloner) { } 34 public ExhaustiveOneBitflipMoveGenerator() : base() { } 35 36 public override IDeepCloneable Clone(Cloner cloner) { 37 return new ExhaustiveOneBitflipMoveGenerator(this, cloner); 38 } 39 30 40 public static OneBitflipMove[] Apply(BinaryVector binaryVector) { 31 41 int length = binaryVector.Length; -
branches/CloningRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMove.cs
r4068 r4663 22 22 using HeuristicLab.Core; 23 23 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 24 using HeuristicLab.Common; 24 25 25 26 namespace HeuristicLab.Encodings.BinaryVectorEncoding { … … 27 28 [StorableClass] 28 29 public class OneBitflipMove : OneIndexMove { 29 public OneBitflipMove() 30 : base() { 31 } 30 [StorableConstructor] 31 protected OneBitflipMove(bool deserializing) : base(deserializing) { } 32 protected OneBitflipMove(OneBitflipMove original, Cloner cloner) : base(original, cloner) { } 33 public OneBitflipMove() : base() { } 34 public OneBitflipMove(int index) : this(index, null) { } 35 public OneBitflipMove(int index, BinaryVector binaryVector) : base(index, binaryVector) { } 32 36 33 public OneBitflipMove(int index) 34 : base(index, null) { 35 } 36 37 public OneBitflipMove(int index, BinaryVector binaryVector) 38 : base(index, binaryVector) { 37 public override IDeepCloneable Clone(Cloner cloner) { 38 return new OneBitflipMove(this, cloner); 39 39 } 40 40 } -
branches/CloningRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveAttribute.cs
r3376 r4663 25 25 26 26 namespace HeuristicLab.Encodings.BinaryVectorEncoding { 27 [Item("OneBitflipMoveAttribute", " Base class for specifying a move attribute.")]27 [Item("OneBitflipMoveAttribute", "Describes the attributes (move quality and index) of a single bitflip move.")] 28 28 [StorableClass] 29 29 public class OneBitflipMoveAttribute : Item { … … 33 33 public int Index { get; protected set; } 34 34 35 public OneBitflipMoveAttribute() 36 : this(-1, 0) { 35 [StorableConstructor] 36 protected OneBitflipMoveAttribute(bool deserializing) : base(deserializing) { } 37 protected OneBitflipMoveAttribute(OneBitflipMoveAttribute original, Cloner cloner) 38 : base(original, cloner) { 39 this.MoveQuality = original.MoveQuality; 40 this.Index = original.Index; 37 41 } 38 42 public OneBitflipMoveAttribute() : this(-1, 0) { } 39 43 public OneBitflipMoveAttribute(int index, double moveQuality) 40 44 : base() { … … 44 48 45 49 public override IDeepCloneable Clone(Cloner cloner) { 46 OneBitflipMoveAttribute clone = (OneBitflipMoveAttribute)base.Clone(cloner); 47 clone.MoveQuality = MoveQuality; 48 clone.Index = Index; 49 return clone; 50 return new OneBitflipMoveAttribute(this, cloner); 50 51 } 51 52 } -
branches/CloningRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveGenerator.cs
r4068 r4663 25 25 using HeuristicLab.Parameters; 26 26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 using HeuristicLab.Common; 27 28 28 29 namespace HeuristicLab.Encodings.BinaryVectorEncoding { … … 43 44 } 44 45 46 [StorableConstructor] 47 protected OneBitflipMoveGenerator(bool deserializing) : base(deserializing) { } 48 protected OneBitflipMoveGenerator(OneBitflipMoveGenerator original, Cloner cloner) : base(original, cloner) { } 45 49 public OneBitflipMoveGenerator() 46 50 : base() { -
branches/CloningRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveMaker.cs
r4068 r4663 26 26 using HeuristicLab.Parameters; 27 27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 using HeuristicLab.Common; 28 29 29 30 namespace HeuristicLab.Encodings.BinaryVectorEncoding { … … 47 48 } 48 49 50 [StorableConstructor] 51 protected OneBitflipMoveMaker(bool deserializing) : base(deserializing) { } 52 protected OneBitflipMoveMaker(OneBitflipMoveMaker original, Cloner cloner) : base(original, cloner) { } 49 53 public OneBitflipMoveMaker() 50 54 : base() { … … 53 57 Parameters.Add(new LookupParameter<OneBitflipMove>("OneBitflipMove", "The move to evaluate.")); 54 58 Parameters.Add(new LookupParameter<BinaryVector>("BinaryVector", "The solution as BinaryVector.")); 59 } 60 61 public override IDeepCloneable Clone(Cloner cloner) { 62 return new OneBitflipMoveMaker(this, cloner); 55 63 } 56 64 -
branches/CloningRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveTabuChecker.cs
r4068 r4663 26 26 using HeuristicLab.Parameters; 27 27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 using HeuristicLab.Common; 28 29 29 30 namespace HeuristicLab.Encodings.BinaryVectorEncoding { … … 61 62 } 62 63 64 [StorableConstructor] 65 protected OneBitflipMoveTabuChecker(bool deserializing) : base(deserializing) { } 66 protected OneBitflipMoveTabuChecker(OneBitflipMoveTabuChecker original, Cloner cloner) : base(original, cloner) { } 63 67 public OneBitflipMoveTabuChecker() 64 68 : base() { … … 70 74 Parameters.Add(new ValueLookupParameter<BoolValue>("Maximization", "True if the problem is a maximization problem, else if it is a minimization problem.")); 71 75 Parameters.Add(new LookupParameter<DoubleValue>("MoveQuality", "The quality of the current move.")); 76 } 77 78 public override IDeepCloneable Clone(Cloner cloner) { 79 return new OneBitflipMoveTabuChecker(this, cloner); 72 80 } 73 81 -
branches/CloningRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/OneBitflipMoveTabuMaker.cs
r4068 r4663 24 24 using HeuristicLab.Parameters; 25 25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 26 using HeuristicLab.Common; 26 27 27 28 namespace HeuristicLab.Encodings.BinaryVectorEncoding { … … 36 37 } 37 38 39 [StorableConstructor] 40 protected OneBitflipMoveTabuMaker(bool deserializing) : base(deserializing) { } 41 protected OneBitflipMoveTabuMaker(OneBitflipMoveTabuMaker original, Cloner cloner) : base(original, cloner) { } 38 42 public OneBitflipMoveTabuMaker() 39 43 : base() { 40 44 Parameters.Add(new LookupParameter<BinaryVector>("BinaryVector", "The solution as BinaryVector.")); 41 45 Parameters.Add(new LookupParameter<OneBitflipMove>("OneBitflipMove", "The move that was made.")); 46 } 47 48 public override IDeepCloneable Clone(Cloner cloner) { 49 return new OneBitflipMoveTabuMaker(this, cloner); 42 50 } 43 51 -
branches/CloningRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/StochasticOneBitflipMultiMoveGenerator.cs
r4068 r4663 25 25 using HeuristicLab.Parameters; 26 26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 using HeuristicLab.Common; 27 28 28 29 namespace HeuristicLab.Encodings.BinaryVectorEncoding { … … 42 43 } 43 44 45 [StorableConstructor] 46 protected StochasticOneBitflipMultiMoveGenerator(bool deserializing) : base(deserializing) { } 47 protected StochasticOneBitflipMultiMoveGenerator(StochasticOneBitflipMultiMoveGenerator original, Cloner cloner) : base(original, cloner) { } 44 48 public StochasticOneBitflipMultiMoveGenerator() 45 49 : base() { 46 50 Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator.")); 47 51 Parameters.Add(new ValueLookupParameter<IntValue>("SampleSize", "The number of moves to generate.")); 52 } 53 54 public override IDeepCloneable Clone(Cloner cloner) { 55 return new StochasticOneBitflipMultiMoveGenerator(this, cloner); 48 56 } 49 57 -
branches/CloningRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneBitflipMove/StochasticOneBitflipSingleMoveGenerator.cs
r4068 r4663 24 24 using HeuristicLab.Parameters; 25 25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 26 using HeuristicLab.Common; 26 27 27 28 namespace HeuristicLab.Encodings.BinaryVectorEncoding { … … 33 34 } 34 35 36 [StorableConstructor] 37 protected StochasticOneBitflipSingleMoveGenerator(bool deserializing) : base(deserializing) { } 38 protected StochasticOneBitflipSingleMoveGenerator(StochasticOneBitflipSingleMoveGenerator original, Cloner cloner) : base(original, cloner) { } 35 39 public StochasticOneBitflipSingleMoveGenerator() 36 40 : base() { 37 41 Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator.")); 42 } 43 44 public override IDeepCloneable Clone(Cloner cloner) { 45 return new StochasticOneBitflipSingleMoveGenerator(this, cloner); 38 46 } 39 47 -
branches/CloningRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Moves/OneIndexMove.cs
r3376 r4663 33 33 public BinaryVector BinaryVector { get; protected set; } 34 34 35 public OneIndexMove() 36 : base() { 37 Index = -1; 38 BinaryVector = null; 35 [StorableConstructor] 36 protected OneIndexMove(bool deserializing) : base(deserializing) { } 37 protected OneIndexMove(OneIndexMove original, Cloner cloner) 38 : base(original, cloner) { 39 this.Index = original.Index; 40 if (original.BinaryVector != null) 41 this.BinaryVector = cloner.Clone(original.BinaryVector); 39 42 } 40 43 public OneIndexMove() : this(-1, null) { } 41 44 public OneIndexMove(int index, BinaryVector binaryVector) 42 45 : base() { … … 46 49 47 50 public override IDeepCloneable Clone(Cloner cloner) { 48 OneIndexMove clone = (OneIndexMove)base.Clone(cloner); 49 clone.Index = Index; 50 if (BinaryVector != null) 51 clone.BinaryVector = (BinaryVector)BinaryVector.Clone(cloner); 52 return clone; 51 return new OneIndexMove(this, cloner); 53 52 } 54 53 }
Note: See TracChangeset
for help on using the changeset viewer.