class_docstr: Base class for evaluating methods for optimisation. 
class_docstr_tok: ["Base","class","for","evaluating","methods","for","optimisation","."]
docstr: Runs each method in self.methods once and stores the results to be saved. 
docstr_tok: ["Runs","each","method","in","self.methods","once","and","stores","the","results","to","be","saved","."]
code: def run_trial_iteration(self):
      """Runs each method in self.methods once and stores the results to be saved."""
      curr_iter_results = Namespace()
      for data_type in self.data_to_be_saved:
          setattr(
              curr_iter_results,
              data_type,
              self._get_new_iter_results_array(),
          )
      for data_type in self.data_to_be_saved_if_available:
          setattr(
              curr_iter_results,
              data_type,
              self._get_new_iter_results_array(),
          )
  
      # Fetch pre-evaluation points.
      self.worker_manager.reset()
      prev_eval_qinfos = self._get_prev_eval_qinfos()
      if prev_eval_qinfos is not None:
          prev_eval_vals = [qinfo.val for qinfo in prev_eval_qinfos]
          self.reporter.writeln(
              "Using %d pre-eval points with values. eval: %s (%0.4f)."
              % (
                  len(prev_eval_qinfos),
                  prev_eval_vals,
                  max(prev_eval_vals),
              )
          )
      else:
          self.reporter.writeln("Not using any pre-eval points.")
  
      # Will go through each method in this loop.
      for meth_iter in range(self.num_methods):
          curr_method = self.methods[meth_iter]
          curr_meth_options = self.method_options[curr_method]
          # Set prev_eval points and vals
          if prev_eval_qinfos is not None:
              curr_meth_options.prev_evaluations = Namespace(
                  qinfos=prev_eval_qinfos
              )
          else:
              curr_meth_options.prev_evaluations = None
          # Reset worker manager
          self.worker_manager.reset()
          self.reporter.writeln(
              "\nResetting worker manager: worker_manager.experiment_designer:%s"
              % (str(self.worker_manager.experiment_designer))
          )
  
          # Call the method here.
          self._print_method_header(curr_method)
          history = self._optimise_with_method_on_func_caller(
              curr_method,
              self.func_caller,
              self.worker_manager,
              self.max_capital,
              curr_meth_options,
              self.reporter,
          )
  
          # Now save results for current method
          for data_type in self.data_to_be_saved:
              data = getattr(history, data_type)
              data_pointer = getattr(curr_iter_results, data_type)
              data_pointer[meth_iter, 0] = data
          for data_type in self.data_to_be_saved_if_available:
              if hasattr(history, data_type):
                  data = getattr(history, data_type)
              else:
                  data = ["xx"] * len(history.query_points)
              data_pointer = getattr(curr_iter_results, data_type)
              data_pointer[meth_iter, 0] = data
          # Print out results
          comp_opt_val = history.curr_true_opt_vals[-1]
          num_evals = len(history.curr_true_opt_vals)
          self._print_method_result(
              curr_method, comp_opt_val, num_evals
          )
          # Save results of current iteration
          self.update_to_be_saved(curr_iter_results)
          self.save_pickle()
          self.save_results()
      # Save here
      self.update_to_be_saved(curr_iter_results)
      self.save_pickle()
  
imports: from argparse import Namespace
  from datetime import datetime
  import os
  import numpy
  from .blackbox_optimiser import OptInitialiser
  from ..utils.method_evaluator import BaseMethodEvaluator
label_desc: Use image node_id 12 for calling the OptMethodEvaluator obj's underlying member method code with example usage: obj.run_trial_iteration() without return types