class_docstr: Hansen objective function.
  
  This class defines the Hansen [1]_ global optimization problem. This is a
  multimodal minimization problem defined as follows:
  
  .. math::
  
      f_{\text{Hansen}}(x) = \left[ \sum_{i=0}^4(i+1)\cos(ix_1+i+1)\right ]
      \left[\sum_{j=0}^4(j+1)\cos[(j+2)x_2+j+1])\right ]
  
  
  with :math:`x_i \in [-10, 10]` for :math:`i = 1, 2`.
  
  *Global optimum*: :math:`f(x) = -176.54179` for
  :math:`x = [-7.58989583, -7.70831466]`.
  
  .. [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 #61 is missing the starting value of i.
class_docstr_tok: ["Hansen","objective","function",".","This","class","defines","the","Hansen","[","1","]","_","global","optimization","problem",".","This","is","a","multimodal","minimization","problem","defined","as","follows",":","..","math",":",":","f_","{","\\text","{","Hansen","}","}","(","x",")","=","\\left","[","\\sum_","{","i=0","}","^4","(","i+1",")","\\cos","(","ix_1+i+1",")","\\right","]","\\left","[","\\sum_","{","j=0","}","^4","(","j+1",")","\\cos","[","(","j+2",")","x_2+j+1","]",")","\\right","]","with",":","math",":","`","x_i","\\in","[","-10",",","10","]","`","for",":","math",":","`","i","=","1",",","2","`",".","*","Global","optimum","*",":",":","math",":","`","f","(","x",")","=","-176.54179","`","for",":","math",":","`","x","=","[","-7.58989583",",","-7.70831466","]","`",".","..","[","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","#","61","is","missing","the","starting","value","of","i","."]
code: def fun(self, x, *args):
      self.nfev += 1
  
      i = arange(5.0)
      a = (i + 1) * cos(i * x[0] + i + 1)
      b = (i + 1) * cos((i + 2) * x[1] + i + 1)
  
      return sum(a) * sum(b)
  
imports: import numpy
  from numpy import abs, arctan2, asarray, cos, exp, arange, pi, sin, sqrt, sum
  from .go_benchmark import Benchmark
label_desc: Use image node_id 2 for calling the Hansen obj's underlying member method code with example usage: obj.fun(x) and returns: unknown