class_docstr: Easom objective function.
  
  This class defines the Easom [1]_ global optimization problem. This is a
  a multimodal minimization problem defined as follows:
  
  .. math::
  
      f_{\text{Easom}}({x}) = a - \frac{a}{e^{b \sqrt{\frac{\sum_{i=1}^{n}
      x_i^{2}}{n}}}} + e - e^{\frac{\sum_{i=1}^{n} \cos\left(c x_i\right)}
      {n}}
  
  
  Where, in this exercise, :math:`a = 20, b = 0.2` and :math:`c = 2 \pi`.
  
  Here, :math:`x_i \in [-100, 100]` for :math:`i = 1, 2`.
  
  *Global optimum*: :math:`f(x) = 0` for :math:`x = [0, 0]`
  
  .. [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 Gavana website disagrees with Jamil, etc.
  Gavana equation in docstring is totally wrong.
code: def __init__(self, dimensions=2):
      Benchmark.__init__(self, dimensions)
  
      self._bounds = list(zip([-100.0] * self.N, [100.0] * self.N))
  
      self.global_optimum = [[pi for _ in range(self.N)]]
      self.fglob = -1.0
  
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 Easom object from inherited base classes: Benchmark with example: obj = Easom(dimensions)