metaheuristic_designer.analysis.experiment_runner module#

run_experiment(problems, algorithms, max_evals, n_runs=30, base_seed=42, output_root='experiment_data')[source]#

Run a fair, reproducible comparison of algorithms on a set of problems.

Parameters:
problemslist of ObjectiveFunc

Benchmark functions to solve. IOHObjective instances will produce IOH-compatible log files automatically.

algorithmsdict of str -> callable

Keys are algorithm names; values are factories (objfunc, seed, budget) -> solver.

max_evalsint

Common evaluation budget per run.

n_runsint

Number of independent repetitions per (problem, algorithm) pair.

base_seedint

Master seed for reproducibility.

output_rootstr

Folder where IOH log files are written. Non-IOH problems are silently ignored.

Returns:
pd.DataFrame

Columns: algorithm, problem_name, fid, dimension, instance, run, best_objective.

Parameters:
  • problems (Iterable[ObjectiveFunc])

  • algorithms (Iterable[Callable])

  • max_evals (int)

  • n_runs (int)

  • base_seed (int)

  • output_root (str)