Eén ruimte, meerdere gewassen, één puzzel

Bij deze vertical farm lopen meerdere gewassen door elkaar heen, elk met een eigen doorlooptijd en teeltfases: zaaien, verpotten, oogsten. Al die fases delen dezelfde beperkte capaciteit en ruimtes, terwijl klanten om specifieke hoeveelheden op vaste levermomenten vragen. Met de hand plannen kostte veel tijd, was foutgevoelig en gaf weinig zicht op hoeveel van de capaciteit nu eigenlijk benut werd.

Terugrekenen vanaf de leverdatum

Ik bracht het teeltproces eerst terug tot een planningsmodel en bouwde daar een Mixed Integer Programming (MIP) algoritme voor, dat vanaf de levermomenten terugrekent. Het optimaliseert het gebruik van teeltruimtes en van zaai-, verpot- en oogstcapaciteit, en houdt rekening met welke ruimte bij welk gewas past. Cold storage helpt daarbij om pieken in de oogstcapaciteit af te vlakken. Het resultaat: geautomatiseerde schema's, een hogere bezetting van de ruimtes, en de mogelijkheid om scenario's door te rekenen in plaats van te gokken.

Eén ruimte, meerdere gewassen, één puzzel

Vertical farming combineert hoge complexiteit met strakke marges. Elk gewas heeft zijn eigen ontkiem-, groei- en oogstduur, en doorloopt eigen teeltfases — zaaien, verpotten, opkweken, oogsten — die elk hun eigen ruimtes en apparatuur nodig hebben. De capaciteit voor zaaien, verpotten en oogsten is beperkt, en niet elke groeiruimte is geschikt voor elk gewas: licht, temperatuur en vochtigheid moeten passen. Daar bovenop willen klanten specifieke hoeveelheden op vaste levermomenten, en moet de planning robuust genoeg zijn tegen kleine vertragingen.

Met de hand plannen was tijdrovend, foutgevoelig en gaf weinig inzicht in hoe goed de capaciteit werd benut of welke alternatieve scenario's mogelijk waren.

1. Eerst het proces formaliseren

De eerste stap was het teeltproces in kaart brengen als planningsmodel: de resources (zaai-, verpot- en oogstcapaciteit in uren per dag), de teeltruimtes met hun eigenschappen (oppervlakte, lichtspectrum, klimaatbereik), de gewassen (doorlooptijd per fase, ruimtevereisten, arbeidsintensiteit) en de vraag (levermomenten en hoeveelheden per gewas). Die vertaalslag van gevoel naar expliciet model is de stap die een datagedreven planning pas mogelijk maakt.

2. Het planningsalgoritme

Het hart van de oplossing is een wiskundig model, opgelost met Mixed Integer Programming (MIP):

  1. Backwards plannen met buffers: ik reken terug vanaf de levermomenten, en maak daarbij slim gebruik van cold storage: producten kunnen iets eerder geoogst worden en kort bewaard blijven, om pieken in de oogstcapaciteit af te vlakken.
  2. De wiskundige puzzel: alle taken, resources en constraints worden vertaald naar één groot wiskundig stelsel.
  3. Optimaliseren met een 'gap': de solver zoekt de best mogelijke oplossing. Het exacte optimum vinden kan enorm veel rekenkracht kosten, dus zoekt het algoritme naar een oplossing die goed genoeg is — bijvoorbeeld binnen 5% van het theoretisch optimum. Dat is meestal al veel efficiënter dan wat met de hand haalbaar is.
  4. Vertaling naar rooster: de uitkomst van de solver wordt direct omgezet naar een concreet rooster voor de werkvloer.

3. Scenario-analyse en simulatie

Naast de wekelijkse planning gebruiken we de tool ook om 'wat-als' scenario's door te rekenen: wat is de impact op bottlenecks als het gewasportfolio verandert? Hoe flexibel blijft de teelt bij een specifieke uitbreiding van de faciliteit? Kunnen we meer produceren door te schuiven met opslagcapaciteit? Die simulaties geven inzicht in hoe robuust het ontwerp is, en onderbouwen investeringsbeslissingen zoals extra oogstmachines of meer koelcelruimte met data in plaats van onderbuikgevoel.

Technische aanpak

Het planningsalgoritme is ontwikkeld in Python met een MIP-solver voor de puzzel zelf. In plaats van een webinterface koos ik voor een standalone applicatie die per run een gedetailleerd rooster en een visuele Gantt-chart genereert, zodat je kunt controleren of de uitkomst logisch is. De uitkomsten van diverse scenario-runs komen samen in Tableau dashboards, zodat stakeholders zelf de trade-offs tussen planningsstrategieën en capaciteitskeuzes kunnen verkennen.

Wat het oplevert

Een planning maken kost nu minuten in plaats van uren, en de ruimte wordt beter benut doordat de allocatie fijner kan. Harde constraints garanderen dat er nooit meer wordt gepland dan de capaciteit toelaat, en groeiscenario's of investeringskeuzes zijn snel door te rekenen. De planning groeit bovendien mee zodra er ruimtes of gewassen bijkomen.

Multi-crop planning met veel onderlinge afhankelijkheden is bij uitstek een probleem voor een algoritme. Zodra je het proces eenmaal hebt geformaliseerd, is de aanpak ook breder toepasbaar: overal waar meerdere producten door een proces met meerdere stappen en bottlenecks moeten, kan vergelijkbare planning-optimalisatie waarde bieden.

Complexe planning-uitdagingen?

Werk je in productie, agri of logistiek met multi-step processen en capaciteitsbeperkingen? Ik denk graag mee of planning-optimalisatie voor jouw situatie zinvol is.

Bespreek je vraagstuk