Changeset 17730
 Timestamp:
 08/27/20 12:06:16 (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
r17729 r17730 43 43 } 44 44 45 46 protected override double Modify(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 47 return Apply(value, startValue, endValue, index, startIndex, endIndex); 48 } 49 45 50 /// <summary> 46 51 /// Calculates a new value based on exponential decay or growth. … … 54 59 /// <param name="endIndex">The end index.</param> 55 60 /// <returns>The new value.</returns> 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) { 61 public static double Apply(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 61 62 if (endValue <= 0  startValue <= 0) throw new ArgumentException("startValue and endValue must be greater than 0."); 62 63 double b = Math.Pow(endValue / startValue, 1.0 / (endIndex  startIndex)); 
trunk/HeuristicLab.Optimization.Operators/3.3/GeneralizedExponentialDiscreteDoubleValueModifier.cs
r17729 r17730 58 58 } 59 59 60 protected override double Modify(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 61 return Apply(value, startValue, endValue, index, startIndex, endIndex, Base); 62 } 63 60 64 /// <summary> 61 65 /// Calculates a new value based on exponential decay or growth. … … 69 73 /// <param name="endIndex">The final index.</param> 70 74 /// <returns>The new value.</returns> 71 protected override double Modify(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 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) { 75 public static double Apply(double value, double startValue, double endValue, int index, int startIndex, int endIndex, double @base) { 76 76 if (@base <= 0) 77 77 throw new ArgumentException("Base must be > 0."); 
trunk/HeuristicLab.Optimization.Operators/3.3/LinearDiscreteDoubleValueModifier.cs
r17729 r17730 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);43 return Apply(value, startValue, endValue, index, startIndex, endIndex); 44 44 } 45 45 46 public static double Calculate(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 46 /// <summary> 47 /// Calculates a new value based on linear decay or growth. 48 /// </summary> 49 /// <param name="value">The previous value.</param> 50 /// <param name="startValue">The initial value.</param> 51 /// <param name="endValue">The final value.</param> 52 /// <param name="index">The current index.</param> 53 /// <param name="startIndex">The initial index.</param> 54 /// <param name="endIndex">The final index.</param> 55 /// <returns>The new value.</returns> 56 public static double Apply(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 47 57 double k = (endValue  startValue) / (endIndex  startIndex); 48 58 double x = index  startIndex; 
trunk/HeuristicLab.Optimization.Operators/3.3/QuadraticDiscreteDoubleValueModifier.cs
r17729 r17730 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);43 return Apply(value, startValue, endValue, index, startIndex, endIndex); 44 44 } 45 45 46 public static double Calculate(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 46 /// <summary> 47 /// Calculates a new value based on quadratic decay or growth. 48 /// </summary> 49 /// <param name="value">The previous value.</param> 50 /// <param name="startValue">The initial value.</param> 51 /// <param name="endValue">The final value.</param> 52 /// <param name="index">The current index.</param> 53 /// <param name="startIndex">The initial index.</param> 54 /// <param name="endIndex">The final index.</param> 55 /// <returns>The new value.</returns> 56 public static double Apply(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 47 57 double a = (endValue  startValue) / ((endIndex  startIndex) * (endIndex  startIndex)); 48 58 return a * (index  startIndex) * (index  startIndex) + startValue; 
trunk/HeuristicLab.Optimization.Operators/3.3/SquareRootDiscreteDoubleValueModifier.cs
r17729 r17730 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);44 return Apply(value, startValue, endValue, index, startIndex, endIndex); 45 45 } 46 46 47 public static double Calculate(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 47 /// <summary> 48 /// Calculates a new value based on sqrt decay or growth. 49 /// </summary> 50 /// <param name="value">The previous value.</param> 51 /// <param name="startValue">The initial value.</param> 52 /// <param name="endValue">The final value.</param> 53 /// <param name="index">The current index.</param> 54 /// <param name="startIndex">The initial index.</param> 55 /// <param name="endIndex">The final index.</param> 56 /// <returns>The new value.</returns> 57 public static double Apply(double value, double startValue, double endValue, int index, int startIndex, int endIndex) { 48 58 double a = (endValue  startValue) / Math.Sqrt(endIndex  startIndex); 49 59 return a * Math.Sqrt(index  startIndex) + startValue;
Note: See TracChangeset
for help on using the changeset viewer.