NS_dienstregelingAfgelopen vrijdag was ik in Nemo bij de lancering van de Internationale Wiskunde Olympiade (International Mathematics Olympiad, IMO). In 2011 zal Nederland gastland zijn, voor het eerst in het ruim vijftigjarig bestaan van de IMO. Vrijdag was de eerste ronde van deze prestigieuze wiskundewedstrijd, die uiteindelijk zal leiden tot de internationale finale in de zomer van volgend jaar. Terwijl de middelbare scholieren zaten te zwoegen op moeilijke opgaven, vond er tegelijk een officiële opening van het geheel plaats, met speeches van onder andere Job Cohen, Marja van Bijsterveldt en Robbert Dijkgraaf. Haast alle sprekers focusten in hun praatje op het belang van wiskunde en wiskundigen voor de samenleving. En zeker twee sprekers noemden als voorbeeld de dienstregeling van de NS.

Een wiskundig model

De huidige dienstregeling hebben we inderdaad te danken aan een wiskundige: Lex Schrijver, hoogleraar aan de UvA. Hij maakte een wiskundig model om alle voorwaarden voor een goede dienstregeling in te vatten, en berekende op basis hiervan optimale treintijden. Sommige van deze voorwaarden liggen enorm voor de hand. Zo moet een trein ongeveer tussen de 1 en 10 minuten stilstaan op een station: mensen moeten tijd hebben om in te stappen, maar worden ongeduldig als ze te lang stilstaan.

Andere voorwaarden gaan bijvoorbeeld over de vertrektijden van twee treinen over hetzelfde spoor: in principe moet er minstens 3 minuten tussen zitten. Maar als een intercity vertrekt na een stoptrein, kan hij die niet zomaar inhalen. De intercity moet dus niet te snel erna vertrekken. Aan de andere kant heeft te lang wachten als gevolg dat er alweer een volgende stoptrein vertrekt. Voor dit soort situaties is het handig om uit te gaan van een patroon dat zich elk uur herhaalt: een zogenaamd Basis Uur Patroon (BUP). Dan kunnen dit soort voorwaarden handig gevat worden in een interval van 60 minuten. Ook de dienstregeling van de NS herhaalt zich in principe elk uur, met kleine aanpassingen in bijzondere gevallen, zoals in de spits of in het weekend.

Spelen met treintijden

Bij de lancering van de wiskundeolympiade afgelopen vrijdag kwam de NS niet alleen ter sprake in de speeches, maar stond ik zelf bij een stand (van de Praktijk) waar je met het maken van zo’n dienstregeling kon experimenteren. Zo’n honderd uitverkoren leerlingen mochten de eerste ronde van de olympiade in Nemo maken, en kwamen daarna naar beneden voor een hapje en een drankje. Naast een boel andere toffe activiteiten zoals zeepbellen in de vorm van hyperkubussen of möbiusbanden (bij de stand van de TU/e), stonden wij daar met een computerprogramma van It’s Lab. It’s Lab laat leerlingen kennismaken met de wetenschap en in Nemo konden ze daar even een heel kort voorproefje van krijgen; ze konden zelf een dienstregeling maken voor het traject Amsterdam Centraal – Alkmaar – Hoorn.

Zelf heb ik heel wat tijd doorgebracht met dit computerprogramma (dat helaas niet vrij te downloaden is). Je kunt per station aangeven hoe lang een trein daar mag stilstaan, en hoe goed de overstaptijden moeten zijn. Als je overal vrij gemiddelde voorwaarden invult krijg je een acceptabele dienstregeling. Maar dan zie je bijvoorbeeld dat reizigers van Alkmaar naar Amsterdam Centraal wel erg lang stilstaan op Sloterdijk. Een beetje zonde van hun tijd. Pas je deze voorwaarde aan, dan gaat het ineens weer mis voor reizigers de andere kant op, of reizigers die met de stoptrein willen. Ik heb er een tijdje mee zitten klooien, en het is echt onmogelijk! Pas je ergens iets aan, dan gaat het ergens anders wel weer helemaal mis.

Gelukkig hoeven dit soort dingen niet met de hand berekend te worden, en ook niet door wat te prutsen met de voorwaarden zoals ik met dit computerprogramma deed. Daar hebben we nou wiskundigen voor, aldus Cohen en Van Bijsterveldt. En hoewel we de laatste tijd misschien niet zo tevreden zijn over de NS, deze twee sprekers hadden gelijk toen ze los van elkaar dezelfde opmerking maakten: aan die sneeuw van de afgelopen weken kon de wiskunde natuurlijk niks doen.