Betrouwbare leverdata beloven met Monte Carlo-simulatie

Artikel
Pascal Pollet

Gebruik Monte Carlo om onzekerheid mee te nemen in uw leverbelofte

Een berekening op basis van de gemiddelde output houdt geen rekening met dagelijkse schommelingen in uw productie. Met een Monte Carlo-simulatie maakt u die onzekerheid zichtbaar. Zo kunt u historische output gebruiken om een leverdatum te berekenen die past bij de gewenste leverbetrouwbaarheid.

Zelf aan de slag met Monte Carlo?

Wilt u de methode zelf testen? U kunt een eenvoudige Monte Carlo-template in Excel opvragen bij onze expert Pascal Pollet.

Contacteer onze expert

Van gemiddelde output naar betrouwbare leverdata

In het vorige artikel berekenden we de verwachte wachttijd op basis van twee gegevens: de actuele werkvoorraad en de gemiddelde output.

Verwachte wachttijd = openstaande werkvoorraad / gemiddelde output

Om tot een betrouwbare leverbelofte te komen, telden we daar een veiligheidstijd bij op. Dat is bewust een eenvoudige aanpak. Een planningsregel moet gemakkelijk te begrijpen, gebruiken en onderhouden zijn. Een complexere berekening heeft alleen zin wanneer ze betere beslissingen oplevert.

Maar een vaste veiligheidstijd blijft een benadering. Een order dat vijf dagen wacht is korter blootgesteld aan verstoringen dan een order dat vijftig dagen wacht. Denk aan storingen, materiaalproblemen of schommelingen in de dagelijkse output. De benodigde veiligheidstijd hangt dus vaak samen met de verwachte wachttijd.

Ook een vaste veiligheidsfactor lost dat maar gedeeltelijk op. Stel dat u de wachttijd altijd met 1,2 vermenigvuldigt. Dan veronderstelt u dat de onzekerheid evenredig groeit met de wachttijd. Ook dat blijft een benadering.

We zoeken dus een methode waarmee de benodigde veiligheidstijd automatisch meebeweegt met de actuele situatie. Daar komt Monte Carlo-simulatie in beeld. Het onderliggende idee is verrassend eenvoudig: de methode maakt de onzekerheid rond de voorspelde doorlooptijd zichtbaar en onderbouwt de benodigde veiligheidstijd met historische gegevens.


Van een gemiddelde naar duizenden mogelijke toekomsten

Een gemiddelde verbergt de dagelijkse schommelingen in uw productie. Stel dat een productiesysteem gemiddeld 50 stuks per dag afwerkt.

De werkelijke dagelijkse output kan er zo uitzien:

DagWerkelijke output
143 stuks
251 stuks
347 stuks
456 stuks
549 stuks
……


Bij een werkvoorraad van 1.200 stuks geeft het gemiddelde de volgende wachttijd: 1.200 / 50 = 24 dagen. Maar die 24 dagen zijn slechts een gemiddelde verwachting. Krijgt u toevallig veel productiedagen met een lage output? Dan duurt het langer. Bij een gunstige reeks productiedagen gaat het sneller. Een Monte Carlo-simulatie bootst die verschillende mogelijke toekomsten na.


Hoe werkt een Monte Carlo-simulatie?

We vertrekken van de actuele werkvoorraad en van de historische dagelijkse output. Voor elke gesimuleerde productiedag kiezen we willekeurig één output uit de historische gegevens. Die hoeveelheid trekken we af van de resterende werkvoorraad. Dat herhalen we totdat de volledige werkvoorraad is verwerkt.

Een simulatieronde kan er bijvoorbeeld zo uitzien:

Gesimuleerde dagWillekeurig gekozen outputResterende werkvoorraad
Start–1.200
1481.152
2531.099
3441.055
457998
………


Het aantal benodigde dagen vormt de voorspelde wachttijd van die simulatieronde. Een simulatieronde zegt weinig. Daarom voeren we de berekening bijvoorbeeld 10.000 keer uit. Elke ronde krijgt een andere willekeurige reeks historische dagoutputs. Het resultaat? Niet één voorspelde wachttijd, maar een verdeling van mogelijke wachttijden.


Principe 1: maak leverbetrouwbaarheid het vertrekpunt

Leverbetrouwbaarheid mag geen toevallig resultaat van de gekozen leverdatum zijn. Bepaal eerst welke betrouwbaarheid u wilt bereiken en leid daar vervolgens de bijbehorende levertermijn uit af. Een Monte Carlo-simulatie maakt die keuze concreet. De resultaten kunnen er bijvoorbeeld als volgt uitzien:

Gewenste leverbetrouwbaarheidGesimuleerde wachttijd
50%24 dagen
85%27 dagen
95%29 dagen
99%32 dagen


De mediaan bedraagt hier 24 werkdagen. In de helft van de simulaties werd de werkvoorraad binnen die termijn verwerkt, maar in de andere helft duurde het langer. Wilt u 95 procent leverbetrouwbaarheid? Dan rekent u in dit voorbeeld met 29 werkdagen. De impliciete veiligheidstijd bedraagt dus vijf werkdagen.

Het verschil met de vorige methode is belangrijk. We stellen de veiligheidstijd niet vooraf als een vast aantal dagen in. Ze volgt uit de gesimuleerde spreiding van de wachttijden. Daardoor beweegt ze mee met uw actuele werkvoorraad en historische variatie.

De simulatie zoals hierboven beschreven, berekent de wachttijd totdat het nieuwe order aan de beurt komt. Om de volledige levertijd te bepalen, moet ook het werk van het nieuwe order worden meegenomen. U kunt de bewerkingstijd achteraf toevoegen. U kunt ook de omvang van het nieuwe order meteen bij de gesimuleerde werkvoorraad tellen.


Principe 2: behandel spoedorders niet als uitzonderingen

Komen spoedorders regelmatig voor? Dan moet uw leverbelofte daar bewust rekening mee houden. Dat geldt ook voor Monte Carlo-simulaties. Toekomstige spoedorders staan vandaag nog niet in uw werkvoorraad. Maar tijdens de wachttijd zullen nieuwe spoedorders binnenkomen en voorrang krijgen.

De eenvoudigste oplossing is om voor normale orders niet de totale dagelijkse output te gebruiken, maar de historisch gerealiseerde output die werkelijk beschikbaar was voor normaal werk. Het effect van spoedorders zit dan al in de gegevens verwerkt. De dagelijkse verdeling kan bijvoorbeeld bestaan uit waarden zoals 32, 41, 38, 47 en 39 normale stuks.

De Monte Carlo-simulatie trekt telkens uit deze waarden en houdt daardoor niet alleen rekening met het gemiddelde aandeel spoedwerk, maar ook met de dagelijkse schommelingen ervan. Voor spoedorders kunt u een aparte simulatie uitvoeren. Die vertrekt van de spoedwachtrij en de beschikbare totale output.


Principe 3: kies het eenvoudigste capaciteitsmodel dat werkt

Monte Carlo klinkt geavanceerd, maar vereist niet noodzakelijk een complex productiemodel. U hoeft geen afzonderlijke kansverdeling voor elke machine te bouwen. Drie basisgegevens kunnen volstaan:

  1. De actuele relevante werkvoorraad
  2. De historische dagelijkse output
  3. De gewenste leverbetrouwbaarheid

Uw historische output vormt zo een verzameling realistische productiedagen. Door herhaaldelijk uit die gegevens te kiezen, hoeft u zelfs geen theoretische kansverdeling te veronderstellen. Voeg alleen meer detail toe wanneer dat echt nodig is.

Hebben productfamilies structureel andere productiestromen en outputs? Dan kunt u voor elke familie een aparte simulatie uitvoeren. Zijn de verschillen klein? Dan maakt die opsplitsing het model vooral moeilijker te onderhouden.


Monte Carlo kan ook in een spreadsheet

U hebt hiervoor niet noodzakelijk gespecialiseerde planningssoftware nodig. Ook een eenvoudige spreadsheet kan duizenden simulatierondes uitvoeren. Het 95ste percentiel van die resultaten vormt dan de wachttijd die met 95 procent betrouwbaarheid kan worden gehanteerd. Neemt u ook het nieuwe order mee in de simulatie? Dan krijgt u rechtstreeks de bijbehorende levertermijn.


Gebruik representatieve historische gegevens

De simulatie veronderstelt dat de historische output een goede benadering vormt van de mogelijke toekomstige output. Gebruik daarom geen gegevens uit een periode die fundamenteel verschilt van de huidige situatie. Hebt u intussen een extra ploeg toegevoegd? Is een belangrijk knelpunt weggewerkt? Of is uw productmix sterk veranderd? Controleer dan welke historische gegevens nog representatief zijn.

Kies ook een voldoende lange periode. Enkele weken kunnen toevallig uitzonderlijk goed of slecht zijn. Een langere periode bevat meer normale variatie. Maar ga ook niet te ver terug. Te oude gegevens kunnen een productiesysteem beschrijven dat vandaag niet meer bestaat.


Wanneer werkt Monte Carlo goed?

De Monte Carlo-simulatie bouwt rechtstreeks voort op de werkvoorraadgebaseerde methode uit het vorige artikel. Ze is daarom geschikt voor dezelfde productiestromen waarin de meeste orders ongeveer hetzelfde productietraject volgen. De hoeveelheid openstaand werk bepaalt dan grotendeels de doorlooptijd.

Volgen orders sterk verschillende routings? Belasten ze telkens andere gedeelde werkcentra? Dan wordt deze methode minder geschikt. In zo’n complexe jobshop zegt de totale werkvoorraad onvoldoende over de wachttijd van een specifiek order.


Samengevat

Een Monte Carlo-simulatie vertaalt historische schommelingen in uw productie naar een betrouwbare levertermijn. U kiest eerst de gewenste leverbetrouwbaarheid. De simulatie bepaalt daarna welke wachttijd daarbij past. Zo beweegt uw veiligheidsmarge automatisch mee met de actuele werkvoorraad en productievariatie.


Conclusie: maak onzekerheid zichtbaar

Een gemiddelde geeft één verwachte wachttijd, maar productie verloopt nooit exact volgens dat gemiddelde. Monte Carlo maakt die onzekerheid zichtbaar en koppelt ze aan uw gewenste leverbetrouwbaarheid. Zo krijgt u een dynamische leverbelofte zonder meteen een complex capaciteitsmodel te bouwen.


Van de totale werkvoorraad naar de toekomstige belasting

Een Monte Carlo-simulatie verfijnt de werkvoorraadgebaseerde methode door onzekerheid expliciet zichtbaar te maken. De benodigde veiligheidstijd wordt niet langer als een vaste waarde ingesteld, maar rechtstreeks afgeleid uit de gesimuleerde kansverdeling. Ook deze methode veronderstelt echter dat de totale werkvoorraad een goede maat vormt voor het werk dat vóór een nieuw order moet worden uitgevoerd.

In het volgende artikel bekijken we complexere productieomgevingen waarin orders verschillende routings volgen en verschillende werkcentra belasten.

Leestip

Wilt u zich verder verdiepen in probabilistische voorspellingen? Daniel S. Vacanti legt de aanpak uitgebreid uit in When Will It Be Done?. Het boek toont hoe historische flowgegevens helpen om doorlooptijden met een expliciete betrouwbaarheid te voorspellen. 

Meer informatie over onze expertise

Auteurs

Hebt u een vraag?

Stuur ze naar innovation@sirris.be

Onze experten