Demo kits — every demo as an Excel workbook
Each input/<problem>.xlsx is what a customer would bring. In the wizard: step 1 "Start from a workbook (Excel)"; steps 2, 3, 4 "From <file>" (items, lists, rules) — one click each; steps 5-6 already set; step 7 "Can this work?", then Plan it. The job-shop (18) and Jean-Moulin (12) demos have a full script with what to say: 18, 12. The workbooks themselves are in powersolver-demos/<demo>/input/.
- Rebuild a kit:
node powersolver-wizard/tools/make-demo-kit.mjs <problem.json> powersolver-wizard/tests/demo-kits.test.mjsreads every kit the way the wizard does and checks it gives the shipped problem (a list may come back as comma-separated text: the engine reads it the same way).- Replans (items already done are pinned): the kit carries the pins as columns
pinnedand the decided values; the engine keeps them. For a demo, starting from the published plan and showing the changes tells the story better.
| Workbook | Decisions | Lists (rows) | Reference lists | Rules | Pinned items |
|---|---|---|---|---|---|
01-school-timetabling-fessenden/input/problem.2var.xlsx | studentGroup (resource), assignedRoom (resource), scheduledSlot (time) | lessons 60, studentGroups 3, rooms 5, timeslots 36 | — | 10 | — |
01-school-timetabling-fessenden/input/problem.3var.xlsx | studentGroup (resource), assignedRoom (resource), scheduledSlot (time), teacher (resource) | lessons 60, studentGroups 3, rooms 5, timeslots 36, teachers 6 | — | 14 | — |
01-school-timetabling-fessenden/input/problem.4var.pinned.xlsx | studentGroup (resource), assignedRoom (resource), scheduledSlot (time), teacher (resource), sessionType (resource) | lessons 60, studentGroups 3, rooms 5, timeslots 36, teachers 6, sessionTypes 3 | — | 16 | 1 |
01-school-timetabling-fessenden/input/problem.4var.xlsx | studentGroup (resource), assignedRoom (resource), scheduledSlot (time), teacher (resource), sessionType (resource) | lessons 60, studentGroups 3, rooms 5, timeslots 36, teachers 6, sessionTypes 3 | — | 16 | — |
01-school-timetabling-fessenden/input/problem.disrupt-teacher.xlsx | studentGroup (resource), assignedRoom (resource), scheduledSlot (time), teacher (resource), sessionType (resource) | lessons 60, studentGroups 3, rooms 5, timeslots 36, teachers 6, sessionTypes 3 | — | 17 | 58 |
04-task-assignment-dev-backlog/input/problem.xlsx | assignedTo (resource), scheduledSlot (time), priorityClass (resource), location (resource) | tasks 10, developers 4, timeSlots 6, priorityClasses 3, locations 3 | — | 7 | — |
05-employee-rostering-shifts/input/problem.xlsx | assignedTo (resource), scheduledSlot (time), filledRole (resource), location (resource) | shifts 10, employees 4, timeSlots 6, roles 3, locations 3 | — | 7 | — |
06-vehicle-routing-deliveries/input/problem.xlsx | itinerary (sequence) | vehicles 3, visits 9 | — | 1 | — |
07-maintenance-scheduling-plant/input/problem.xlsx | assignedTechnician (resource), scheduledSlot (time), toolKit (resource), priorityClass (resource) | jobs 10, technicians 4, timeSlots 6, toolKits 3, priorityClasses 3 | — | 6 | — |
08-cloud-capacity-placement/input/problem.xlsx | placedOn (resource), scheduledIn (time), rackZone (resource), priorityTier (resource) | workloads 10, servers 4, timeWindows 6, rackZones 3, priorityTiers 3 | — | 6 | — |
09-job-shop-production/input/problem.xlsx | assignedMachine (resource), scheduledSlot (time), operator (resource), toolKit (resource) | operations 10, machines 4, timeSlots 6, operators 3, toolKits 3 | — | 7 | — |
10-workorder-assignment-field-techs/input/problem.xlsx | assignedResource (resource), scheduledSlot (time), crew (resource), priorityClass (resource) | workorders 10, resources 4, timeSlots 6, crews 3, priorityClasses 3 | — | 7 | — |
11-task-assignment-portal-project/input/problem.xlsx | assignedTo (resource), scheduledSlot (time), priorityClass (resource), location (resource) | tasks 260, developers 6, timeSlots 84, priorityClasses 3, locations 3 | — | 17 | — |
12-school-timetabling-college-jean-moulin/input/problem.term1.xlsx | slot (time), room (resource) | lessons 520, slots 32, rooms 33, teachers 35 | teachers | 15 | — |
12-school-timetabling-college-jean-moulin/input/problem.term2.xlsx | slot (time), room (resource) | lessons 520, slots 32, rooms 32, teachers 35 | teachers | 17 | 178 |
12-school-timetabling-college-jean-moulin/input/problem.term3.xlsx | slot (time), room (resource) | lessons 525, slots 32, rooms 33, teachers 35 | teachers | 17 | 400 |
13-maintenance-field-service-week/input/problem.friday.xlsx | technician (resource), slot (time) | jobs 1000, slots 10, technicians 120 | — | 11 | — |
13-maintenance-field-service-week/input/problem.monday.xlsx | technician (resource), slot (time) | jobs 1015, slots 10, technicians 124 | — | 13 | 712 |
14-conference-programme-replan/input/problem.eve.xlsx | slot (time), room (resource) | sessions 155, slots 21, rooms 12, speakers 120 | speakers | 15 | 49 |
14-conference-programme-replan/input/problem.programme.xlsx | slot (time), room (resource) | sessions 153, slots 21, rooms 12, speakers 120 | speakers | 13 | — |
15-hospital-rostering-paris/input/problem.roster.xlsx | staff (resource) | positions 532, staff 120 | — | 10 | — |
15-hospital-rostering-paris/input/problem.saturday.xlsx | staff (resource) | positions 541, staff 124 | — | 11 | 190 |
16-international-project-rollout/input/problem.plan.xlsx | squad (resource), week (time) | packages 172, weeks 26, squads 14 | — | 8 | — |
16-international-project-rollout/input/problem.week9.xlsx | squad (resource), week (time) | packages 176, weeks 26, squads 14 | — | 10 | 53 |
17-cloud-placement-datacenter/input/problem.incident.xlsx | server (resource) | vms 414, servers 48 | — | 8 | 12 |
17-cloud-placement-datacenter/input/problem.placement.xlsx | server (resource) | vms 390, servers 48 | — | 7 | — |
18-job-shop-machining-week/input/problem.wednesday.xlsx | machine (resource), slot (time) | operations 239, slots 40, machines 19 | — | 10 | 129 |
18-job-shop-machining-week/input/problem.week.xlsx | machine (resource), slot (time) | operations 235, slots 40, machines 19 | — | 8 | — |
19-university-exams-3-decisions/input/problem.session.xlsx | slot (time), room (resource), invigilator (resource) | exams 99, slots 20, rooms 13, invigilators 40 | — | 10 | — |
19-university-exams-3-decisions/input/problem.snow.xlsx | slot (time), room (resource), invigilator (resource) | exams 99, slots 24, rooms 13, invigilators 40 | — | 13 | 30 |
20-operating-theatre-4-decisions/input/problem.tuesday.xlsx | room (resource), slot (time), surgeon (resource), anaesthetist (resource) | operations 113, slots 20, rooms 8, surgeons 21, anaesthetists 10 | — | 18 | 22 |
20-operating-theatre-4-decisions/input/problem.week.xlsx | room (resource), slot (time), surgeon (resource), anaesthetist (resource) | operations 110, slots 20, rooms 8, surgeons 21, anaesthetists 10 | — | 15 | — |
21-shifts-from-demand-supermarket/input/problem.week.xlsx | start (time) | shifts 60, hours 91, cashiers 14 | cashiers | 5 | — |