class_docstr: Thurber [1]_ objective function.
  
  .. [1] https://www.itl.nist.gov/div898/strd/nls/data/thurber.shtml
code: def __init__(self, dimensions=7):
      Benchmark.__init__(self, dimensions)
  
      self._bounds = list(
          zip(
              [500.0, 500.0, 100.0, 10.0, 0.1, 0.1, 0.0],
              [2000.0, 2000.0, 1000.0, 150.0, 2.0, 1.0, 0.2],
          )
      )
      self.global_optimum = [
          [
              1.288139680e3,
              1.4910792535e3,
              5.8323836877e2,
              75.416644291,
              0.96629502864,
              0.39797285797,
              4.9727297349e-2,
          ]
      ]
      self.fglob = 5642.7082397
      self.a = asarray(
          [
              80.574,
              84.248,
              87.264,
              87.195,
              89.076,
              89.608,
              89.868,
              90.101,
              92.405,
              95.854,
              100.696,
              101.06,
              401.672,
              390.724,
              567.534,
              635.316,
              733.054,
              759.087,
              894.206,
              990.785,
              1090.109,
              1080.914,
              1122.643,
              1178.351,
              1260.531,
              1273.514,
              1288.339,
              1327.543,
              1353.863,
              1414.509,
              1425.208,
              1421.384,
              1442.962,
              1464.350,
              1468.705,
              1447.894,
              1457.628,
          ]
      )
      self.b = asarray(
          [
              -3.067,
              -2.981,
              -2.921,
              -2.912,
              -2.840,
              -2.797,
              -2.702,
              -2.699,
              -2.633,
              -2.481,
              -2.363,
              -2.322,
              -1.501,
              -1.460,
              -1.274,
              -1.212,
              -1.100,
              -1.046,
              -0.915,
              -0.714,
              -0.566,
              -0.545,
              -0.400,
              -0.309,
              -0.109,
              -0.103,
              0.010,
              0.119,
              0.377,
              0.790,
              0.963,
              1.006,
              1.115,
              1.572,
              1.841,
              2.047,
              2.200,
          ]
      )
  
imports: from numpy import abs, asarray, cos, exp, arange, pi, sin, sum, atleast_2d
  from .go_benchmark import Benchmark
label_desc: Use image node_id 1 to create a new Thurber object from inherited base classes: Benchmark with example: obj = Thurber(dimensions)