class_docstr: Gulf objective function.
  
  This class defines the Gulf [1]_ global optimization problem. This is a
  multimodal minimization problem defined as follows:
  
  .. math::
  
      f_{\text{Gulf}}(x) = \sum_{i=1}^99 \left( e^{-\frac{\lvert y_i
      - x_2 \rvert^{x_3}}{x_1}}  - t_i \right)
  
  
  Where, in this exercise:
  
  .. math::
  
     t_i = i/100 \\
     y_i = 25 + [-50 \log(t_i)]^{2/3}
  
  
  with :math:`x_i \in [0, 60]` for :math:`i = 1, 2, 3`.
  
  *Global optimum*: :math:`f(x) = 0` for :math:`x = [50, 25, 1.5]`
  
  .. [1] Gavana, A. Global Optimization Benchmarks and AMPGO retrieved 2015
  
  TODO Gavana has absolute of (u - x[1]) term. Jamil doesn't... Leaving it in.
code: def __init__(self, dimensions=3):
      Benchmark.__init__(self, dimensions)
  
      self._bounds = list(zip([0.0] * self.N, [50.0] * self.N))
  
      self.global_optimum = [[50.0, 25.0, 1.5]]
      self.fglob = 0.0
  
imports: import numpy
  from numpy import abs, sin, cos, exp, floor, log, arange, prod, sqrt, sum
  from .go_benchmark import Benchmark
label_desc: Use image node_id 1 to create a new Gulf object from inherited base classes: Benchmark with example: obj = Gulf(dimensions)