class_docstr: Cola objective function.
  
  This class defines the Cola global optimization problem. The 17-dimensional
  function computes indirectly the formula :math:`f(n, u)` by setting
  :math:`x_0 = y_0, x_1 = u_0, x_i = u_{2(i2)}, y_i = u_{2(i2)+1}` :
  
  .. math::
  
      f_{\text{Cola}}(x) = \sum_{i<j}^{n} \left (r_{i,j} - d_{i,j} \right )^2
  
  
  Where :math:`r_{i, j}` is given by:
  
  .. math::
  
      r_{i, j} = \sqrt{(x_i - x_j)^2 + (y_i - y_j)^2}
  
  And :math:`d` is a symmetric matrix given by:
  
  .. math::
  
      \{d} = \left [ d_{ij} \right ] = \begin{pmatrix}
      1.27 &  &  &  &  &  &  &  & \\
      1.69 & 1.43 &  &  &  &  &  &  & \\
      2.04 & 2.35 & 2.43 &  &  &  &  &  & \\
      3.09 & 3.18 & 3.26 & 2.85  &  &  &  &  & \\
      3.20 & 3.22 & 3.27 & 2.88 & 1.55 &  &  &  & \\
      2.86 & 2.56 & 2.58 & 2.59 & 3.12 & 3.06  &  &  & \\
      3.17 & 3.18 & 3.18 & 3.12 & 1.31 & 1.64 & 3.00  & \\
      3.21 & 3.18 & 3.18 & 3.17 & 1.70 & 1.36 & 2.95 & 1.32  & \\
      2.38 & 2.31 & 2.42 & 1.94 & 2.85 & 2.81 & 2.56 & 2.91 & 2.97
      \end{pmatrix}
  
  
  This function has bounds :math:`x_0 \in [0, 4]` and :math:`x_i \in [-4, 4]`
  for :math:`i = 1, ..., n-1`.
  *Global optimum* 11.7464.
  
  .. [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 __init__(self, dimensions=17):
      Benchmark.__init__(self, dimensions)
  
      self._bounds = [[0.0, 4.0]] + list(
          zip([-4.0] * (self.N - 1), [4.0] * (self.N - 1))
      )
  
      self.global_optimum = [
          [
              0.651906,
              1.30194,
              0.099242,
              -0.883791,
              -0.8796,
              0.204651,
              -3.28414,
              0.851188,
              -3.46245,
              2.53245,
              -0.895246,
              1.40992,
              -3.07367,
              1.96257,
              -2.97872,
              -0.807849,
              -1.68978,
          ]
      ]
      self.fglob = 11.7464
  
      self.d = asarray(
          [
              [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
              [1.27, 0, 0, 0, 0, 0, 0, 0, 0, 0],
              [1.69, 1.43, 0, 0, 0, 0, 0, 0, 0, 0],
              [2.04, 2.35, 2.43, 0, 0, 0, 0, 0, 0, 0],
              [3.09, 3.18, 3.26, 2.85, 0, 0, 0, 0, 0, 0],
              [3.20, 3.22, 3.27, 2.88, 1.55, 0, 0, 0, 0, 0],
              [2.86, 2.56, 2.58, 2.59, 3.12, 3.06, 0, 0, 0, 0],
              [3.17, 3.18, 3.18, 3.12, 1.31, 1.64, 3.00, 0, 0, 0],
              [3.21, 3.18, 3.18, 3.17, 1.70, 1.36, 2.95, 1.32, 0, 0],
              [
                  2.38,
                  2.31,
                  2.42,
                  1.94,
                  2.85,
                  2.81,
                  2.56,
                  2.91,
                  2.97,
                  0.0,
              ],
          ]
      )
  
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 1 to create a new Cola object from inherited base classes: Benchmark with example: obj = Cola(dimensions)