
Omgaan met optimalisatieproblemen: FitJSP
1 mei 2020Job-shop scheduling is een bekend optimalisatieprobleem: de optimale strategie vinden om meerdere taken te verdelen over verschillende beschikbare machines. Ons specifieke probleem ging over producten die zowel een voorbereidings- als een droogproces nodig hebben, elk met vaste tijdsvereisten en capaciteitsbeperkingen per machine, wekelijks te plannen.
Aanpak met een genetisch algoritme
Het genetische algoritme start met een willekeurige beginpopulatie die aan de machinebeperkingen voldoet. Een fitnessfunctie scoort elk individu op makespan, dagelijkse bezetting en het vermijden van conflicten. Crossover maakt kinderen die de beste rijen van elke ouder overnemen (minimale botsingen). Mutatie schudt tijdssloten en machines willekeurig door elkaar om alternatieve paden te verkennen. Het proces itereert tot de gewenste score bereikt is of er geen verbetering meer komt.
Interactieve drag-and-droptool
Boven op het algoritme bouwden we FitJSP: een online drag-and-droptool waarmee gebruikers in realtime met de aanbevolen planning aan de slag kunnen. Ze kunnen events aanpassen, verplaatsen, aanmaken, verwijderen of vergroten. Een meldingenpaneel toont in realtime of een wijziging conflicten veroorzaakt. Zo wordt de output toegankelijk voor niet-technische gebruikers.
- Ali Doku
Ontdek meer
Smart monitoring: predictive maintenance en anomaliedetectie uitgelegd
We bouwden een smart monitoring-dashboard voor Fednot met Azure Databricks, de Anomaly Detector API en Power BI. Zo werden ongestructureerde logbestanden inzichten voor predictive maintenance.

Network flow: een krachtige tool om problemen te modelleren
Een introductie tot network flow-algoritmes: van edge-disjuncte paden vinden tot matchingproblemen tussen medewerkers en projecten oplossen met bipartiete grafen en max-flow-min-cost-optimalisatie.

Stageverslag: kan een AI Rummikub spelen?
Een stageproject dat onderzoekt of AI Rummikub kan spelen door computer vision te combineren met Monte Carlo Tree Search.

