Waarom een solver beter plant dan AI
Een taalmodel geeft een plausibel antwoord. Een solver geeft een doorgerekend antwoord. Voor een planning met leverdata is dat verschil alles, en het is in vijf minuten uit te leggen.
De brochure klinkt goed: "AI plant je productie, leert van je data en wordt elke week slimmer." Het is precies wat een planner wil horen na een middag schuiven in Excel. Het probleem is niet dat het overdreven is. Het probleem is dat het de verkeerde techniek beschrijft voor het probleem dat een planner heeft.
Wat een planning eigenlijk is
Een planning is een puzzel met harde randen. Acht orders, drie machines, elke order een leverdatum, elke wissel tussen productfamilies een ombouwtijd die van de volgorde afhangt. Dat is geen "ongeveer"-vraag. Elke order staat op één machine, in één volgorde, en is óf op tijd óf niet.
Het aantal mogelijkheden is groter dan je denkt. Acht orders alleen al op volgorde leggen kan op 40.320 manieren. Verdeel je ze ook nog over drie machines, dan zit je in de honderdduizenden. Een ervaren planner bekijkt er misschien tien, kiest de beste van die tien en noemt dat gevoel. Dat is geen verwijt. Het is de reden dat ombouwtijd overal te hoog is: niemand kán die puzzel met de hand overzien.
Twee soorten "slim"
Er zijn twee fundamenteel verschillende manieren om een computer aan die puzzel te zetten.
Voorspellen. Een model (een taalmodel, een neuraal netwerk, "AI" in de brochure) leert van eerdere planningen wat er meestal gebeurt en produceert daar een nieuwe planning uit die erop lijkt. Het antwoord is plausibel: het ziet eruit als de planningen waarvan het geleerd heeft. Of het klopt, weet het model niet. Het weet niet wat "kloppen" is.
Doorrekenen. Een solver krijgt de regels expliciet: deze machines, deze capaciteit, deze ombouwmatrix, deze leverdata. Daarna zoekt hij, systematisch, de planning die alle regels haalt en het doel het beste dient, bijvoorbeeld zo min mogelijk ombouw. Een exacte solver kan bovendien bewijzen dat er binnen die regels geen betere is, als hij de tijd krijgt om zijn zoektocht af te ronden. Stopt hij eerder, dan heb je een planning die alle regels haalt, maar zonder dat bewijs. Het antwoord is dus nooit alleen plausibel: het haalt de regels, of de solver zegt dat het niet kan.
Een model dat leert van je oude planningen, leert ook de fouten van je oude planningen.
Vier verschillen die je op de vloer merkt
1. Een leverdatum is een grens, geen kans
Een voorspellend model geeft je een planning waarin PO-1048 "waarschijnlijk" op tijd is. Een solver rekent met die leverdatum: past het niet, dan zie je vooraf welke order te laat wordt, hoeveel, en waarom. Voor een klant met haast is "87 procent kans" geen antwoord.
2. Een planning die blijft optimaliseren
Een solver werkt met vaste regels. In Boscade blijft een vastgezette planning staan: nieuwe orders worden ingevoegd, en een geplande order verschuift alleen als de planning daar beter van wordt. Dat klinkt vanzelfsprekend, maar een model dat bijleert plant volgende maand anders dan vandaag, zonder dat iemand kan zeggen waarom. Een planner die het bord aan de vloer moet uitleggen, heeft daar niets aan.
3. Een regel is een uitleg, een patroon niet
Vraag een solver waarom PO-1048 op pers 2 staat en het antwoord is een regel: familie A had negen uur werk, pers 1 had er acht en een half vóór de verzending, dus één ombouw op pers 2 was goedkoper dan een late order. Vraag het een model en het eerlijke antwoord is: dit patroon kwam vaker voor. Dat is geen uitleg, dat is een herinnering.
4. Leren van fouten, letterlijk
Een model traint op je historische planningen. Als die planningen al jaren te veel ombouwen bevatten, omdat een mens ze maakte, dan leert het model dat ombouwen normaal is. Het reproduceert de gewoonte in plaats van hem te doorbreken. Een solver kent je geschiedenis niet en heeft er ook niets aan: hij heeft je regels.
Waar AI dan wél hoort
Dit is geen pleidooi tegen taalmodellen. Het is een pleidooi voor de juiste plek. Een taalmodel is uitstekend in precies de dingen waar een solver slecht in is:
- Uitleggen. De uitkomst van de solver vertalen naar een zin die een planner om half acht wil horen, met de regel erbij.
- Vragen vertalen. "Wat als pers 2 morgen uitvalt?" omzetten in een scenario dat de solver kan doorrekenen, en het resultaat samenvatten.
- Invoer klaarzetten. Een order uit een e-mail of PDF halen en als voorstel neerzetten, zodat een mens het controleert vóór het op het bord komt.
Denk aan navigatie. De route komt van een algoritme dat de kortste weg uitrekent, al veertig jaar hetzelfde soort wiskunde. De stem die zegt "over tweehonderd meter rechts" is de taallaag. Niemand wil dat de stem de route verzint.
Drie vragen voor elke leverancier
Wie planningssoftware bekijkt, hoeft geen wiskundige te zijn. Drie vragen volstaan om te horen wat er onder de motorkap zit:
- Als er morgen een order bijkomt, blijft de rest van mijn planning dan staan, en hoor ik waarom iets wél verschuift?
- Kan het systeem me vooraf zeggen welke order te laat wordt, en waarom?
- Kan ik per order zien welke regel bepaalt waarom hij daar staat?
Drie keer ja is een solver. Drie keer "ongeveer" is een voorspelling. Beide hebben een plek. Alleen niet dezelfde.