Esempio n. 1
0
  /**
   * benchmark a tsp algorithm
   *
   * @param instances the instances
   * @param algo the algorithm class
   * @param params the parameters
   */
  public static final void benchmark(
      final ArrayListView<Instance> instances,
      final Class<? extends TSPAlgorithm> algo,
      final String[] params) {
    final Logger log;
    final Configuration cfg;
    final TSPAlgorithmRunner r;

    cfg = new Configuration();
    try {
      cfg.configure(params);

      r = new TSPAlgorithmRunner(instances, algo, null);
      r.configure(cfg);

      log = r.getLogger();

      if ((log != null) && (log.isLoggable(Level.INFO))) {
        log.info(
            "TSP Algorithm Benchmarker now running "
                + //$NON-NLS-1$
                ((algo != null) ? algo.getSimpleName() : String.valueOf(null)));
      }

      if (cfg.getBoolean(Configurable.PARAM_HELP, false)) {
        r.printParameters(System.out);
        return;
      }

      r.benchmark();
    } catch (final Throwable t) {
      t.printStackTrace();
    }
  }