class_docstr: McCormick objective function.
  
  This class defines the McCormick [1]_ global optimization problem. This is a
  multimodal minimization problem defined as follows:
  
  .. math::
  
     f_{\text{McCormick}}(x) = - x_{1} + 2 x_{2} + \left(x_{1}
     - x_{2}\right)^{2} + \sin\left(x_{1} + x_{2}\right) + 1
  
  with :math:`x_1 \in [-1.5, 4]`, :math:`x_2 \in [-3, 4]`.
  
  *Global optimum*: :math:`f(x) = -1.913222954981037` for
  :math:`x = [-0.5471975602214493, -1.547197559268372]`
  
  .. [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.
class_docstr_tok: ["McCormick","objective","function",".","This","class","defines","the","McCormick","[","1","]","_","global","optimization","problem",".","This","is","a","multimodal","minimization","problem","defined","as","follows",":","..","math",":",":","f_","{","\\text","{","McCormick","}","}","(","x",")","=","-","x_","{","1","}","+","2","x_","{","2","}","+","\\left","(","x_","{","1","}","-","x_","{","2","}","\\right",")","^","{","2","}","+","\\sin\\left","(","x_","{","1","}","+","x_","{","2","}","\\right",")","+","1","with",":","math",":","`","x_1","\\in","[","-1.5",",","4","]","`",",",":","math",":","`","x_2","\\in","[","-3",",","4","]","`",".","*","Global","optimum","*",":",":","math",":","`","f","(","x",")","=","-1.913222954981037","`","for",":","math",":","`","x","=","[","-0.5471975602214493",",","-1.547197559268372","]","`","..","[","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","."]
code: def fun(self, x, *args):
      self.nfev += 1
  
      return (
          sin(x[0] + x[1])
          + (x[0] - x[1]) ** 2
          - 1.5 * x[0]
          + 2.5 * x[1]
          + 1
      )
  
imports: from numpy import abs, asarray, cos, exp, log, arange, pi, prod, sin, sqrt, sum, tan
  from .go_benchmark import Benchmark, safe_import
label_desc: Use image node_id 2 for calling the McCormick obj's underlying member method code with example usage: obj.fun(x) and returns: unknown