class_docstr: Chichinadze objective function.
  
  This class defines the Chichinadze [1]_ global optimization problem. This is a
  multimodal minimization problem defined as follows:
  
  .. math::
  
      f_{\text{Chichinadze}}(x) = x_{1}^{2} - 12 x_{1}
      + 8 \sin\left(\frac{5}{2} \pi x_{1}\right)
      + 10 \cos\left(\frac{1}{2} \pi x_{1}\right) + 11
      - 0.2 \frac{\sqrt{5}}{e^{\frac{1}{2} \left(x_{2} -0.5 \right)^{2}}}
  
  
  with :math:`x_i \in [-30, 30]` for :math:`i = 1, 2`.
  
  *Global optimum*: :math:`f(x) = -42.94438701899098` for :math:`x =
  [6.189866586965680, 0.5]`
  
  .. [1] Gavana, A. Global Optimization Benchmarks and AMPGO retrieved 2015
  
  TODO: Jamil#33 has a dividing factor of 2 in the sin term.  However, f(x)
  for the given solution does not give the global minimum. i.e. the equation
  is at odds with the solution.
  Only by removing the dividing factor of 2, i.e. `8 * sin(5 * pi * x[0])`
  does the given solution result in the given global minimum.
  Do we keep the result or equation?
code: def fun(self, x, *args):
      self.nfev += 1
  
      return (
          x[0] ** 2
          - 12 * x[0]
          + 11
          + 10 * cos(pi * x[0] / 2)
          + 8 * sin(5 * pi * x[0] / 2)
          - 1.0 / sqrt(5) * exp(-((x[1] - 0.5) ** 2) / 2)
      )
  
imports: import numpy
  from numpy import abs, asarray, cos, exp, floor, pi, sign, sin, sqrt, sum, size, tril, isnan, atleast_2d, repeat
  from numpy.testing import assert_almost_equal
  from .go_benchmark import Benchmark
label_desc: Use image node_id 2 for calling the Chichinadze obj's underlying member method code with example usage: obj.fun(x) and returns: unknown