Download Full Text (Final Version , 296kb)

(S-1,S)-voorraadmodel voor verouderende vliegtuigmodellen
Ivo Landzaat 348875
August 25, 2014
Abstract
In deze scriptie wordt het voorraadbeheer bij vliegtuigmodellen geanalyseerd, waarvan er steeds
meer vliegtuigen uit de roulatie gaan. Wanneer er steeds minder wordt gevlogen met een bepaald
vliegtuigmodel, zal een leverancier op een gegeven moment moeten stoppen met het produceren
van reserve onderdelen voor dit model. Centraal in deze scriptie staat het bepalen van wanneer
en hoeveel extra reserve onderdelen een vlietuigmaatschappij moet inslaan, alvorens de leverancier
sluit. Dit wordt gedaan door middel van een gesimuleerd (S-1,S)-voorraadmodel, waarin er sprake
is van een non-stationaire vraag. Een onderdeel in dit model is de optimale voorraadpositie bepalen
voor de leverancier aan het einde van elk jaar. Aan dit onderdeel zal extra aandacht worden besteed,
alvorens het uiteindelijke model beschreven zal worden.
1
Contents
1 Introductie
3
2 Relevante onderwerpen
2.1 (S-1,S)-voorraadmodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Kosten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Vraag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5
5
6
3 Opzet modellen
3.1 Stationair model . . . . . . . . .
3.1.1 Kenmerken model . . . .
3.1.2 Parameters en variabelen
3.1.3 Simulatie . . . . . . . . .
3.2 Model met obscolescence kosten .
3.3 Non-stationair model . . . . . . .
3.3.1 Kenmerken model . . . .
3.3.2 Parameters en variabelen
3.3.3 Simulatie . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
8
10
12
13
13
13
14
4 Resultaten
4.1 Stationaire modellen . . . . . . . . . . . .
4.1.1 Model zonder obsolescence kosten
4.1.2 Vergelijking met analytisch model
4.1.3 Model met obsolescence kosten . .
4.2 Non-stationair model . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
17
19
20
22
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Conclusie en uitbreidingen
24
6 Referenties
25
2
1
Introductie
Deze scriptie analyseert het voorraadbeheer van een vliegtuigmodel dat op leeftijd komt. Vliegtuigen bestaan uit ongeveer dertigduizend onderdelen, waarvan de meeste benodigd zijn om een
vliegtuig veilig te laten opereren. Regelmatig zijn sommige onderdelen toe aan vervanging, in welk
geval reserve onderdelen moeten worden besteld bij een leverancier. In deze scriptie concentreren
we ons op ´e´en enkele original equipment manufacturer (OEM) als fabrikant en leverancier van deze
reserve onderdelen voor dit vliegtuigmodel. Dit OEM heeft voor elk onderdeel van het vliegtuig
onderdelen op voorraad, zodat wanneer een bestelling van een vliegtuigmaatschappij binnenkomt,
deze zo snel mogelijk kan worden volbracht.
Een verschijnsel bij vliegtuigmodellen die op leeftijd komen, is dat de vraag naar reserve onderdelen steeds verder afneemt, omdat het aantal operationele vliegtuigen steeds verder afneemt. Dit is
een probleem voor het OEM om de simpele reden dat als de vraag te laag wordt, het niet meer
rendabel blijft om reserve onderdelen voor dit model te produceren. Dit gegeven brengt op zijn
beurt weer problemen mee voor vliegtuigmaatschappijen die met dit model vliegen. Vaak sluit een
OEM namelijk op een tijdstip waarop er nog steeds vliegtuigen voor dit model operationeel zijn. In
zo’n geval kunnen de nog operationele vliegtuigen geen nieuwe reserve onderdelen meer bestellen.
Wanneer er daarna een nieuw mankement optreedt bij een vliegtuig, kan dit dus niet meer worden
gerepareerd, en kan dit vliegtuig in principe niet meer verder gebruikt worden.
Het is dus van groot belang voor een vliegtuigmaatschappij die vliegt met dit model om extra reserve
onderdelen in te slaan voordat het OEM sluit. Hierbij staat de maatschappij voor twee belangrijke
vragen. De eerste vraag is wanneer het OEM zal sluiten, en de maatschappij dus extra onderdelen
moet inslaan. De tweede vraag is hoeveel onderdelen er moeten worden ingekocht wanneer dit
moment is aangebroken. Het is belangrijk dat de maatschappij een zo goed mogelijke schatting
maakt van hoeveel onderdelen er nodig zullen zijn tot het punt dat de laatste vliegtuig stopt met
vliegen. Wanneer er namelijk te weinig reserve onderdelen worden ingekocht, kunnen vliegtuigen
op een gegeven moment vanzelfsprekend niet meer gerepareerd worden. De maatschappij moet dan
noodgedwongen stoppen met het vliegen van deze vliegtuigen. Wanneer er aan de andere kant te
veel reserve onderdelen worden ingekocht, brengt dit weer onnodig extra kosten met zich mee. Ten
eerste zijn de opslagkosten dan hoger dan nodig is. Ten tweede moeten onderdelen die overblijven
nadat de laatste vliegtuig uit de roulatie is gegaan worden gesloopt. Dit slopen brengt ook weer
kosten met zich mee.
We zullen ons in deze scriptie voor een deel op het Fokker 100 model richten. Het ligt in de lijn
der verwachting dat dit model in de nabije toekomst zal stoppen met vliegen, en daarom is dit een
geschikt model voor ons onderzoek. De Fokker 100’s waren in productie van 1988 tot en met 1996
(Flyfokker, n.d.). Op dit moment zijn er enkele onderleveranciers actief welke onderdelen leveren
voor Fokker 100 vliegtuigen. Zoals eerder vermeld is zullen we ons concentreren op ´e´en enkele leverancier, en zullen we deze leverancier ’het OEM’ noemen. De data voor de Fokker 100 is voor ons
echter beperkt, dus zullen er in deze scriptie enkele versimpelingen en aannames worden gemaakt.
Het doel van de modellen zal hier echter niet al te veel onder lijden. We zullen ons onderzoek
´ en vliegtuigonderdeel met een relatief hoge vraag en ´e´en met
richten op twee typen onderdelen. E´
een relatief lage vraag.
3
Het model dat bepaalt wanneer het OEM zal sluiten en hoeveel reserve onderdelen er moeten worden ingekocht door de vliegtuigmaatschappij, staat centraal in deze scriptie. In dit model is er
sprake van een dalende, non-stationaire vraag naar vliegtuigonderdelen. In dit model zit een ander
’sub-model’ inbegrepen, welke per jaar de optimale voorraadpositie voor het OEM bepaalt. In
dit model is er sprake van een constante, stationaire vraag. We zullen twee versies van dit model
bestuderen, ´e´en versie waarin er geen rekening wordt gehouden met obsolescence kosten, en ´e´en
model waarin hier wel mee rekening wordt gehouden. We zullen eerst deze twee modellen analyseren, voordat we dit met het uiteindelijke model doen. We doen dit om twee redenen. Ten eerste
is het makkelijker om een model stapsgewijs op te bouwen tijdens het programmeren ervan. Ten
tweede kunnen we een stationair model gemakkelijker vergelijken met een analytisch model, om te
checken of het model correct is geprogrammeerd.
De scriptie is als volgt gestructureerd. In Sectie 2 zal aanvullende informatie worden verstrekt over
onderwerpen die in de scriptie aan bod komen. In Sectie 3 worden de modellen beschreven die
gebruikt zullen worden om het probleem te analyseren. Vervolgens worden in Sectie 4 de resultaten
van experimenten gegeven die met de stationaire modellen en het non-stationaire model zijn gedaan.
Ook zullen de stationaire modellen met een analytisch model worden vergeleken. Tot slot zal in
Sectie 5 de conclusie worden gegeven evenals tips voor eventuele uitbreidingen op dit onderzoek.
4
2
Relevante onderwerpen
In Sectie 1 is het probleem ge¨ıntroduceerd waar in deze scriptie aandacht aan zal worden besteed.
Alvorens in Sectie 3 de opzet van de modellen wordt beschreven, wordt in deze Sectie verschillende
onderwerpen besproken die relevant zijn voor het begrijpen van deze modellen.
2.1
(S-1,S)-voorraadmodel
Ten eerste beschrijven we het type model wat gebruikt zal worden voor het beschrijven van het
voorraadbeheer. We hebben dus te maken met een vraag naar reserve onderdelen van een bepaald
vliegtuigmodel. Vliegtuigonderdelen worden doorgaans gekenmerkt door hoge kosten en een relatief lage vraag-rate. In andere woorden; Vliegtuigonderdelen zijn ’slow-moving’ goederen. Een
logisch model voor zo’n goed is het (S-1,S)-voorraadmodel. De reden hiervoor is dat het (S-1,S)voorraadmodel geen fixed order kosten in het model opneemt, en deze in onze situatie ook niet van
belang zijn. Dit komt doordat bij een goed met zo’n hoge waarde, de holding- en backorder kosten
veel hoger zijn dan de fixed order kosten. De fixed order kosten zijn dus eigenlijk te verwaarlozen
(Dekker and Farenhorst-Yuan, 2013: 10). Wat deze kosten precies inhouden wordt beschreven in
Sectie 2.2. Bovendien gebruiken we het (S-1,S)-model in plaats van bijvoorbeeld het (S,s)-model,
omdat door de lage vraag-rate de situatie bijna niet voorkomt waarin er meer dan ´e´en onderdeel
per keer wordt besteld. Er hoeft dus praktisch steeds maar ´e´en onderdeel bijbesteld te worden
door het OEM om terug tot het oorspronkelijke voorraadniveau te komen, en dit is wat er in een
(S-1,S)-model gebeurt.
2.2
Kosten
In Sectie 2.1 zijn verschillende kosten aan bod gekomen. In deze Sectie worden deze in meer detail
beschreven. We onderscheiden vier verschillende kosten die in deze scriptie voor komen:
• Fixed order kosten
• Backorder kosten
• Holding kosten
• Obsolescence kosten (’overtolligheidskosten’)
Fixed order kosten zijn vaste kosten die gemaakt worden als een maatschappij een bestelling voor
een onderdeel bij het OEM plaats. Denk hierbij aan kosten die verbonden zijn aan de administratie
en de transportatie van het onderdeel. In de modellen in deze scriptie zijn de fixed order kosten
niet van belang.
Backorder kosten zijn kosten die gemaakt worden als een bestelling binnenkomt bij het OEM, maar
deze niet meteen kan worden verwerkt omdat er op dat moment geen voorraad aanwezig is. In dat
geval moet er een backorder (nabestelling) worden geplaatst, en hier zijn kosten aan verbonden.
Het gaat hierbij vooral om de praktische kosten om dit onderdeel te laten nabestellen, maar er kan
bijvoorbeeld ook worden gedacht aan de slechte klantenservice, welke in ruime zin ook verklaard
5
kunnen worden als backorder kosten. In deze scriptie worden de backorder kosten gedefinieerd per
onderdeel per unit tijd.
Holding kosten zijn kosten die gemaakt worden bij de opslag van de onderdelen door het OEM.
Hieronder vallen ook opportunity kosten, wat kosten zijn die het niet kunnen opslaan van andere
goederen of onderdelen inhouden. In deze scriptie worden holding kosten gedefinieerd per onderdeel
op voorraad per unit tijd.
Obsolescence kosten zijn kosten die worden gemaakt als er reserve onderdelen over zijn bij een
vliegtuigmodel waarvan er geen vliegtuigen operationeel meer zijn. Dit soort onderdelen noemen
we dead stock. Ze kunnen niet meer verkocht worden, en moeten dus worden gesloopt. Aan dit
slopen zijn kosten verbonden welke we obsolescence kosten noemen. Obsolescence kosten worden
in deze scriptie gedefinieerd als eenmalige kosten per overtollig onderdeel.
2.3
Vraag
Een belangrijk aspect van een voorraadmodel is de manier waarop de vraag naar goederen wordt
gemodelleerd. Deze vraag kan bijvoorbeeld deterministisch of stoschastisch zijn, evenals constant
of variabel over tijd. Voor het binnenkomen van bestellingen bij het OEM gebruiken we een Poisson aankomst process. Dit is een gebruikelijk proces bij het modelleren van aankomsten bij een
bepaalde instelling. Het binnenkomen van de bestellingen is hierbij Poisson verdeeld met parameter
λ en is dus stochastisch. De tijd tussen twee opeenvolgende bestellingen heeft dan een exponenti¨ele
verdeling met parameter 1/λ.
In Sectie 1 is besproken dat deze scriptie drie modellen zal bestuderen, twee modellen met een
constante vraag, en ´e´en model met een dalende vraag. In de eerste twee versimpelde modellen
blijft de vraag dus constant over tijd, oftewel stationair. In het derde model blijft de vraag niet
gelijk over tijd, en is dus niet-stationair. In dit geval verandert λ dus over tijd. Dit model gaan we
uiteindelijk gebruiken voor verschillende experimenten. Deze non-stationariteit is lastig voor zowel
de vliegtuigmaatschappij als het OEM, want het is een stuk lastiger om de vraag te voorspellen
wanneer deze niet stationair is.
6
3
Opzet modellen
In deze Sectie zullen de modellen in meer detail worden besproken. Er worden dus drie modellen
gebruikt in deze scriptie. Het eerste model bevat een stationaire vraag naar onderdelen en een OEM
die altijd openblijft. Het tweede model bevat ook een stationaire vraag, maar in dit model worden
de kosten op een effici¨entere manier berekend door middel van een methode dat de obsolescence
kosten beter kan schatten. Deze twee modellen zullen met elkaar worden vergeleken en bovendien
zal worden gekeken of de resultaten overeenkomen met een analytisch model, waarin de waardes
met de hand zijn berekend. De relatie tussen deze modellen en het derde, uiteindelijke, model is
het volgende. De eerste twee modellen worden gebruikt om elk jaar de optimale voorraadpositie
van onderdelen bij het OEM te bepalen. Deze voorraadpositie wordt vervolgens in het derde model
elk jaar als input gebruikt. In dit derde model wordt de uiteindelijke sluitingstijd van het OEM
bepaald evenals de hoeveelheid reserve onderdelen dat de vliegtuigmaatschappij dient in te slaan.
3.1
Stationair model
Nu zal het eerste stationaire model worden besproken. Eerst worden de kenmerken en opzet van
het model gegeven. Daarna worden de in- en uitvoerwaardes van de simulatie besproken, en tot
slot zal worden uitgelegd hoe de simulatie globaal verloopt.
3.1.1
Kenmerken model
In dit model is de vraag van de vliegtuigmaatschappij naar onderdelen stationair. Dit betekent dat
het OEM de gehele tijdspan van de simulatie openblijft, omdat de vraag naar onderdelen voldoende
blijft. Omdat het OEM niet zal sluiten betekent het ook dat er geen onderdelen overblijven na de
sluiting van het OEM, en er dus geen sprake van dead stock is. Obsolescence kosten spelen dus
geen rol in dit model. Verder wordt er in dit model ook nog geen rekening gehouden met het feit
dat van vliegtuigen die uit de roulatie gaan verschillende onderdelen kunnen worden hergebruikt.
Deze zouden namelijk verkocht kunnen worden, en op deze manier wordt er zo geconcurreerd met
het OEM voor het leveren van reserve onderdelen.
Het type voorraadmodel wat wordt gebruikt is het (S-1,S)-voorraadmodel. Bij dit model houdt
het OEM een voorraadpositie van S onderdelen aan. In Sectie 2.1 is besproken dat bestellingen bij
het OEM alleen plaatsvinden in hoeveelheden van ´e´en onderdeel. Wanneer er dus zo’n bestelling
geplaatst wordt, moet het OEM zijn voorraad met ´e´en onderdeel hervullen. De tijd dat het duurt
om de voorraad te hervullen wordt de lead time genoemd. De simulatie bestaat grofweg uit twee
periodes. De eerste periode is de opstartperiode welke loopt van tijdstip t = 0 tot en met tijdstip
t = T0, en de tweede periode is de simulatieperiode welke loopt van tijdstip t = T0 tot en met
tijdstip t = T0 + T1. T0 en T1 zijn parameters waar aan het begin van de simulatie waardes
aan worden toegekend. Deze waardes bepalen dus de lengte van de opstart- en simulatieperiode.
De opstart- en de simulatieperiode verschillen hiernaast nog op ´e´en punt: In de opstartperiode
worden de uitvoervariabelen als de kosten en het aantal bestellingen niet geregistreerd, terwijl dit
tijdens de simulatieperiode w´el gebeurt. De uitvoervariabelen worden dus alleen berekend over de
simulatieperiode. De reden dat de simulatie is opgesplitst in deze twee periodes is het volgende.
De opstartperiode zorgt ervoor dat het systeem zich aan het begin van de simulatieperiode in een
representatievere staat bevindt. Wanneer er geen opstartperiode zou zijn, zou bijvoorbeeld het
7
voorraadniveau aan het begin van elke simulatie altijd maximaal zijn, wat niet overeenkomt met
de werkelijkheid. Nu begint de simulatieperiode met een variabele hoeveelheid voorraad, omdat er
meestal bestellingen tijdens de opstartperiode hebben plaatsgevonden.
Dit model beschrijft de situatie vanuit het oogpunt van het OEM. De hoofdvraag voor het OEM is
hoeveel onderdelen er op voorraad moeten worden gehouden, op zo’n manier dat de kosten geminimaliseerd worden. Dit zal in feite neerkomen op een trade-off tussen de holding- en de backorder
kosten. Als er te veel onderdelen op voorraad wordt gehouden zullen de holding kosten relatief
hoog zijn, maar als er te weinig onderdelen op voorraad wordt gehouden zullen de backorder kosten
relatief hoog zijn.
3.1.2
Parameters en variabelen
In deze Sectie worden de invoerwaardes voor de simulatie van het eerste model gegeven evenals de
variabelen die de simulatie als output geeft. Tijdens de simulatie worden nog enkele andere variabelen gebruikt, maar deze zijn niet van dusdanig belang dat ze hier weergegeven worden. Hieronder
volgen de lijsten met invoer parameters en uitvoer variabelen. Later zal worden besproken welke
waarden er tijdens de simulaties aan de invoer parameters worden toegekend.
Invoer parameters:
• planes: Beginaantal operationele vliegtuigen.
• lambda: vraag-rate naar onderdelen per vliegtuig (per jaar)
• T0: Lengte van de opstartperiode
• T1: Lengte van de simulatieperiode
• S: Voorraadpositie
• p: Prijs van een reserve onderdeel
• h: Holding cost rate
• b: Backorder kosten (per unit per jaar)
• L: Lead time (in jaren)
• sim: Aantal simulatie runs
Uitvoer variabelen:
• HAve: Gemiddelde holding kosten (per jaar)
Deze worden als volgt berekend: HAve = p * h * IlevelAve
• BAve: Gemiddelde backorder kosten (per jaar)
Deze worden als volgt berekend: BAve = b * BacklevelAve
8
• CAve: Gemiddelde totale kosten (per jaar)
Deze worden als volgt berekend: CAve = HAve + BAve
• NAve: Gemiddelde totale nummer aan bestellingen (tijdens T1)
• BNAve: Gemiddelde totale nummer aan nabestellingen (tijdens T1)
• PoutAve: Gemiddelde stock-out frequentie (tijdens T1)
• IlevelAve: Gemiddelde voorraadniveau (tijdens T1)
• BacklevelAve: Gemiddelde backorderniveau (tijdens T1)
• V: Vector dat de tijden van de bestellingen van klanten opslaat plus de tijden waarop ze hun
onderdelen ontvangen (voor een random simulatie)
9
3.1.3
Simulatie
In vorige Secties is beschreven wat de belangrijkste kenmerken van het model zijn en wat de simulatie als in- en uitvoer heeft. In deze Sectie zal worden beschreven hoe de simulatie is opgebouwd.
Omdat de modellen een groot deel van de inhoud van de scriptie representeren, zal hier in redelijk
detail aandacht aan worden besteed. In Figuur 1 zien we een flowchart dat de structuur van de
simulatie weergeeft. Aan de hand van deze flowchart zal worden uitgelegd hoe de simulatie is opgebouwd. De simulatie is uitgevoerd in het programma Matlab. De rechthoeken in de flowchart geven
functies weer of een script in het geval van Main. De ovale vormen bevatten een while loop of een
for loop. In deze loops blijft de simulatie zich herhalen totdat er aan een bepaalde eigenschap wordt
voldaan. Deze eigenschap staat in het groen aangegeven in de flowchart. Wanneer nog niet aan de
eigenschap voldaan is dient de zwarte uitgaande pijl gevolgd te worden. Als wel aan de eigenschap
voldaan is dient de groene uitgaande pijl gevolgd te worden.
Figure 1: Flowchart stationair model
10
We zullen nu de structuur van de simulatie volgen via de flowchart. De simulatie begint met het
script Main. Dit is het bestand wat gerunt moet worden om de simulatie uit te voeren. Main bestaat
uit drie onderdelen. Ten eerste roept het de invoerparameters op, daarna voert het de daadwerkelijke simulatie uit, en tot slot print het de uitkomsten. Voor het invoeren van de parameters wordt de
functie Inputdata aangeroepen. Deze functie geeft de gebruiker een venster waarin de verschillende
invoerwaardes moeten worden ingevuld. Vervolgens roep Main de functie Simulation aan. Zoals
de naam doet vermoeden wordt in deze functie de feitelijke simulatie uitgevoerd. De simulatie
wordt een groot aantal keer uitgevoerd om betrouwbaardere waarden te krijgen voor de uitvoer
variabelen. Dit wordt gedaan door middel van een for loop. Deze for loop voert de simulatie zoveel
keer uit als werd ingevoerd bij de functie Inputdata. V´o´or de for loop begint, worden echter nog
enkele variabelen gedefinieerd. Dit zijn voornamelijk variabelen die de gesommeerde waarde van de
uitvoer variabelen opslaan, zodat later een gemiddelde over alle simulaties kan worden berekend.
We zullen nu de stappen doorlopen die nodig zijn om ´e´en simulatie run te voltooien. Ten eerste
roept Simulatie de functie Initialization aan. Deze functie initialiseert de variabelen die per simulatie run opnieuw gereset dienen te worden. Een onderdeel van de functie Initialization is het
aanroepen van de functie New Customer Arrival. Deze functie geeft het eerste tijdstip waarop een
bestelling van de vliegtuigmaatschappij bij het OEM binnenkomt. Vervolgens komt de simulatie
bij een while loop. Deze while loop zorgt ervoor dat de simulatie voor een bepaalde tijd wordt
uitgevoerd. In deze while loop bevindt de kern van de simulatie zich.
Aan het begin van de while loop wordt elke keer de functie Next event aangeroepen. Deze functie
checkt welke gebeurtenis als eerste volgt en wanneer deze is. Gebeurtenissen die kunnen volgen
zijn een bestelling van de vliegtuigmaatschappij, of een hervulling van de voorraad van het OEM.
Vervolgens wordt gechekt wat de tijd in de simulatie is net als een dummy variabele die als indicator
geldt. Op basis van deze twee variabelen wordt bepaald welk pad er volgt. Er zijn drie mogelijkheden. De eerste optie wordt aangedaan als de tijd variabele een lagere waarde heeft dan het
eindpunt van de opstartperiode. Daarna wordt ´of de functie Customer arrival ´of de functie Order
delivery aangeroepen. De functie Customer arrival representeert de situatie waarbij een vliegtuigmaatschappij een vraag naar een reserve onderdeel heeft en bij het OEM aankomt. De functie
Order delivery representeert de situatie waarbij de voorraad van het OEM met ´e´en onderdeel wordt
hervuld. Bij deze eerste optie worden de uitvoer variabelen nog niet geupdate, maar de interne
variabelen wel. Wanneer ´e´en van deze twee functies eenmaal zijn uitgevoerd, wordt vervolgens de
eventtime tE gelijk aan de huidige tijd gesteld. Deze eventtime is belangrijk bij het berekenen van
bepaalde uitvoer variabelen.
Vervolgens begint dit proces binnen de while loop weer opnieuw, en wordt de functie Next event
weer aangeroepen. Wanneer op een gegeven moment de tijd variabele een grotere waarde heeft
bereikt dan de eindtijd van de start periode, wordt de tweede optie aangeroepen. Deze optie heeft
als voorwaarde dat de huidige tijd lager dan het eindpunt van de simulatie periode moet zijn plus
dat de indicator variabele nul moet zijn. Deze tweede optie wordt eenmalig uitgevoerd. De reden dat hij wordt uitgevoerd is om de eventtijd gelijk te stellen aan het begin van de simulatie
periode, zodat de uitvoer variabelen ook daadwerkelijk berekend worden vanaf het begin van de
simulatieperiode. Bovendien wordt nu de dummy variabele op ´e´en gezet, zodat de tweede optie
niet meer wordt uitgevoerd. Hierna worden net als bij de eerste optie ´of Customer arrival ´of Order
delivery aangeroepen afhankelijk van welke van de twee eerder in tijd is. In dit geval worden wel al
11
echter de uitvoer variabelen aangepast omdat de simulatieperiode is begonnen. Hierna zal de derde
optie steeds worden aangeroepen, welke als voorwaarde heeft dat de huidige tijd lager is dan het
eindpunt van de simulatie periode plus dat de dummy variabele de waarde ´e´en heeft. Vervolgens
gebeurt hetzelfde als bij de tweede optie, en worden de uitvoer variabelen aangepast.
Waneer de tijd variabele op een gegeven een grotere waarde aanneemt dan de eindtijd van de simulatieperiode stopt de while loop. De kern van ´e´en simulatie run is dan uitgevoerd. Na de while loop
worden de waarden van de uitvoer variabelen opgeteld bij de waarden van de rest van de simulatie
runs in zogenoemde somvariabelen. De simulatie komt nu weer terecht bij de for loop. Als de
for loop een bepaald aantal keer is uitgevoerd, worden de gemiddeldes van de uitvoer variabelen
berekend. Dit gebeurt door de waardes van de som variabelen te delen over het aantal simulatie
runs. Vervolgens keert de simulatie weer terug naar Main. Tot slot print Main de uitvoer variabelen
uit die in Sectie 3.1.1 zijn vermeld, en is de simulatie ten einde gekomen.
3.2
Model met obscolescence kosten
In Sectie 3.1 is het eerste stationaire model beschreven. We hebben in werkelijkheid echter niet
te maken met een stationaire situatie, maar een non-stationaire. Deze non-stationairiteit kan voor
obsolescence kosten zorgen. Deze kosten zijn niet opgenomen in het vorige model. In deze Sectie
presenteren we een model waarin er w´el rekening wordt gehouden met de obscolescence kosten,
en zo een realistischere schatting van het kostenplaatje voor het OEM kan worden gemaakt. De
simulatie wordt nog steeds met hetzelfde stationaire model uitgevoerd, maar daarnaast wordt er
gebruik gemaakt van een parameter die toch ervoor zorgt dat we de obsolescence kosten kunnen
schatten.
In Sectie 2.2 is besproken wat obsolescence kosten zijn en hoe ze veroorzaakt worden. Nu is de
vraag hoe deze obsolescence kosten geschat kunnen worden. Een belangrijk aspect hierbij is het
zogenoemde obsolescence risico, afgekort met de Griekse letter ψ. Dit houdt de mate in waarin
de vliegtuigonderdelen verouderen. In Van Jaarsveld en Dekker (2011) is een geschikte methode
ontwikkeld om dit risico te schatten. Deze methode is erg handig in ons geval, aangezien er verder
geen voorkennis over het obsolesence risico vereist is. We zullen nu in het kort uitleggen hoe deze
methode globaal in zijn werking gaat. De methode maakt gebruik van een Markov keten met twee
staten. De eerste staat x1 representeert een situatie waarin de vraag nog voldoende of ’levend’ is,
en de tweede staat x0 representeert een staat waarin er geen vraag meer is, oftewel de vraag is
’dood’. Er zijn drie parameters bij dit proces betrokken. De vraagrate λ, de distributie D en de
overgangsparameter ψ. Deze ψ is erg belangrijk aangezien deze de overgangsrate weergeeft van de
levende naar de dode staat. De dode staat in de Markov keten is absorberend. Wanneer de keten
dus in deze staat terecht komt, blijft deze daar en zal er verder geen vraag naar onderdelen meer
binnenkomen bij het OEM. Er zal niet in deze scriptie niet worden uitegelgd hoe deze methode
precies te werk gaat om de parameter ψ te schatten, zie daarvoor Van Jaarsveld en Dekker (2011).
In plaats daarvan zal de waarde voor ψ gegeven zijn in deze scriptie gebaseerd op deze methode.
Vervolgens wordt met behulp van deze ψ de obsolescence kosten berekend. Hoe dit precies in zijn
werking gaat wordt uitgelegd in Sectie 4.1.3.
12
3.3
Non-stationair model
In deze Sectie gaan we de opzet van het non-stationaire model bespreken. Dit is het model wat
uiteindelijk zal gebruikt worden om de vliegtuigmaatschappijen advies te geven over hoeveel reserve
onderdelen ingeslaan moet worden voor het OEM stopt en wanneer dit zal moeten gebeuren.
3.3.1
Kenmerken model
In dit model is de vraag van de vliegtuigmaatschappij naar onderdelen non-stationair. Omdat
er steeds minder vliegtuigen operationeel zijn, zal de vraag steeds verder dalen naarmate de tijd
vordert. Dit betekent dat het OEM genoodzaakt is om op een gegeven moment te sluiten bij
een gebrek aan vraag. Ook dit model is een (S-1,S)-voorraad model zoals beschreven in Sectie
2.1. Er wordt in dit model gebruikt gemaakt van de twee voorgaande modellen. Deze modellen
zullen aan het eind van elk jaar gebruikt worden om de optimale voorraadpositie voor het OEM
te bepalen. Dit werd gedaan door de totale kosten te minimaliseren. Wat in dit non-stationaire
model is meegenomen is het feit dat wanneer een vliegtuig gesloopt wordt, sommige onderdelen
kunnen worden hergeberuikt. Deze onderdelen kunnen verkocht worden en zo concurreren met het
OEM. Dit zorgt ervoor dat het OEM minder bestellingen zal binnenkrijgen, en nog eerder zal sluiten.
Dit model bekijkt de situatie vanuit het oogpunt van de vliegtuigmaatschappij. Het probeert het
punt te schatten waarop het OEM besluit te stoppen. Dit gebeurt op een punt in de tijd wanneer
de vraag vanuit de vliegtuigmaatschappij te laag is geworden. Op het moment dat het OEM sluit,
wordt bepaald hoeveel extra reserve onderdelen nog ingekocht moeten worden, en hoeveel dit zal
kosten.
3.3.2
Parameters en variabelen
Nu zullen de invoerparameters voor de simulatie van het non-stationaire model gegeven worden
evenals de variabelen die de simulatie als output geeft. Tijdens de simulatie worden nog enkele
andere variabelen gebruikt, maar deze zijn niet dusdanig van belang dat ze hier weergegeven worden. Hieronder volgen de lijsten met invoer parameters en uitvoer variabelen. Later zal worden
besproken welke waarden er tijdens de simulaties aan de invoer parameters werden gegeven.
Invoer parameters:
• planes: Beginaantal operationele vliegtuigen
• lambda: vraag rate per vliegtuig (per jaar)
• T0: Lengte van de opstart periode
• T1: Lengte van de simulatie periode
• S: Voorraad positie
• p: Prijs van een reserve onderdeel
• h: Holding cost rate
13
• L: Lead time (in jaren)
• pSrap: Kans dat een onderdeel hergebruikt kan worden nadat een vliegtuig wordt gesloopt
• sim: Aantal simulatie runs
Uitvoer variabelen:
• HAve: Gemiddelde jaarlijkse holding kosten van de maatschappij nadat het OEM is gesloten
• OAve: Gemiddelde jaarlijkse obsolescence kosten van de maatschappij
• CAve: Gemiddelde jaarlijkse totale kosten van de maatschappij
• tHoldSumSumAve: Gemiddelde tijd dat de maatschappij een onderdeel in opslag heeft nadat
het OEM is gesloten
• tEndAve: Gemiddelde tijd voordat het OEM sluit
• NEndAve: Gemiddeld aantal bestellingen nadat het OEM sluit at de tijden van de bestellingen van klanten nadat het OEM sluit opslaat alsmede de tijden waarop ze hun onderdelen
ontvangen voor een random simulatie
Er waren nog meer output variabelen, maar bovenstaande variabelen zijn de belangrijkste.
3.3.3
Simulatie
In deze Sectie zal besproken worden hoe de simulatie van het non-stationaire model is opgebouwd.
Dit zal niet in evenveel detail worden gedaan als bij de uitleg van het stationaire model in Sectie
3.1.3, omdat de modellen veel gelijkenissen vertonen. In plaats daarvan worden voornamelijk de
veranderingen ten opzichte van het stationaire model besproken.
In Figuur 2 zien we de flowchart van het non-stationaire model. Veranderingen bij het invoeren
van de parameters is dat er nu een parameter toegevoegd is dat aangeeft wat de kans is dat een
vliegtuigonderdeel wordt hergebruikt wanneer een vliegtuig wordt gesloopt. Tot en met de while
loop is verder het belangrijke verschil dat de variabele tEnd op oneindig wordt gezet. Deze variabele
geeft het punt in de tijd weer wanneer het OEM stopt. Tijdens de simulatie in de while loop zal
een waarde aan tEnd worden gegeven. Wanneer dit is gebeurd en de tijdvariabele heeft een hogere
waarde dan het eindpunt van de simulatieperiode heeft bereikt, zal de tijdvariabele op oneindig
worden gezet en stopt de while loop vervolgens.
Binnen de while loop zijn verder nog enkele verschillen ten opzichte van het stationaire model. Er
zijn in dit geval steeds vier mogelijke functies die kunnen worden aangeroepen: Customer Arrival,
Order delivery, Planescrap en EndYear. Bij de functie Customer Arrival komt een nieuwe vraag
naar een onderdeel binnen bij het OEM, bij de functie Order delivery wordt de voorraad van het
OEM met ´e´en onderdeel hervuld, bij de functie Planescrap wordt er een vliegtuig gesloopt en bij de
functie EndYear wordt een jaarlijkse evaluatie gehouden. De functies Planescrap en EndYear zijn
er dus bijgekomen sinds vorig model. Planescrap zorgt ervoor dat er sprake is van een dalend aantal
operationele vliegtuigen en dus een dalende vraag naar onderdelen. In de functie EndYear wordt
14
Figure 2: Flowchart non-stationaire model
bepaald of het OEM zijn voorraadpositie S zal verlagen of niet. Dit wordt gedaan met behulp van
het stationaire model, welke is beschreven in Sectie 3.1. Ook wordt er elk jaar geschat of het OEM
open zal blijven. Dit wordt gedaan op basis van de voorraadpositie. Wanneer de voorraadpositie
bij het OEM op een gegeven moment te laag wordt, gokt de vliegtuigmaatschappij dat het OEM
zal sluiten. Op dat punt zullen er dus extra reserve onderdelen moeten ingekocht worden.
In dit model zijn er maar twee paden die genomen kunnen worden binnen de while loop. De eerste
optie wordt genomen wanneer de tijdvariabele een lagere waarde heeft dan het eindpunt van de
opstartperiode. Aan de uitvoervariabelen worden in dit geval nog geen waardes toegekend. De
tweede optie wordt genomen wanneer de tijd het eindpunt van de opstartperiode gepasseerd heeft,
tot en met het eindpunt van de simulatieperiode. De simulatieperiode is in dit model weer opgedeeld
in twee periodes. Een periode v´
o´
ordat het OEM sluit, en een periode nadat het OEM sluit. Op
het moment dat de fuctie EndYear bepaalt dat het OEM zal sluiten, worden de 6 belangrijkste
uitvoer variabelen berekend voor het advies aan de vliegtuigmaatschappij. Dit zijn de sluitingstijd
15
van het OEM, het gemiddelde aantal bestellingen bij het OEM nadat deze gesloten is, hoe lang
de maatschappij een onderdeel gemiddeld nog op voorraad heeft na de sluiting, en de gemiddelde
holding, obsolescence en totale kosten die de maatschappij per jaar heeft nadat het OEM gesloten
is. De overige uitvoer variabelen zijn meer een hulpmiddel bij het controleren van de simulatie.
Vervolgens bewandelt de simulatie hetzelfde pad als bij het stationaire model: De sommatie variabelen worden berekend, de for loop runt een bepaald aantal keer, de gemiddelde waardes worden
berekend en tot slot worden deze als uitvoer gegeven.
16
4
Resultaten
In deze Sectie zullen de resultaten worden gegeven van de simulaties voor de drie modellen. Eerst
wordt dit gedaan voor het stationaire model zonder obsolescence kosten. Dit model zal worden
vergeleken met een analytisch model om te kijken of de uitvoerwaardes overeenkomen. Vervolgens
worden de resultaten voor het model m´et obsolescence kosten gegeven. De voorraadpositie die
de laagste totale kosten geeft in dit model zal als invoerwaarde worden gebruikt voor het nonstationaire model. Tot slot worden de resultaten voor dit non-stationaire model gegeven, en kan
de vliegtuigmaatschappij worden geadviseerd hoeveel extra reserve onderdelen ze zullen moeten
inslaan en wanneer.
4.1
4.1.1
Stationaire modellen
Model zonder obsolescence kosten
Deze Sectie bestaat uit drie onderdelen. Eerst zal de keuze van de invoerwaardes besproken worden. Vervolgens zal de optimale voorraadpositie S bepaald worden. Dit is de voorraadpositie die
de minste totale kosten oplevert. Tot slot worden met deze optimale voorraadpositie als input
verschillende statistische eigenschappen van de uitvoer variabelen berekend.
Eerst zullen we dus de keuze van de invoerwaardes uitleggen. Een deel van de invoerwaardes is
gebaseerd op de situatie van de Fokker 100. Dit is niet bij alle invoerwaardes het geval, omdat die
informatie niet beschikbaar is voor ons. Verder is het niet van dusdanig belang voor het model dat
er waardes uit de praktijk worden gebruikt, zolang deze maar enigzins realistisch zijn. De waardes
die w´el beterkking hebben tot de Fokker 100 zijn de volgende. Voor de startwaarde van het aantal operationele vliegtuigen ’planes’ nemen we de waarde 169 aan. Dit is het aantal Fokker 100’s
dat op dit moment operationeel zijn bij verschillende vliegtuigmaatschappijen (Ch-Aviation, 2014).
De opstartperiode T0 en de simulatieperiode T1 worden als volgt bepaalt. Vliegtuigmodellen zijn
doorgaans ongeveer tien jaar in productie, en elk vliegtuig heeft ongeveer een levensduur van dertig
jaar. De productie van de Fokker 100 modellen is gestopt in 1996. We versimpelen de situatie door
te stellen dat het aantal operationele vliegtuigen in dertig jaar middels een uniforme verdeling zal
dalen van 169 tot 0. Aan het einde van 2026 zal er dus zeker geen vliegtuig meer operationeel zijn
in dit geval. Dit betekent dat er nog 12 jaren te gaan zijn tot de laatste Fokker 100 zal stoppen
met vliegen. Met het oog hierop zetten we de lengte van de opstartperiode T0 op 2 jaar, en de
lengte van de simulatieperiode T1 op 10 jaar. De periode wat dus door de daadwerkelijke simulatie bestrijkt wordt loopt van 2016 tot en met 2026. Het aantal operationele vliegtuigen zal bij
de ingang van deze simulatieperiode hoogstwaarschijnlijk al een lager aantal hebben bereikt dan 169.
´ en experiment met een relatief
We zulen twee verschillende experimenten doen met dit model. E´
lage λ, en ´e´en experiment met een relatief hoge λ. We analyseren dus een sitiuatie waarin de vliegtuigonderdelen relatief ’slow-moving’ zijn en een situatie waarin de onderdelen relatief ’fast-moving’
zijn. Voor het experiment met de slow-moving onderdelen zullen we een λ van 1 per jaar aannemen,
en voor het experiment met de fast-moving onderdelen zullen we een λ van 7 per jaar aannemen.
De experimenten worden beiden 10.000 keer uitgevoerd, om meer betrouwbare waardes voor de
uitvoer variabelen te krijgen. De overige invoerwaardes zijn hypothetisch gekozen, en hebben geen
betrekking op de Fokker 100. Voor deze waardes zullen we dezelfde waardes aannemen zoals deze
17
gekozen zijn in Van Jaarsveld en Dekker (2011). Deze nemen een leadtime L van 1 jaar aan, een
prijs voor een onderdeel p van 4000, een holding cost rate van 0,25 en de backorder kosten van 200
* 365 = 73000 per jaar.
Dit model wordt twee keer uitgevoerd. De eerste keer wordt er gevarieerd over de waarde van de
voorraadpositie S om te bepalen welke S de minste totale kosten oplevert. Wanneer deze optimale
voorraadpositie gevonden is, wordt het model een tweede keer uitgevoerd met alleen de optimale
waarde als input voor S. De tweede keer berekenen we verschillende statistische eigenschappen van
de uitvoer variabelen, om een goed beeld te krijgen van de uitvoerwaardes. Dit doen we door middel
van de batch means methode. Bij deze methode delen we de simulatieperiode op in 10 ’batches’
die elk 1 jaar duren. De gemiddeldes van deze batches afzonderlijk worden gebruikt om het totale gemiddelde, de variantie en vervolgens 95% betrouwbaarheidsintervallen voor de variabelente
berekenen.
In Figuur 3 worden voor beide experimenten de resultaten van de eerste run van dit model
weergegeven. Bij deze run is het dus het doel om de S te vinden waarvoor de totale kosten het
laagst zijn. In de meest linker kolom staan de waardes van S waarover werd gevarieerd. In de
overige kolommen staan de waardes voor respectievelijk het gemiddelde voorraadniveau (E[OH]),
backorder niveau (E[OB]), stock-out frequentie (Pout), backorder kosten (B), holding kosten (H)
en totale kosten (C). Bij de linker tabel heeft λ de waarde 1, en bij de rechter tabel heeft λ de
waarde 7. In de tabellen staan de waardes dikgedrukt voor welke S de simulatie de minste totale
kosten oplevert. We zien dat de S met de laagste totale kosten is 4 in het geval van λ = 1, en is 13
in het geval van λ = 7. Deze waardes voor S zullen we vervolgens als invoer gebruiken wanneer we
het model voor de tweede keer runnen.
Figure 3: Berekening optimale S bij stationair model zonder obsolescence kosten voor λ=1 en λ=7
Vervolgens runnen we het model dus voor een tweede keer met de optimale waardes voor S. Het
doel nu is om de statistische eigenschappen van de uitvoer variabelen te bepalen. We kijken hierbij
naar het gemiddelde (µ Sim.), de standaard deviatie (σ) en de lower- (L.B.) en upper bound (U.B.)
van een 95% betrouwbaarheidsinterval van de variabelen. De variabelen waarbij dit getest is, zijn
dezelfde variabelen als in de eerste run van dit model. In Figuur 4 op bladzijde 20 zijn de resultaten
van deze simulatie weergegeven. In de volgende Sectie zullen de resultaten van dit model vergeleken
worden met een analytisch model.
18
4.1.2
Vergelijking met analytisch model
We zullen nu de resultaten van het stationaire model zonder obsolescence kosten vergelijken met een
analytisch model, waarin de waarden theoretisch zijn berekend. Dit kan gemakklijk gedaan worden
met het programma Excel. We zullen dit doen voor de gemiddelde stock-out frequentie, aantal
backorders, voorraadniveau, holding kosten, backorder kosten en totale kosten. Bij de berekeningen
wordt gebruikt gemaakt van het voorraadniveau, deze wordt afgekort met OH. De variabelen worden
als volgt berekend:
• Pout = Stock-out freqeuentie
P out = P (OH < 0) = lim T → ∞
1
T
Z
T
I[OH(t) ≤ 0](t)dt
(1)
0
• E[OB] = Gemiddeld aantal backorders per jaar.
E[OB] =λ∗P out
(2)
• E[OH] = Gemiddeld voorraadniveau per jaar.
E[OH] = lim T → ∞
1
T
Z
T
[OH(t)]dt
(3)
0
• H = Holding kosten per jaar
H = p ∗ h ∗ (S−λ∗L + E[OB])
(4)
• B = Backorder kosten per jaar
B = b ∗ E[OB]
(5)
• C = Totale kosten per jaar
C =H +B
(6)
Deze variabelen zijn berekend voor dezelfde waarde voor S als bij het stationaire gesimuleerde
model. Dus voor S=4 bij het eerste experiment, en voor S=13 bij het tweede experiment. In
Figuur 4 staan deze analytisch berekende waardes (µ An.). De eerste reactie bij het vergelijken
van de resultaten van de simulatie met de resultaten van het analytische model is dat de waardes
sterk overeenkomen. We zien wel dat bij enkele variabelen de analytisch berekende waardes net
buiten het betrouwbaarheidsinterval van 95% van het gesimuleerde model vallen. Dit verschil is
echter zeer klein. Redenen hiervoor kunnen zijn dat het betrouwbaarheidsinterval wellicht moet
worden uitgebreid naar bijvoorbeeld 99%, of het stochastische karakter bij het gesimuleerde model.
We trekken hieruit de conclusie dat dit model correct is gesimuleerd, en we het verder kunnen
uitbouwen.
19
Figure 4: Statistische eigenschappen van de output variabelen bij model zonder obsolescence kosten
voor λ=1 en λ=7
4.1.3
Model met obsolescence kosten
Nu zullen we de resultaten bekijken voor het model waarin de obsolescence kosten w´el zijn meegenomen.
We hebben dezelfde methode gebruikt als bij het stationaire model zonder obsolescence kosten in
Sectie 4.1.1. Eerst runnen we het model een keer om de optimale S te vinden, en daarna runnen we
het model nog een keer om de statistische eigenschappen van de variabelen te berekenen met deze
S als input. Ook nu voeren we weer een experiment uit met slow-moving onderdelen waarbij λ =
1, en een experiment met fast-moving onderdelen waarbij λ = 7.
Dit model lijkt erg op het vorige model, dus we zullen alleen de verschillen ten opzichte van het
vorige model bespreken. Het belangrijkste verschil is dat er in dit model ook obsolescence kosten
worden meegenomen. Deze worden als volgt berekend. In Van Jaarsveld en Dekker (2011) is een
methode ontwikkeld om het obsolescence risico ψ te schatten. Dit is een waarde tussen 0 en 1, wat
aangeeft hoe groot de kans per jaar is dat vraag naar het betreffende onderdeel ophoudt. In Van
Jaarsveld en Dekker (2011) wordt beredeneerd dat de kans groter is dat de vraag dood zal vallen
bij slow-moving onderdelen dan bij fast-moving onderdelen. De waarde van het obsolescence risico
verschilt dan ook met de grootte van de vraag in voorgaande periodes. Zoals besproken is in Sectie
3.2 zullen we verder niet in diepte ingaan op de methode waarop ψ precies geschat wordt. In plaats
daarvan zullen we de waardes voor ψ overnemen uit Tabel 2 in Van Jaarsveld en Dekker (2011:
429). Met deze ψ kunnen we de verwachte levensduur van het onderdeel berekenen, welke 1/ψ
is. Vervolgens vermenigvuldigen we het gemiddelde voorraadniveau E[OH] met de obsolescence
kosten per onderdeel p obs. Dit geeft ons de totale obsolescence kosten. Daarna delen we dit
door de verachte levensduur om tot de jaarlijkse obsolescence kosten te komen. Deze berekening is
weergegeven in Equation (7).
O = E[OH] ∗ p obs∗ψ
(7)
Een ander verschil met het model zonder obsolescence kosten is dat we de holding cost rate verlagen
van 25% naar 20%. Dit heeft er mee te maken dat in het vorige model de holding cost rate expres
extra hoog is ingesteld om te compenseren voor het niet meenemen van de obsolescence kosten. Nu
nemen we de waardes voor ψ over welke ψ = 0.17 per jaar is bij het experiment met λ = 1, en ψ
= 0 per jaar is bij het experiment met λ = 7. De reden waarom bij het tweede experiment ψ nul
is, is omdat bij een dergelijk hoge vraagrate van 7 onderdelen per jaar, de kans dat de vraag naar
onderdelen stopt in de komende periode nagenoeg nul is. Omdat deze kans nul is, hoeft er dus ook
geen rekening worden gehouden met obsolescence kosten in dit geval.
20
In Figuur 5 zijn de resultaten weergegeven van de eerste run van dit model m´et obsolescence kosten
(O), waarbij gezocht wordt naar de optimale S. Er is af te lezen dat de laagste totale kosten bij
het experiment met λ = 1 wordt bereikt bij S = 3, en bij het experiment met λ = 7 is dit S =
14. Deze waarden zullen we dus als input gebruiken voor de tweede run. Het is interessant om
tegelijkertijd de uitkomsten van de deze optimale S’en te vergelijken met die van vorig model. In
het eerste model was de optimale S bij λ = 1 gelijk aan 4, terwijl de optimale S in dit model 3
is. Dit komt doordat de obsolescence kosten bij dit slow-moving onderdeel hoger zullen uitpakken
wanneer er ´e´en extra onderdeel op voorraad wordt gehouden, omdat er gemiddeld meer onderdelen
op voorraad zijn wanneer de vraag stopt. Aan de andere kant zien we dat de optimale S bij λ = 7
wordt bereikt bij 14, terwijl dit in het eerste model bij een S van 13 is. Dit zal zijn omdat er in dit
geval nagenoeg geen rekening met obsolescence kosten gehouden hoeft te worden, maar de holding
cost rate in dit model wel 5% lager is ten opzichte van het eerste model.
Vervolgens zullen we het model voor een tweede keer runnen om de statistische eigenschappen van
de variabelen te verkrijgen bij de optimale S’en. De resultaten hiervan zijn weergegeven in Figuur
6. Hierin is O de afkorting voor de obsolescence kosten. We zullen deze resultaten niet nog eens
met een analytisch model vergelijken. We hebben dit namelijk al met vorig gesimuleerd gedaan,
en gezien dat dit model klopte. Bovendien is de obsolescence kosten de enige variabele die aan
dit model is toegevoegd en deze is al analytisch berekend op basis van de andere variabelen, zie
Equation (7). Aangezien dit model een realistischere weergave van de situatie geeft dan vorig model,
zullen we de optimale S uit dit model gebruiken als input bij het non-stationaire model in Sectie
4.2.
Figure 5: Berekening optimale S bij stationair model met obsolescence kosten voor λ=1 en λ=7
Figure 6: Statistische eigenschappen van de output variabelen bij stationair model met obsolescence
kosten voor λ=1 en λ=7
21
4.2
Non-stationair model
Deze Sectie bevat de resultaten voor het non-stationaire model. Dit is het meest uitgebreide model,
en op basis hiervan geven we ons advies aan maatschappijen die met Fokker 100 vliegtuigen vliegen.
Eerst wordt de keuze voor de gekozen invoerwaardes besproken en daarna worden de resultaten met
het bijbehorende advies gegeven.
Allereerst zullen we de invoerwaardes bespreken die gebruikt zijn voor dit model. Een aantal invoerwaardes zijn hetzelfde als bij het stationarie model m´et obsolescence kosten. Zo is de opstartperiode
2 jaar, de simulatieperiode 10 jaar, het beginaantal vliegtuigen 169, de prijs van een onderdeel 4000,
de holding cost rate 0,20, de backorder kosten 73000, de lead time 1 jaar en het aantal simulatie runs
10.000. Hiernaast stellen we de kans dat een vliegtuigonderdeel kan worden hergebruikt nadat een
vliegtuig is gesloopt (pScrap) in op 0,25. De kans is dus 25% dat er bij de sloop van een vliegtuig het
betreffende onderdeel hergebruikt kan worden, we nemen aan dat bij de volgende vraag naar zo’n
onderdeel altijd dit hergebruikte onderdeel zal worden gekocht in plaats van een nieuwe bij het OEM.
We hebben in dit model te maken met een dalende vraag. Om het voor onszelf gemakkelijk te
maken, hebben we de start en de stop van de simulatie strategisch gekozen. Bij de start van de
simulatie hebben we namelijk een λ van 7, waarvoor we in Sectie 4.1.3 al de optimale S hebben
berekend. We zullen deze S dan ook als input voor deze simulatie gebruiken. Omdat we te maken
hebben met 169 vliegtuigen, stellen we de inputwaarde voor de λ per vliegtuig in op 7/169 ≈
0,041420118. De stop van de simulatie hebben we als volgt ingesteld. Als aan het einde van het
jaar is gebleken dat de vraag naar onderdelen in het afgelopen jaar 1 of minder was, sluit het OEM.
In dit geval versimpelen we de situatie door te stellen dat in dit laatste jaar λ gelijk was aan 1.
Door dit te doen kunnen we namelijk gebruik maken van het obsolescence risico ψ welke in Tabel
2 van Van Jaarsveld en Dekker (2011: 429) is gegeven. Deze is 0,17 voor λ = 1. Op basis hiervan
kunnen de obsolescence kosten voor het OEM berekend worden. Deze obsolescence kosten worden
gemaakt als de maatschappij nog reserve onderdelen op voorraad heeft op tijdstip t = T0 + T1,
aangezien we hebben aangenomen dat er op dit tijdstip zeker geen vliegtuigen meer operationeel
zullen zijn.
We zijn bij de simulatie voornamlijk ge¨ınteresseerd naar de resultaten van zes variabelen. De eerste
variabele is de gemiddelde tijdsduur vanaf tijdstip t=0 tot het tijdspunt dat het OEM sluit (tEnd).
Dit is een belangrijke waarde, omdat de rest van de relevante output variabelen van dit tijdstip
afhangen. De tweede variabele is het gemiddeld aantal bestellingen die de vliegtuigmaatschappij
nog zal moeten maken nadat het OEM sluit (Nend). Dit geeft dus het aantal vliegtuigonderdelen
weer wat de maatschappij zal moeten inslaan op het moment dat het OEM dreigt te sluiten. De
derde variabele is de gemiddelde opslagduur van een onderdeel wat besteld is op het moment dat het
OEM ging sluiten (tHold). Deze opslagduur wordt berekend vanaf het tijdstip dat het OEM sluit,
tot het tijdstip waarop dit onderdeel gebruikt wordt om een vliegtuig te repareren. De overige
variabelen zijn de verschillende kosten voor de vliegtuigmaatschappij. De vierde variabele is de
gemiddelde holding kosten voor de vliegtuigmaatschappij per jaar nadat het OEM gesloten is (H),
en de vijfde variabele is de gemiddelde obsolescence kosten voor de vliegtuigmaatschappij (O). De
zesde output variabele tot slot is de jaarlijkse totale kosten voor de vliegtuigmaatschappij nadat
het OEM is gesloten (C).
We voeren voor dit model dus ´e´en experiment uit, zoals deze hierboven is beschreven. Op basis van
22
dit experiment geven we ons advies aan een vliegtuigmaatschappij die met de Fokker 100 vliegt.
Het is belangrijk te vermelden dat dit advies deels gebaseerd is op waardes die we zelf hypothetisch
hebben aangenomen en op versimpelingen. Voor echte accurate adviezen is meer informatie over de
zaken omtrent de Fokker 100 nodig. Desondanks geeft dit model een aardige richtlijn. De resultaten
van het experiment zijn hieronder weergegeven:
• tEnd: gemiddelde sluitingstijd van OEM: 437,7880 weken.
Dit betekent dat het OEM gemiddeld ≈8,5 jaar na tijdstip t = 0 sluit.
• NEnd: gemiddeld aantal bestellingen nadat het OEM sluit: 6,4650.
We zullen de vliegtuigmaatschappij hierom adviseren om 7 extra reserve onderdelen in te slaan.
Omdat dit iets meer is dan het gemiddeld aantal bestellingen, kan de situatie voorkomen dat
er nog een onderdeel overblijft op tijdstip t = T0 + T1 als er geen vliegtuigen meer vliegen.
Dit is een reden dat de vliegtuigmaatschappij te maken kan krijgen met obsolescence kosten.
• tHold: gemiddelde opslagduur van een onderdeel nadat het OEM is gesloten: 70,3354 weken
Dit betekent dat de vliegtuigmaatschappij een reserve onderdeel gemiddeld ≈1,35 jaar in
opslag heeft, voordat deze nodig is voor een reparatie. We gebruiken dit gemiddelde bij de
berekening voor de holding kosten.
• H: gemiddelde holding kosten nadat het OEM is gesloten per jaar: 1082,08
• O: gemiddelde obsolescence kosten nadat het OEM is gesloten per jaar: 454,75
Deze zijn berekend door middel van Equation (7). De input hiervoor was ψ = 0,17, p obs
= 5000. Voor E[OH] nemen we hier een andere waarde aan, namelijk het verschil tussen de
ons aangerade hoeveelheid reserve onderdelen (7) en de gemiddelde hoeveelheid benodigde
onderdelen (6,4650). Dit is de gemiddelde hoeveelheid onderdelen die op tijdstip t = T0 +
T1 overtollig zullen zijn.
• C: gemiddelde totale kosten nadat het OEM is gesloten per jaar: 1536,83
Ons advies aan een vliegtuigmaatschappij zou op basis van dit experiment dus het volgende zijn:
”Koop over 8,5 jaar 7 extra reserve onderdelen in bij het OEM. Vanaf dat punt zijn de gemiddelde
jaarlijkse kosten voor de opslag van deze onderdelen 1536,83 tot het moment dat er gestopt wordt
met het vliegen van het Fokker 100 model.”
23
5
Conclusie en uitbreidingen
In deze scriptie zijn twee type modellen besproken. Het eerste type waren stationaire modellen,
welke voornamelijk bedoeld om de correctheid van de simulatie te checken en de optimale voorraadpositie te bepalen voor het non-stationaire model. Het tweede type was een non-stationair model,
welke als doel had de vliegtuigmaatschappij te adviseren hoeveel extra reserve onderdelen het moet
inkopen en wanneer. Dit advies was het volgende: ”Koop over 8,5 jaar 7 extra reserve onderdelen
in bij het OEM. Dit zal vanaf dat punt een jaarlijkse kosten van 1536,83 met zich meebrengen.”
Natuurlijk zijn er verschillende uitrbeidingen die gedaan kunnen worden op dit onderzoek. Er zullen
nu enkele worden genoemd. Ten eerste hebben we in deze scriptie voornamelijk met data gewerkt
die niet uit de praktijk komt. Een analyse van dit model op werkelijke data zou interresant kunnen
zijn. Ook is het bepalen van het moment waarop het OEM stopt sterk versimpeld. In werkelijkheid
zijn er veel meer indicaties voor een vliegtuigmaatschappij dat het OEM gaat stoppen. In Liu et
al (2014) kunnen meer indicaties worden gevonden hiervoor.
24
6
Referenties
Ch-Aviation. (2014) Aircraft Quick Search, [Online], Available: http://www.ch-aviation.com/portal/
aircraft/quick?ac manufacturer=FOK&ac aircraft=F100 [15 Aug 2014]
Dekker, R. (2013) FEB23004-14 Slides Nov 6: Stock calculations Mar2013.xls, p. 4., Rotterdam:
Erasmus University Rotterdam.
Dekker, R. and Farenhorst-Yuan, T. (2013) FEM21009-14 Lecture 05 service measures, pp. 5 - 27,
Rotterdam: Erasmus University Rotterdam.
Flyfokker. (n.d.) Fokker 100 Regional Jet, [Online], Available: http://www.flyfokker.com/Fokker100 [15 Aug 2014]
Liu et al. (2014) Assessing End-of-Supply Risk of Spare Parts Using the Proportional Hazard
Model, (unpublished manuscript), Rotterdam: Erasmus University of Rotterdam.
Van Jaarsveld, W., Dekker, R. (2011) ’Estimating obsolescence risk from demand data to enhance
inventory control - A case study’, International Journal of Production Economics, vol. 133, September, pp 423-431.
25