Je leest:

Simulatie, een luchthaven op de computer

Simulatie, een luchthaven op de computer

Je moet het ontwerpen voordat je het bouwt, maar daarvoor moet je weten hoe het ontwerp werkt als het is gebouwd en dat weet je pas als je het gebouwd hebt. Oplossing: simuleer het op een computer.

Heb je je ooit wel eens afgevraagd hoe een logistieke bijenkorf als bijvoorbeeld de luchthaven Schiphol is georganiseerd? Het is één groot mierennest van goederenstromen, bagagestromen, personen en vliegtuigen die kriskras door elkaar heen hun bestemming zoeken.

Stel dat je deze complexiteit moet organiseren. Wanneer moet je een extra incheckbalie openen, en waar? Hoeveel paspoortcontroles moeten er zijn? Langs welke route moeten vliegtuigen worden bevoorraad? Hoeveel koffers moet het bagagesysteem verwerken?

Het instrument om op deze vragen antwoord te geven is simulatie. Kort gesteld is simulatie het opstellen van een computermodel dat de werkelijke situatie nabootst en waarmee je naar hartelust kunt experimenteren.

Een voorbeeld is een recent onderzoek dat op Schiphol is verricht naar de voertuigbewegingen op de wegen rondom de terminal en de pieren. Op deze wegen rijdt een grote diversiteit aan voertuigen tussen verschillende herkomsten en bestemmingen: cateringwagens, vliegtuigtankwagens, schoonmaakwagens en bagagekarren, maar ook voertuigen als vrachtwagens en personenwagens. Ieder van deze voertuigen heeft zijn eigen, specifieke eigenschappen: een zekere snelheid, wendbaarheid, gewicht en afmeting.

De maximale snelheid op de wegen van Schiphol is weliswaar dertig kilometer per uur, maar de meeste voertuigen halen deze snelheid niet eens.

Bereikbaarheid busstation

Een gedeelte van het wegenpark dat erg druk bereden is en waar ook nog eens verschillende op- en afritten voor verschillende soorten voertuigen liggen, wordt over niet al te lange tijd aangepast. Hierbij is gebruik gemaakt van Incontrol Traffic-Sim, een simulatiegereedschap voor de modellering van verkeersprocessen. Een onderdeel van het onderzoek betrof de bereikbaarheid van het busstation. Een speciaal aandachtspunt was de vertraging die bussen oplopen en welke invloed hun route heeft op de overige verkeersstromen.

Het plan voor het busstation kan op veel verschillende manieren worden uitgevoerd. Simulatie van de diverse verkeersvarianten dient om fatsoenlijk een keuze te kunnen maken. Op basis van tekeningen van de situatie maken we simulatiemodellen die de huidige en mogelijke toekomstige scenario’s omvatten. De modellen bootsen de verkeersstromen na en proberen zo de werkelijkheid te ‘vangen’.

Ze leveren niet alleen cijfermatige resultaten, zoals bijvoorbeeld gemiddelde wachttijden, maar ook animaties waarmee je direct inzicht kunt krijgen in het hoe en waarom van opstoppingen, wachttijden en onvoorziene effecten. Animaties zijn een krachtig hulpmiddel om vanuit verschillende invalshoeken een situatie letterlijk af te beelden en inzichtelijk te maken, hoe complex die ook is.

Het gereedschap waar we het in dit artikel over hebben, heet discrete simulatie. Deze techniek van computersimulatie is veruit de meest gehanteerde methode voor logistieke vraagstellingen zoals die hierboven. Bij discrete simulatie springt de computer van gebeurtenis naar gebeurtenis in chronologische volgorde, waarbij een gebeurtenis bijvoorbeeld het arriveren van een passagier bij een balie is.

Discrete simulatie. Een eenvoudig voorbeeld van discrete simulatie is een enkele incheckbalie, waar zeven passagiers worden geholpen. De tabel geeft aankomst- en bedieningstijden, die op verschillende manieren grafisch worden weergegeven. De computer simuleert de situatie door van gebeurtenis naar gebeurtenis te springen.

Incheckbalie

Ter illustratie nemen we het voorbeeld van een enkele incheckbalie, die we gaan simuleren. Natuurlijk is dit een extreem simpel voorbeeld dat in de praktijk bovendien niet bijster interessant is, maar het dient tenslotte alleen om het principe te illustreren. Laten we allereerst als uitgangspunt nemen dat we precies weten wanneer de achtereenvolgende passagiers aankomen bij de balie, en hoeveel tijd het kost om in te checken.

De tabel in de illustratie geeft van zeven passagiers de aankomsttijd bij de balie en de tijd die nodig is om hen te helpen. De eerste gebeurtenis is de aankomst van de eerste passagier bij de balie. De volgende gebeurtenis vindt plaats ófwel als de eerste passagier klaar is en de balie verlaat, ófwel als de tweede passagier arriveert voordat de eerste klaar is. Aan de tabel is niet in één oogopslag te zien welke gebeurtenis eerst plaatsvindt. De computer berekent dat tijdens de simulatie. In dit voorbeeld arriveert passagier 2 (op tijdstip 87) voordat de eerste klaar is.

Zo berekent de computer steeds wat de volgende gebeurtenis is. Hij rekent op deze manier de hele gegevenstabel door, en houdt precies bij hoeveel passagiers op welk moment aanwezig zijn en op welke momenten dit wijzigt. Op tijdstip 222 zijn alle passagiers aan de beurt geweest. Uit de grafiek kun je direct allerhande relevante informatie aflezen. De lengte van de wachtrij op elk moment is bijvoorbeeld de hoogte van de balk in de bovenste grafiek. En de gemiddelde inchecktijd per passagier (inclusief wachten in de rij) is de oppervlakte van de grafiek gedeeld door het aantal passagiers.

Van gebeurtenis naar gebeurtenis

Dit eenvoudige voorbeeld van een enkele incheckbalie is zonder problemen uit te breiden tot een zeer complexe, logistieke situatie.

Dat de berekeningen voor de computer dan zeer snel ingewikkelder worden, is makkelijk in te zien. De computer dient immers vanaf elke gebeurtenis steeds te berekenen wat de volgende gebeurtenis is. In ons eenvoudige voorbeeld was dat niet zo moeilijk: het is ófwel het arriveren van de volgende passagier, ófwel het verlaten van de balie door de passagier die juist klaar is. Van beide mogelijke gebeurtenissen berekent de computer wanneer ze plaatsvinden, en de volgende is simpelweg de vroegste van de twee.

In complexere situaties zijn er allereerst veel meer mogelijke volgende gebeurtenissen, die de computer allemaal moet bijhouden. Daarnaast ontstaan er bovendien allerlei afhankelijkheden tussen gebeurtenissen. In ons voorbeeld van de incheckbalie liggen de aankomsttijden van de passagiers bij de balie vast. In een ingewikkelder situatie hangt bijvoorbeeld de vertrektijd van een bagagewagen af van de aankomst van de passagiers en de hoeveelheid koffers die ze bij zich dragen, omdat de wagen pas vertrekt als hij vol is. Een mens ziet dan al snel door de bomen het bos niet meer, de computer gelukkig wel.

Wachtrijen. Een simulatieprogramma kan de situatie direct in beeld brengen. Hier blijkt uit een animatie van een simulatie direct dat de wachttijden scheef zijn verdeeld over de openingsuren van de balies.

Situatie in beeld

Hoe ingewikkeld een simulatie ook wordt, het principe blijft hetzelfde als dat van onze incheckbalie. Alleen de tabel met aankomsttijden en inchecktijden bleef nog onbesproken. Waar komt die vandaan? In de praktijk genereert de computer die tabel zelf.

Neem de inchecktijd. Je kunt bij een bestaande balie een dag met een stopwatch gaan staan en de tijden noteren die de passagiers aan de balie doorbrengen. Daaruit vind je een zekere verdeling over inchecktijden: sommige passagiers zijn snel klaar, anderen hebben veel vragen of moeten onderin hun koffer naar hun paspoort op zoek.

Deze verdeling over tijden stop je vervolgens in de computer. Je laat de computer voor elke nieuwe passagier zelf een inchecktijd ‘kiezen’, volgens de verdeling die je hebt gevonden. Stel bijvoorbeeld dat de balietijd bij twintig procent van de passagiers tussen de vijf en tien minuten ligt. Je laat de computer dan met een toevalsgenerator (een soort rad van avontuur) de inchecktijden zelf genereren, maar zó dat twintig procent tussen de vijf en tien minuten ligt.

Deze variatie in tijden is belangrijk. Juist de onzekerheden en de wisselende tijden veroorzaken problemen, zoals explosieve wachttijden en opstoppingen.

Animaties

Simulatie is een prachtig instrument om beslissingen te onderbouwen. Als Schiphol het aantal incheckbalies moet uitbreiden en het management vraagt zich af hoeveel nieuwe balies er waar moeten komen, kunnen we met een simulatie naar hartelust experimenteren zonder dat dit gevolgen heeft voor de werkelijkheid.

Meestal zijn er diverse alternatieven waarvan op voorhand niet duidelijk is welke de beste is. Vaak is het zelfs niet eens duidelijk welke alternatieven er zijn, omdat er geen inzicht in het probleem bestaat. Als er opstoppingen aan de incheckbalies ontstaan terwijl je geen idee hebt waar die vandaan komen, heeft het geen zin om blind oplossingen te verzinnen. Je weet immers volstrekt niet in welke richting je die moet zoeken.

Een simulatie van de bestaande situatie kan inzicht geven in oorzaak-gevolgrelaties. Zeker ook de animaties, dus het zichtbaar maken van de simulatie, helpen hierbij. Je kijkt naar de virtuele werkelijkheid op het beeldscherm, terwijl je allerhande parameters (zoals inchecktijden en aantallen passagiers) verandert. Zo krijg je een idee waar de oorzaak van het probleem ligt, en kun je veel gerichter naar alternatieven zoeken.

Een voorbeeld is een recent onderzoek bij een internationale luchtvaartmaatschappij. Met name in het eerste uur dat de balies open waren, drie uur voor aanvang van de vlucht, ontstonden lange wachttijden en in feite zes balies vereist waren. Tijdens de laatste twee uren volstond daarentegen een enkele balie. Deze scheve verdeling werd in de animatie van de simulatie direct zichtbaar. Zo werden zowel de balietijd als de wachttijd korter door de openingstijden van de balies aan te passen.

Vereenvoudiging

Simulaties, en de animaties die hierbij worden gebruikt, zijn een middel om het beslisproces te ondersteunen en te rationaliseren. In het Engels wordt dit aangeduid met decision support. Bij het opzetten van een simulatie is het zaak goed duidelijk te krijgen welke vragen moeten worden beantwoord en welke inzichten de simulatie moet opleveren. Het model vereenvoudigt immers de werkelijkheid. Hier speelt afbakening een rol: welke elementen uit de werkelijkheid neem je mee en welke laat je weg?

Belangrijk daarbij is de mate van detaillering. Aan de incheckbalie kun je elke handeling van passagier en baliemedewerker minutieus simuleren. Als het gaat om een besluit over het openen van een extra balie, is dat wellicht niet zo relevant en kun je volstaan met één ‘balietijd’ voor het inchecken. De art of simulating is derhalve de kunst om de juiste mate van detaillering te kiezen.

Schiphol is een mooi voorbeeld voor de discrete simulaties omdat een erg complexe en diverse logistiek aanwezig is. Discrete simulaties zijn echter op een bijzonder breed scala van toepassingen inzetbaar. Wat is bijvoorbeeld de beste strategie voor een lift die op verschillende verdiepingen verschillende aanvragen krijgt, of wat is de gevoeligheid van het spoorwegennet voor storingen?

Hoeveel medewerkers moet een call center hebben, en wat gebeurt er als je verschillende van die centra aan elkaar koppelt? Hoeveel voorraad houdt een supermarkt in het magazijn, en hoe zorgt de manager dat de schappen tijdig worden bijgevuld? Hoe richt je een overslagterrein voor containers in, en hoeveel kranen heb je daarvoor nodig? Het is allemaal logistiek en het is allemaal simuleerbaar. De lijst is naar believen aan te vullen.

Windows-omgeving

Degene die zich enkele jaren geleden bezighield met simulatie, moest een programmeur zijn die zelf honderden regels complexe programmacode schreef en testte. Een trend die heden ten dage de kop opsteekt, is het gebruik van speciale bibliotheken van simulatiecomponenten. In het geval van passagierslogistiek bevatten ze bijvoorbeeld looproutes, wachtruimten, gangpaden en dergelijke.

De componenten vinden hun plaats op een grafisch werkscherm – normaal gesproken in een Windows-achtige omgeving. Met de muis sleep en plaats je gangpaden, balies en wachtruimten, die je vervolgens middels een windowtje van de gewenste eigenschappen voorziet. Programmeren komt er niet meer aan te pas, zodat het opstellen van een simulatiemodel sneller en betrouwbaarder wordt.

Een simulatiemodel maken is op deze manier geen technische aangelegenheid meer. De technische complexiteit ligt verscholen in de componenten van de simulatie, en die zijn door anderen gemaakt. Een voorbeeld is Pax-Sim (Pax staat voor ‘passengers’) een bibliotheek van bouwstenen voor de simulatie van mensenstromen.

Zeer recent heeft het bedrijf Incontrol samen met Railned het programma Simone ontwikkeld, waarin het gehele Nederlandse spoorwegnet is opgenomen. Railned beheert voor de Nederlandse overheid het spoorwegennetwerk. Simone is een simulatieomgeving speciaal voor het analyseren van complexe spoorwegnetwerken. Ook hiervoor geldt dat de gebruiker zich volledig kan concentreren op het simulatiemodel, zonder zelf de computer te hoeven programmeren.

Dit artikel is een publicatie van Natuurwetenschap & Techniek.
© Natuurwetenschap & Techniek, alle rechten voorbehouden
Dit artikel publiceerde NEMO Kennislink op 01 september 2000

Discussieer mee

0

Vragen, opmerkingen of bijdragen over dit artikel of het onderwerp? Neem deel aan de discussie.

LEES EN DRAAG BIJ AAN DE DISCUSSIE