DA Solver

Staff schedules written by a solver, for a company with many branches. Everyone's contract, absences and preferences go into the calculation, and the schedule comes out needing almost no changes.

years in production, no downtime
2+
versions to get there
5
solving strategies
6
Fig. 6A week, written from its rules. not solved
Shifts for the week, Monday 16 to Sunday 22
personMon 16Tue 17Wed 18Thu 19Fri 20Sat 21Sun 22hours
Anna36 h · morningfreefreefreefreefreefreefree0/36
Bruno30 h · afternoonfreefreefreefreefreefreefree0/30
Carla24 h · morningfreefreeon holidayon holidayfreefreefree0/24
Dario30 h · afternoonoff sickfreefreefreefreefreefree0/30
Elena30 hfreefreefreefreefreefreeon leave0/30
cover
  • morning 8–14 · needs 2
  • afternoon 14–20 · 1, 2 at the weekend
  • holiday, sick leave, time off
  • Pick a strategy and what to respect, then press Solve.
Strategy
Fig. 7Changes arrive as requests, not as messages. applied
  1. Store managerproposes
  2. List of changessent
  3. Schedule adminreviews
  4. Confirmed scheduleupdated
  • Sat 21Bruno 14–2016–22✓ approved
  • Sun 22Elena, new shift 8–14✕ rejectedElena is on leave on Sunday.
  • Wed 18Carla on holidayDario 8–14✓ approved

You change only what is already in the schedule: no emails, no messages to copy by hand.

Fig. 8Five versions to get there.
  1. 2022v1

    A generic constraint solver. It worked on small cases, not on real ones.

  2. 2022–2023v2–4

    A custom engine, with an interface built by someone else.

  3. 2024 · onlinev5

    Engine and interface in one project, done by me down to the last detail. In production for more than two years.

Got a process that can't afford to fail, or a system that has outgrown its first version?

Write to me