class_docstr: PermFunction 2 objective function.
  
  This class defines the Perm Function 2 [1]_ global optimization problem. This is
  a multimodal minimization problem defined as follows:
  
  .. math::
  
      f_{\text{PermFunction02}}(x) = \sum_{k=1}^n \left\{ \sum_{j=1}^n (j
      + \beta) \left[ \left(x_j^k - {\frac{1}{j}}^{k} \right )
      \right] \right\}^2
  
  
  Here, :math:`n` represents the number of dimensions and
  :math:`x_i \in [-n, n+1]` for :math:`i = 1, ..., n`.
  
  *Global optimum*: :math:`f(x) = 0` for :math:`x_i = \frac{1}{i}`
  for :math:`i = 1, ..., n`
  
  .. [1] Mishra, S. Global Optimization by Differential Evolution and
  Particle Swarm Methods: Evaluation on Some Benchmark Functions.
  Munich Personal RePEc Archive, 2006, 1005
  
  TODO: line 582
class_docstr_tok: ["PermFunction","2","objective","function",".","This","class","defines","the","Perm","Function","2","[","1","]","_","global","optimization","problem",".","This","is","a","multimodal","minimization","problem","defined","as","follows",":","..","math",":",":","f_","{","\\text","{","PermFunction02","}","}","(","x",")","=","\\sum_","{","k=1","}","^n","\\left\\","{","\\sum_","{","j=1","}","^n","(","j","+","\\beta",")","\\left","[","\\left","(","x_j^k","-","{","\\frac","{","1","}","{","j","}","}","^","{","k","}","\\right",")","\\right","]","\\right\\","}","^2","Here",",",":","math",":","`","n","`","represents","the","number","of","dimensions","and",":","math",":","`","x_i","\\in","[","-n",",","n+1","]","`","for",":","math",":","`","i","=","1",",","...",",","n","`",".","*","Global","optimum","*",":",":","math",":","`","f","(","x",")","=","0","`","for",":","math",":","`","x_i","=","\\frac","{","1","}","{","i","}","`","for",":","math",":","`","i","=","1",",","...",",","n","`","..","[","1","]","Mishra",",","S.","Global","Optimization","by","Differential","Evolution","and","Particle","Swarm","Methods",":","Evaluation","on","Some","Benchmark","Functions",".","Munich","Personal","RePEc","Archive",",","2006",",","1005","TODO",":","line","582"]
code: def fun(self, x, *args):
      self.nfev += 1
  
      b = 10
      k = atleast_2d(arange(self.N) + 1).T
      j = atleast_2d(arange(self.N) + 1)
      s = (j + b) * (x**k - (1.0 / j) ** k)
      return sum(sum(s, axis=1) ** 2)
  
imports: from numpy import abs, sum, sin, cos, sqrt, log, prod, where, pi, exp, arange, floor, log10, atleast_2d, zeros
  from .go_benchmark import Benchmark
label_desc: Use image node_id 2 for calling the PermFunction02 obj's underlying member method code with example usage: obj.fun(x) and returns: sum