Changeset 6038 for branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Operators/Manipulators
- Timestamp:
- 04/22/11 10:56:48 (14 years ago)
- Location:
- branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Operators/Manipulators
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Operators/Manipulators/DoubleValue/NormalDoubleValueManipulator.cs
r6017 r6038 1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Text;1 using HeuristicLab.Common; 2 using HeuristicLab.Core; 3 using HeuristicLab.Data; 4 using HeuristicLab.Encodings.RealVectorEncoding; 5 5 using HeuristicLab.Operators; 6 6 using HeuristicLab.Optimization; 7 using HeuristicLab.Parameters; 7 8 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 8 using HeuristicLab.Core;9 using HeuristicLab.Parameters;10 using HeuristicLab.Common;11 using HeuristicLab.Encodings.RealVectorEncoding;12 using HeuristicLab.Data;13 9 14 10 namespace HeuristicLab.Problems.MetaOptimization { … … 36 32 37 33 public static void ApplyStatic(IRandom random, DoubleValue value, DoubleValueRange range) { 38 bool ok = false;39 34 var strategy = new RealVector(new double[] { (range.UpperBound.Value - range.LowerBound.Value) / 10}); // todo: add strategy parameter 40 35 var vector = new RealVector(1); 41 36 double val = value.Value; 42 37 43 while (!ok){38 do { 44 39 vector[0] = val; 45 40 NormalAllPositionsManipulator.Apply(random, vector, strategy); 46 41 value.Value = vector[0]; 47 42 value.Value = range.ApplyStepSize(value.Value); 48 ok = range.IsInRange(value.Value); 49 } 43 } while(!range.IsInRange(value.Value)); 50 44 } 51 45 } -
branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Operators/Manipulators/DoubleValue/UniformDoubleValueManipulator.cs
r6017 r6038 1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Text;1 using HeuristicLab.Common; 2 using HeuristicLab.Core; 3 using HeuristicLab.Data; 4 using HeuristicLab.Encodings.RealVectorEncoding; 5 5 using HeuristicLab.Operators; 6 6 using HeuristicLab.Optimization; 7 using HeuristicLab.Parameters; 7 8 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 8 using HeuristicLab.Core;9 using HeuristicLab.Parameters;10 using HeuristicLab.Common;11 using HeuristicLab.Encodings.RealVectorEncoding;12 using HeuristicLab.Data;13 9 14 10 namespace HeuristicLab.Problems.MetaOptimization { … … 36 32 37 33 public static void ApplyStatic(IRandom random, DoubleValue value, DoubleValueRange range) { 38 bool ok = false;39 34 var vector = new RealVector(1); 40 35 var bounds = new DoubleMatrix(1, 2); … … 43 38 double val = value.Value; 44 39 45 while (!ok){40 do { 46 41 vector[0] = val; 47 42 UniformOnePositionManipulator.Apply(random, vector, bounds); 48 43 value.Value = vector[0]; 49 44 value.Value = range.ApplyStepSize(value.Value); 50 ok = range.IsInRange(value.Value); 51 } 45 } while (!range.IsInRange(value.Value)); 52 46 } 53 47 } -
branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Operators/Manipulators/IntValue/NormalIntValueManipulator.cs
r6017 r6038 1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Text;1 using HeuristicLab.Common; 2 using HeuristicLab.Core; 3 using HeuristicLab.Data; 4 using HeuristicLab.Encodings.RealVectorEncoding; 5 5 using HeuristicLab.Operators; 6 6 using HeuristicLab.Optimization; 7 using HeuristicLab.Parameters; 7 8 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 8 using HeuristicLab.Core;9 using HeuristicLab.Parameters;10 using HeuristicLab.Common;11 using HeuristicLab.Encodings.IntegerVectorEncoding;12 using HeuristicLab.Data;13 using HeuristicLab.Encodings.RealVectorEncoding;14 9 15 10 namespace HeuristicLab.Problems.MetaOptimization { … … 38 33 39 34 public static void ApplyStatic(IRandom random, IntValue value, IntValueRange range) { 40 bool ok = false;41 35 var strategy = new RealVector(new double[] { (range.UpperBound.Value - range.LowerBound.Value) / 10 }); // todo: add strategy parameter 42 36 var vector = new RealVector(new double[] { value.Value }); 43 37 int val = value.Value; 44 38 45 while (!ok){39 do { 46 40 vector[0] = val; 47 41 NormalAllPositionsManipulator.Apply(random, vector, strategy); 48 42 value.Value = (int)vector[0]; 49 43 value.Value = range.ApplyStepSize(value.Value); 50 ok = range.IsInRange(value.Value); 51 } 44 } while (!range.IsInRange(value.Value)); 52 45 } 53 46 } -
branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Operators/Manipulators/IntValue/UniformIntValueManipulator.cs
r6017 r6038 1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Text;1 using HeuristicLab.Common; 2 using HeuristicLab.Core; 3 using HeuristicLab.Data; 4 using HeuristicLab.Encodings.IntegerVectorEncoding; 5 5 using HeuristicLab.Operators; 6 6 using HeuristicLab.Optimization; 7 using HeuristicLab.Parameters; 7 8 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 8 using HeuristicLab.Core;9 using HeuristicLab.Parameters;10 using HeuristicLab.Common;11 using HeuristicLab.Encodings.IntegerVectorEncoding;12 using HeuristicLab.Data;13 9 14 10 namespace HeuristicLab.Problems.MetaOptimization { … … 37 33 38 34 public static void ApplyStatic(IRandom random, IntValue value, IntValueRange range) { 39 bool ok = false;40 35 var vector = new IntegerVector(new int[] { value.Value }); 41 36 int val = value.Value; 42 37 43 while (!ok){38 do { 44 39 vector[0] = val; 45 40 UniformOnePositionManipulator.Apply(random, vector, range.LowerBound, new IntValue(range.UpperBound.Value + 1)); 46 41 value.Value = vector[0]; 47 42 value.Value = range.ApplyStepSize(value.Value); 48 ok = range.IsInRange(value.Value); 49 } 43 } while (!range.IsInRange(value.Value)); 50 44 } 51 45 }
Note: See TracChangeset
for help on using the changeset viewer.