Sub-page · Health-a-thon 2026
Five ideas carry the whole system. Each one is explained with a tiny example first, then a demo you can play with. No formula appears without a worked number beside it. If you remember one sentence per section, you can answer the follow-up questions.
Warm-up
Sort the waits from shortest to longest. The P90 is the value that 90% of waits are below.
Ten patients wait (minutes): 3, 8, 12, 15, 20, 25, 31, 44, 70, 125
Concept 1 · the duration model
A model learns by minimising a “loss”: a penalty for each mistake. Choose the penalty well and the model's best guess becomes any percentile you like.
Example with q = 0.8, guess 10 min. Real session 14 min: under-guess by 4 → 0.8 × 4 = 3.2. Real session 7 min: over-guess by 3 → 0.2 × 3 = 0.6.
Concept 2 · the duration model
Start with a rough guess for everyone. Look at where it is wrong. Add a tiny rule that corrects some of that error. Repeat a few hundred times.
Concept 3 · the optimiser
We turn “find a good timetable” into: pick yes/no values for a long list of switches so that the rules hold and the total penalty is as low as possible.
The real model has the same shape, only bigger: patient × machine × 2-minute slot, with extra rules for accessories, senior staff and breaks. For 87 patients that is about 4,700 switches and 1,660 rules.
Trying every combination is impossible: even 20 patients can be ordered in more ways than there are grains of sand on Earth. The solver uses branch and bound: it first solves an easier version where switches may be fractions (0.3 on, 0.7 off), which gives a floor that no real plan can beat. Then it fixes one switch at a time, discarding whole families of plans whose floor is already worse than the best plan found. When the best plan found is within 0.03% of the floor, it stops. That gap is the “proven within 0.03% of best possible” in our results.
Concept 4 · the optimiser's costs
These are the real weights from the configuration file. Each is “points per 10 minutes”. Compare the scales: it explains almost every choice the solver makes.
| Patient | Weight | Free (min) | Off by | Cost |
|---|---|---|---|---|
| Ordinary | 1.0 | 30 | 50 | 1.0 × 20 ÷ 10 = 2.0 |
| Paying | 4.0 | 15 | 40 | 4.0 × 25 ÷ 10 = 10.0 |
| Flexible (ward, dorm.) | 0.2 | 30 | 50 | 0.2 × 20 ÷ 10 = 0.4 |
| Finishes 80 min into overtime | 6.0 | 0 | 80 | 6.0 × 80 ÷ 10 = 48 |
Reading it: a paying patient 40 minutes off costs five times an ordinary patient 50 minutes off, and overtime is very expensive, so the solver protects the day's end first.
| Minutes | Told a new time | Waiting in room |
|---|---|---|
| 25 | 7.5 | 50 |
| 80 | 30 | 260 |
So 25 minutes of waiting is as costly as moving someone about 170 minutes. That is why, when the machine breaks, the solver shifts people still at home before it leaves anyone in the waiting room.
Every patient must start once or pay 1,000 points. The worst ordinary placement costs a few tens, so “unplanned” appears only if the hard rules truly leave no room. A human then decides; the system never quietly drops anyone.
Concept 5 · the digital twin
Run the day many times with dice rolls for the uncertain parts, then read the spread of outcomes. Use the same dice for both plans you are comparing.
Why share the dice? Suppose you compare plan A and plan B. If each gets its own random day, a lucky day for A can hide a real advantage for B. If both get the same random day, the luck cancels in the difference. Try it:
Concept 6 · the forecast
A patient with 12 sessions left will use the machine on each of the next 12 working days. Add those up and the future load is mostly known.
Worked example. One machine has 843 usable minutes on a normal day. 40 patients still have sessions tomorrow, averaging 17 minutes each: load = 40 × 17 = 680 minutes → 680 ÷ 843 = 81%. A new start with 25 sessions adds about 25 minutes on day 1 and about 9 a day after: that is 3.0% of capacity on day 1, then 1.1% a day.
The bars below use the prototype's committed load for the Versa HD over 15 days. The new-start size is illustrative.
Modules, architecture, safety and the question list.