How big a staff schedule can we prove optimal? Measured from 6 to 12 people

A shift-roster solver that proves its answer: 8 of 8 small weeks proven, 0 of 8 at 10 people and up. The table, and what is still open.

Tools and projects · 1 min read · Source
schedulingoptimizationshift-roster-builderbenchmarks

Most scheduling tools hand you a roster and ask you to trust it. The shift-roster-builder in this repository also tries to prove that no cheaper roster covers every shift, or to say how far from that proof it is.

We re-ran its scale benchmark on eight seeded random weeks per size, with a 100,000-node search limit and 20 seconds per week:

people x shiftsproven optimalnodestime
6 x 148 of 835,8936 s
8 x 184 of 8681,08961 s
8 x 223 of 8650,550102 s
10 x 220 of 81,166,235129 s
10 x 280 of 8788,451197 s
12 x 300 of 8770,370188 s

Up to 10 people the search can usually show the fewest possible open hours and what is left is a pay gap. At 10 x 28 and 12 x 30 it cannot yet say whether up to 26 or 27 hours left open were necessary. That is the next piece of work.

The weeks are synthetic, drawn by one generator, and the table is one run; a higher node limit proves more. It tells you where the default stops, not where proof is impossible. Details are in the venture README.

More in Tools and projects

All writing · All in this topic · All tools and research