Changeset 17729
- Timestamp:
- 08/27/20 11:55:02 (4 years ago)
- Location:
- trunk/HeuristicLab.Optimization.Operators/3.3
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/HeuristicLab.Optimization.Operators/3.3/ExponentialDiscreteDoubleValueModifier.cs
r17180 r17729 55 55 /// <returns>The new value.</returns> 56 56 protected override double Modify(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 57 return Calculate(value, startValue, endValue, index, startIndex, endIndex); 58 } 59 60 public static double Calculate(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 57 61 if (endValue <= 0 || startValue <= 0) throw new ArgumentException("startValue and endValue must be greater than 0."); 58 62 double b = Math.Pow(endValue / startValue, 1.0 / (endIndex - startIndex)); -
trunk/HeuristicLab.Optimization.Operators/3.3/GeneralizedExponentialDiscreteDoubleValueModifier.cs
r17180 r17729 70 70 /// <returns>The new value.</returns> 71 71 protected override double Modify(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 72 if (Base <= 0) 72 return Calculate(value, startValue, endValue, index, startIndex, endIndex, Base); 73 } 74 75 public static double Calculate(double value, double startValue, double endValue, int index, int startIndex, int endIndex, double @base) { 76 if (@base <= 0) 73 77 throw new ArgumentException("Base must be > 0."); 74 if ( Base == 1.0)75 return startValue + (endValue - startValue) *(index - startIndex)/(endIndex - startIndex);76 return startValue + (endValue - startValue) *(Math.Pow(Base, 1.0*(index-startIndex)/(endIndex-startIndex)) - 1)/(Base - 1);78 if (@base == 1.0) 79 return startValue + (endValue - startValue) * (index - startIndex) / (endIndex - startIndex); 80 return startValue + (endValue - startValue) * (Math.Pow(@base, 1.0 * (index - startIndex) / (endIndex - startIndex)) - 1) / (@base - 1); 77 81 } 78 82 } -
trunk/HeuristicLab.Optimization.Operators/3.3/LinearDiscreteDoubleValueModifier.cs
r17180 r17729 41 41 42 42 protected override double Modify(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 43 return Calculate(value, startValue, endValue, index, startIndex, endIndex); 44 } 45 46 public static double Calculate(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 43 47 double k = (endValue - startValue) / (endIndex - startIndex); 44 48 double x = index - startIndex; -
trunk/HeuristicLab.Optimization.Operators/3.3/QuadraticDiscreteDoubleValueModifier.cs
r17180 r17729 41 41 42 42 protected override double Modify(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 43 return Calculate(value, startValue, endValue, index, startIndex, endIndex); 44 } 45 46 public static double Calculate(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 43 47 double a = (endValue - startValue) / ((endIndex - startIndex) * (endIndex - startIndex)); 44 48 return a * (index - startIndex) * (index - startIndex) + startValue; -
trunk/HeuristicLab.Optimization.Operators/3.3/SquareRootDiscreteDoubleValueModifier.cs
r17180 r17729 42 42 43 43 protected override double Modify(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 44 return Calculate(value, startValue, endValue, index, startIndex, endIndex); 45 } 46 47 public static double Calculate(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 44 48 double a = (endValue - startValue) / Math.Sqrt(endIndex - startIndex); 45 49 return a * Math.Sqrt(index - startIndex) + startValue;
Note: See TracChangeset
for help on using the changeset viewer.