class_docstr: AbstractSolver base class for mystic optimizers.
      
class_docstr_tok: ["AbstractSolver","base","class","for","mystic","optimizers","."]
docstr: select a callable to monitor (x, f(x)) after each cost function evaluation
  
  input::
      - a monitor instance or monitor type used to track (x, f(x)). Any data
        collected in an existing evaluation monitor will be prepended, unless
        new is True.
code: def SetEvaluationMonitor(self, monitor, new=False):
      """select a callable to monitor (x, f(x)) after each cost function evaluation
  
      input::
          - a monitor instance or monitor type used to track (x, f(x)). Any data
            collected in an existing evaluation monitor will be prepended, unless
            new is True."""
      from mystic.monitors import Null, Monitor  # , CustomMonitor
  
      if monitor is None:
          monitor = Null()
      current = Null() if new else self._evalmon
      if current is monitor:
          current = Null()
      if isinstance(monitor, (Null, Monitor)):  # is Monitor() or Null()
          self._evalmon = monitor
          self._evalmon.prepend(current)
      elif monitor == Null:  # is Null
          self._evalmon = monitor()
          self._evalmon.prepend(current)
      elif hasattr(monitor, "__module__"):  # is CustomMonitor()
          if monitor.__module__ in ["mystic._genSow"]:
              self._evalmon = monitor  # FIXME: need .prepend(current)
      else:
          raise TypeError("'%s' is not a monitor instance" % monitor)
      return
  
imports: import random
  import numpy
  from numpy import inf, shape, asarray, absolute, asfarray, seterr
  from mystic.tools import wrap_function, wrap_nested, wrap_reducer
  from mystic.tools import wrap_bounds, wrap_penalty, reduced
  from klepto import isvalid, validate
  from collections.abc import Callable
label_desc: Use image node_id 17 for calling the AbstractSolver obj's underlying member method code with example usage: obj.SetEvaluationMonitor(monitor, new) without return types