class_docstr: Griewank objective function.
  
  This class defines the Griewank global optimization problem. This
  is a multimodal minimization problem defined as follows:
  
  .. math::
  
      f_{\text{Griewank}}(x) = \frac{1}{4000}\sum_{i=1}^n x_i^2
      - \prod_{i=1}^n\cos\left(\frac{x_i}{\sqrt{i}}\right) + 1
  
  
  Here, :math:`n` represents the number of dimensions and
  :math:`x_i \in [-600, 600]` for :math:`i = 1, ..., n`.
  
  *Global optimum*: :math:`f(x) = 0` for :math:`x_i = 0` for
  :math:`i = 1, ..., n`
  
  .. [1] Jamil, M. & Yang, X.-S. A Literature Survey of Benchmark Functions
  For Global Optimization Problems Int. Journal of Mathematical Modelling
  and Numerical Optimisation, 2013, 4, 150-194.
code: def fun(self, x, *args):
      self.nfev += 1
  
      i = arange(1.0, np.size(x) + 1.0)
      return sum(x**2 / 4000) - prod(cos(x / sqrt(i))) + 1
  
imports: import numpy
  from numpy import abs, sin, cos, exp, floor, log, arange, prod, sqrt, sum
  from .go_benchmark import Benchmark
label_desc: Use image node_id 2 for calling the Griewank obj's underlying member method code with example usage: obj.fun(x) and returns: unknown