Skip to content

Files

Latest commit

b574c26 · Jan 10, 2025

History

History
Cannot retrieve ahead/behind information for this branch.

Folders and files

NameName
Last commit message
Last commit date
Jan 5, 2025
Jan 10, 2025
Jan 10, 2025
Mar 14, 2024
Mar 14, 2024
Jan 5, 2025
Mar 14, 2024
Jan 5, 2025
Nov 12, 2024
Dec 11, 2024
Nov 12, 2024
Dec 11, 2024
Apr 19, 2024

Select Benchmarks for Timefold Solver

This repository is a continuous work in progress, and it will change as our needs change. There are no guarantees that anything in this repository will still be here tomorrow, or that it will look anything like it looks today, or that it will work against any particular version of the Solver.

Microbenchmarks

Usage

To run the benchmarks, you need access to Timefold Solver Enterprise Edition. Having acquired that, run any of the benchmarks:

./run-coldstart.sh
./run-scoredirector.sh

The benchmark results will be published as a subdirectory in the results directory, and they will include flame graphs if Async Profiler is available.

In the default configuration, the benchmark will run for many hours and fully occupy 1 CPU. Only run the benchmark on a quiet machine, otherwise results will be skewed.

Async profiler

The benchmark can optionally produce flame graphs using Async Profiler. On the first run, if Async Profiler is not found, a message will be logged. Let the message point you in the right direction.

Configuring the benchmark

The benchmark is configured using the coldstart-benchmark.properties and scoredirector-benchmark.properties file. The file is well-commented, and should be self-explanatory. Modify it to suit your needs.

TSPLIB95 and CVRPLIB benchmarks

Runs the solver against well-known academic datasets:

Usage

To run the benchmarks, you need access to Timefold Solver Enterprise Edition. Having acquired that, build and run any of the benchmarks:

mvn clean install
./run-tsplib95.sh
./run-cvrplib.sh

The benchmark results will be published as a CSV file in the results directory.

In the default configuration, the benchmark will run for many hours and fully occupy 4 CPUs. Only run the benchmark on a quiet machine, otherwise results will be skewed.