Bouw van een bedrijfssimulatie model


Op het blog van vandaag neem ik jullie mee naar Barneveld, waar het online veilingbedrijf BCA jaarlijks meer dan 50.000 voertuigen veilt. Het assortiment is breed: van auto’s tot vrachtwagens en motoren. Na een bezoek aan het bedrijf groeide mijn fascinatie voor hun bedrijfsprocessen. Hoe zou een dag daar eruitzien? Geïnspireerd door deze vraag, ben ik een simulatiemodel gaan ontwikkelen om het bedrijfsproces beter te begrijpen.

Waarom simulatie?

Simulatiemodellering lost problemen uit de echte wereld veilig en efficiënt op. Het biedt een belangrijke analysemethode die gemakkelijk kan worden geverifieerd, gecommuniceerd en begrepen. In alle sectoren en disciplines biedt simulatiemodellering waardevolle oplossingen door duidelijke inzichten te geven in complexe systemen. Althans dat word ons belooft.

Mijn avontuur begon met een passie voor modellering zelf. Het creëren van een simulatiemodel is als het leggen van een complexe puzzel: je verzamelt eerst alle stukjes informatie en bouwt daar vervolgens een model mee. Tijdens dit proces ontdek je de mogelijkheden en beperkingen van modellering, hoe je een model ontwikkelt en welke inzichten je hieruit kunt verkrijgen. Een simulatiemodel biedt een vereenvoudigde weergave van de realiteit, en het is een kunst om te beslissen hoe eenvoudig of complex je model moet zijn om waardevol te zijn. Bovendien kun je beginnen met een basismodel en dit geleidelijk verfijnen.

Voor dit project koos ik voor het simulatietool AnyLogic, vooral vanwege de beschikbaarheid van een gratis versie, uitgebreide documentatie, en talrijke inspirerende filmpjes op YouTube. Ik ben gestart met het modelleren van een basisproces en de fysieke layout van het bedrijfsterrein, gebaseerd op informatie die gemakkelijk online te vinden is. De eigen website van BCA biedt bijvoorbeeld al veel inzicht in hun processen.

Stapsgewijze ontwikkeling

Na een eerste verkenning van het probleem en het tool begon ik met het inventariseren van het proces en de belangrijkste parameters. Welke stappen doorloopt dit proces en hoe kan je deze organiseren.

  • Pre-auction
    • Intake (physical & paperwork)
    • Testdrive circuit (3 lap)
    • Mechanical inspection (2 stations)
    • Cleaning (1 station)
    • Carwash (1 station)
    • Optical inspection (1 station)
    • Taxation (manual & automated)
  • Auction
  • Post-auction
    • Paperwork
    • Transport

Voor de physieke layout maak ik gebruik van luchtfotografie. De Publieke Dienstverlening Op de Kaart (PDOK) is een platform voor het ontsluiten van geodatasets van Nederlandse overheden. Daar vind je zeer nauwkeurige foto’s met een resolutie van 8cm. Allemaal gratis. Je vind er ook informatie over wegen, landgebruik en bebouwing.

Voor meer details kijk ik op Openstreetmap. Daar vind je informatie over wegen, parkeerterreinen en gebouwen. Voor zowel PDOK als Openstreetmap zijn er middelen om deze data te exporteren en vervolgens over te nemen in het Anylogic model.

Ik ben begonnen met een basismodel en een visualisatie waarmee je de reis van de auto over het terrein kan volgen. Aangezien auto’s niet zelfstandig rijden, zijn er chauffeurs nodig die de auto’s naar verschillende verwerkingsstations brengen. Het coordineren van hun bewegingen is de uitdaging. Elk station beschikt over een aantal werkplekken met gespecialiseerde bedieners. Voor elk werkstation bepaal ik de capaciteit, het aantal medewerkers en de benodigde servicetijd. Ik stel ook een werkschema op, inclusief lunchpauzes, en schat het aantal te verwerken auto’s in, wat neerkomt op ongeveer 5000 per maand, of 230 per werkdag (maandag tot vrijdag). Voorlopig houd ik nog geen rekening met machine-uitval en toiletbezoeken.

Elke stap in het proces kan je modelleren. Hier een eerste versie voor de wasserete voor de auto’s. De auto benaderd de wasserete, soms is die vrij en kan je naar binnen. Soms moet je eerst parkeren en wachten. Je kan zien dat er 2328 autos zijn gewassen en er nu 5 auto’s staan te wachten op de parkeerplaats. De bezetting van de wasserij is 58%.

Kijk je wat dieper dan merk je de problemen. Een auto met berijder verlaat het inspectiestation en een nieuwe is net binnengereden. We moeten dus een ontruimingstijd toevoegen anders krijgen we botsingen en dat is niet goed voor de verkoopwaarde. En dit probleem treed bij alle stations op dus kunnen we beter een geparametriseerd standaard station component maken.

Ik heb nog geen volledig inzicht in hoe de veiling exact verloopt. Op hun website kun je zien dat er regelmatig veilingen plaatsvinden en verschillende partijen auto’s aanbieden. Voor mijn simulatie ga ik uit van een vereenvoudigd model van een wekelijkse veiling, waarbij auto’s worden aangeboden en een bepaald percentage verkocht wordt. De overgebleven auto’s worden na twee weken opnieuw aangeboden. Uiteraard staat het vrij om hiermee te experimenteren. Momenteel bestaat het model uit de volgende componenten:

  • Auto’s: Deze worden regelmatig op het terrein aangeleverd.
  • Bestuurders: Zij verplaatsen de auto’s en bewegen zich over het terrein.
  • Stations: Dit zijn de gebouwen op de kaart waar de verwerking plaatsvindt.
  • Wegen: Noodzakelijk voor het berekenen van realistische afstanden.
  • Autosleutels: (nog toe te voegen) Een auto kan alleen rijden met een sleutel.

De eerste versie van het model is nu operationeel. Ik heb gekeken hoe complex het modelleren is en hoe ik de benodigde informatie voor rij- en loopafstanden uit de kaarten kon halen. Dit bleek nog niet zo eenvoudig, ondanks mijn ervaring met kaarten. De simulatie begint vorm te krijgen: auto’s rijden rond en de bestuurders maken logische bewegingen.

Wat levert het op?


Het doel van het simulatiemodel is het verkrijgen van inzichten die helpen bij het optimaliseren van het proces. Dit model kan antwoord geven op belangrijke vragen zoals:

  • Waar en hoe wordt de meeste tijd en geld besteed?
  • Welke procesonderdelen zijn cruciaal en veroorzaken mogelijk vertragingen?
  • Hoeveel tijd en geld kost het om een auto veilingklaar te maken?
  • Hoe efficiënt zijn de medewerkers en is er sprake van een goede werk-rustverhouding?
  • Hoe cruciaal is de communicatie en coördinatie tussen de medewerkers op het terrein?
  • Wat zijn de risico’s van verkeersconflicten tussen medewerkers en voertuigen?
  • Wat zijn de gevolgen van een tijdelijke onderbreking in de aanvoer van auto’s, en hoe wordt omgegaan met ophoping van werk? Moeten er afspraken gemaakt worden over het aantal dagelijks te verwerken auto’s?

Ik verzamel hiervoor gegevens voor analyse en rapportage. Daarnaast bied Anylogic standaard ook de mogelijkheid allerlei gegevens te verzamelen in een database. Je kan dus zowel binnen Anylogic een rapportage maken of gebruik maken van externe rapportage tools zoals PowerBI of Quick.

Een eerste vorm van rapportage binnen Anylogic

Enkele ervaringen en ontdekkingen tot nu toe

Ik ben nu zo’n twee weken bezig met mijn project, hoewel niet fulltime. In deze periode heb ik aanzienlijk veel opgestoken, niet alleen over het ontwikkelen en construeren van het model, maar ook over het reflecteren op bedrijfsprocessen en de praktische implementatie van simulatie.

Controle en validatie van modellen: Het is cruciaal om modellen te controleren en te valideren. Voor de controle moet je het traject van één auto kunnen volgen om te zien of het proces logisch verloopt, waar de meeste tijd aan wordt besteed en welke onderdelen verdere ontwikkeling vereisen. Dit is niet mogelijk als alles tegelijk actief is. Voor de validatie van het complete model kun je productiedata gebruiken.

Procesinzichten: De auto’s leggen nu tussen één en drie kilometer af en doen er ongeveer een week over om door het hele proces te gaan. Bestuurders leggen vele kilometers af, wat vanuit gezondheidsoogpunt positief is, maar dit kan wellicht efficiënter als ze bijvoorbeeld een specifiek gebied toegewezen krijgen. De capaciteit van de werkstations is niet toereikend voor alle auto’s, wat logisch is aangezien sommige auto’s al geïnspecteerd zijn door andere bedrijven. Ik schat dat ongeveer 30% door BCA zelf wordt gecontroleerd, de rest word uitbesteed.

Modulaire ontwikkeling: Het modelleren moet in meer modulaire blokken gebeuren. Elk station heeft ongeveer dezelfde eigenschappen. Ik overweeg om elk voertuig te voorzien van een contract dat de gewenste diensten aangeeft, om zo het model flexibeler te maken. De interactie tussen auto en bestuurder moet intelligenter. Een startsleutel is essentieel en moet ook in het model worden opgenomen.

Conclusie

Het creëren van een model biedt waardevolle inzichten in de dynamiek van een proces. Het proces van modelontwikkeling moedigt je aan om gestructureerd na te denken over elk aspect van het proces. Door visualisatie kun je duidelijk zien hoe het proces verloopt en waar mogelijkheden voor verbetering liggen. Hoewel het tijd kost om informatie te verzamelen en het model te ontwikkelen, is het raadzaam om eerst de mogelijkheden voor optimalisatie te verkennen en vervolgens die gebieden gedetailleerder te onderzoeken. Het is niet noodzakelijk om elk detail te modelleren om verbeteringen door te voeren.

Procesoptimalisatie met Anylogic gaat automatisch. Om processen te kunnen optimaliseren moet je ze wel geparametriseerd hebben. Het wijzigen van de physieke lay-out is echter niet te parametriseren, ik heb daar nog geen oplossing voor gevonden.

Ik ga verder met de ontwikkeling van dit model en overweeg of simulaties ook in andere domeinen toepasbaar zijn. Momenteel werk ik voor een bedrijf aan integratie met API’s, waarbij dit simulatietool gebruikt kan worden om de benodigde verwerkingscapaciteit te berekenen. Een heel ander toepassingsgebied zou verkeersveiligheid kunnen zijn, maar dan moet ik me verdiepen in verkeerssimulaties met CARLA.

Leave a comment