- Timestamp:
- 01/14/15 16:33:35 (10 years ago)
- File:
-
- 1 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
Note: See TracChangeset
for help on using the changeset viewer.