• No results found

Een netwerkmodel voor het rangeerprobleem met reiniging

In document Het rangeren van treinen in de nacht (pagina 54-61)

4 Ondersteuning voor het plannen van een nachtovergang

4.6 Een netwerkmodel voor het rangeerprobleem met reiniging

doelstelling is het minimaliseren van de kosten van het opstellen en verplaatsen van treinstellen.

Definitie:

K : verzameling van materieeltypen. De index k wordt gebruikt om de materieeltypen aan te duiden.

Verder wordt de notatie uit sectie 4.5.2 voor het modelleren van de infrastructuur van een knooppunt gebruikt. Daarin is G = (N,A) het ruimte-tijdnetwerk van een knooppunt. In het vervolg wordt het netwerkstroommodel aangeduid als het rangeermodel.

4.6.1 Netwerkstroommodellen

In deze sectie wordt ingegaan op de theorie van netwerkstroommodellen (network flow

models). Het concept van netwerkstroommodellen wordt veelvuldig toegepast om problemen op meerdere gebieden te modelleren en op te lossen. De modellen worden onder andere gebruikt voor logistieke problemen, problemen die zich voordoen bij communicatiesystemen, roosterproblemen en voorraadproblemen.

De tekst in deze sectie is voor een groot deel gebaseerd op Ahuja [3], waarin meerdere netwerkmodellen en oplosmethoden worden behandeld. In de operations research (OR) wordt veelal uitgegaan van de Engelse termen bij het weergeven van de problemen. In deze scriptie worden de Nederlandse termen gebruikt, waarbij de Engelse termen in een aantal gevallen eveneens tussen haken vermeld worden.

Minimale kostenstroommodel

Het minimale kostenstroommodel modelleert een minimale kosten stroomprobleem. In het

minimale kostenstroomprobleem moet een stroom bepaald worden tussen een bron s en een put t.

Om een minimale kostenstroommodel wiskundig te formuleren, worden eerst de volgende definities gegeven:

N: verzameling van n knopen.

A: verzameling van m gerichte pijlen.

G = (N,A): gericht netwerk, dat is gevormd door de knopen uit A en de pijlen uit N.

ij

c : kosten per eenheid stroom door pijl (i,j) ∈ A.

ij

u : capaciteit van pijl (i,j) ∈ A. De capaciteit komt overeen met de maximale hoeveelheid, die door de pijl kan stromen. u ∈ {0,1,…}ij .

ij

l : ondergrens van pijl (i,j) ∈ A. De ondergrens komt overeen met de minimale hoeveelheid, die door de pijl moet stromen. l ∈ {0,1,…}ij .

Voor elke knoop i∈ N geeft b(i) de vraag naar eenheden stroom of het aanbod van eenheden stroom. Het netwerkprobleem in deze scriptie is een geheeltallig probleem. Daarom geldt dat

b(i) ∈ {0,1,…}. Als b(i) > 0, dan is i een aanbodknoop (supply node). Als b(i) < 0, dan is i een vraagknoop (demand node). Als b(i) = 0, dan geldt dat i een doorvoerknoop

(transshipment node) is. De stroom door pijl (i,j)∈ A wordt weergegeven door xij. De kosten van de totale stroom tussen een bron s en een put t zal geminimaliseerd moeten worden. De volgende formulering geeft het minimale kostennetwerkstroommodel weer:

Minimaliseer Z =

∈A j i, ) ( ij c xij (1)

onder de voorwaarden dat

∈A j i j:(, ) xij -

∈A i j j:( ,)

xji = b(i) voor alle i ∈ N (2)

ij

lxijuij voor alle (i,j) ∈ A (3)

Er geldt dat n i 1=

b(i) = 0, zodat de totale vraag gelijk is aan het totale aanbod.

De voorwaarden in (2) zijn de stroom balansvoorwaarden (mass balance constraints) voor de knopen i ∈ N. De eerste term geeft voor een knoop het aantal eenheden uitgaande stroom

(outflow), dat is de stroom die een knoop verlaat, en de tweede term geeft het aantal eenheden ingaande stroom (inflow), dat is de stroom die een knoop bereikt. De stroom balansvoorwaarden garanderen, dat voor elke knoop i ∈ N de ingaande stroom minus de uitgaande stroom gelijk moet zijn aan de vraag of het aanbod van de knoop. Voor een vraagknoop zal de ingaande stroom groter zijn dan de uitgaande stroom. Voor een aanbodknoop zal de uitgaande stroom groter zijn dan de ingaande stroom. Voor een doorvoerknoop zal de uitgaande stroom gelijk zijn aan de ingaande stroom.

De stroom die door een knoop gaat moet voldoen aan de ondergrens- en de capaciteitsvoorwaarden (flow bound constraints) in (3).

Multicommodity netwerkstroommodellen

Het minimale kostenstroommodel modelleert de stroom van een enkele commodity over een netwerk. Wanneer meerdere commodities gebruik maken van hetzelfde netwerk is er sprake van een multicommodity stroommodel. De verschillende commodities worden aan elkaar gerelateerd door de capaciteiten van de pijlen. Er is uitgegaan van een minimale kosten probleem. De totale kosten van alle stromen moeten dus geminimaliseerd worden, waarbij de capaciteit van een pijl door de commodities gedeeld zal worden. Een voorbeeld van een multicommodity netwerkstroomprobleem is het vervoeren van passagiers vanaf verschillende opstapplaatsen naar verschillende bestemmingen. De passagiers zijn de commodities. Een stroom betreft het vervoeren van een passagier van zijn opstapplaats naar de gewenste bestemming.

Definitie:

K : verzameling van commodities. De index k wordt gebruikt om een commodity aan te duiden.

(i,j)∈A. Er wordt verondersteld dat de ondergrens voor elke pijl gelijk aan 0 is en dat u de ijk

capaciteit van pijl (i,j) ∈ A is voor commodity k (∈ K).

De vector b (i) is de vector, die de vraag of het aanbod aangeeft in de knopen i ∈ N voor elke k

commodity k ∈ K.

Het multicommodity flow probleem kan als volgt worden geformuleerd:

Minimaliseer Z =

∈A j i, ) (

∈K k ij c x ijk (1a)

onder de voorwaarden dat

∈A j i j:(, ) k ij x -

∈A i j j:( ,) k ji

x = b (i) k voor alle i ∈ N, k ∈ K (2a)

0 ≤ k ij

x ≤ k ij

u voor alle (i,j)∈A, k∈K (3a)

∈K

k k ij

x ≤ u ij voor alle (i,j) ∈ A (4a)

De voorwaarden in (2a) zijn de stroombalansvoorwaarden van de knopen i ∈ N voor elke commodity k = 1,2,…,K. De voorwaarden in (3a) zijn de capaciteitsvoorwaarden. De

voorwaarden in (4a) zijn de bundelingvoorwaarden (bundle constraints). De

bundelingvoorwaarden verbinden de commodities met elkaar door restricties te leggen op de totale stroom ∑1≤ k ≤ K

k ij

x van alle commodities door de pijl (i,j) ∈ A. De capaciteit van een pijl

zal verdeeld moeten worden tussen de commodities.

In het rangeerprobleem verschillen de commodities wat betreft de fysieke eigenschappen. Er wordt onderscheid gemaakt in het materieeltype waartoe treinstellen behoren en of een treinstel al dan niet gereinigd is.

4.6.2 Beslissingvariabelen van het rangeermodel

Voor elke k ∈ K en (i,j) ∈ A zijn de (binaire) beslissingsvariabelen van het rangeermodel xijk en yk

ij. De variabelen xk

ij geven de stromen van type VR (zie sectie 4.5.3) weer. Wanneer pijl

(i,j) ∈ A niet gebruikt wordt voor het opstellen of verplaatsen van niet-gereinigde treinstellen van materieeltype k, dan xkij = 0. De variabelen yijk geven de stromen van type NR weer. Wanneer pijl (i,j) ∈ A niet gebruikt wordt voor het opstellen of verplaatsen van gereinigde treinstellen van materieeltype k, dan ykij = 0.

Er geldt: - xk

ij: beslissingvariabele, die aangeeft of een treinstel van materieeltype k gebruik maakt van (i,j) ∈ A voor het reinigingsmoment (xkij = aantal niet-gereinigde treinstellen van materieeltype k dat gebruik maakt van (i,j)∈ A).

- yk

ij: beslissingvariabele, die aangeeft of een treinstel van materieeltype k gebruik maakt van (i,j) ∈ A na het reinigingsmoment (yijk = aantal gereinigde treinstellen van materieeltype k dat gebruik maakt van (i,j)∈ A).

- xk

ij, yijk ∈ {0,1} voor alle (i,j)∈ A, voor alle k ∈ K.

4.6.3 Parameters en functies van het rangeermodel

Aan het opstellen en verplaatsen zijn kosten verbonden. Bij het bepalen van de kosten van het opstellen en verplaatsen van een treinstel wordt niet gekeken naar het materieeltype waartoe een treinstel behoort; de kosten voor het gebruik van (i,j) ∈ A zijn onafhankelijk van k ∈ K. Er geldt:

cij : kosten per eenheid stroom voor het gebruik van (i,j) ∈ A.

Om de vraag naar en het aanbod van stroom van type VR aan te duiden, wordt voor elke i∈N de functie fi : N → {0,1,...} als volgt gedefinieerd:

- fi(k) = 1 knoop i is een aanbodknoop en behoort tot de bron van de stroom treinstellen van materieeltype k.

- fi(k) = -1 knoop i is een vraagknoop en behoort tot de put van de stroom treinstellen van materieeltype k.

- fi(k) = 0 in alle overige gevallen met i ∈ N , k ∈ K.

Om de vraag naar en het aanbod van stroom van type NR aan te duiden, wordt voor elke i∈N de functie gi : N → {0,1,...} als volgt gedefinieerd:

- gi(k) = 1 knoop i is een aanbodknoop en behoort tot de bron van de stroom treinstellen van materieeltype k.

- gi(k) = -1 knoop i is een vraagknoop en behoort tot de put van de stroom treinstellen van materieeltype k.

- gi(k) = 0 in alle overige gevallen met i ∈ N , k ∈ K.

Treinstellen kunnen niet van positie wisselen. Voor t = 1,…,T-1 kunnen de verplaatsingspijlen

(s(p)′,t)→(s(p)′′,t+1) en (s(p)′′,t)→(s(p)′,t+1) niet beiden in gebruik zijn. In figuur 4.6 gaf

situatie a een grafische toelichting. In figuur 4.7 werden de consequenties voor het ruimte-tijdnetwerk getoond.

Wanneer (i,j) ∈ Av de verplaatsingspijl (s(p)′,t)→(s(p)′′,t+1) aanduidt, dan wordt de verplaatsingspijl in tegenovergestelde richting (s(p)′′,t)→(s(p)′,t+1) gedefinieerd door (i,j)′ :

Av Av :

- (i,j)′ = ((g,h) ∈ Av)| ((g,h) = (s(p)′′,t)→(s(p)′,t+1))

4.6.4 Doelstelling van het rangeerprobleem

Doelstelling : Minimaliseer Z =

∈A j i, ) (

∈K k cij ( xkij + ykij ) (1)

4.6.5 Voorwaarden van het rangeermodel

De stroom balansvoorwaarden voor het rangeerprobleem worden gegeven in (2a) en (2b). Een stroom van type VR betreft het opstellen en verplaatsen van de niet-gereinigde treinstellen van een materieeltype. Voor elke knoop geven de voorwaarden in (2a) de balansvoorwaarden voor een stroom van type VR. De voorwaarden in (2b) geven de balansvoorwaarden voor een stroom van type NR.

∈A j i j:(, ) k ij x -

∈A i j j:( ,) k ji

x = fi(k) voor alle i ∈ N, k ∈ K (2a)

∈A j i j:(, ) ykij -

∈A i j j:( ,) ykji = gi(k) voor alle i ∈ N, k ∈ K (2b)

Voor elke beslissingsvariabele van het model gelden ondergrens– en capaciteitsvoorwaarden. Deze voorwaarden worden gegeven in (3a) en (3b).

0 ≤ x ≤ 1 ijk voor alle (i,j) ∈ A, voor alle k ∈ K (3a)

0 ≤ ykij ≤ 1 voor alle (i,j) ∈ A, voor alle k ∈ K (3b)

De bundelingvoorwaarden in (4) garanderen dat een pijl gebruikt wordt voor het opstellen of verplaatsen van maximaal één treinstel.

∈K k ( k ij x + yk

ij ) ≤ 1 voor alle (i,j) ∈ A (4)

In sectie 4.5.2 is gekeken naar de gevolgen van specifieke kenmerken van het railsysteem voor het ruimte-tijdnetwerk. Figuur 4.6 geeft een toelichting op deze kenmerken.

Sitautie b en situatie c maken duidelijk dat een spoorpositie gedurende een tijdinterval door maximaal één treinstel gebruikt kan worden. Voor knopen uit het ruimte-tijdnetwerk heeft dit tot gevolg dat er een maximaal één eenheid stroom een knoop kan bereiken. De voorwaarden in (5) bepalen dat de totale stroom door de pijlen naar een knoop i ∈ N niet groter is dan één eenheid stroom.

∈K k

∈ } ) , ( : {j ji A ( k ji x + yk ji) ≤ 1 voor alle i ∈ N (5)

Situatie a maakt duidelijk dat treinstellen niet kunnen wisselen van spoorpositie. Voor elk moment dat samenvalt met het einde van een tijdinterval wordt een directe verbinding tussen twee spoorposities a en b weergegeven door twee pijlen in het ruimte-tijdnetwerk: een pijl die de verplaatsingsmogelijkheid van a naar b modelleert en een pijl die de verplaatsingsmogelijkheid van b naar a modelleert (de tegenovergestelde pijl). Door deze pijlen kan maximaal één eenheid stroom verplaatst worden.

Het bovenstaande wordt wiskundig voor elke pijl (i,j)∈ A en de daarbij horende pijl in tegenovergestelde richting, (i,j)′ ∈ A, geformuleerd in de voorwaarden in (6).

∈K

k

((x + yijk ijk ) + (xijk' + ykij')) ≤ 1 voor alle (i,j) en (i,j)′ ∈ Av (6)

De beslissingsvariabelen van het rangeermodel zijn binair. De binaire voorwaarden voor elke beslissingsvariabele worden gegeven in (7).

xk ij, yk

ij ∈ {0,1} voor alle (i,j) ∈ A, k ∈ K (7)

De voorwaarden in (3a) en (3b) en (4) liggen opgesloten in de voorwaarden in (5) en (7). Deze voorwaarden zijn dus overbodig. Het rangeermodel bestaat uit de doelstellingsfunctie in (1) en de voorwaarden in (2a), 2(b) en (5) – (7).

Een overzicht van de gebruikte notatie en van het rangeermodel wordt eveneens gegeven op pagina 84 en 85.

4.6.6 Grootte van het rangeermodel

De grootte van het rangeermodel is afhankelijk van het aantal knopen en pijlen in het ruimte-tijdnetwerk en het aantal verschillende materieeltypen. In tabel 4.7 is een overzicht te zien, die een indicatie geeft van het aantal variabelen en voorwaarden van het rangeermodel. Omdat het een indicatie is, wordt geen onderscheid gemaakt tussen opstelpijlen en verplaatsingspijlen.

Definities:

K : het aantal materieeltypen.

Q : het aantal knopen dat een (spoorpositie,tijdinterval)-combinatie van een knooppunt aanduidt.

P : het aantal pijlen dat een opstel- of verplaatsingsmogelijkheid aanduidt.

Aantal variabelen xijk, ykij 2 (K * P)

Aantal voorwaarden (2a) en (2b)

2 (K * Q) Aantal voorwaarden (5) Q Aantal voorwaarden (6) ½ P Aantal voorwaarden (7) 2 (K * P)

Totaal aantal voorwaarden Q (2 K + 1) +P (2K + ½)

Tabel 4.7 Indicatie van aantallen variabelen en voorwaarden van het rangeermodel.

De experimenten uit hoofdstuk 6 zijn opgezet voor het knooppunt Zwolle. Voor het modelleren van de infrastructuur wordt een netwerk gebruikt bestaande uit meer dan 20.000 knopen en ongeveer 200.000 pijlen. De NS zet meerdere materieeltypen in, waardoor het

het aantal variabelen en voorwaarden wordt daarom geconcludeerd dat de optimale oplossing niet in een aanvaardbare tijd van 10-15 minuten bepaald kan worden, zie ook paragraaf 4.2. Voor het oplossen van het rangeermodel zal daarom gebruik worden gemaakt van een heuristiek, dat is een algoritme die een toelaatbare oplossing kan bepalen. Hoofdstuk 5 zal de gebruikte heuristiek voor het oplossen van het rangeermodel beschrijven. Voor een uitgebreide toelichting op de begrippen algoritme, polynomiale tijd en heuristiek wordt verwezen naar Sierksma [21].

In document Het rangeren van treinen in de nacht (pagina 54-61)