Changeset 16723 for branches/2521_ProblemRefactoring/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Manipulators/RoundedNormalAllPositionsManipulator.cs
- Timestamp:
- 03/28/19 16:54:20 (6 years ago)
- Location:
- branches/2521_ProblemRefactoring
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring
- Property svn:mergeinfo changed
-
branches/2521_ProblemRefactoring/HeuristicLab.Encodings.IntegerVectorEncoding
- Property svn:mergeinfo changed
-
branches/2521_ProblemRefactoring/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Manipulators/RoundedNormalAllPositionsManipulator.cs
r16692 r16723 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 8Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 25 25 using HeuristicLab.Data; 26 26 using HeuristicLab.Parameters; 27 using H euristicLab.Persistence.Default.CompositeSerializers.Storable;27 using HEAL.Attic; 28 28 using HeuristicLab.Random; 29 29 … … 34 34 /// </summary> 35 35 [Item("RoundedNormalAllPositionsManipulator", "This manipulation operator adds a value sigma_i * N_i(0,1) to the current value in each position i given the values for sigma_i in the parameter. The result is rounded to the next feasible value. If there are less elements in Sigma than positions, then Sigma is cycled.")] 36 [Storable Class]36 [StorableType("CDAE115B-1BAD-4CC2-B63E-E3C45955175D")] 37 37 public class RoundedNormalAllPositionsManipulator : BoundedIntegerVectorManipulator { 38 38 … … 42 42 43 43 [StorableConstructor] 44 protected RoundedNormalAllPositionsManipulator( bool deserializing) : base(deserializing) { }44 protected RoundedNormalAllPositionsManipulator(StorableConstructorFlag _) : base(_) { } 45 45 protected RoundedNormalAllPositionsManipulator(RoundedNormalAllPositionsManipulator original, Cloner cloner) : base(original, cloner) { } 46 46 /// <summary> … … 75 75 if (bounds.Columns > 2) step = bounds[i % bounds.Rows, 2]; 76 76 77 int value = (vector[i] + (int)Math.Round((N.NextDouble() * sigma[i % sigma.Length])) - min) / step;77 double value = vector[i] + N.NextDouble() * sigma[i % sigma.Length]; 78 78 max = FloorFeasible(min, max, step, max - 1); 79 79 vector[i] = RoundFeasible(min, max, step, value);
Note: See TracChangeset
for help on using the changeset viewer.