Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/12/10 23:39:40 (14 years ago)
Author:
abeham
Message:

Documented some of the test functions with literature references.
Renamed Griewangk function as it is actually called Griewank function.
Schwefel is hard to find, used self-citation as Potter and DeJong's description from 1994 seems wrong
Levy is almost impossible to find and defined only for 2 variables, the implementation looks fishy (there was also a bug)
Booth, and Matyas are also just from a single website
Still missing is Zakharov and SumSquares
#934

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/AckleyEvaluator.cs

    r3170 r3315  
    2828namespace HeuristicLab.Problems.TestFunctions {
    2929  /// <summary>
    30   /// Ackley Function<br/>
    31   /// Domain:  [-32.768 , 32.768]^n <br/>
    32   /// Optimum: 0.0 at (0, 0, ..., 0)
     30  /// The Ackley function as described in Eiben, A.E. and Smith, J.E. 2003. Introduction to Evolutionary Computation. Natural Computing Series, Springer-Verlag Berlin Heidelberg
     31  /// is highly multimodal. It has a single global minimum at the origin with value 0.
    3332  /// </summary
    34   [Item("AckleyEvaluator", "Evaluates the Ackley function on a given point. The optimum of this function is 0 at the origin.")]
     33  [Item("AckleyEvaluator", "Evaluates the Ackley function on a given point. The optimum of this function is 0 at the origin. It is implemented as described in Eiben, A.E. and Smith, J.E. 2003. Introduction to Evolutionary Computation. Natural Computing Series, Springer-Verlag Berlin Heidelberg.")]
    3534  [StorableClass]
    3635  public class AckleyEvaluator : SingleObjectiveTestFunctionProblemEvaluator {
     
    7877      for (int i = 0; i < point.Length; i++)
    7978        val += point[i] * point[i];
    80       val *= 1.0 / point.Length;
    81       val = Math.Sqrt(val);
    82       val *= -0.2;
     79      val /= point.Length;
     80      val = -0.2 * Math.Sqrt(val);
    8381      result -= 20 * Math.Exp(val);
    8482
     
    8684      for (int i = 0; i < point.Length; i++)
    8785        val += Math.Cos(2 * Math.PI * point[i]);
    88       val *= 1.0 / point.Length;
     86      val /= point.Length;
    8987      result -= Math.Exp(val);
    9088      return (result);
Note: See TracChangeset for help on using the changeset viewer.