Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/13/10 09:47:06 (14 years ago)
Author:
abeham
Message:

Updated test functions, added reference for Zakharov
Did not find a reference for SumSquares, just described it
Added wiring for rastrigin and sphere
#934

File:
1 edited

Legend:

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

    r3170 r3318  
    2828namespace HeuristicLab.Problems.TestFunctions {
    2929  /// <summary>
    30   /// Zakharov Function<br/>
    31   /// Domain:  [-5.0 , 10.0]^n<br/>
    32   /// Optimum: 0.0 at (0.0, 0.0, ..., 0.0)
     30  /// The Zakharov function is implemented as described in Hedar, A. & Fukushima, M. 2004. Heuristic pattern search and its hybridization with simulated annealing for nonlinear global optimization. Optimization Methods and Software 19, pp. 291-308, Taylor & Francis.
    3331  /// </summary>
    34   [Item("ZakharovEvaluator", "Evaluates the Zakharov function on a given point. The optimum of this function is 0 at the origin.")]
     32  [Item("ZakharovEvaluator", "Evaluates the Zakharov function on a given point. The optimum of this function is 0 at the origin. It is implemented as described in Hedar, A. & Fukushima, M. 2004. Heuristic pattern search and its hybridization with simulated annealing for nonlinear global optimization. Optimization Methods and Software 19, pp. 291-308, Taylor & Francis.")]
    3533  [StorableClass]
    3634  public class ZakharovEvaluator : SingleObjectiveTestFunctionProblemEvaluator {
    3735    /// <summary>
    38     /// Returns false as the Ackley function is a minimization problem.
     36    /// Returns false as the Zakharov function is a minimization problem.
    3937    /// </summary>
    4038    public override bool Maximization {
     
    7775
    7876      for (int i = 0; i < length; i++) {
    79         s1 = s1 + point[i] * point[i];
    80         s2 = s2 + 0.5 * i * point[i];
     77        s1 += point[i] * point[i];
     78        s2 += 0.5 * i * point[i];
    8179      }
    82       return s1 + s2 * s2 + s2 * s2 * s2 * s2;
     80      return s1 + (s2 * s2) + (s2 * s2 * s2 * s2);
    8381    }
    8482
Note: See TracChangeset for help on using the changeset viewer.