class_docstr: Damavandi objective function.
  
  This class defines the Damavandi [1]_ global optimization problem. This is a
  multimodal minimization problem defined as follows:
  
  .. math::
  
      f_{\text{Damavandi}}(x) = \left[ 1 - \lvert{\frac{
      \sin[\pi (x_1 - 2)]\sin[\pi (x2 - 2)]}{\pi^2 (x_1 - 2)(x_2 - 2)}}
      \rvert^5 \right] \left[2 + (x_1 - 7)^2 + 2(x_2 - 7)^2 \right]
  
  
  Here, :math:`n` represents the number of dimensions and :math:`x_i \in
  [0, 14]` for :math:`i = 1, ..., n`.
  
  *Global optimum*: :math:`f(x) = 0.0` for :math:`x_i = 2` 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 __init__(self, dimensions=2):
      Benchmark.__init__(self, 2)
  
      self._bounds = list(zip([0.0] * self.N, [14.0] * self.N))
  
      self.global_optimum = [[2 for _ in range(self.N)]]
      self.fglob = np.nan
  
imports: import numpy
  from numpy import abs, cos, exp, arange, pi, sin, sqrt, sum, zeros, tanh
  from numpy.testing import assert_almost_equal
  from .go_benchmark import Benchmark
label_desc: Use image node_id 1 to create a new Damavandi object from inherited base classes: Benchmark with example: obj = Damavandi(dimensions)