code: def __init__(self, func, maxfun=1e7, *args):
      self.func = func
      self.args = args
      # Number of objective function evaluations
      self.nfev = 0
      # Number of gradient function evaluation if used
      self.ngev = 0
      # Number of hessian of the objective function if used
      self.nhev = 0
      self.maxfun = maxfun
  
imports: import numpy
  from scipy.optimize import OptimizeResult
  from scipy.optimize import minimize, Bounds
  from scipy.special import gammaln
  from scipy._lib._util import check_random_state
  from scipy.optimize._constraints import new_bounds_to_old
label_desc: Use image node_id 1 to create a new ObjectiveFunWrapper object  with example: obj = ObjectiveFunWrapper(func, maxfun)