A benchmarking harness for job-shop scheduling. HyperBench runs exact solvers, metaheuristics and evolved dispatching rules on the same benchmark instances across a SLURM cluster, then compares the schedules they produce.
Source on GitHub- InstancesABZ, FT and LA benchmark sets
- ExperimentsSolver parameters and 30 seeds per combination
- ExecutionSLURM array jobs
- SchedulesDistinct results, Gantt charts and GIFs
The comparison problem
Job-shop scheduling orders jobs across machines to finish the last one as early as possible. It is NP-hard. I built HyperBench to run different methods on the same instances, vary their parameters, and inspect how the resulting schedules differ.
Methods in the harness
The bundled methods cover exact solving, dispatching, metaheuristics and evolved dispatching rules. A new solver can use the bundled simulation environment or bring its own. The included external algorithms retain credit to their original authors.
Exact and simple baselines
OR-Tools constraint programming; priority dispatching rules
Search methods
Genetic algorithm; simulated annealing; tabu search
Evolved rules
Genetic programming based on the Java GPJSS code by Yi Mei and Fangfang Zhang
From a grid to a schedule
A generator writes the parameter combinations and 30 seeds for each one across the ABZ, FT and LA instances. It prints a worst-case runtime before submission. SLURM array jobs run the experiments; post-processing selects distinct schedules and renders Gantt charts and GIFs.
This was completed in partial fulfilment of a Bachelor of Engineering with Honours at Victoria University of Wellington, supervised by Dr Yi Mei and Dr Fangfang Zhang.
Read the source