Changeset 11756
- Timestamp:
- 01/14/15 16:33:35 (10 years ago)
- Location:
- trunk/sources
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/ShakingOperators/IntegerVectorShakingOperator.cs
r11171 r11756 25 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Core; 27 using HeuristicLab.Data; 27 28 using HeuristicLab.Optimization; 28 29 using HeuristicLab.Optimization.Operators; … … 37 38 [Item("IntegerVectorShakingOperator", "A shaking operator for VNS which uses available manipulation operators to perform the shaking.")] 38 39 [StorableClass] 39 public class IntegerVectorShakingOperator : ShakingOperator<IIntegerVectorManipulator>, IIntegerVectorMultiNeighborhoodShakingOperator, IStochasticOperator {40 public class IntegerVectorShakingOperator : ShakingOperator<IIntegerVectorManipulator>, IIntegerVectorMultiNeighborhoodShakingOperator, IStochasticOperator, IBoundedIntegerVectorOperator { 40 41 41 42 public ILookupParameter<IntegerVector> IntegerVectorParameter { … … 45 46 public ILookupParameter<IRandom> RandomParameter { 46 47 get { return (LookupParameter<IRandom>)Parameters["Random"]; } 48 } 49 50 public IValueLookupParameter<IntMatrix> BoundsParameter { 51 get { return (IValueLookupParameter<IntMatrix>)Parameters["Bounds"]; } 47 52 } 48 53 … … 57 62 Parameters.Add(new LookupParameter<IntegerVector>("IntegerVector", "The integer vector to shake.")); 58 63 Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator that will be used for stochastic shaking operators.")); 64 Parameters.Add(new ValueLookupParameter<IntMatrix>("Bounds", "A 2 column matrix specifying the lower and upper bound for each dimension. If there are less rows than dimension the bounds vector is cycled.")); 65 59 66 foreach (IIntegerVectorManipulator shaker in ApplicationManager.Manager.GetInstances<IIntegerVectorManipulator>().OrderBy(x => x.Name)) 60 67 if (!(shaker is ISelfAdaptiveManipulator)) Operators.Add(shaker); 68 } 69 70 [StorableHook(HookType.AfterDeserialization)] 71 private void AfterDeserialization() { 72 #region Backwards compatible code, remove with 3.4 73 if (!Parameters.ContainsKey("Bounds")) 74 Parameters.Add(new ValueLookupParameter<IntMatrix>("Bounds", "A 2 column matrix specifying the lower and upper bound for each dimension. If there are less rows than dimension the bounds vector is cycled.")); 75 #endregion 61 76 } 62 77 -
trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/ShakingOperators/RealVectorShakingOperator.cs
r11171 r11756 25 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Core; 27 using HeuristicLab.Data; 27 28 using HeuristicLab.Optimization; 28 29 using HeuristicLab.Optimization.Operators; … … 47 48 } 48 49 50 public IValueLookupParameter<DoubleMatrix> BoundsParameter { 51 get { return (IValueLookupParameter<DoubleMatrix>)Parameters["Bounds"]; } 52 } 53 54 49 55 [StorableConstructor] 50 56 protected RealVectorShakingOperator(bool deserializing) : base(deserializing) { } … … 57 63 Parameters.Add(new LookupParameter<RealVector>("RealVector", "The real vector to shake.")); 58 64 Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator that will be used for stochastic shaking operators.")); 65 Parameters.Add(new ValueLookupParameter<DoubleMatrix>("Bounds", "A 2 column matrix specifying the lower and upper bound for each dimension. If there are less rows than dimension the bounds vector is cycled.")); 59 66 foreach (IRealVectorManipulator shaker in ApplicationManager.Manager.GetInstances<IRealVectorManipulator>().OrderBy(x => x.Name)) 60 67 if (!(shaker is MultiRealVectorManipulator) 61 68 && !(shaker is ISelfAdaptiveManipulator)) Operators.Add(shaker); 69 } 70 71 [StorableHook(HookType.AfterDeserialization)] 72 private void AfterDeserialization() { 73 #region Backwards compatible code, remove with 3.4 74 if (!Parameters.ContainsKey("Bounds")) 75 Parameters.Add(new ValueLookupParameter<DoubleMatrix>("Bounds", "A 2 column matrix specifying the lower and upper bound for each dimension. If there are less rows than dimension the bounds vector is cycled.")); 76 #endregion 62 77 } 63 78
Note: See TracChangeset
for help on using the changeset viewer.