class_docstr: Egg Holder [1]_ objective function.
  
  This class defines the Egg Holder global optimization problem. This
  is a multimodal minimization problem defined as follows:
  
  .. math::
  
      f_{\text{EggHolder}}=\sum_{1}^{n - 1}\left[-\left(x_{i + 1}
      + 47 \right ) \sin\sqrt{\lvert x_{i+1} + x_i/2 + 47 \rvert}
      - x_i \sin\sqrt{\lvert x_i - (x_{i + 1} + 47)\rvert}\right ]
  
  
  Here, :math:`n` represents the number of dimensions and :math:`x_i \in
  [-512, 512]` for :math:`i = 1, ..., n`.
  
  *Global optimum*: :math:`f(x) = -959.640662711` for
  :math:`{x} = [512, 404.2319]`
  
  .. [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: Jamil is missing a minus sign on the fglob value
code: def __init__(self, dimensions=2):
      Benchmark.__init__(self, dimensions)
  
      self._bounds = list(zip([-512.1] * self.N, [512.0] * self.N))
  
      self.global_optimum = [[512.0, 404.2319]]
      self.fglob = -959.640662711
      self.change_dimensionality = True
  
imports: from numpy import abs, asarray, cos, exp, arange, pi, sin, sqrt, sum
  from .go_benchmark import Benchmark
label_desc: Use image node_id 1 to create a new EggHolder object from inherited base classes: Benchmark with example: obj = EggHolder(dimensions)