Skip to content

Benchmarking configuration files #7

@leonlan

Description

@leonlan

I think it would be nice to have benchmark configuration files. My SLURM scripts have become a bit messy because we have 6 different benchmark runs, each with different instances, rounding funcs, stopping criteria, etc.

Instead, it would be convenient to have these benchmark configurations in a TOML file, so that I could run benchmarks like this:

poetry run bench solve --bench_loc cvrp.toml

The TOML configuration files could follow the args interface like this:

instances = ["instances/CVRP/*.vrp"]
round_func = "round"
max_runtime = 2.4
per_client = true

It should be possible to specify other args combined with the config:

poetry run bench solve --bench_loc cvrp.toml --seed 1 --sol_dir out/cvrp/

An error should be raised when an argument is both passed and in the configuration file.


Example TOML file:

instances = [
    "instances/CVRP/X-n101-k25.vrp",
    "instances/CVRP/X-n1001-k43.vrp"
]
solutions = [
    "instances/CVRP/X-n101-k25.sol",
    "instances/CVRP/X-n1001-k43.sol"
]
seed = 42
num_procs = 4
stats_dir = "stats"
sol_dir = "solutions"
round_func = "dimacs"
config_loc = "configs/params.toml"
max_runtime = 60.0
max_iterations = 25000
no_improvement = 5000
per_client = false
display = false
  • Introduce bench_config_loc
  • Rename config_loc to solve_params_loc

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions