code: def _main_cli(self):
          
          self.logger.info("SMAC call: %s" % (" ".join(sys.argv)))
  
          cmd_reader = CMDReader()
          args, _ = cmd_reader.read_cmd()
  
          root_logger = logging.getLogger()
          root_logger.setLevel(args.verbose_level)
          logger_handler = logging.StreamHandler(
                  stream=sys.stdout)
          if root_logger.level >= logging.INFO:
              formatter = logging.Formatter(
                  "%(levelname)s:\t%(message)s")
          else:
              formatter = logging.Formatter(
                  "%(asctime)s:%(levelname)s:%(name)s:%(message)s",
                  "%Y-%m-%d %H:%M:%S")
          logger_handler.setFormatter(formatter)
          root_logger.addHandler(logger_handler)
          # remove default handler
          root_logger.removeHandler(root_logger.handlers[0])
  
          # Create defaults
          rh = None
          initial_configs = None
          stats = None
          incumbent = None
  
          # Create scenario-object
          scen = Scenario(args.scenario_file, [])
  
          if args.mode == "SMAC":
              optimizer = SMAC(
                  scenario=scen,
                  rng=np.random.RandomState(args.seed),
                  runhistory=rh,
                  initial_configurations=initial_configs,
                  stats=stats,
                  restore_incumbent=incumbent,
                  run_id=args.seed)
          elif args.mode == "ROAR":
              optimizer = ROAR(
                  scenario=scen,
                  rng=np.random.RandomState(args.seed),
                  runhistory=rh,
                  initial_configurations=initial_configs,
                  run_id=args.seed)
          elif args.mode == "EPILS":
              optimizer = EPILS(
                  scenario=scen,
                  rng=np.random.RandomState(args.seed),
                  runhistory=rh,
                  initial_configurations=initial_configs,
                  run_id=args.seed)
          else:
              optimizer = None
  
          return optimizer
docs: Main function of SMAC for CLI interface
          
          Returns
          -------
          instance
              optimizer