class_docstr: a framework for benchmarking the optimizer
  
  Parameters
  ----------
  function_name : string
  fun : callable
  der : callable
      function that returns the derivative (jacobian, gradient) of fun
  hess : callable
      function that returns the hessian of fun
  minimizer_kwargs : kwargs
      additional keywords passed to the minimizer.  e.g. tol, maxiter
class_docstr_tok: ["a","framework","for","benchmarking","the","optimizer","Parameters","--","--","--","--","--","function_name",":","string","fun",":","callable","der",":","callable","function","that","returns","the","derivative","(","jacobian",",","gradient",")","of","fun","hess",":","callable","function","that","returns","the","hessian","of","fun","minimizer_kwargs",":","kwargs","additional","keywords","passed","to","the","minimizer",".","e.g",".","tol",",","maxiter"]
docstr: Do an optimization run for basinhopping
docstr_tok: ["Do","an","optimization","run","for","basinhopping"]
code: def run_basinhopping(self):
      """
      Do an optimization run for basinhopping
      """
      kwargs = self.minimizer_kwargs
      if hasattr(self.fun, "temperature"):
          kwargs["T"] = self.function.temperature
      if hasattr(self.fun, "stepsize"):
          kwargs["stepsize"] = self.function.stepsize
  
      minimizer_kwargs = {"method": "L-BFGS-B"}
  
      x0 = self.function.initial_vector()
  
      # basinhopping - no gradient
      minimizer_kwargs["jac"] = False
      self.function.nfev = 0
  
      t0 = time.time()
  
      res = basinhopping(
          self.fun,
          x0,
          accept_test=self.accept_test,
          minimizer_kwargs=minimizer_kwargs,
          **kwargs,
      )
  
      t1 = time.time()
      res.success = self.function.success(res.x)
      res.nfev = self.function.nfev
      self.add_result(res, t1 - t0, "basinh.")
  
imports: import os
  import time
  import inspect
  import json
  import traceback
  from collections import defaultdict
  import numpy
  from .None import test_functions
  from .None import go_benchmark_functions
  from .common import Benchmark, is_xslow, safe_import
  from .lsq_problems import extract_lsq_problems
label_desc: Use image node_id 9 for calling the _BenchOptimizers obj's underlying member method code with example usage: obj.run_basinhopping() without return types