class_docstr: Base class for various iteration possibilities. This decides what configuration should be run on what budget
  next. Typical choices are e.g. successive halving. Results from runs are processed and (depending on the
  implementations) determine the further development.
docstr: function to add a new configuration to the current iteration
  
  Parameters
  ----------
  
  config : valid configuration
          The configuration to add. If None, a configuration is sampled from the config_sampler
  config_info: dict
          Some information about the configuration that will be stored in the results
docstr_tok: ["function","to","add","a","new","configuration","to","the","current","iteration","Parameters","--","--","--","--","--","config",":","valid","configuration","The","configuration","to","add",".","If","None",",","a","configuration","is","sampled","from","the","config_sampler","config_info",":","dict","Some","information","about","the","configuration","that","will","be","stored","in","the","results"]
code: def add_configuration(self, config=None, config_info={}):
      """
      function to add a new configuration to the current iteration
  
      Parameters
      ----------
  
      config : valid configuration
              The configuration to add. If None, a configuration is sampled from the config_sampler
      config_info: dict
              Some information about the configuration that will be stored in the results
      """
  
      if config is None:
          config, config_info = self.config_sampler(
              self.budgets[self.stage]
          )
  
      if self.is_finished:
          raise RuntimeError(
              "This HPBandSter iteration is finished, you can't add more configurations!"
          )
  
      if (
          self.actual_num_configs[self.stage]
          == self.num_configs[self.stage]
      ):
          raise RuntimeError(
              "Can't add another configuration to stage %i in HPBandSter iteration %i."
              % (self.stage, self.HPB_iter)
          )
  
      config_id = (
          self.HPB_iter,
          self.stage,
          self.actual_num_configs[self.stage],
      )
  
      self.data[config_id] = Datum(
          config=config,
          config_info=config_info,
          budget=self.budgets[self.stage],
      )
  
      self.actual_num_configs[self.stage] += 1
  
      if not self.result_logger is None:
          self.result_logger.new_config(config_id, config, config_info)
  
      return config_id
  
imports: import sys
  import logging
  import numpy
  import pdb
  from hpbandster.core.dispatcher import Job
label_desc: Use image node_id 2 for calling the BaseIteration obj's underlying member method code with example usage: obj.add_configuration(config, config_info) and returns: config_id