- Timestamp:
- 03/18/08 00:40:57 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.RealVector/RandomConvexCrossover.cs
r70 r73 11 11 } 12 12 13 public static double[] Apply(IScope scope, IRandom random, double[] parent1, double[] parent2) { 14 double factor; 13 public static double[] Apply(IRandom random, double[] parent1, double[] parent2) { 15 14 int length = parent1.Length; 16 15 double[] result = new double[length]; 17 double min = scope.GetVariableValue<DoubleData>("Minimum", true).Data; 18 double max = scope.GetVariableValue<DoubleData>("Maximum", true).Data; 16 double factor = random.NextDouble(); 19 17 20 factor = random.NextDouble(); 21 22 for (int i = 0; i < length; i++) { 18 for (int i = 0; i < length; i++) 23 19 result[i] = (factor * parent1[i]) + ((1 - factor) * parent2[i]); 24 25 // check borders26 if (result[i] < min) { result[i] = min; }27 if (result[i] > max) { result[i] = max; }28 }29 30 20 return result; 31 21 } 32 22 33 23 protected override double[] Cross(IScope scope, IRandom random, double[] parent1, double[] parent2) { 34 return Apply( scope,random, parent1, parent2);24 return Apply(random, parent1, parent2); 35 25 } 36 26 }
Note: See TracChangeset
for help on using the changeset viewer.