De vraag

Een producent richt een nieuwe, compactere productielocatie in. Een vergelijkbaar proces draait al op een andere locatie, maar deze plek vraagt om een andere indeling. Dat riep een vraag op die je liever vooraf beantwoordt dan achteraf ontdekt: hebben we straks voldoende ruimte en capaciteit om de gewenste productie daadwerkelijk door de fabriek te krijgen? Vooral de opslagcapaciteit wilden we goed doorrekenen, en dat wil je het liefst weten vóórdat het gebouw, de processen en investeringen vastliggen.

Van fabriek naar model

We zijn niet direct gaan programmeren. De eerste stap was drie dagen met het projectteam aan het whiteboard: welke producten bewegen waarheen, waar ontstaan buffers, welke machines en operators zijn resources, en wanneer mag een volgende stap starten? Op basis daarvan bouw ik een discrete-event simulatie in Python met Salabim, allebei open source. De visualisatie blijft bewust eenvoudig — geen 3D-kopie van de fabriek, maar simpele objecten, queues en processtappen. Precies genoeg om samen te controleren of het model logisch reageert. Daarna kan het model zonder visualisatie veel sneller draaien, zodat we complete productieweken onder verschillende configuraties kunnen doorrekenen.

De vraag

Een producent richt een nieuwe, compactere productielocatie in. Een vergelijkbaar proces draait al op een andere locatie, maar deze plek vraagt om een andere indeling. Daarmee ontstond een vraag die je liever vooraf beantwoordt dan achteraf ontdekt:

hebben we straks voldoende ruimte en capaciteit om de gewenste productie daadwerkelijk door de fabriek te krijgen?

Vooral de opslagcapaciteit wilden we goed kunnen doorrekenen. En dat wil je het liefst weten vóórdat het gebouw, de processen en investeringen volledig vastliggen.

Eerst het proces begrijpen

We zijn niet direct gaan programmeren. De eerste stap was drie intensieve dagen met het projectteam. Met mensen uit verschillende disciplines hebben we het productieproces op een whiteboard teruggebracht tot de essentie. Welke producten bewegen waarheen? Welke processtappen zijn er? Waar ontstaan buffers? Welke machines of operators vormen resources? Wanneer mag een volgende stap starten? En wat bedoelen we eigenlijk precies met de verschillende materialen, tussenproducten en processtappen?

Dat laatste klinkt misschien klein, maar bleek belangrijk. Alleen al door dezelfde taal en definities te gebruiken ontstond binnen het projectteam een veel scherper gezamenlijk beeld van de toekomstige flow.

Van fabriek naar model

Op basis daarvan vertaal ik het proces naar een discrete-event simulatie in Python. De visualisatie blijft bewust eenvoudig. Geen complete 3D-kopie van een toekomstige fabriek, maar simpele objecten, queues en processtappen. Precies genoeg detail om samen te controleren of het model logisch reageert. Daarna kan het model zonder visualisatie veel sneller draaien, zodat complete productieweken onder verschillende configuraties kunnen worden doorgerekend.

Vragen die daardoor testbaar worden

  • Hoeveel opslagplaatsen zijn werkelijk nodig?
  • Waar ontstaat een bottleneck als het volume stijgt?
  • Wat verandert wanneer de productmix verschuift?
  • Welke assemblagecapaciteit is nodig?
  • Welke processen gaan de flow beperken?
  • Heeft een andere productieplanning effect?
  • Kunnen bepaalde producten slimmer over opslaglocaties worden verdeeld?

Daarmee wordt een discussie die anders vooral uit aannames bestaat ineens veel concreter.

De eerste opbrengst kwam vóór de simulatie

Een interessant inzicht uit dit project is dat niet alleen het eindmodel waarde heeft. Het gezamenlijk bouwen van het procesmodel leverde zelf al iets op. Mensen uit verschillende onderdelen van het project gebruikten soms andere aannames of andere woorden voor hetzelfde onderdeel van de flow. Door dit expliciet te maken ontstond een gemeenschappelijke procesbeschrijving waar het team verder mee kan. De simulatie bouwt daarop voort.

Dit traject loopt nog. Zodra de scenario's zijn doorgerekend deel ik hier graag de concrete uitkomsten — voorlopig laat ik het bij de aanpak, om zorgvuldig te blijven met de details van een lopend klanttraject.

Techniek

Bewust gekozen omdat het hier past, niet omdat dit de vaste stack is — en bewust ook volledig open source. Python en Salabim zijn vrij te gebruiken, zonder licentiekosten, en de code kan zonder gedoe overgedragen worden aan wie de organisatie zelf kiest om het model verder te onderhouden.

Python Salabim Discrete-event simulation Plotly 100% open source

Herkenbaar vraagstuk?

Twijfel je of jouw proces straks genoeg capaciteit of ruimte heeft? Ik denk graag mee, ook als je nog niet precies weet welke techniek erbij hoort.

Bespreek je vraagstuk