class_docstr: Watson objective function.
  
  This class defines the Watson [1]_ global optimization problem. This is a
  unimodal minimization problem defined as follows:
  
  .. math::
  
      f_{\text{Watson}}(x) = \sum_{i=0}^{29} \left\{
                             \sum_{j=0}^4 ((j + 1)a_i^j x_{j+1})
                             - \left[ \sum_{j=0}^5 a_i^j
                             x_{j+1} \right ]^2 - 1 \right\}^2
                             + x_1^2
  
  
  Where, in this exercise, :math:`a_i = i/29`.
  
  with :math:`x_i \in [-5, 5]` for :math:`i = 1, ..., 6`.
  
  *Global optimum*: :math:`f(x) = 0.002288` for
  :math:`x = [-0.0158, 1.012, -0.2329, 1.260, -1.513, 0.9928]`
  
  .. [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 #161 writes equation using (j - 1).  According to code in Adorio
  and Gavana it should be (j+1). However the equations in those papers
  contain (j - 1) as well.  However, I've got the right global minimum!!!
code: def __init__(self, dimensions=6):
      Benchmark.__init__(self, dimensions)
  
      self._bounds = list(zip([-5.0] * self.N, [5.0] * self.N))
  
      self.global_optimum = [
          [-0.0158, 1.012, -0.2329, 1.260, -1.513, 0.9928]
      ]
      self.fglob = 0.002288
  
imports: from numpy import atleast_2d, arange, sum, cos, exp, pi
  from .go_benchmark import Benchmark
label_desc: Use image node_id 1 to create a new Watson object from inherited base classes: Benchmark with example: obj = Watson(dimensions)