class_docstr: Object for conducting search experiments.
      
code: def serial_evaluate(self, N=-1):
      for trial in self.trials._dynamic_trials:
          if trial["state"] == base.JOB_STATE_NEW:
              trial["state"] = base.JOB_STATE_RUNNING
              now = coarse_utcnow()
              trial["book_time"] = now
              trial["refresh_time"] = now
              spec = base.spec_from_misc(trial["misc"])
              ctrl = base.Ctrl(self.trials, current_trial=trial)
              try:
                  result = self.domain.evaluate(spec, ctrl)
              except Exception as e:
                  logger.info("job exception: %s" % str(e))
                  trial["state"] = base.JOB_STATE_ERROR
                  trial["misc"]["error"] = (str(type(e)), str(e))
                  trial["refresh_time"] = coarse_utcnow()
                  if not self.catch_eval_exceptions:
                      # -- JOB_STATE_ERROR means this trial
                      #    will be removed from self.trials.trials
                      #    by this refresh call.
                      self.trials.refresh()
                      raise
              else:
                  trial["state"] = base.JOB_STATE_DONE
                  trial["result"] = result
                  trial["refresh_time"] = coarse_utcnow()
              N -= 1
              if N == 0:
                  break
      self.trials.refresh()
  
imports: from __future__ import print_function
  from __future__ import absolute_import
  from future import standard_library
  from builtins import str
  from builtins import object
  import functools
  import logging
  import os
  import sys
  import time
  import numpy
  from .None import pyll
  from .utils import coarse_utcnow
  from .None import base
label_desc: Use image node_id 2 for calling the FMinIter obj's underlying member method code with example usage: obj.serial_evaluate(N) without return types