class_docstr: Colville objective function.
  
  This class defines the Colville global optimization problem. This
  is a multimodal minimization problem defined as follows:
  
  .. math::
  
      f_{\text{Colville}}(x) = \left(x_{1} -1\right)^{2}
      + 100 \left(x_{1}^{2} - x_{2}\right)^{2}
      + 10.1 \left(x_{2} -1\right)^{2} + \left(x_{3} -1\right)^{2}
      + 90 \left(x_{3}^{2} - x_{4}\right)^{2}
      + 10.1 \left(x_{4} -1\right)^{2} + 19.8 \frac{x_{4} -1}{x_{2}}
  
  
  with :math:`x_i \in [-10, 10]` for :math:`i = 1, ..., 4`.
  
  *Global optimum*: :math:`f(x) = 0` for :math:`x_i = 1` for
  :math:`i = 1, ..., 4`
  
  .. [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.
  
  TODO docstring equation is wrong use Jamil#36
code: def fun(self, x, *args):
      self.nfev += 1
      return (
          100 * (x[0] - x[1] ** 2) ** 2
          + (1 - x[0]) ** 2
          + (1 - x[2]) ** 2
          + 90 * (x[3] - x[2] ** 2) ** 2
          + 10.1 * ((x[1] - 1) ** 2 + (x[3] - 1) ** 2)
          + 19.8 * (x[1] - 1) * (x[3] - 1)
      )
  
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 Colville obj's underlying member method code with example usage: obj.fun(x) and returns: unknown