Onderzoek naar een effici¨ente en dynamische planning van het inkomende transport bij het distributiecentrum van Etos Masterscriptie Operations Research
door Anne Goudsmit (UvA: 5742501) Begeleiders: Prof.dr. Rudesindo Nunez-Queija Universiteit van Amsterdam Martijn Mevissen Manager Replenishment Tactics Etos Distributiecentrum te Beverwijk
13 juli 2012
SAMENVATTING
• Aanleiding van het onderzoek: Etos heeft de ambitie uitgesproken zich te willen ’klaarmaken voor groei’. Binnen deze strategische pijler valt een soepeler en effici¨enter logistiek proces. De Supply Chain afdeling is eind 2011 gereorganiseerd en sindsdien zijn operationele en tactische werkzaamheden van elkaar gescheiden. Vanuit een van de tactische afdelingen kwam de vraag om de huidige planning van het inkomende transport te herzien en een dynamische planning te ontwikkelen. • Doel van het onderzoek: Het doel van dit onderzoek is het opleveren van een dynamisch inkomend transportschema dat flexibel is voor tactische aanpassingen in de toekomst. Etos hecht hier waarde aan, omdat het kan zorgen voor lagere kosten en een effici¨enter ontvangstproces (meer leveringen met dezelfde capaciteit). • Opbouw scriptie: In de inleiding worden de aanleiding en het doel van het onderzoek en de programma’s die gebruikt zijn, besproken. In Hoofdstuk 2 wordt de huidige werkwijze bij de ontvangstafdeling toegelicht en de problemen die ze nu ondervinden. De rest van de scriptie is opgebouwd in de volgorde van de opgeleverde methodiek. In Hoofdstuk 3 wordt de data verzameld die nodig is voor de analyses. Daarna worden in Hoofdstuk 4 de theorie, de omschrijving en de uitkomsten van de modellen besproken. In Hoofdstuk 5 worden verschillende scenario’s gesimuleerd. De uitkomsten van de simulaties kunnen in de toekomst als leidraad dienen bij het maken van keuzes rondom het inkomende transport. • Resultaat: Het resultaat van de scriptie is een methodiek die in vier stappen een nieuw dynamisch inkomend transportschema oplevert. De stappen met in- en output staan in bijlage A.1 weergegeven. Een verkorte variant staat in figuur 0.1. Stap 1 is het verzamelen van data. Stap 2 is een model in Delphi dat de afleverfrequentie van leveranciers bepaalt. Dit wordt opgebouwd vanaf artikelniveau, waardoor voor alle artikelnummers van de bestelfrequentie een gemiddeld voorraadniveau en gemiddelde bestelhoeveelheden kunnen worden afgeleid. In stap 3 worden de leveranciers in Excel op basis van de afleverfrequentie over de week verdeeld. In de laatste stap krijgen de leveringen in een model in Delphi een aankomsttijd
Methodiek voor het bepalen van het inkomende transportschema 1a. Verzamelen gegevens Etos-database
1b. Verzamelen gegevens door meten in DC
2. Delphi-model 1: Bepalen afleverfrequentie 3. Excel: Bepalen leverdagen 4. Delphi-model 2: Bepalen benodigde ontvangstcapaciteit en bloktijd
Fig. 0.1: De methodiek voor een nieuw dynamisch transportschema in 4 stappen
toegekend. Het resultaat is een transportschema met de benodigde capaciteit en bezettingsgraad per uur. Dit biedt Etos houvast om sturing te geven aan de capaciteitsplanning van het personeel. • Advies: Voor een optimalisatie van het ontvangstproces moet Etos de volgende aandachtspunten in acht nemen: het ontvangen van actie moet verspreid worden, de datagegevens van artikelen moeten correct zijn, leveranciers moeten zich beter houden aan afspraken en Etos moet hier op toezien (tijdigheid van leveringen en de aanlevering van artikelen), het lossen en afvoeren van artikelen moet aansluiten op het ontvangstproces en met behulp van de nieuwe methodiek moet het transportschema elke 13 weken opnieuw worden berekend, opdat de planning accuraat is.
3
INHOUDSOPGAVE
Lijst van tabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
Lijst van figuren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1. Inleiding . . . . . . . . . . . . . . . . . . . . . . . 1.1 De aanleiding van het onderzoek . . . . . . 1.2 Een korte geschiedenis van het bedrijf Etos 1.3 Doel van het onderzoek . . . . . . . . . . . 1.4 Toelichting op de gebruikte programma’s . 1.5 Opbouw scriptie . . . . . . . . . . . . . . .
. . . . . .
8 8 8 9 9 10
2. Huidige situatie inkomend transport DC Etos . . . . . . . . . . . 2.1 Betrokken afdelingen en functies . . . . . . . . . . . . . . . 2.2 Procesbeschrijving huidige situatie . . . . . . . . . . . . . . 2.3 Problemen in de huidige situatie . . . . . . . . . . . . . . . 2.4 Het nieuwe softwaresysteem van Etos: IRIS . . . . . . . . . 2.4.1 De achtergrond en toekomst van IRIS . . . . . . . . 2.4.2 Veranderingen in de werkwijze na de implementatie IRIS . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . van . . .
12 12 14 16 17 17
3. Data-analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Het berekenen van de klantvraag per week . . . . . . . . . 3.1.1 Het effect van actie en seizoenen op de klantvraag 3.1.2 De verdeling van de klantvraag: Poisson . . . . . . 3.2 Logistieke datagegevens van de artikelen . . . . . . . . . . 3.3 Tijdsmetingen in DC . . . . . . . . . . . . . . . . . . . . . 3.3.1 Tijdsduur ontvangst . . . . . . . . . . . . . . . . . 3.3.2 Dokkingstijd vrachtwagen . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
20 20 21 22 24 25 25 27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . in dit onderzoek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
29 29 30 32 35 35 35 37 38
4. Analytisch model . . . . . . . . . . . . . . . . . 4.1 Theoretische achtergrond . . . . . . . . . 4.1.1 Literatuur . . . . . . . . . . . . . . 4.1.2 Uitleg van de wiskundige methodes 4.2 Beschrijving van het model . . . . . . . . 4.2.1 Doel . . . . . . . . . . . . . . . . . 4.2.2 Variabelen en formules . . . . . . . 4.2.3 Uitkomsten van het model . . . . . 4.3 Methodiek indelen transportschema . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
18
4.3.1 4.3.2 4.3.3
Verdelen van leveranciers over de week . . . . . . . . . . . Planning van leveringen over de dag . . . . . . . . . . . . Bezettingsgraad doks bepalen . . . . . . . . . . . . . . . .
39 40 42
5. Simulatiemodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Doel en restricties . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Scenario’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Resultaten van het simulatiemodel . . . . . . . . . . . . . . . . . 5.3.1 Invoergegevens, instellingen en validatie . . . . . . . . . . 5.3.2 Het verschil tussen het oude bloktijdenschema en de nieuwe methodiek . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 Vijf vuistregels die in toekomst kunnen helpen bij het herindelen van het transportschema . . . . . . . . . . . . . .
45 45 45 47 47
6. Discussie
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
7. Conclusie en advies . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
Bijlage
59
50 51
A. De methodiek voor het bepalen van het inkomende transportschema in 4 stappen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 B. De plattegrond van het DC . . . . . . . . . . . . . . . . . . . . . . . .
61
C. Delphi-model 1: Bepalen afleverfrequentie . . . . . . . . . . . . . . . .
62
D. Delphi-model 2: Planning van leveringen over de dag . . . . . . . . . .
67
E. Afbeelding van het simulatiemodel in Enterprise Dynamics . . . . . .
72
F. Extra tabellen ter onderbouwing van de vuistregels . . . . . . . . . . .
73
5
LIJST VAN TABELLEN
2.1
Leveringen buiten bloktijd . . . . . . . . . . . . . . . . . . . . . .
17
3.1 3.2
Toetsen van statistische verdelingen . . . . . . . . . . . . . . . . Tijdsduur ontvangst in DC (in minuten) . . . . . . . . . . . . . .
22 27
4.1
Aantal leveranciers uitgezet tegenover de afleverfrequentie: nieuw tegenover oud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . De twee berekeningen van de bezettingsgraden vergeleken en bijbehorende kenmerken van de wachtrij . . . . . . . . . . . . . . .
4.2
5.1 5.2 5.3
De kenmerken en instellingen van de verschillende scenario’s . . . De validatie van de simulatieresultaten . . . . . . . . . . . . . . . Het effect van 10 minuten vertraging door het lossen en afvoeren van artikelen op de bezettingsgraad . . . . . . . . . . . . . . . . .
38 44 47 50 52
LIJST VAN FIGUREN
0.1
De methodiek voor een nieuw dynamisch transportschema in 4 stappen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.1
Een schema van de opbouw van deze scriptie . . . . . . . . . . .
11
2.1 2.2 2.3 2.4
Supply Chain van Etos en rol per afdeling voor inkomend transport Relatie tussen inkomend transport en stakeholders nu en in 2013 De processen die zich afspelen rondom het inkomende transport . Min/max methodiek in RMS van IRIS . . . . . . . . . . . . . . .
12 14 15 18
3.1
In de data-analyse worden stap 1a en 1b van de methodiek behandeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . De grafieken tonen aan dat de verdeling van de douchegel beter benaderd wordt door de Poisson verdeling . . . . . . . . . . . . . Drie regressies van de tijdsduur en het aantal artikelen per bewerkelijkheidgraad . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 3.3
20 23 27
4.1
4.4
In het analytisch model worden stap 2, 3 en 4 van de methodiek behandeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . De normale verdeling met vuistregels voor de afwijking van het gemiddelde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vb. van het minimum van de optimaliseringfunctie van de kosten in het DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Het M/M/c wachtrijmodel bij het inkomende transport . . . . .
5.1
Overzicht van de processen in het DC in de aanloop naar een actie 46
4.2 4.3
29 30 32 33
A.1 De nieuwe methodiek die in 4 stappen een nieuwe indeling van het transportschema bepaalt . . . . . . . . . . . . . . . . . . . .
60
B.1 Een plattegrond van het distributiecentrum (DC) van Etos in Beverwijk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
E.1 Het simulatiemodel . . . . . . . . . . . . . . . . . . . . . . . . . .
72
F.1 De resultaten van de simulaties in ED per scenario . . . . . . . . F.2 De bezettingsgraad . . . . . . . . . . . . . . . . . . . . . . . . . .
73 73
7
1. INLEIDING
1.1 De aanleiding van het onderzoek Etos heeft een forse groeiambitie geformuleerd en een van de strategische pijlers onder deze ambitie is ’klaarmaken voor groei’. Onderdeel binnen deze pijler is een soepeler en effici¨enter logistiek proces. Met dit doel in het achterhoofd kwam de eerste aanzet tot dit onderzoek vanuit Martijn Mevissen, manager van Replenishment Tactics (de rol van deze afdeling zal in Hoofdstuk 2 worden uitgelegd). Hij voorzag dat het inkomende transport anders gepland kan worden zodat het beter aansluit op de vervolgstappen in de keten. De keuze voor dit onderzoek als afstudeeropdracht was snel gemaakt. Ik zocht naar een opdracht waarin de theorie en praktijk dicht bij elkaar kwamen, zodat mijn onderzoeksresultaat zou leiden tot een verandering binnen het bedrijf. Vanuit Etos kwam een aanbod dat goed aansloot op mijn vraag. In deze opdracht kreeg ik veel ruimte om zelf mijn onderzoeksterrein af te bakenen en dit heeft geresulteerd in een model dat naast het inkomende transportschema ook de bestelmethodiek van het distributiecentrum van Etos (DC) optimaliseert. De methodiek die ik heb opgesteld, moet in de toekomst door Etos zelf kunnen worden gebruikt. Hiervoor heb ik soms pragmatische keuzes gemaakt die een operationeel toegankelijk model hebben mogelijk gemaakt.
1.2 Een korte geschiedenis van het bedrijf Etos Philips richtte in de jaren twintig van de 20e eeuw een winkelketen op voor zijn personeel in Eindhoven. In 1931 werden deze winkels omgezet in een onafhankelijke co¨ operatie onder de naam Etos (Eendracht, Toewijding, Overleg en Samenwerking). Etos groeide in de jaren daarna in de omgeving van Eindhoven en in de jaren zeventig bezat Etos een groot aantal kruidenierszaken. In 1973 kocht Ahold het bedrijf en de naam Etos wordt sindsdien landelijk gebruikt voor de drogisterijen van het Albert Heijn-concern. Een deel van de kruidenierszaken werd omgetoverd tot Albert Heijnfilialen. In Nederland is het aantal winkels inmiddels gegroeid tot 542. Ongeveer de helft van deze winkels is een franchiseonderneming. Sinds 2000 zijn in Stockholm meer dan tien Etos filialen geopend. Het DC bevindt zich sinds 2000 in Beverwijk. Maandelijks worden in het DC ongeveer 9.000 verschillende artikelen geleverd. Deze artikelen worden ge¨exporteerd naar bijna 550 winkels verspreid door Nederland. Ongeveer 2/3 van de winkels wordt ´e´en keer week beleverd, de overige winkels twee of drie keer. Dagelijks betekent dit dat vanuit het DC aan bijna 150 winkels wordt geleverd. In het DC werken ongeveer 300 medewerkers om aan alle inkomende en uitgaande
stromen te kunnen voldoen.
1.3 Doel van het onderzoek De focus van dit onderzoek ligt bij het inkomende transport: vanaf het aanleveren van artikelen door leveranciers tot en met de ontvangst van deze lading in het DC. Klanten kopen artikelen in de winkel, die vervolgens als de voorraad op raakt, bestelt bij het DC. Het DC bestelt vervolgens bij de leverancier als de voorraad in het DC bijgevuld moet worden. De hartslag van het DC wordt daarom bepaald door de expeditie van artikelen aan winkels en indirect door wat de klant in de winkel gaat kopen. Het inkomende transport moet zo precies mogelijk aansluiten op het uitgaande transport, zodat artikelen zo kort mogelijk op voorraad liggen in het DC. De voorraad is binnen het DC van Etos een van de grootste kostenposten waar winst op behaald kan worden. Het optimaliseren van het inkomende transport speelt daarom een belangrijke rol in het verlagen van de kosten. Het doel van dit onderzoek is om een nieuw dynamisch inkomend transportschema op te leveren dat flexibel is voor tactische aanpassingen in de toekomst opdat het bij nieuwe leveranciers of wijzigingen van huidige leveranciers een methode biedt om het juiste aflevermoment te bepalen. De inkomende goederenstroom van Etos moet in flow gepland worden tegen laagst mogelijke kosten. De afweging die gemaakt moet worden per leverancier is of een lage aanleverfrequentie opweegt tegen de kosten van het langer op voorraad hebben van artikelen. Voor het DC lijkt een hoge aanleverfrequentie en een laag voorraadniveau qua kosten en responsiviteit voordelig. In dit onderzoek zal per leverancier gekeken worden waar de optimale verhouding ligt. In samenwerking met Etos zijn voor dit onderzoek de volgende doelstellingen opgesteld: 1. Lagere kosten: door een vermindering van voorraad- en personeelskosten. 2. Effici¨enter ontvangstproces waardoor per dag per dok meer leveringen mogelijk zijn. Indien de groei doorzet, zal deze gegenereerde capaciteit nodig zijn. 3. Leveranciersafspraken voor inkomend transport die de nieuwe werkwijze mogelijk maken: parameters per leverancier bepalen. 4. Het raamwerk moet aansluiten op de mogelijkheden binnen het DC, maar ook realiseerbaar zijn in afspraken met leveranciers.
1.4 Toelichting op de gebruikte programma’s In figuur 1.1 op pagina 11 is te zien hoe dit onderzoek is opgebouwd. In deze paragraaf worden de programma’s die bij deze stappen zijn gebruikt per alinea kort toegelicht. In paragraaf 4.1 staat de theoretische achtergrond van de wiskundige 9
methodes waarmee wordt gewerkt. In de literatuur is gezocht naar vergelijkbare voorraad- en bestelproblemen, maar deze konden helaas alleen worden gebruikt ter inspiratie, omdat de input- en beslissingsvariabelen verschillen met de situatie bij Etos. Bij Etos wordt data uit verschillende bronnen/databases bij elkaar gebracht in een programma Discoverer van Oracle. In dit programma kunnen bestaande analyses worden opgevraagd, bijvoorbeeld over behaalde servicepercentages bij uitlevering aan winkels of de huidige voorraadstand in het DC. Het is ook mogelijk om zelf nieuwe (kruis)tabellen te maken. Voor dit onderzoek zijn verschillende bestanden gemaakt: klantvraag per week, aantal stuks geleverd per leverancier in een periode, de opslagwaardes van artikelen en actiedummies per week: een 0 voor een reguliere week, een 1 voor een ’gewone’ promotieactie of een 2 voor een ’extreme’ promotieactie. De data in Discoverer worden dagelijks bijgewerkt. De gegevens die in Oracle worden opgevraagd kunnen naar Excel (Microsoft Office 2007) worden ge¨exporteerd. In Excel zijn voor dit onderzoek analyses gemaakt van alle mogelijke invloeden op het inkomende transport. Met behulp van grafieken, macro’s en pivot tabellen zijn deze overzichtelijk gepresenteerd of mee genomen in vervolgstappen van het onderzoek. In het programma Delphi 2007 van Codegear RAD Studio zijn twee programma’s voor het analytisch model geprogrammeerd en uitgerekend. Dit programma zit niet standaard op de computers bij Etos, maar kan indien nodig wel overgedragen worden aan het eind van dit onderzoek. Voor het herberekenen van het model zal niet het programma nodig zijn, maar alleen het Delphi.exe bestand en enkele Notepad-bestanden met de juiste data. Voor het simuleren is gebruik gemaakt van het programma Enterprise Dynamics (versie 8.2) van Incontrol. Voor de duur van mijn stage heeft Incontrol een afstudeerlicentie gegeven. Na mijn stage zal het programma bij Etos niet meer nodig zijn. De vuistregels die de uitkomsten zijn van het simuleren, kunnen in de toekomst gebruikt worden om een strategische keuze (die betrekking heeft op de indeling van het transportschema) te beargumenteren. Het programma Stat::Fit (Versie 2) is gebruikt om in een datareeks (van maximaal 50 waarnemingen) een verdeling te herkennen. Het programma test met behulp van de Kolmogorov Smirnov test en de Anderson Darling test (ChiKwadraat test voor discrete verdelingen) welke verdeling het best aansluit op de ingevoerde data. In deze scriptie zal worden aangegeven waar dit programma is gebruikt bij het analyseren van de data.
1.5 Opbouw scriptie In figuur 1.1 is de opbouw van deze scriptie in een processchema weergegeven. In de volgende alinea’s zal worden toegelicht wat in elke stap wordt behandeld. In Hoofdstuk 2 wordt uitgelegd welke afdelingen verantwoordelijk zijn voor (een deel van) het ontvangstproces en hoe het inkomende transport nu is geregeld. De problemen in de huidige situatie worden toegelicht. Etos zit in de eindfase van een implementatietraject van een nieuw softwaresysteem. Deze soft10
Fig. 1.1: Een schema van de opbouw van deze scriptie
ware gaat veel invloed hebben op de manier van werken. Hierover wordt aan het eind van Hoofdstuk 2 meer verteld. In Hoofdstuk 3 begint de methodiek die het eindproduct is van dit onderzoek. De eerste stap van de methodiek is het verzamelen en analyseren van data. De data zal uit systemen van Etos worden gehaald, maar ook worden verkregen uit metingen in het DC. In Hoofdstuk 4 worden de laatste drie stappen van de methodiek behandeld. In het begin van het hoofdstuk wordt de theoretische achtergrond toegelicht die nodig is om de modellen te begrijpen. Daarna volgt het eerste model dat een optimale afleverfrequentie bepaalt per leverancier. De output van dit model wordt gebruikt om de leveranciers in Excel over de week te verdelen. Tenslotte wordt de dagindeling in een tweede model gemaakt. De uitkomst is een aankomsttijd per levering en de benodigde ontvangstcapaciteit per uur. Hoofdstuk 5 begint met een beschrijving van het doel van het simulatiemodel. Daarna worden verschillende scenario’s ge¨ıntroduceerd die gesimuleerd zullen worden. De resultaten van de simulaties worden in de laatste paragraaf besproken. Het resultaat van de nieuwe methodiek zal worden vergeleken met het huidige schema. Daarna zullen vijf vuistregels worden gepresenteerd die in de toekomst van pas kunnen zijn bij het maken van strategische keuzes over het inkomende transport. In Hoofdstuk 6 kijken we kritisch naar aannames en vereenvoudigingen in de modellering. In het laatste hoofdstuk, de conclusie, staat het resultaat van deze scriptie en de aanbevelingen en voorwaarden om van het ontvangstproces een soepeler en effici¨enter proces te maken.
11
2. HUIDIGE SITUATIE INKOMEND TRANSPORT DC ETOS
In dit hoofdstuk wordt een toelichting gegeven over de huidige situatie van het inkomende transport in het DC. In de eerste paragraaf worden de betrokken afdelingen en de functies die zij bij het inkomende transport hebben, beschreven. Daarna volgt een processchema met uitleg over de huidige werkmethodiek. De problemen die ik in het ontvangstproces heb gesignaleerd worden in paragraaf drie toegelicht. De laatste paragraaf gaat over het nieuwe softwaresysteem IRIS dat in oktober 2012 bij Etos ge¨ımplementeerd gaat worden.
2.1 Betrokken afdelingen en functies
Fig. 2.1: Supply Chain van Etos en rol per afdeling voor inkomend transport
Het bestellen en ontvangen van artikelen in het DC is een complex proces met veel stappen waar alle afdelingen van de Supply Chain bij betrokken zijn. In figuur 2.1 is de Supply Chain schematisch weergegeven met een korte toelichting op de rol van elke afdeling voor het inkomende transport. Het is de verantwoordelijkheid van de afdelingen van de Supply Chain om artikelen van de leverancier naar de klant te brengen en dit op een zo effici¨ent en goedkoop mogelijke manier, maar met behoud van een hoge servicegraad voor de klant.
Per afdeling wordt eerst beschreven wat de verantwoordelijkheden met betrekking tot het inkomende transport nu zijn. Vervolgens wordt in de laatste alinea vooruit gekeken naar veranderingen in de positie van het inkomende transport. De Chain Managers zijn de schakel tussen de commerci¨ele afdeling, de Supply Chain en de leveranciers. Zij maken de vaste tactische leverafspraken zoals afleverfrequentie, ordergrootte, hoe artikelen aangeleverd worden en leverancierspecifieke afspraken. Replenishment Tactics is een nieuwe afdeling sinds november 2011 en heeft zich sindsdien nog niet met inkomend transport bezig gehouden. De afdeling streeft naar een optimale aanpak van het gehele proces om een artikel in de winkel te krijgen. Voor het inkomende transport betreft dit de voorspelling van de vraag naar artikelen in het DC zo goed mogelijk voorspellen, het vaststellen van de normen voor de planners die bestellen (afleverfrequentie, verwachte vraag en veiligheidsvoorraad) en zorgen dat het reactievermogen van elke schakel binnen Etos adequaat is. Replenishment Fulfillment bestaat uit de planners en deze zijn operationeel verantwoordelijk voor het aanvullen van de voorraad in het DC met als uitgangspunt het zo precies mogelijk aan te laten sluiten op de toekomstige vraag. Per artikelnummer beslissen zij wel of niet bij te bestellen door te kijken naar de minimale bestelhoeveelheid, het palletpatroon (hoeveel dozen met artikelen op een pallet passen), het volgende aflevermoment en de historische vraag van de winkels. Zij plaatsen spoedorders indien de vraag naar een artikel groter blijkt dan verwacht. De planners zijn ook de schakel met de leveranciers over operationele zaken, zoals bijvoorbeeld niet tijdig leveren of artikelen die ontbreken. Sancties voor het niet nakomen van afspraken zijn er nog niet. Logistic Tactics streeft naar een optimale inrichting en besturing van het DC. Zij beheren tactisch de inkomende transportplanning: het bloktijdenschema. Dit is een Excelsheet met tijdsblokken waarbinnen leveranciers hun orders kunnen komen leveren. Een groot deel van de leveranciers heeft standaard bloktijden die door Logistic Tactics in het schema worden gezet. Voor alle incidenten en afwijkingen betreffende het bloktijdenschema wordt Logistic Tactics nu ook operationeel bij het schema betrokken. Logistic Tactics voorziet Warehouse Fulfilment daarnaast dagelijks van een prognose met de hoeveelheid ontvangsten voor de komende dag. Aan de hand van deze prognose maakt Warehouse Fulfilment een capaciteitsplanning voor op de vloer. Warehouse Fulfillment verzorgt alle operationele bewegingen in het DC. Dagelijks zijn hier ongeveer 300 medewerkers voor nodig. De handelingen bestaan uit het binnenkomen, het ontvangen, de controle, de afvoer, het bijvullen en het ophalen van artikelen. Voor het inkomende transport zijn de binnenkomst, het ontvangen, de controle en de afvoer relevant. In figuur 2.2 is de verschuiving van invloeden van 7 stakeholders op het inkomende transport het komende jaar te zien. In de figuur staat een 1 (de kleinste cirkel) voor een slechte relatie / weinig invloed vanuit de stakeholder op het inkomende transport en een 5 (de grootste cirkel) voor een goede relatie / veel invloed vanuit de stakeholder op het inkomende transport. Een algemene verklaring voor de verschuiving is dat de invloed van operationele afdelingen 13
Fig. 2.2: Relatie tussen inkomend transport en stakeholders nu en in 2013
naar meer tactische afdelingen zal gaan. De grootste veranderingen worden verwacht bij RE Tactics en Logistic Tactics. De nu op incidenten ingerichte operationele werkwijze wordt vervangen door generieke afspraken en normen waardoor sneller beslissingen genomen kunnen worden. In deze scriptie zal hier weinig aandacht voor zijn. Ik zal een handleiding overdragen met dergelijke afspraken en normen in de vier weken dat ik het nieuwe schema ga implementeren. De relatie met leveranciers versterkt, omdat zij door het nieuwe systeem meer terugkoppeling gaan krijgen over hun servicepercentages. De planners van RE Fullfilment doen elke order nu handmatig en elke correctie heeft invloed op het transportschema. In de toekomst wordt het bestellen geautomatiseerd en daardoor zou de hoeveelheid correcties die vaak resulteren in spoedorders sterk af moeten nemen. Hierdoor neemt vervolgens de invloed van RE Fullfilment op het inkomende transport iets af.
2.2 Procesbeschrijving huidige situatie Zoals beschreven in de inleiding wordt de hartslag van het DC bepaald door het uitgaande transport naar de winkels. In figuur 2.3 is schematisch weergegeven wat de volgorde van de processen is. In deze paragraaf wordt toegelicht welke processen voorafgaan aan de expeditie en hoe Etos nu een zo hoog mogelijk servicepercentage probeert te bereiken. Het servicepercentage wordt bepaald door de volledigheid van de levering aan winkels. De afleverfrequentie van een leverancier staat vast en wordt alleen veranderd als de leverancier of Etos hier aanleiding toe ziet. Elke planner is verantwoordelijk voor een deel van de leveranciers. Zij controleren dagelijks een selectie van de artikelen die in hun persoonlijke besteladvies staan. Welke artikelen in het besteladvies zitten, wordt bepaald door dagcodes die per artikel zijn inge14
Fig. 2.3: De processen die zich afspelen rondom het inkomende transport
vuld door de planners. Deze dagcodes baseren zij op de ABCDE-classificatie die aan het artikel hangt en de aflevermomenten van een leverancier. Een ABCDEclassificatie wordt elke zes weken gegenereerd door Replenishment Tactics op basis van een frequent gebruikte voorraadmanagementmethode (zie paragraaf 4.1 voor een uitgebreidere toelichting). Deze methode is gebaseerd op het principe dat het meeste energie moet worden gestoken in de artikelnummers die het belangrijkst zijn voor Etos (classificatie A). Aangezien het systeem geen voorspelling van de vraag genereert, wordt nu de ABCDE-classificatie als hulpmiddel aan de planner gegeven. Naar artikelen met classificatie A kunnen ze meer vraag verwachten dan naar artikelen met classificatie B, etc. De planners beslissen voor elk artikel in hun besteladvies (dit wordt gebaseerd op de ABCDE-classificatie en de afleverdagen van een leverancier) of een bestelling nodig is en nadat zij alle artikelen van een leverancier hebben gecontroleerd, wordt de order verzonden. In een administratiekantoor in het DC worden de chauffeurs van leveranciers ontvangen door de bakman (de co¨ordinator van de binnenkomende vrachtwagens) en in het bloktijdenschema controleert hij de aankomsttijd. Chauffeurs die buiten hun bloktijd arriveren, worden gevraagd een nieuwe afspraak te maken, tenzij de ontvangstmedewerkers ruimte hebben om nu te ontvangen. Als het ordernummer en de pakbon van de levering gecontroleerd en akkoord zijn, belt de bakman de perronmeester (de verantwoordelijke op de vloer voor ontvangst en registratie van artikelen) en deze bepaalt bij welk dok de chauffeur kan lossen. In totaal zijn er in het DC 13 doks (zie bijlage B.1). Een groot deel van deze doks wordt gebruikt door de uitgaande transportstroom. Het aantal doks dat beschikbaar is voor ontvangst varieert per uur en per dag. De chauffeur begint met lossen bij het toegewezen dok en ontvangstmedewerkers beginnen met het tellen en controleren van de levering. Pas als duidelijk is dat de levering klopt, kan de chauffeur vertrekken. In het DC worden de pallets met artikelen dan gestickerd en door afvoerders weggebracht naar de opslaglocatie.
15
2.3 Problemen in de huidige situatie De knelpunten in de huidige situatie zullen in deze paragraaf in vier groepen verdeeld worden: de planningsmethodiek, de ontvangst van artikelen, het bloktijdenschema en het wachttijdmanagement. We vatten elk knelpunt kort samen zodat voor de toekomstige situatie beknopte werkpunten mee genomen kunnen worden. Planningsmethodiek: • Geen actuele planning van het inkomende transport: planners baseren orders op standaard aflevermomenten van leveranciers die ooit zijn afgesproken. Dit resulteert in veel onbenutte aflevermomenten die wel in het schema staan en aan de andere kant in spoedmomenten, omdat de leverancier meer brengt of vaker komt. • Er zijn geen randvoorwaarden om een nieuwe leverancier in het inkomende transportschema toe te voegen: op basis van ervaring wordt geschat of op een bepaald dagdeel ruimte is voor een extra rit. Randvoorwaarden of data-analyses worden hiervoor niet gebruikt. • Een voorspelling van de verwachte klantvraag ontbreekt: de verwachting van de vraag per artikel wordt gebaseerd op voorgaande weken en op dezelfde week een jaar eerder. Deze voorspelling per artikel is niet betrouwbaar. Hierdoor is voorsepllen per dag of per week voor de binnenkomende stroom in het DC ondenkbaar, want dan moet de klantvraag meerdere weken vooruit zijn voorspeld. Ontvangst: • Geen correlatie tussen het aantal gewerkte uren door ontvangstmedewerkers en het aantal geleverde colli: de ontvangstduur stijgt niet naarmate de hoeveelheid die ontvangen wordt toeneemt. • Nieuwe artikelnummers krijgen pas na ontvangst een opslaglocatie toegewezen: bij de keuze van het dok kan door de perronmeester geen rekening worden gehouden met de locatie van nieuwe artikelen, omdat deze nog geen locatie toegekend hebben gekregen. Dit zorgt voor vertraging. • Controle van leveringen is bewerkelijk door veel foute palletpatroons: verschil in logistieke gegevens van artikelen bij leveranciers maakt dat elk aangeleverde pallet een andere opbouw heeft, een ander palletpatroon. Volle lagen op pallets versnellen de controle in het DC, omdat het overzichtelijker is. In het huidige systeem klopt het palletpatroon vaak niet of planners bestellen niet in volle lagen. Bloktijdenschema: • Leverancierafspraken worden niet nagekomen: leveranciers leveren niet in de toegewezen bloktijd (zie tabel 2.1) of bundelen leveringen zonder dit aan Etos door te geven. Inzicht krijgen in leverancierprestaties is nu complex en daarom wordt dit niet standaard naar leveranciers gecommuniceerd.
16
Tab. 2.1: Leveringen buiten bloktijd Leveringen buiten bloktijd
% van totaal aantal leveringen
Buiten bloktijd
52.85% (waarvan 72% te vroeg)
15 minuten buiten bloktijd
40.84%
30 minuten buiten bloktijd
33.39%
> >
• Verantwoordelijkheid voor het bloktijdschema is onduidelijk: Logistic Tactics, RE Fullfilment en Warehouse Fulfilment werken in het schema en hierdoor voelt niemand zich de eindverantwoordelijke om bijvoorbeeld acties naar leveranciers te nemen. • De duur van de bloktijd is niet afgestemd op de locatie van het DC van de leverancier: 10% van de leveranciers brengt 90% van het totale aantal colli naar het DC. 11 van de 31 leveranciers die deze 10% leveren, komen uit het buitenland en hier wordt in de bloktijd geen rekening mee gehouden. Wachttijdmanagement: • Gebrek aan wachttijdmanagement: in het proces zijn verschillende wachtmomenten en hier zijn geen regels of procedures voor. Zowel op wachttijden voor externen zoals leveranciers als op wachttijden voor eigen personeel zou meer gestuurd moeten worden.
2.4 Het nieuwe softwaresysteem van Etos: IRIS In deze paragraaf wordt toegelicht wat de invloed van het nieuwe softwaresysteem voor Etos breed en specifiek voor dit onderzoek zal zijn. 2.4.1
De achtergrond en toekomst van IRIS
Bij Etos wordt onderscheid gemaakt tussen warehouse replenishment en store replenishment. Replenishment betekent letterlijk het aanvullen van de voorraad. Dit onderzoek maakt deel uit van de warehouse replenishment. Voor het functioneren van een bedrijf en vooral een replenishmentafdeling is een krachtig softwaresysteem van groot belang. Etos is onderdeel van Ahold en Ahold’s grootste dochteronderneming is Albert Heijn. Bij Albert Heijn hebben ze een eigen datasysteem ontwikkeld dat precies aansluit bij de processen van Albert Heijn. Ahold wil bij zijn overige dochterondernemingen een nieuw softwaresysteem uitrollen: IRIS van Oracle. Mogelijk kan dit systeem dan ook bij Albert Heijn de huidige software vervangen. Etos heeft op dit moment erg gedateerde software en is door Ahold gekozen om als eerste het nieuwe systeem te gebruiken. IRIS wordt eind 2012 bij Etos ge¨ımplementeerd na een traject van 2 jaar. Het systeem bestaat uit meerdere onderdelen die toegespitst zijn op de afdelingen van Etos (Business control, Commercie, Marketing en Replenishment). Voor Replenishment zijn 2 onderdelen van belang: het Warehouse Management System (WMS) en het Retail Management System (RMS). WMS gaat in het DC 17
de duur van de huidige processen versnellen. Dit biedt mogelijkheden voor een wijziging van de werkmethodiek en daaruit is mede de vraag naar dit onderzoek ontstaan. RMS is het nieuwe systeem om bestellingen te plaatsen. De uitkomst van dit onderzoek zal invloed hebben op beide systemen, aangezien zowel het bestellen als de ontvangst worden meegenomen in de optimalisatie. Als het model van dit onderzoek goed aansluit bij het nieuwe systeem, is het mogelijk dit model ook bij de overige dochterondernemingen van Ahold te gebruiken om een optimale verhouding tussen afleverfrequentie en voorraadhoogte te vinden. 2.4.2
Veranderingen in de werkwijze na de implementatie van IRIS
Het nieuwe systeem IRIS lost sommige knelpunten op en zal de huidige processen deels veranderen. Voor dit onderzoek zijn veel van de veranderingen van belang en ook hoe deze keuzes gemaakt zijn. Waar nodig zal in dit verslag nog vaker gerefereerd worden naar methodes die in het IRIS-project bepaald zijn. In deze paragraaf worden de grootste veranderingen besproken. In RMS van IRIS zit een automatische bestelmethodiek waardoor de plan-
Fig. 2.4: Min/max methodiek in RMS van IRIS
ners niet meer dagelijks op artikelniveau de voorraad hoeven te controleren en per artikel bij moeten bestellen. Met behulp van een min/max methodiek wordt een besteladvies gegenereerd en dit wordt gecontroleerd door de planners. Deze methodiek is gebaseerd op standaard voorraadmodellen die in paragraaf 4.1 worden toegelicht. Etos heeft een standaard (s,S) strategie (Nahmias [3]) als basis gebruikt. Voor de methodiek in IRIS wordt een voorraadgrens bepaald (deze wordt de Min=Max-grens genoemd) en zodra de voorraad bij een review point (R) onder deze grens komt, wordt een bestelling van ROQ (Replenishment Or18
der Quantity) stuks geplaatst. De ROQ wordt afgerond naar een volle doos, laag of pallet. Dat verklaart het verschil in figuur 2.4 tussen ROQ en D2 (wat geleverd wordt op delivery moment 2). De bepaling van de voorraadgrens gaat als volgt: M in = M ax − grens = RD1D2 + veiligheidsvoorraad. RD1D2 is de verwachte vraag tussen het review point en het 2e delivery moment. Als de voorraad op het review moment groter of gelijk is dan de Min=Max-grens, wordt geen bestelling geplaatst. De veiligheidsvoorraad is een factor vermenigvuldigd met RD1D2. Het projectteam heeft nog niet besloten hoe deze factor bepaald wordt. In figuur 2.4 staat deze bestelmethodiek grafisch weergegeven. (R staat voor een review moment, T voor de leveringstijd tussen review en delivery en D voor het delivery moment.) De administratieve handelingen die bij de ontvangst van artikelen worden uitgevoerd, worden voor een groot deel geautomatiseerd door IRIS. Vanuit het WMS worden stickers geprint die door ontvangst op de juiste dozen / lagen / pallets worden geplakt. De bewerkelijkheid van het bij elkaar zoeken van de juiste sticker en het juiste artikel blijft (tenzij hier bij leveranciers strengere eisen voor gehanteerd gaan worden), maar daarna kan in de scanner direct de telling worden ingevoerd. De ontvanger ziet zo direct of een levering compleet is en hoeft niet meer naar het ontvangstkantoor heen en weer te lopen. De behandelduur zal hierdoor korter worden. Over hoeveel tijdswinst dit gaat opleveren, kan pas na de implementatie wat gezegd worden. Bij het meten in paragraaf 3.3 is geprobeerd het proces na te bootsen zoals het in IRIS zal gaan zodat de behandeltijd ook in de toekomst realistisch is. In WMS worden nieuwe artikelen die in het DC binnenkomen automatisch naar een meet-en-weeglocatie gestuurd. Het ontvangstproces wordt hierdoor niet meer vertraagd en Logistic Tactics kan de artikelen na het meten en wegen een locatie toewijzen in het DC. Alle artikelen van het huidige assortiment zullen voor de implementatie van IRIS gewogen en gemeten worden, zodat de data volledig up-to-date is. De berekening van het aantal vrachtwagens per leverancier wordt hierdoor ook nauwkeuriger. In IRIS zit een afsprakenmodule die een order van een leverancier aan een afspraak en dok koppelt. Dit kan de ontvangstco¨ordinator in het ontvangstkantoor doen zonder dat hij de perronmeester hoeft te bellen. De rol van perronmeester verdwijnt hierdoor. Vanuit het ontvangstkantoor is te zien op welk dok welke leverancier staat, hoeveel pallets al ontvangen zijn en hoeveel procent van de order nog binnen moet komen. Een continue besturing van de drukte op de doks zal de bezettingsgraad verhogen en hierdoor zijn meer leveringen per dag mogelijk op een gelijk aantal doks. Nadat RMS en WMS van IRIS ge¨ımplementeerd zijn, gaat Etos een voorspellingsapplicatie toevoegen aan het systeem: RDF (Retail Demand Forecasting). Hiermee wordt naast de min / max methode ook op twee andere manieren een voorspelling van de vraag gegenereerd, zowel op winkel- als DC niveau. Resultaat van deze voorspelling is dat ook eerder een betrouwbaar inzicht beschikbaar is in de hoeveelheid inkomend transport.
19
3. DATA-ANALYSE
Methodiek voor het bepalen van het inkomende transportschema 1a. Verzamelen gegevens Etos-database
1b. Verzamelen gegevens door meten in DC
2. Delphi-model 1: Bepalen afleverfrequentie 3. Excel: Bepalen leverdagen 4. Delphi-model 2: Bepalen benodigde ontvangstcapaciteit en bloktijd
Fig. 3.1: In de data-analyse worden stap 1a en 1b van de methodiek behandeld
In dit hoofdstuk wordt de eerste stap van de methodiek behandeld die te zien is in figuur 3.1. De vier stappen van de methodiek leiden tot een nieuw inkomend transportschema. De eerste stap (data verzamelen) is van groot belang voor de rest van de methodiek, want als de data niet klopt, zijn de uitkomsten niet waardevol. In dit hoofdstuk wordt daarom stil gestaan bij de wijze waarop de data is verzameld. In de eerste paragraaf wordt de gemiddelde klantvraag per week onderzocht. Er wordt naar een statistische verdeling gezocht die deze klantvraag het best benadert. In paragraaf twee staan de logistieke datagegevens die uit de informatiesystemen van Etos worden gehaald. In de laatste paragraaf staan de uitkomsten van het meten van de tijdsduur in het DC.
3.1 Het berekenen van de klantvraag per week De eerste stap in het proces is de klantvraag voorspellen. Hiervoor zijn betrouwbare historische gegevens nodig en een manier om die te vertalen naar een voorspelling van de toekomstige vraag. Bij Etos is het assortiment onderhevig aan mutaties, veel promotieacties en seizoensinvloeden. Door deze drie factoren is het lastig om de toekomstige vraag te voorspellen. Voor de historie van de verkoop van artikelen wordt naar het vorige kwartaal gekeken, een periode van 13 weken. Het verschil tussen het assortiment van een jaar geleden en het huidige assortiment is te groot om data van een jaar te gebruiken. Een alternatief zou zijn om voor nieuwe artikelen de data van vergelijkbare artikelen te gebruiken, maar dat is een bewerkelijk proces om voor 3000 artikelen te realiseren. In de 13 weken die geanalyseerd worden, kan het zijn dat artikelen door promotieacties
of seizoensinvloeden extra verkopen hebben gehad. In het eerste deel van deze paragraaf staat wat het effect is van deze acties en seizoenen op de klantvraag. In het tweede deel wordt aangetoond dat de Poisson verdeling het best gebruikt kan worden voor de benadering van de klantvraag.
3.1.1
Het effect van actie en seizoenen op de klantvraag
De invloed van promotieacties (bij Etos aangeduid met ¨acties”) wordt uit de data gefilterd. Bij actie wordt onderscheid gemaakt tussen normale en extreme actie (50% korting). Met deze gefilterde data wordt per artikelnummer een gemiddeld aantal stuks bepaald dat in reguliere, actie of extreme actieweken wordt verkocht. De actieperiodes duren twee weken, wat tot gevolg heeft dat in de 13 weken historie gemiddeld nul tot vier actiewaarnemingen zitten. Dit maakt de voorspelling van de vraag in actieweken van een artikel minder betrouwbaar. Er is voor deze onderzoeksmethodiek gekozen, omdat door te kijken naar wat binnen had moeten komen in het vorige kwartaal, vooruit gekeken kan worden naar wat waarschijnlijk gaat binnenkomen in het komende kwartaal op leveranciersniveau. Overigens kan het aantal weken historie in de toekomst eenvoudig aangepast worden of kan met de nieuwe voorspellingsmodule van IRIS een betrouwbare voorspelling van de gemiddelde vraag per week worden gedaan. Seizoensinvloeden zijn ook op een groot deel van het assortiment van Etos van toepassing. Denk aan medicijnen voor hooikoorts, daar is in bepaalde periodes van het jaar geen vraag naar en in andere periodes (februari tot en met juli) een verhoogde vraag. Dit maakt het voorspellen van het komende kwartaal met de gegevens van het vorige kwartaal onbetrouwbaar. Een mogelijkheid die vaker wordt gebruikt, is het terugkijken naar dezelfde periode een jaar geleden. Het nadeel is dat een deel van de artikelen historische verkoopgegevens mist. Om dit probleem te omzeilen, is gekeken naar wanneer de seizoenen wisselen en of artikelen als hooikoorts dan beter te voorspellen zijn als andere grenzen voor het herberekenen worden gehanteerd: • • • •
Rond Rond Rond Rond
20 21 22 21
maart begint de lente juni begint de zomer september begint de herfst december begint de winter
De conclusie is dat voor een voorspelling van de vraag een nauwkeurige seizoensprognose noodzakelijk is. Seizoenseffecten meenemen in de voorspelling voor het inkomende transportschema maakt het model een stuk bewerkelijker. Door te schuiven met de grenzen en de methodiek te herhalen, kan de invloed eenvoudig worden nagegaan. Door de bewerkelijkheid van deze exercitie zullen de kwartalen berekend worden van week 1 t/m week 13, week 14 t/m week 26, week 27 t/m week 39 en week 40 t/m week 52 en zal het effect op extra verkopen van seizoensartikelen (voorlopig) buiten beschouwing worden gelaten.
21
3.1.2
De verdeling van de klantvraag: Poisson
Van het assortiment van een drogist als Etos wordt verwacht dat tussen reguliere weken niet veel verschil zit in verkoopcijfers (actieweken worden buiten beschouwing gelaten), tenzij een artikel onderhevig is aan seizoensinvloeden. Gemiddeld wordt een artikel bij Etos 0.74 keer verkocht per week per winkel. Artikelen kunnen alleen per stuk verkocht worden (niet per halve of kwart) dus het ligt voor de hand om naar een discrete kansverdeling te kijken. Een kansverdeling die vaak wordt gebruikt voor het schatten van een bepaald aantal voorvallen in een tijdsperiode is de Poisson verdeling. De voorvallen moeten onafhankelijk van elkaar zijn. Met een voorval wordt bij Etos bedoeld: het bezoeken van de winkel door een klant. Onafhankelijkheid kan alleen aangenomen worden als de klantengroep groot is en daardoor onafhankelijk van elkaar handelt, zie M en G [2]. Bij de Poisson verdeling zijn gemiddelde en variantie aan elkaar gelijk, waardoor maar 1 parameter (µ) bepaald hoeft te worden. Dit maakt het een eenvoudige verdeling om mee te werken in de toekomst. Stel dat de vraag met 20% stijgt de komende periode, dan kan de Poisson verdeling met gemiddelde µ ∗ 120% de verwachte vraag goed benaderen. In het programma Statfit (versie 2) is getoetst of de hypothese van een Tab. 3.1: Toetsen van statistische verdelingen Nr.
Soort artikel
Poisson
Normaal
Lognormaal
1
Oordopjes
Ja
Ja
Ja
2
Cr`eme met zonnebescherming
Nee
Ja
Ja
3
Tandpasta
Nee
Nee
Ja
4
Schoonmaakdoekjes gezicht
Ja
Ja
Ja
5
Kleurspoeling
Ja
Ja
Ja
6
Thee
Ja
Ja
Ja
7
Kauwgum
Ja
Ja
Ja
8
Haarkleuring
Ja
Ja
Ja
9
Scheermesje
Ja
Ja
Ja
10
Paracetamol
Nee
Ja
Ja
Poisson verdeling op gaat bij een aantal random gekozen artikelen. Het programma gebruikt de Kolmogorov Smirnov test en de Anderson Darling test (Chi-Kwadraat test voor discrete verdelingen) om verdelingen te accepteren of te weigeren. In tabel 3.1 staan de resultaten van tien artikelnummers. In grafiek 3.2 is het aantal verkopen van een soort douchegel van 13 weken uitgezet tegen de Poisson en Normale verdeling. Uit de tabel en uit de grafiek blijkt dat voor een groot deel van de artikelnummers de Poisson verdeling de vraag nauwkeurig benadert. Bij drie verschillende artikelen wordt de Poisson verdeling geweigerd. Een mogelijke verklaring zal hieronder gegeven worden: • Cr`eme met zonnebescherming: de verkoop van zonnebrand wordt sterk 22
Fig. 3.2: De grafieken tonen aan dat de verdeling van de douchegel beter benaderd wordt door de Poisson verdeling
be¨ınvloed door het weer en in het algemeen door seizoenen. De Lognormale verdeling wordt wel geaccepteerd, dus dat geeft aan dat een mate van scheefheid is ontdekt in de data en de variantie is hierdoor te groot voor de Poisson verdeling. • Tandpasta: bij tandpasta kunnen verschillende oorzaken effect hebben op een variatie in verkoopcijfers. Een deel van de tandpasta’s wordt vooral verkocht tijdens actieweken, omdat ze weinig trouwe klanten hebben. Ze zullen in hun verkoop dan ook een daling zien als het concurrerende merk in actie is. Daarnaast speelt bij tandpasta dat klanten niet 1 stuk kopen, maar vaak een voorraad inslaan. Hierdoor zou in plaats van de Poisson verdeling wellicht de compound Poisson verdeling een betere fit hebben. Deze verdeling neemt mee dat klanten meerdere stuks tegelijk kopen, waardoor een grotere variantie geaccepteerd wordt. • Paracetamol: het gemiddelde aantal verkopen van deze paracetamol ligt op 6367 stuks per week. Het gemiddelde aantal verkopen ligt rond de 200 stuks per week, dus deze paracetamol is een uitzondering in het assortiment van Etos. De Poisson verdeling kan bij grote waardes van de verwachting (µ) benaderd worden door de normale verdeling met gemiddelde en variantie gelijk aan µ. De normale en Lognormale verdeling worden wel geaccepteerd, maar met een standaarddeviatie die vijf keer zo groot is als µ. De consequentie van toch aannemen dat deze hardlopende artikelen een Poisson verdeling volgen, is dat de veiligheidsvoorraad soms te laag zal
23
zijn. In vervolgstudies zou de Poisson aanname dan ook wellicht kunnen worden weggelaten, waardoor een grotere nauwkeurigheid, maar ook een grotere complexiteit van bewerkingen bereikt wordt. Voor dit onderzoek is aangenomen dat de Poisson verdeling de vraag voorspelt voor alle artikelnummers. Dit is een pragmatische keuze voor de werkbaarheid van het model, maar voor een groot deel van het assortiment is de keuze geaccepteerd, zoals te zien is in de uitkomsten van tabel 3.1 en grafiek 3.2.
3.2 Logistieke datagegevens van de artikelen Om de berekeningen in het model te kunnen doen, zijn van alle artikelnummers bepaalde logistieke gegevens nodig. In deze paragraaf zal per gegeven kort worden uitgelegd wat het betekent en waar het voor gebruikt wordt in het model. • Palletpatroon: Artikelen komen het distributiecentrum binnen in dozen, die meestal op pallets worden vervoerd. Om te berekenen hoe vol een vrachtwagen is, moet bekend zijn hoeveel ruimte elk artikel inneemt in de vrachtwagen. Het palletpatroon geeft aan hoeveel dozen naast elkaar op een pallet passen zodat een volle laag ontstaat en de hoogte geeft aan hoeveel lagen op de pallet kunnen tot de maximale hoogte in het DC van 1.80meter. Als het aantal stuks bekend is dat van een artikelnummer besteld moet worden, kan dit met behulp van het palletpatroon omgerekend worden naar de belading van de vrachtwagen. De eisen die gesteld worden aan het vervoeren van verschillende artikelen op ´e´en pallet worden genegeerd. Het is niet realistisch dat tien artikelnummers die per soort voor een belading van 0.1 pallet zorgen, gezamenlijk optellen tot 1 pallet. Bij een grote leverancier van Etos is onderzocht hoe dit berekend wordt, maar hier was nog geen oplossing voor gevonden. In dit onderzoek zal dezelfde vuistregel als daar werd gebruikt, worden toegepast: in de vrachtwagen kunnen maximaal 30 pallets in plaats van 33. • Leveringstijd: Na het plaatsen van een bestelling duurt het, afhankelijk van de herkomst van het artikel en het productieproces, een aantal dagen voor het kan worden geleverd. Dit kan binnen het assortiment van een leverancier ook per artikelnummer verschillen, omdat artikelen bijvoorbeeld extra handelingen hebben door specifieke eisen van Etos. De leveringstijd bepaalt mede de hoogte van de veiligheidsvoorraad die in het DC ligt. Als de leveringstijd lang is, zal de voorraad hoger moeten zijn dan bij een korte leveringstijd. De veiligheidsvoorraad moet kunnen voorzien in de vraag vanaf een bestelmoment t/m het volgende aflevermoment (indien niet besteld wordt, moet deze periode overbrugd worden). • Minimale bestelhoeveelheid (MBE): een MBE is de minimale hoeveelheid die de planners moeten bestellen van een artikel bij een leverancier. Dit kan gelijk zijn aan de standaard bestelhoeveelheid (1 doos), maar het kan ook een volle laag, een paar lagen of een volle pallet zijn. Dit hangt af van afspraken die zijn gemaakt tussen Etos en de leverancier. De restrictie van de MBE maakt het bestelproces minder flexibel, omdat just in time (JIT) 24
delivery bij een deel van het assortiment daardoor niet mogelijk is. De MBE is in het model belangrijk voor het berekenen van de gemiddelde bestelhoeveelheid per aflevermoment. Bij artikelen die een hoge afzet hebben, zal de MBE geen restrictie vormen, maar bij langzaamlopende artikelen kan de MBE zorgen voor hoge voorraden en onbenutte aflevermomenten. • OPW: De opslagwaarde is door Etos bepaald, gebaseerd op de inkoopprijs. De hoogte van de voorraad is vandaag ´e´en van de grootste problemen in het DC en daarom een belangrijke factor in dit model. Ahold rekent voor elke 100 euro die een jaar lang in het DC ligt, 8 euro kapitaalverlies. Op deze manier zullen de kosten van de voorraad in het model berekend worden. Per jaar kost het per artikel 8% van de opslagwaarde. • Betrouwbaarheid: Het DC hanteert twee verschillende servicepercentages als het gaat om de uitlevering van artikelen aan winkels. Voor artikelen van het Eigen Merk en artikelnummers die in de actie zijn, wil het DC in 99% van de aanvragen kunnen voldoen aan de winkelvraag. Voor het overige assortiment wordt 95.5% nagestreefd.
3.3 Tijdsmetingen in DC Bij Etos zijn door het verouderde systeem weinig gegevens beschikbaar over de tijdsduur van processen in het DC. De gegevens die beschikbaar zijn worden handmatig ingevoerd en de betrouwbaarheid is daardoor laag. In deze paragraaf zal eerst kort uitgelegd worden met welk doel de metingen in het DC zijn gedaan. In de eerste subparagraaf staat wat de resultaten zijn van het onderzoek en hoe die uit de data gefilterd zijn. In het laatste deel zal per leverancier een dokkingstijd worden berekend met de gegevens die uit het onderzoek komen. Het kwantificeren van processen is voor dit onderzoek van belang om berekeningen uit te kunnen voeren. Bij Etos is hier in het verleden rondom het inkomende transport weinig aan gedaan en beslissingen werden voornamelijk op ’buikgevoelens’ genomen. Het doel van de metingen is ten eerste inzicht krijgen in de tijdsduur van het ontvangen van een levering, ten tweede een verklarende variabele te vinden die de tijdsduur verklaart en als laatste inzicht verkrijgen in de reden waarom bepaalde ontvangsten erg bewerkelijk zijn en veel tijd kosten. Deze laatste reden is voor Etos van belang, maar niet relevant om uit te werken in deze scriptie. 3.3.1
Tijdsduur ontvangst
Het ontvangstproces begint zoals eerder uitgelegd in paragraaf 2.2 bij het ontvangen van de chauffeur. Dit proces is gemeten door de bakman die de chauffeur ontvangt. Het ontvangen en controleren door de bakman duurt gemiddeld 4 minuten met een standaardafwijking van 2.5 minuten. Aan de ontvangers bij het dok is gevraagd een formulier in te vullen met de volgende data: leveranciersnaam, duur lossen, aantal pallets geleverd, duur controleren, aantal pallets na uitsorteren, aantal verschillende artikelen, bewerkelijkheidgraad (snel, gemiddeld, hoog) en een eventuele reden voor de bewerke25
lijkheid. De manier waarop deze metingen zijn uitgevoerd, is erg onbetrouwbaar. De ontvangers hadden een stopwatch bij zich, maar die werd niet altijd gebruikt. De afspraak was dat ´e´en ontvanger de lading zou verwerken om de meting zo betrouwbaar mogelijk te laten zijn. Vervolgens zouden verschillende ontvangers dit los van elkaar doen. Al snel bleek dat ze dit in het DC nauwelijks deden en daarom is gekozen voor meer metingen, maar met meerdere ontvangers tegelijk. Ze hebben bijgehouden met hoeveel man aan de levering werd gewerkt, maar ze zullen niet vanaf de start tot en met het eind met dezelfde capaciteit bezig zijn geweest. In IRIS zullen deze tijdsmetingen automatisch worden gedaan. De analyse kan dan opnieuw worden uitgevoerd met betrouwbaardere gegevensom te zien of het gevolgen heeft voor de bevindingen. Het lossen wordt gedaan door de chauffeur en dus niet door Etos. De ontvangers beginnen zo snel mogelijk tijdens het lossen met het afstapelen en uitsorteren van de geplaatste pallets. Ze zorgen dat elk artikel op een eigen pallet staat (zo moet het ook het DC in). De tijdsduur van het lossen wordt verklaard door het aantal pallets dat geleverd wordt. In vergelijking 3.1 staat de formule die ontstaat waarin y de totale tijdsduur is en x het aantal pallets. Uit de formule is af te leiden dat het lossen bij een dok onafhankelijk van de lading ongeveer 5.5 minuten duurt. Vervolgens kost het per pallet ongeveer een halve minuut extra. De betrouwbaarheid van deze formule kan worden afgeleid uit de R2 = 0.69. Deze grootheid geeft aan dat 69% van de variantie in de vergelijking wordt verklaard door het effect van het aantal pallets en de overige 31% wordt veroorzaakt door andere factoren (zoals welke leverancier, het volume dat op de pallets staat, de gemoedstoestand van het personeel, etc.). Ontvangers kunnen tijdens het lossen beginnen met controleren en het lossen duurt nooit langer dan de controle. Daarom is de losduur voor Etos niet belangrijk. y = 0.6 ∗ x + 5.4,
R2 = 0.69
(3.1)
Per leverancier moet de bewerkelijkheidgraad bepaald worden. Dit zal een combinatie zijn van de ingevulde gegevens (leveranciers kunnen van verschillende ontvangers een andere score hebben gekregen) en de visie van een ervaren ontvangstmedewerker die gevraagd wordt een evenwichtig oordeel te geven. In totaal zijn 138 metingen opgenomen in het onderzoek. Per gradatie van de bewerkelijkheid (snel, gemiddeld en hoog) is een regressie gedaan. Een regressie geeft een lineair verband dat de tijdsduur voorspelt op basis van een verklarende variabele. Het aantal verschillende artikelnummers in een lading bleek de grootste verklarende factor in de tijdsduur te zijn. Het aantal pallets kwam op een gemiddelde R2 van 24% en is daarom niet mee genomen. De variatie in tijdsduur was ook bij de regressie op het aantal artikelnummers groot. De 10% waarnemingen die de grootste positieve afwijking () hadden tussen de door de regressie voorspelde waarde (ywaargenomen ) en de waargenomen waarde (yregressie ), = yregressie − ywaargenomen , zijn uit de data gefilterd om de uitschieters minder invloed te laten hebben. Met een positieve afwijking wordt een kortere tijdsduur bedoeld dan in theorie op basis van de lineaire functie verwacht zou worden ( > 0). Er is gekozen voor de positieve afwijking, omdat de tijdsduur liever iets te ruim geschat wordt dan te kort. De resultaten staan in 26
Duur gemiddelde controle (x-as: # artikelen)
Duur snelle controle (x-as: # artikelen) 35
250
30 200 25
Duur controle 'snel'
Duur controle 'gemiddeld'
Linear (Duur controle 'snel')
20
150
Linear (Duur controle 'gemiddeld')
y = 1.9397x + 2.9846 R² = 0.7288
15
y = 1.912x + 15.33 R² = 0.5553
100 10 50 5
0
0 0
2
4
6
8
10
12
14
16
0
10
20
30
40
50
60
70
80
90
Duur bewerkelijke controle (x-as: # artikelen)
500 450 400 350
Duur controle 'Bewerkelijk'
300
Linear (Duur controle 'Bewerkelijk') 250 y = 4.5963x + 7.0201 R² = 0.7485
200 150 100 50 0 0
10
20
30
40
50
60
70
Fig. 3.3: Drie regressies van de tijdsduur en het aantal artikelen per bewerkelijkheidgraad
grafiek 3.3 en tabel 3.2. Tab. 3.2: Tijdsduur ontvangst in DC (in minuten) Bewerkelijkheid
Vergelijking
R2
Snel
y = 1.9 ∗ x + 3
0.73
Gemiddeld
y = 1.9 ∗ x + 15.3
0.56
Hoog
y = 4.6 ∗ x + 7
0.75
Totaal
y = 2.9 ∗ x + 8.9
0.58
3.3.2
Dokkingstijd vrachtwagen
In de vorige subparagraaf is uitgelegd waarom gekozen is voor een combinatie van bewerkelijkheidgraad en aantal artikelen. In deze paragraaf wordt de werkwijze van Etos vergeleken met die van Albert Heijn. Daarna wordt uitgelegd hoe het aantal artikelnummers per leverancier bepaald wordt, zodat de dokkingstijd uitgerekend kan worden. De dokkingstijd wordt bij Albert Heijn (AH) ook gebruikt onder de term loadfactor. Bij Albert Heijn wordt het gemiddelde aantal ladingdragers (loadcarriers) per leverancier uit historische gegevens bepaald. Ze tellen dan een vaste tijd van 15 minuten op bij een variabele tijd per ladingdrager van 1.75 minuten. De totale tijd delen door 60 minuten geeft de loadfactor die wordt opgenomen 27
in het bloktijdenschema. Bij AH wordt geen verschil gemaakt tussen leveranciers op basis van andere kenmerken dan de ladingdragers. Het verschil tussen Etos en AH is dat de omloopsnelheid van artikelen veel hoger is bij AH, wat tot gevolg heeft dat artikelen per volle pallet worden besteld. De tijd is daarom afhankelijk van het aantal pallets en niet het aantal artikelnummers. Bij Etos is de tijdsduur nu beter te verklaren door het aantal verschillende artikelnummers dat in de vrachtwagen zit, omdat per soort een controle nodig is van het artikelnummer, de inhoud van het artikel en het aantal stuks in een doos. Het kan zijn dat in de toekomst de verklarende variabele van de behandelduur bij Etos verandert, daarom zal dit na de invoering van IRIS opnieuw gemeten moeten worden. Voor het berekenen van de dokkingstijd zijn het gemiddelde aantal artikelnummers per levering nodig. Per periode wordt bijgehouden welke artikelnummers in de orders zitten. In Excel is met behulp van een Pivot tabel bepaald wat per order het gemiddelde aantal artikelen was dat tegelijk besteld werd. In theorie moeten planners zo bestellen dat elke vrachtwagen ´e´en order bevat (dit versnelt het proces in het DC). Meerdere orders op een dag betekenen dan meerdere vrachtwagens. Een nadeel is dat het in Lisa (het huidige RMS-systeem) vaak gebeurt dat verschillende orders voor ´e´en afleverdag worden geplaatst, terwijl het door´e´en vrachtwagen gebracht wordt. Als vuistregel is aangehouden dat de gemiddelden van het aantal artikelnummers per order en van het aantal artikelnummers per dag worden genomen. Dit ten eerste omdat het bij de kleine leveranciers die nooit meerdere vrachtwagens op een dag sturen geen verschil maakt en ten tweede omdat het voor de dokkingstijd veiliger is om de tijd ruim te rekenen.
28
4. ANALYTISCH MODEL
Methodiek voor het bepalen van het inkomende transportschema 1a. Verzamelen gegevens Etos-database
1b. Verzamelen gegevens door meten in DC
2. Delphi-model 1: Bepalen afleverfrequentie 3. Excel: Bepalen leverdagen 4. Delphi-model 2: Bepalen benodigde ontvangstcapaciteit en bloktijd
Fig. 4.1: In het analytisch model worden stap 2, 3 en 4 van de methodiek behandeld
In dit hoofdstuk worden de drie stappen behandeld van de methodiek die na het verzamelen van de data kunnen worden gedaan. De theorie die gebruikt is bij de opbouw van de modellen wordt in de eerste paragraaf toegelicht. In de tweede paragraaf staan het doel, de variabelen en formules en de uitkomsten van het eerste Delphi-model. Dit model bepaalt de optimale afleverfrequentie van een leverancier door de kosten van afleveren en artikelen op voorraad houden in een doelfunctie te minimaliseren. Stap drie en vier van de methodiek staan in paragraaf drie. In Excel wordt met de uitkomsten van het Delphi-model een verdeling gemaakt van de leveranciers over de week (stap 3). Daarna worden de leveringen in een tweede Delphi-model per dag ingedeeld. De capaciteit die nodig is bij ontvangst, is per uur bekend en daarmee kan aan het eind van paragraaf 4.3 een bezettingsgraad worden berekend. Paragraaf 4.1 is zo geschreven dat stap 2, 3 en 4 (paragraaf 4.2 en 4.3) ook zonder deze paragraaf te volgen zijn.
4.1 Theoretische achtergrond In dit onderzoek worden enkele theoretische methodes gebruikt ter onderbouwing van het analytisch model en het simulatiemodel: het voorraadmodel dat ook in IRIS gebruikt gaat worden (zie paragraaf 2.4.2), een standaard optimalisatietechniek en een M/M/c - wachtrijmodel. Deze paragraaf begint met een korte samenvatting van de relevante literatuur voor dit onderzoek.
4.1.1
Literatuur
Statistiek De normale verdeling is in dit onderzoek vaak gebruikt. Een kenmerk van de normale verdeling waar vaker naar zal worden verwezen, staat in figuur 4.2. De grenzen van de cumulatieve normale verdeling zijn bij elke Normaal verdeelde stochast met gemiddelde µ en variantie σ 2 gelijk. De z-waarde, ook wel gestandaardiseerde vorm, van een stochastische variabele X is: z = X−µ σ . Deze z-waarde kan worden omgerekend naar cumulatieve percentages van de normale verdeling. In paragraaf 4.2 worden de percentages die horen bij een z-waarde van 1.69 (95.5%) en 2.33 (99%) gebruikt. De Normale verdeling mag benaderd worden met de Poisson verdeling als de variantie gelijk is aan het gemiddelde. Voor de toekomst lijkt dit bij het schatten van de behandelduur bij Etos een realistisch uitgangspunt, zie paragraaf 4.1.2. Ter illustratie: een behandelduur van gemiddeld 30 minuten zal dan met 68% kans binnen de 24.5 en 35.5 minuten geholpen zijn (zie figuur 4.2 voor percentage). Het statistiekboek van B en E [1] is als naslagwerk voor deze en andere vragen gebruikt.
Fig. 4.2: De normale verdeling met vuistregels voor de afwijking van het gemiddelde
Voorraadmodellen Het artikel van M en G [2] leek voor dit onderzoek interessant, omdat het in een vergelijkbaar probleem rekent met een compound Poisson verdeling. De Poisson verdeling geeft het aantal enkelvoudige gebeurtenissen per tijdseenheid. De compound Poisson is nauwkeuriger als het aantal artikelen geen enkele gebeurtenissen zijn (1 artikel), maar in een vaste hoeveelheid (>1 artikel). Bij het assortiment van Etos is het mogelijk dat tandpasta bijvoorbeeld niet per stuk wordt gekocht, maar per 3 stuks. In Stat::Fit bleek dat de Poisson verdeling bij de meeste artikelen een betere benadering gaf. In het artikel van M en G [2] worden twee algoritmes voor het berekenen van het reorder point voor een (R,Q) voorraadstrategie bewezen: een benadering en een exacte. Het (R,Q) model is een bekend voorraadmodel, dat als beslissingsvariabelen het reorder point (R) en de bestelhoeveelheid (Q) heeft. Een reorder point is een voorraadniveau. Als de voorraadhoogte onder deze grens ligt bij een bestelmoment, zal het systeem een bestelling plaatsen. In het EOQ model (Economic Order Quantity) wordt bij constante vraag het reorder point bepaald door Q, λ (aanleverfrequentie) en τ (leveringstijd) en is alleen Q een beslissingsvariabele. Een variant op deze 30
methodiek met onbekende vraag wordt in IRIS gebruikt. Bij Etos is de bestelhoeveelheid het gevolg van de bestelfrequentie. Dit is de beslissingsvariabele in het eerste Delphi-model. Van de uitkomst van dit model kan Q worden afgeleid en vervolgens R. ABC-classificatie Bij Etos wordt nu een ABC-methodiek toegepast om de aandacht tussen artikelnummers te verdelen. Deze methodiek werd niet op een juiste manier toegepast en met hulp van Nahmias [3] is hier structuur in aangebracht. De ABCmethodiek is gebaseerd op het Pareto effect: een klein deel van de artikelnummers (20%) zorgt voor een groot deel van de omzet (80%). De meeste aandacht moet gegeven worden aan deze 20% van het assortiment en daarom krijgen deze artikelnummers de classificatie A. In de B-classificatie vallen 30% van de artikelnummers die voor ongeveer 15% van de omzet zorgen. In de C-classificatie vallen de overige 50% van de artikelnummers die voor ongeveer 5% van de omzet zorgen. Op basis van de classificatie en de afleverfrequentie van een leverancier wordt nu bepaald hoe hoog de bestelfrequentie van een artikel is. Uiteindelijk zal de ABC-classificatie door dit onderzoek niet meer nodig zijn. Bestelgedrag onderzocht in simulatiestudie In het artikel ’Integrating the warehousing and transportation functions of the supply chain’ van Mason [4] wordt een vergelijkbaar probleem opgelost met een discrete event simulatiemodel. De orderhoeveelheid wordt in dit artikel als volgt uitgedrukt: OrderSizei = order − up − to − leveli − Inventory(OnHand)i − Inv(InT ransit)i . Deze berekening zal bij Etos ook gebruikt worden, want de leveringstijd is bij veel artikelen langer dan de tijd die tussen twee aflevermomenten zit. Een andere uitkomst van deze studie is dat het verlagen van de bestelfrequentie een negatieve invloed heeft op de behandelduur in het DC. Een lage bestelfrequentie resulteert in minder orders, maar met meer volume, wat een langere bedieningsduur en langere wachtrijen oplevert. Deze resultaten komen uit de simulaties, die de situatie in het onderzochte distributiecentrum nabootsen, en zijn niet analytisch onderbouwd. Bedieningsdiscipline De planning van taken is een bekend operationeel probleem. Nahmias [3] toont aan bij verschillende volgordes van behandeling wat het effect op de prestatiematen is. De vier verschillende volgordes die worden getoetst zijn: First-come, first-served (FCFS), Shortest processing time (SPT), Earliest due date (EDD) en Critical Ratio (CR). Uit de analyse in Nahmias [3] komt naar voren dat de gemiddelde tijd in het systeem bij SPT het kortst is. De tijd in het systeem is de wachttijd + de behandeltijd. Voor Etos is de wachttijd niet van belang en het nadeel is dat de taken bij Etos niet binnenkomen wanneer het voor Etos het gunstigst is. Het is daarom beter om zowel de lange als de korte taken gespreid
31
binnen te laten komen, zodat de risico’s van het niet of te laat komen opdagen van leveranciers worden gespreid. De overige volgorderegels zijn ook niet relevant voor Etos. 4.1.2
Uitleg van de wiskundige methodes in dit onderzoek Een doelfunctie optimaliseren
Fig. 4.3: Vb. van het minimum van de optimaliseringfunctie van de kosten in het DC
Lineair programmeren is een bekende methode die veel wordt gebruikt bij operationeel onderzoek. Het doel is om een oplossing te vinden voor de variabelen in een doelfunctie die geoptimaliseerd wordt. De doelfunctie is bij bijna alle stochastische optimaliseringproblemen het minimaliseren van de verwachte kosten, zie Nahmias [3]. De wet van de grote aantallen zegt dat bij een toenemend aantal waarnemingen, de onzekerheid omtrent het gemiddelde afneemt. Hij leidt uit deze wet af dat bij voorraadproblemen de werkelijke kosten van meerdere periodes ook worden geminimaliseerd als de doelfunctie met de verwachte kosten wordt geminimaliseerd. Een voorwaarde voor lineair programmeren is dat zowel de doelfunctie als de restricties lineaire vergelijkingen zijn. In paragraaf 4.2.2 blijkt dat de vergelijkingen in dit onderzoek niet lineair zijn. Om de methodiek van het optimaliseren van een doelfunctie uit te leggen, wordt in deze alinea’s toch de vergelijking met het LP-probleem gemaakt. Het probleem zal in de praktijk echter niet als een LP-model met een simplexmethode worden opgelost, maar in het computerprogramma Delphi. Bij een LP-probleem ontstaat door de restricties op de beslissingsvariabelen een toegestaan gebied van waardes die mogen worden aangenomen om de doelfunctie te optimaliseren. In dit onderzoek zit in de doelfunctie slechts ´e´en beslissingsvariabele die in de functie meerdere keren voorkomt (direct of indirect). Deze beslissingsvariabele is de afleverfrequentie (λ) die slechts zes verschillende waardes kan aannemen. Hierdoor is het toegestane gebied overzichtelijk en kost het relatief weinig rekenwerk. De doelfunctie is opgebouwd uit twee delen waarvan de optelsom geminimaliseerd moet worden: de personeelskosten voor de ontvangsthandeling in het DC (H(λ)) en de voorraadkosten (V(λ)). De afgeleide van de personeelskosten is positief: H 0 (λ) > 0. Als de afleverfrequentie 32
stijgt, stijgen de personeelskosten ook. De afgeleide van de voorraadkosten is negatief: V 0 (λ) < 0. Als de afleverfrequentie stijgt, hoeven artikelen minder lang op voorraad te liggen, waardoor de voorraadkosten dalen. Het minimum ligt bij de λ waarvoor geldt dat de afgeleide van het totaal gelijk is aan nul, (V (λ) + H(λ))0 = 0. Dit zal niet precies bij een van de zes afleverfrequenties liggen. In figuur 4.3 is dit weergegeven. Met een heuristiek zal de optimale waarde van λ in het programma Delphi berekend worden. Wachtrijtheorie: het M/M/c model
Fig. 4.4: Het M/M/c wachtrijmodel bij het inkomende transport
In het DC moet door een verbeterd inkomend transportschema een hogere bezettingsgraad van de doks worden gehaald, maar het is niet de bedoeling dat leveranciers in lange wachtrijen staan. De wachtrijtheorie beschrijft een breed scala aan modellen die analyseren wat het effect van bezettingsgraad op wachtrijen is. Bij een wachtrijmodel zijn vier elementen van belang: de aankomst van taken (vrachtwagens), de bedieningsdiscipline (FCFS), de behandelduur van de server (de dokkingstijd) en het aantal servers (doks/ ontvangstmedewerkers). In figuur 4.4 is dit schematisch weergegeven. De parameters zijn respectievelijk: λ, µ en c. Deze worden toegelicht in de volgende alinea’s. In de laatste alinea staan de formules die nodig zijn voor het berekenen van de bezettingsgraad, de gemiddelde wachttijd en de gemiddelde lengte van de wachtrij. In paragraaf 4.3.3 wordt het M/M/c model toegepast. Het aantal vrachtwagens dat binnen komt, volgt uit de aanleverfrequentie van de leveranciers en de verdeling over de week. Voor de berekening is aangenomen dat de tijd tussen de aankomsten van de vrachtwagens exponentieel verdeeld is 33
en daaruit volgt dat het aantal aankomsten per tijdseenheid Poisson verdeeld is. De aanname die ik doe met Poisson is dat per uur gemiddeld het aantal vrachtwagens binnen zal komen dat gepland staat in dat uur met een verwachte gelijke tijd tussen de aankomsten (zie λ1 in figuur 4.4). In praktijk zullen de aankomsten wellicht meer geclusterd zijn rondom de aankomsttijd, wat resulteert in langere wachttijden voor de laatst aangekomen vrachtwagen(s). Het effect van de Poisson aanname op de wachtrij zal in Hoofdstuk 5 worden vergeleken met de simulatieresultaten. De dokkingstijd heeft in de huidige situatie een grote variantie, omdat het aantal artikelnummers dat in een lading zit erg varieert. Door de methodiek in dit onderzoek zal het aantal artikelnummers per levering minder fluctueren en de dokkingstijd zal beter te voorspellen zijn. Het aantal artikelnummers is in de huidige situatie Normaal verdeeld met een grote variantie. In paragraaf 3.1.2 staat uitgelegd waarom wordt aangenomen dat de dokkingstijd Poisson verdeeld is in dit onderzoek. Elke leverancier heeft een andere dokkingstijd, maar de snelheid waarmee de server leveranciers afhandelt is gelijk. Voor het M/M/c model is gerekend met een gewogen gemiddelde (dit wordt uitgelegd in paragraaf 4.3.3) van de behandelduur van de leveranciers die aankomen per tijdseenheid. Het aantal servers wordt op twee momenten in de methodiek bepaald. Allereerst wordt de minimale capaciteit berekend die nodig is om alle vrachtwagens te bedienen binnen het beschikbare aantal uren. De bezettingsgraad stijgt dan naar 100%. Vervolgens wordt later met een heuristiek de capaciteit verhoogd totdat alle vrachtwagens in het schema passen. Tenslotte wordt met deze nieuwe capaciteit (het aantal beschikbare servers) berekend wat de bezettingsgraad (ρ) per uur is. In dit onderzoek wordt aangenomen dat op elk dok ´e´en ontvangstmedewerker werkt. Een server staat dus gelijk aan een dok en een medewerker. De formules waarmee de bezettingsgraad (ρ), de kans dat een aankomende leverancier moet wachten (Πw ), de gemiddelde lengte van de wachtrij (Lq ) en de gemiddelde wachttijd (E(W )) zijn berekend, zijn afkomstig uit Tijms [6] en te zien in formule 4.1 tot en met 4.6. ρ=
λ cµ
P0 = (
(4.1)
c−1 X (cρ)n
n=0
n!
+
(cρ)n 1 −1 ∗ ) c! 1−ρ
(cρ)n ∗ P0 n! Pc Πw = 1−ρ Pn =
E(Lq ) = Πw ∗
n = 0, 1, .., c
(4.3) (4.4)
ρ 1−ρ
E(W ) = (Πw + E(Lq )) ∗
(4.2)
(4.5) 1 cµ
(4.6)
34
4.2 Beschrijving van het model In deze paragraaf zullen het doel, de variabelen en formules, de opbouw en de uitkomst van het model worden toegelicht. Het model is stap 2 van de methodiek. In deze scriptie sta ik stil bij de theoretische opbouw van het model. Bij Etos zal ik een handleiding achter laten waarin praktisch wordt uitgelegd hoe in de toekomst met het model gewerkt kan worden. 4.2.1
Doel
Het analytische model gaat per leverancier bepalen wat de afleverfrequentie is: het aantal keer per week dat de leverancier bij het DC artikelen levert. Dit wordt gebaseerd op de klantvraag en opslagwaarde van de artikelen die in het assortiment van de leverancier zitten. Bij artikelnummers met een hoge opslagwaarde is het voordeliger om de leverancier vaker te laten komen, maar alleen als de kosten voor de extra ontvangsthandelingen niet opwegen tegen de voorraadkosten. Deze afweging wordt geoptimaliseerd met als doel de kosten te minimaliseren per leverancier. (In formule 4.7 staat de doelfunctie.) 4.2.2
Variabelen en formules
λ Het aantal aflevermomenten per week: 5 (elke dag), 3 (om de dag), 2, 1, 0.5 (1x per 2 weken) of 0.25 (1x per 4 weken). λ is de enige beslissingsvariabele in doelfuncties 4.7 en 4.8. µ De gemiddelde vraag per week. z Z-waarde van de normale cumulatieve verdeling: z0.955 = 1.69 en z0.99 = 2.33 (bron: boek van B en E [1]). Op basis van de gewenste betrouwbaarheid (zie Hoofdstuk p3) wordt gekozen voor 95.5% of 99%. Xmin Xmin (λ, µ) = µλ + ( µλ )zB De eerste term is de verwachting van het aantal stuks dat verkocht wordt tot en met het volgende levermoment. De tweede term is de veiligheidsvoorraad. De voorraadgrens (Xmin ) wordt benaderd door de Normale verdeling, omdat de Poisson verdeling en de Normale verdeling nagenoeg overeenkomen. P oisson(µ) wordt benaderd door N ormal(µ, µ). Ai Het aantal verschillende artikelen dat gemiddeld besteld wordt bij leverancier i. MBE De minimale besteleenheid (uitgelegd in Hoofdstuk 3). OPW Opslagwaarde: op jaarbasis zijn de voorraadkosten 8% van de opslagwaarde per artikel. Cost Kosten: de kosten van een uur arbeid in het DC zijn gemiddeld 20 euro/uur. tf ixed Vaste duur: bij elke ontvangst wordt per levering een vaste tijdsduur gerekend afhankelijk van de bewerkelijkheid van een leverancier, zie tabel 3.2. tvar Variabele duur: afhankelijk van de bewerkelijkheid van een leverancier duurt het ontvangen per artikelnummer een aantal minuten, zie tabel 3.2.
35
Het doel van het model is om een afleverfrequentie per leverancier te vinden, maar deze afleverfrequentie kan tussen de artikelen van de leverancier verschillen. Om meer inzicht te krijgen in wat het kost (handeling en voorraad) bij een gemiddeld artikel van Etos, is de mediaan berekend van de volgende variabelen (het gemiddelde wordt te veel be¨ınvloed door artikelen met een hoge afzet): E[OPW] = 2.56 euro, 8% per jaar, 0.08*2.56/365 = 0.00056 euro per stuk per dag E[Ai ] = 3 artikelen per levermoment bij gemiddelde leverancier i [E[µ] = 20 stuks per dag Aangenomen is dat een DC-medewerker 20 euro kost per uur en een ontvangst duurt gemiddeld 15 minuten plus 2.5 minuten per artikelnummer. De kosten voor ´e´en keer per week ontvangen zijn als volgt: 2.5 20euro/uur ∗ ( 13 ∗ 15 60 + 60 ) = 1.71euro De kosten voor een week voorraad zijn: 20 ∗ 0.00056 ∗ 7dagen = 0.077euro Voor het gemiddelde artikel van een gemiddelde leverancier liggen de kosten van een ontvangst gelijk aan een artikel 22 weken op voorraad houden. Dit geeft aan dat het per artikelnummer relevant is om te fluctueren met de λ, want de OPW, µ en Ai zijn voor elk artikelnummer anders. De kosten moeten geminimaliseerd worden per leverancier en niet per artikelnummer, omdat de kosten die gepaard gaan met de afleverfrequentie voor een groot deel onafhankelijk zijn van de lading van de vrachtwagen. De doelfunctie per leverancier staat in formule 4.7 met n het aantal artikelnummers van de leverancier. min
cost ∗ max(λi ) ∗ tf ixed + cost ∗
n X
λi ∗ tvar +
i=1 n X
Xmin,i (λ) ∗
i=1
1 ∗ OP Wi ∗ 8%, 52 ∗ λi
(4.7)
i = 1, 2, ..n λ ∈ {5, 3, 2, 1, 0.5, 0.25} Formule 4.7 kan alleen berekend worden als de hoogste afleverfrequentie per leverancier (max(λi )) bekend is. Per artikelnummer moet formule 4.8 worden geoptimaliseerd door de beslissingsvariabele λ te wijzigen. Deze formule lijkt op formule 4.7, maar verschilt in de berekening van de kosten van de ontvangsthandeling (de eerste term van formule 4.7). Deze kosten hangen af van het aantal artikelnummers per aflevermoment. Per artikel wordt bepaald welke bestelfrequentie optimaal is, waardoor het aantal artikelnummers per afleverfrequentie pas bekend is als dit voor alle artikelnummers is gedaan. Dit is opgelost door aan te nemen dat Ai , het gemiddelde aantal artikelnummers per order, gelijk blijft gedurende ´e´en iteratie. Hoe Ai bepaald wordt staat in de volgende alinea. De eerste restrictie op de beslissingsvariabele staat in formule 4.9. Deze restrictie zal bij veel artikelen de afleverfrequentie verlagen, omdat de M BE > µλ voor verschillende waardes van λ. In de toekomst is het Etos aan te raden waar
36
mogelijk de MBE zo klein mogelijk te krijgen. min
tf ixed + cost ∗ λ ∗ tvar + Ai 1 Xmin (λ) ∗ ∗ OP W ∗ 8% 52 ∗ λ λ ∈ {5, 3, 2, 1, 0.5, 0.25}
cost ∗ λ ∗
(4.8)
µ >= M BE (4.9) λ Deze optimalisatie van doelfunctie 4.8 wordt uitgevoerd in het programma Delphi. Met een iteratieve methode wordt voor alle mogelijke λ’s berekend wat de voorraadhoogte en gerelateerde kosten zijn. Na elke iteratie wordt onthouden welke λ voor de minimale kosten per week zorgt. Als dit voor alle artikelen van een leverancier is berekend, wordt per leverancier gekeken hoeveel artikelen gemiddeld bij een levering zitten: Ai . Het hele proces wordt met de nieuwe Ai herhaald. In totaal gebeurt het tien keer. Dit is een pragmatische keuze, want het is mogelijk dat het aantal artikelnummers niet convergeert naar een vaste waarde. Uit de resultaten bleek dat het aantal artikelnummers tussen de vijfde en de tiende iteratie bij slechts 16 van de 255 leveranciers was veranderd. Bij deze 16 leveranciers is te zien dat het aantal artikelnummers bij elke iteratie tussen twee waardes verspringt (iteratie vier, zes, acht en tien geven dezelfde waarden). De waarde van de iteratie met de laagste totale kosten is onthouden. (Dit inzicht is verkregen na de afronding van de berekeningen voor deze scriptie. In Hoofdstuk 6 staan de gevolgen van deze verkeerde berekening in de laatste alinea uitgelegd. Omdat het slechts bij 16 van de 255 leveranciers wellicht verschil maakt, zijn de gevolgen niet groot. Het is wel verbeterd in de methodiek die ik aan Etos overdraag.) De maximale afleverfrequentie van alle artikelnummers van een leverancier bepaalt hoe vaak de leverancier per week moet komen. De kosten kunnen per leverancier met formule 4.7 worden berekend. s.t.
4.2.3
Uitkomsten van het model
Het Delphi programma (de code staat in bijlage C) geeft als output per leverancier: • De afleverfrequentie (λ) • Het gemiddelde aantal artikelen per levering (A) • Het aantal vrachtwagens per week qua volume (V ) De uitkomsten zijn moeilijk te vergelijken met de huidige situatie, omdat deze gegevens nooit eerder bepaald zijn. In het huidige bloktijdenschema staan ook bloktijden gereserveerd voor leveranciers die niet wekelijks komen. In tabel 4.1 zijn de afleverfrequenties uit Delphi en het aantal levermomenten in het bloktijdenschema (BTS) vergeleken. De afleverfrequentie uit Delphi is niet gelijk aan het aantal levermomenten, omdat het aantal vrachtwagens per week daar ook invloed op heeft. Als het aantal vrachtwagens per week groter is dan de 37
berekende afleverfrequentie, zullen extra levermomenten worden toegevoegd. De berekening van het aantal levermomenten is in de laatste kolom van de tabel toegevoegd per afleverfrequentie. In totaal komen in de nieuwe situatie in een reguliere week gemiddeld 262.25 vrachtwagens/ levermomenten. Daarnaast geeft Tab. 4.1: Aantal leveranciers uitgezet tegenover de afleverfrequentie: nieuw tegenover oud λ
Delphi-Model
Huidige situatie
Delphi-model
Afleverfrequentie
Aantal leveranciers
Aantal leveranciers
Aantal vrachtwagens
6
0
1
0
5
2
3
15
4
0
2
0
3
8
2
36
2
55
22
110
1
87
206
87
0.5
26
0
13
0.25
17
0
4.25
0
41
0
0
Totaal
236
236
262.25
het Delphi-model ook per artikel nuttige informatie. Voor deze scriptie worden deze resultaten niet mee genomen, maar binnen Etos zal de bestelfrequentie per artikel gebruikt worden om: • de afronding van het aantal te bestellen artikelen te bepalen die in IRIS gezet moet worden (doos, laag of pallet). De maat (doos, laag of pallet) moet zo dicht mogelijk bij µλ liggen (de gemiddelde vraag tussen twee levermomenten). • een voorraadnormering te bepalen. Per artikel kan met de µ, λ en z het gemiddelde voorraadniveau worden berekend dat in het DC ligt.
4.3 Methodiek indelen transportschema De afleverfrequentie van leveranciers is bekend. In deze paragraaf krijgen ze een aankomsttijd toegewezen. In het eerste deel van de paragraaf zal uitgelegd worden hoe de leveranciers worden verspreid over de week. Daarna wordt in paragraaf 4.3.2 stap vier van de methodiek toegelicht: de planning van leveringen over de dag. Deze paragraaf sluit af met het bepalen van de bezettingsgraad op de doks.
38
4.3.1
Verdelen van leveranciers over de week
In paragraaf 4.2 is bepaald wat de afleverfrequentie van leveranciers is. In deze alinea’s zal worden uitgelegd hoe deze frequentie leidt tot een gewenste spreiding van leveranciers over de week. Deze spreiding is gemaakt in Excel met IFfuncties, zodat het in de toekomst eenvoudig te wijzigen is als het assortiment van leveranciers verandert. Deze stap van de methodiek is voor de toekomst het meest flexibel en daarmee ook foutgevoelig. Voor een deel van de afleverfrequenties ligt de verdeling over de week vast. Met deze λ’s zal ik hieronder beginnen. Daarna wordt uitgelegd hoe de overige leveranciers worden verdeeld. • λ = 5: leveren op maandag, dinsdag, woensdag, donderdag en vrijdag. • λ = 3: leveren op maandag, woensdag en vrijdag. De voorraadhoogte moet in de winkelvraag van twee dagen kunnen voorzien, vandaar deze maximale spreiding over de week. In het verleden kwamen leveranciers die drie keer leverden ook op bijvoorbeeld maandag, dinsdag en vrijdag. Voor langzaamlopende artikelen is dit geen nadeel, maar de hardlopende artikelen hebben dan geen profijt van de hoge afleverfrequentie. Leveranciers met een afleverfrequentie van 2, 1, 0.5 of 0.25 keer per week, hebben meerdere mogelijkheden. Bij het verdelen wordt rekening gehouden met drie kenmerken van de leveranciers: • Het aantal leveringen per dag: een combinatie van leveranciers die een korte dokkingstijd hebben met leveranciers die een langere dokkingstijd hebben, zorgt voor een hogere bezettingsgraad. Een voorbeeld dat dit duidelijk maakt: in totaal komen in een week 250 dokkingsuren binnen van 250 leveringen. Als op ´e´en dag 50 uur binnen komt door de 10 grootste leveringen dan heeft een vrachtwagen die niet of te laat binnenkomt veel invloed op de bezettingsgraad: 5 werknemers hebben dan een uur niks te doen. Door het aantal leveringen over de week te verspreiden, kunnen dit soort risico’s worden verminderd. • De totale dokkingstijd per dag: de werknemers in het DC hebben een weekrooster en daarom is het gewenst om elke dag hetzelfde aantal uren van ontvangstmedewerkers nodig te hebben. Tussen weken mag de benodigde capaciteit fluctueren, maar binnen een week moet de totale dokkingstijd gelijk verdeeld worden. • De actiedruk: zoals eerder genoemd is het assortiment van Etos onderhevig aan een hoge actiedruk: veel verschillende artikelnummers zijn per week in de actie (gemiddeld 1000 per week). Per leverancier is berekend hoeveel artikelnummers gemiddeld per week in de actie zijn. In actieweken hebben artikelen een verhoogde afzet en de volumes die bij het DC worden geleverd van deze artikelnummers zijn in de weken voorafgaand aan en tijdens een actie ook hoger. In de huidige situatie worden artikelen t/m woensdag twee weken voorafgaand aan een actie ontvangen in het DC. Vanaf de vrijdag twee weken voor de actie in de verkoop gaat, worden ze naar de winkels gebracht. Dit is schematisch weergegeven in figuur 5.1 op pagina 46. De 39
grootste actieleveringen zullen op maandag, dinsdag of woensdag binnenkomen, omdat dit zo dicht mogelijk op de expeditie naar de winkels is. Bij het verdelen van de leveranciers is gezorgd dat leveranciers met een hoge actiedruk een aflevermoment op maandag, dinsdag of woensdag hebben en dat op deze dagen minder reguliere dokkingstijd is dan op donderdag en vrijdag. Bij het verdelen van de leveringen zijn de voorgaande kenmerken mee genomen in de IF-functies in Excel: • λ = 2: de opties voor het ontvangen van deze leveranciers zijn op maandag en donderdag of dinsdag en vrijdag. De actiedruk speelt bij deze keuze geen rol, want de actie zal op maandag of dinsdag ontvangen moeten worden. Op donderdag en vrijdag kan in de huidige situatie geen actie meer ontvangen worden. Maandag en vrijdag zijn beide drukke dagen door de eerder genoemde vaste verdelingen ( λ = 5 en λ = 3). Daarom is voor een random verdeling gekozen zodat 50% op maandag en donderdag komt en 50% op dinsdag en vrijdag. • λ = 1: tot nu toe is woensdag de rustigste dag van de week en omdat het de laatste dag voor het ontvangen van actie is, worden alle leveranciers die soms actie brengen op woensdag ingedeeld. De overige leveranciers worden random verdeeld over maandag, donderdag en vrijdag afhankelijk van hoe druk deze dagen qua dokkingstijd zijn. Op dinsdag blijft zo ruimte voor het ontvangen van extra volume in actieweken. • λ = 0.5 of 0.25: dinsdag en donderdag zijn de rustigste dagen en daarom worden de leveranciers random verdeeld over deze twee dagen. Dit zijn kleine leveranciers die voor minder dan 7% van het volume per week zorgen (berekening met cijfers uit tabel 4.1). 4.3.2
Planning van leveringen over de dag
Per dag is nu bekend welke leveranciers komen leveren en hoeveel artikelnummers zij gemiddeld brengen. De dokkingstijd is berekend op basis van het aantal artikelnummers en de bewerkelijkheid van de leverancier. Van de leveranciers is bekend of ze artikelnummers leveren die nog uitgepakt moeten worden voor ze het DC in gaan. Dit is van belang, omdat de uitpakafdeling om 15.00 uur sluit en het gewenst is dat deze leveranciers voor de sluitingstijd verwerkt zijn. Met deze informatie is een iteratieve heuristiek opgesteld om op een minimale capaciteit (aantal mensen en doks) en maximale spreiding van de bezettingsgraad per dag uit te komen. Deze heuristiek zal hieronder stapsgewijs beschreven worden. Het resultaat van de heuristiek is een aankomsttijdstip per levering. Dit is de vierde en laatste stap in de methodiek: Delphi-model 2. 1. Het aantal doks dat een leverancier in beslag neemt, wordt als eerste berekend. Hiervoor wordt de volgende vuistregel gebruikt: op een dok passen maximaal 30 verschillende artikelnummers. Alle artikelen worden uitgesorteerd tot ze per artikelnummer op een pallet bij elkaar staan (of meerdere pallets bij grote volumes). De dokkingstijd wordt vervolgens verdeeld over 40
het aantal doks dat de leverancier in beslag neemt, omdat op elk dok een ontvangstmedewerker werkt. In de rest van deze heuristiek wordt gerekend met de dokkingstijd/dok: de bedieningsduur (B). 2. Het product van het aantal benodigde doks en de bedieningsduur geeft de totale dokkingstijd per dag. Dit is het totale aantal uur dat doks beschikbaar moeten zijn. Afhankelijk van het aantal uur dat beschikbaar is op de dag (in dit onderzoek is gerekend met 7 of 14 uur per dag), volgt een gemiddelde minimale capaciteit per uur. De capaciteit moet per uur uitgedrukt worden in integers (hele getallen). Vanuit Etos is de wens uitgesproken om de spreiding over de dag zo gelijkmatig mogelijk te doen. Daarom moet op basis van de totaal benodigde dokkingstijd een zo gelijk mogelijke verdeling van de capaciteit over de dag worden gemaakt (maximaal 1 dok verschil tussen de uren). Het maximum van het aantal benodigde doks dat in stap 1 bepaald is, moet kleiner zijn dan de gemiddelde capaciteit per uur of de capaciteit moet voor het aantal benodigde uren worden aangepast. Als aan de twee voorwaarden is voldaan(totale capaciteit >= totale benodigde duur en capaciteit per uur voorziet in het benodigde aantal doks per levering), kan door gegaan worden naar stap 3. 3. De verschillende leveringen gaan we sorteren zodat in de volgende stap een indeling kan worden gemaakt. Bij het sorteren is gekeken naar welke leveringen eerst in het schema moeten komen, want het programma zal vanaf het eerste uur naar een beschikbare aankomsttijd zoeken. 1) De leveringen worden gesorteerd op bedieningsduur van hoog naar laag. Dit is van belang om de bezettingsgraad zo hoog mogelijk te krijgen. Het is makkelijker om kleine taken achteraf te verdelen dan grote taken. 2) De leveringen worden gesorteerd op uitpak ja/nee. De uitpakleveringen worden bovenaan gezet, omdat deze zo vroeg mogelijk moeten worden ontvangen. 3) De leveringen worden gesorteerd op het aantal benodigde doks, omdat sommige leveringen de maximale dokcapaciteit nodig zullen hebben. 4. In het tweede Delphi-model, zie bijlage D voor de code, moeten de volgende gegevens als input worden gegeven in textfiles: het aantal benodigde doks per levering (Q), de bedieningstijd per levering (B) en de capaciteit per uur (Ctotaal). Het programma gaat de doks vullen met de leveringen vanaf de eerste levering tot en met de laatste levering. In het programma zitten een paar controles om de verdeling te optimaliseren: - Als Bi <= 1uur en Qi = 1 dan wordt gecontroleerd of het dok voldoende ruimte heeft in dat uur en of de totale gebruikte capaciteit in dat uur niet meer dan 95% van de oorspronkelijke capaciteit overschrijdt. Deze restrictie maakt de oplossing minder optimaal, maar omdat in sommige uren een bezettingsgraad van 100% niet vermeden kan worden, moet geprobeerd worden in de overige uren enige ruimte voor onzekerheden te 41
houden. Deze denkwijze is gebaseerd op het effect van een hoge bezettingsgraad beschreven in het M/M/c model in paragraaf 4.4. - Als Bi <= 1uur en Qi > 1 controleert het programma of in het huidige uur Qi doks volledig beschikbaar zijn. Ze moeten volledig beschikbaar zijn, omdat alle doks nodig zijn op hetzelfde moment. De pallets kunnen niet uitgesorteerd worden als nog gewacht moet worden op de controle van het aangrenzende dok. - Als Bi > 1uur controleert het programma of in het huidige uur en het volgende uur Qi doks volledig beschikbaar zijn. Ze moeten beide volledig beschikbaar zijn, omdat de controle van de doks niet onderbroken kan worden. Dan staan de doks nog vol. Bij de eerste iteratie zal het programma een foutmelding geven, omdat het niet mogelijk is om bij een bezetting van bijna 100% alle leveringen in het schema te zetten. De capaciteit wordt dan bij elke volgende iteratie met ´e´en medewerker/dok verhoogd en dan wordt stap 4 herhaald. Als het programma geen foutmelding geeft, is een eerste oplossing gevonden. Stap 4 kan dan herhaald worden, maar dan met een grens van 90% per uur, omdat de taken dan beter over de dag verdeeld worden (een hogere bezettingsgraad in de middag). Vervolgens met 85% enzovoort totdat het programma een foutmelding geeft. De laatst beschikbare oplossing is het eindresultaat waarmee verder gerekend zal worden. 4.3.3
Bezettingsgraad doks bepalen
De uitkomsten van het tweede Delphi-model geven per levering een aankomsttijd. Per uur kan met deze gegevens de bezettingsgraad van de doks worden berekend. Hieronder zullen twee methodes worden uitgelegd om dit te doen: een eenvoudige die alleen de bezettingsgraad geeft en een wat complexere op basis van het M/M/c model. Vanuit Etos perspectief is het gewenst een zo hoog mogelijke bezetting na te streven, want het kost geld als de ontvangstmedewerkers en doks niet worden benut. Echter kunnen door allerlei factoren wijzigingen in de levertijden voorkomen en dan zal een hoge bezettingsgraad resulteren in extreme wachttijden. Bezettingsgraad1 =
Gebruikte capaciteit T otaal beschikbare capaciteit
(4.10)
In formule 4.10 staat de eenvoudige manier in formulevorm. Delphi schrijft per dok per uur de bezetting weg. De som hiervan geeft de totaal gebruikte capaciteit. Het is niet te voorkomen dat in sommige uren 100% van de beschikbare capaciteit wordt gebruikt. Als leverancier x vier doks in beslag neemt, per dok een bedieningstijd heeft van > 1uur en de maximale capaciteit op die dag is vier doks, dan is niet te voorkomen dat de doks minimaal ´e´en uur 100% bezet zullen zijn. De 95% regel die in paragraaf 4.3.2 werd genoemd, zorgt dat de bezetting in de overige uren compenseert voor deze hoge bezetting van 100%.
42
Voor de complexere berekening van de bezettingsgraad is formule 4.1 nodig: Bezettingsgraad2 = ρ =
λ cµ
(4.11)
Elke levering die in een uur aankomt, heeft een andere behandelduur. Daarom is per uur een gewogen gemiddelde van de behandelduur van de verschillende leveringen genomen. Een kenmerk van twee onafhankelijke stochastische variabelen met een Poisson verdeling is dat deze samen ook Poisson verdeeld zijn met de som van de twee parameters: µ1 + µ2 (bron: Tijms [6]). Een voorbeeld van de berekening van het gewogen gemiddelde: - Uur: 9.00-10.00 - Aantal leveringen: 4 - Aantal doks beschikbaar: 3 - Levering 1 heeft 2 doks nodig, de andere leveringen 1 dok: totaal 5 dokkingstijden (1*2+3*1=5) - De 4 leveringen hebben als bedieningsduur (in uren): (0.6 ; 0.8 ; 0.6 ; 0.3) - De totale dokkingstijd = 2*0.6+0.8+0.6+0.3 = 2.9 uren - Per uur een gemiddelde dokkingstijd van: 2.9 5 =0.58 uur - µ1 = 0.58, λ = 5 en c = 3 - ρ = 0.97 Als λ en cµ gelijk zijn, geeft dit ρ = 1. De formules van het M/M/c model die in paragraaf 4.4 werden uitgelegd: formule 4.1 t/m formule 4.6, hebben als restrictie dat ρ < 1. In deze methodiek zal het voorkomen dat de doks wel een theoretische bezetting van 100% hebben (in de praktijk zullen de leveranciers niet vanaf exact 6uur tot 7uur op het dok staan). Om resultaten te krijgen, moet de bedieningsduur als Bi > 1uur handmatig zo worden aangepast dat de bedieningsduur net geen uur is en de resterende tijd moet bij de leveringen voor het volgende uur worden opgeteld. Dit maakt het een bewerkelijk proces. In tabel 4.2 op pagina 44 zijn de uitkomsten van de twee verschillende manieren vergeleken. De kleine verschillen tussen de twee berekeningen zijn waarschijnlijk ontstaan door afrondingen bij de in- en output van het Delphi-model. Bij een stijging van de bezettingsgraad van 10%, stijgt de gemiddelde wachttijd fors, afhankelijk van de gemiddelde behandelduur van de leveringen. Bij gelijke bezettingsgraad geldt: des te minder leveringen, des te hoger de gemiddelde behandelduur per levering en dit resulteert in een hogere gemiddelde wachttijd. De kans om te wachten verschilt niet, want over het uur genomen blijft de kans gelijk. Alleen als gewacht moet worden, is de gemiddelde wachttijd langer. In de tabel zijn de uitkomsten die dit illustreren dik gedrukt. Dit onderbouwt de keuze bij het verdelen van de leveranciers over de week om elke dag een gelijk aantal leveringen na te streven. Een eenvoudigere toepassing van de M/M/c methodiek is om de bezettingsgraad te berekenen per capaciteit. Stel dat over de dag afwisselend 3 en 4 doks beschikbaar zijn (zoals in het voorbeeld van de tabel), dan kunnen de formules worden toegepast voor c=3 en c=4 op de desbetreffende uren. Als vervolgens het gewogen gemiddelde van de bedieningsduur wordt genomen, zijn de gemiddelde bezetting, het gemiddelde aantal wachtenden (E(Lq )), de gemiddelde wachttijd 43
(E(W)) en de kans dat gewacht moet worden (P(W) te berekenen. Deze uitkomsten staan ook in tabel 4.2. Tab. 4.2: De twee berekeningen van de bezettingsgraden vergeleken en bijbehorende kenmerken van de wachtrij
Uur
Bezettingsgraad1
Bezettingsgraad2
E(Lq )
E(W)
P(W)
6-7
100.00%
100.00%
2.08
0.69 uur
99.99%
7-8
89.67%
90.04%
1.28
0.26 uur
71.46%
8-9
89.67%
89.26%
1.24
0.41 uur
69.86%
9 - 10
89.00%
89.00%
1.45
0.29 uur
56.19%
10 - 11
100.00%
100.00%
3.01
0.75 uur
100.00%
11 - 12
89.25%
89.27%
1.47
0.21 uur
56.84%
12 - 13
100.00%
99.99%
2.08
0.69 uur
99.96%
13 - 14
88.00%
88.07%
1.17
0.39 uur
67.53%
14 - 15
89.00%
89.44%
1.25
0.21 uur
70.23%
15 - 16
89.33%
89.35%
1.24
0.25 uur
70.04%
16 - 17
90.00%
90.43%
1.30
0.26 uur
72.28%
17 - 18
89.33%
89.17%
1.23
0.41 uur
69.67%
18 - 19
87.33%
87.21%
1.13
0.23 uur
65.95%
19 - 20
80.33%
80.00%
0.83
0.14 uur
54.86%
c=3
-
90.27%
1.29
0.33 uur
71.94%
c=4
-
92.76%
1.81
0.36 uur
80.72%
Gemiddeld
90.91%
90.80%
1.41
0.34 uur
73.82%
44
5. SIMULATIEMODEL
In dit hoofdstuk wordt onderzocht hoe verschillende nieuwe inkomende transportschema’s in de praktijk functioneren. Dit wordt gedaan met behulp van een simulatiemodel. Een simulatiemodel wordt gebruikt om de werkelijkheid zo nauwkeurig mogelijk na te bootsen en te toetsen wat het effect van veranderingen op de praktijk is. Het simulatiemodel zal ´e´en werkdag (maandag) 500 keer nabootsen om betrouwbare resultaten te verkrijgen. In de eerste paragraaf staat wat het doel van het simulatiemodel is en met welke restricties rekening moet worden gehouden bij het nabootsen van een inkomend transportschema. Vervolgens wordt in paragraaf 5.2 besproken welke verschillende scenario’s gesimuleerd gaan worden. De scenario’s zijn verschillende indelingen van het inkomende transportschema die in samenwerking met Etos zijn bedacht om te toetsen wat het effect is op de benodigde capaciteit en de betrouwbaarheid van die capaciteit. In de laatste paragraaf staan de resultaten van de simulatie. Eerst zal kort worden toegelicht hoe het model is opgebouwd, wat de input is en welke instellingen zijn gebruikt. In dit eerste deel zal het simulatiemodel ook gevalideerd worden door de resultaten te vergelijken met de resultaten uit paragraaf 4.3.3. Daarna worden de resultaten behandeld aan de hand van vuistregels die Etos mee kan nemen in de toekomst. Vijf effecten van het schuiven tussen scenario’s zullen worden toegelicht.
5.1 Doel en restricties Het simulatiemodel moet inzicht geven in de bezettingsgraad en wachttijden in het DC bij de verschillende scenario’s. Etos zal het simulatiemodel in de toekomst niet gebruiken en daarom is het doel van dit model om een aantal vuistregels op te leveren. In de toekomst zullen deze vuistregels kunnen helpen als strategische keuzes moeten worden gemaakt. Etos kan dan op basis van de simulatieresultaten inschatten wat voor effect dit op de bezetting en/of wachttijden zal hebben. De capaciteit die in de modellen wordt mee genomen, is een gegeven uit het tweede Delphi-model. Etos houdt zelf de flexibiliteit om extra medewerkers in te zetten als ze het proces om wat voor reden dan ook willen versnellen.
5.2 Scenario’s Met de scenario’s wordt aangetoond wat het effect van bijvoorbeeld tijdigheid van leveranciers is op de benodigde bezetting. Als blijkt dat dergelijke variabelen een groot effect hebben op de bezetting, is het voor Etos de moeite waard hier
energie in te steken. De scenario’s zullen hieronder worden toegelicht per punt, maar de details zijn ook schematisch weergegeven in tabel 5.1: 1. Scenario A: in paragraaf 2.3 komt uit de analyse dat de tijdigheid nu rond de 50% ligt. Dit wordt gesimuleerd door elke leverancier met een trekking uit de normale verdeling met een gemiddelde van 15 minuten en een standaarddeviatie van 45 minuten te vroeg te laten komen. Deze waardes zijn gebaseerd op de vuistregels van de normale verdeling, zie figuur 4.2. 2. Scenario B: ter vergelijking met scenario A kijken we wat het effect is van de tijdigheid door alle leveranciers in dit scenario op tijd binnen te laten komen zonder storing. 3. Scenario C: dit is het eerste scenario waarvan de aankomsttijden zijn bepaald met de nieuwe methodiek. Dit wordt het basisscenario, waarmee de andere toekomstige scenario’s vergeleken kunnen worden. De ontvangstdag loopt van 6.00 uur ’s ochtends tot 20.00 ’s avonds, zoals Etos in de toekomst ook wenst. 4. Scenario D: om te kijken wat het effect is van leveranciers een exacte aankomsttijd te geven, wordt dit scenario gesimuleerd. In plaats van alle leveranciers die van 8.00 uur - 9.00 uur staan gepland om 8.00 uur binnen te laten komen (met storing), komen de leveranciers op een voor hen exact berekend tijdstip (met storing). 5. Scenario E: het kan in de toekomst nodig zijn om ontvangst en expeditie anders op elkaar aan te sluiten, bijvoorbeeld door alleen ’s ochtends te ontvangen. Dezelfde aankomsten als in scenario C moeten nu binnen 7 uur afgehandeld worden in plaats van binnen 14 uur. 6. Scenario F: bij het DC is een groot verschil tussen weken waarin actieartikelen binnen komen en weken waarin actieartikelen naar winkels gaan (expeditie). In figuur 5.1 is dit schematisch weergegeven. Een actieperiode duurt twee weken en het grootste deel van de artikelen wordt in ´e´en week in het DC ontvangen. De extra werkdruk als in ´e´en week reguliere artikelen en twee weken aan actieartikelen moeten worden ontvangen, wordt berekend.
Fig. 5.1: Overzicht van de processen in het DC in de aanloop naar een actie
7. Scenario G: in het DC praat men over actieweken en reguliere weken, terwijl in de praktijk in de winkel wekelijks actie is. Voor het DC is een 46
gelijke spreiding van de drukte over de dagen van de week, maar ook over achtereenvolgende weken gewenst. In dit scenario wordt gekeken welke bezetting nodig is als de actieartikelen over een periode van twee weken worden ontvangen, in plaat van zoals nu in ´e´en week.
Tab. 5.1: De kenmerken en instellingen van de verschillende scenario’s Scenario Huidige situatie/ Delphi-model
Storing aankomst
Regulier/Actie
Aantal uur
Aantal artikelnummers
A
Huidige situatie
N(15min,45min)
Regulier
6u - 16u en 19u - 20u
N(gem,st.dev.)
B
Huidige situatie
0
Regulier
6u - 16u en 19u - 20u
N(gem,st.dev.)
C
Delphi-model
N(15min,15min)
Regulier
6u - 20u
Ai uit Delphimodel 1
D
Delphi-model
exacte tijd N(15min,15min)
Regulier
6u - 20u
Ai uit Delphimodel 1
E
Delphi-model
N(15min,15min)
Regulier
6u - 14u
Ai uit Delphimodel 1
F
Delphi-model
N(15min,15min)
Actie 2weken
6u - 20u
Ai uit Delphimodel 1
G
Delphi-model
N(15min,15min)
Actie 1week
6u - 20u
Ai uit Delphimodel 1
5.3 Resultaten van het simulatiemodel 5.3.1
Invoergegevens, instellingen en validatie
Voor het nabootsen van de huidige situatie is de informatie uit het bloktijdenschema gebruikt. Het schema dat het resultaat is van stap ´e´en, twee en drie van de methodiek is de input van het simulatiemodel voor de toekomstige scenario’s. Stap vier (het plannen van de leveringen over de dag) is voor elk van de toekomstige scenarios opnieuw gedaan. Zoals in Hoofdstuk 4 ook naar voren kwam, is het moeilijk om de gegevens uit het Delphi-model met het bloktijdenschema te vergelijken. In het bloktijdenschema staat niet aangegeven of een leverancier wekelijks komt, maar voor de simulatie zijn alle leveranciers die staan ingeroosterd gebruikt. In tabel 5.1 staan de kenmerken per scenario, maar in deze alinea’s zal algemeen worden toegelicht wat de input van het model is, hoe het model werkt en wat de instellingen zijn van de experimenten. In het laatste deel van deze subparagraaf wordt het simualtiemodel gevalideerd door het met de theoretische berekening uit paragraaf 4.3.3 te vergelijken. De invoergegevens van het model zullen hieronder opgesomd worden: 1. Leveranciersnaam. 47
2. Aankomsttijdstip: bij alle scenario’s is dit het begin van de bloktijd of het aankomsttijd uit Delphi. 3. Quantity: het aantal doks dat de levering in beslag neemt (eerder aangeduid met Q). 4. Storing bloktijd: een trekking uit de normale verdeling geeft een waarde (negatief/positief) mee voor elke levering. 5. Dok: de leveringen kunnen aan het sneldok of een regulier dok bediend worden. Etos kan zelf bepalen welke van de 13 doks voor ontvangst gebruikt moeten worden (zie bijlage B.1 voor een plattegrond van het DC). 6. Bedieningsduur: de behandeltijd is normaal verdeeld, omdat de normale verdeling de Poisson verdeling het best benadert. Het gemiddelde en de variantie zijn aan elkaar gelijk en gebaseerd op de bedieningsduur. Voor de huidige situatie is het aantal artikelnummers per levering van een reeks leveringen in Stat::Fit onderzocht. De normale verdeling benaderde de verdeling in de data het best. De bedieningsduur voor de huidige situatie wordt berekend met een trekking uit deze normale verdeling vermenigvuldigd met de vaste waardes voor de tijdsduur van de ontvangsthandelingen. Een afbeelding van het simulatiemodel staat in figuur E.1 op pagina 72. In het simulatiemodel worden producten aangemaakt (vrachtwagens in dit geval) en door het model gestuurd: langs de ontvangstbalie en de doks. De atomen in het simulatiemodel die relevant zijn om te noemen, zullen kort worden toegelicht om inzicht te geven in hoe het model werkt: 1. Arrival List Vrachtwagens (atoom: Arrival List): vanuit Excel wordt het aankomstschema in dit atoom gekopieerd. De gegevens die in de vorige opsomming werden genoemd (leveranciersnaam, aankomsttijdstip, etc.) worden als labels mee gegeven aan de ’producten’ die worden aangemaakt. 2. Vertrager (atoom: Multiserver): de behandelduur van deze multiserver is 2 uur verminderd met de waarde van het label ”Storing Bloktijd”. Deze multiserver vertraagt het model met 2 uur, waardoor het mogelijk is om de te vroeg komende vrachtwagens alvast in de wachtrij te zetten. 3. Co¨ ordinator Ontvangst (atoom: Server): hier worden de leveranciers ontvangen. Dit heeft verder geen invloed op de bezetting van de doks of de wachtrij voor het dok, maar dient alleen om de leveranciers te vertragen in het model om het zo realistisch mogelijk na te bootsen. De behandelduur is normaal verdeeld met een gemiddelde van 4 minuten en een standaardafwijking van 2.5 minuten (zie paragraaf 3.3). 4. TabelBehandelduur (atoom: Table): in deze tabel kunnen de tijdsduur van het lossen en de afvoer van de lading worden ingevoerd. Bij de vuistregels zal het effect hiervan worden beschreven. Beide processen duurden ofwel 5 minuten ofwel 0 minuten. 5. Wachten Dok (atoom: Queue): een oneindige grote wachtrij waar de vrachtwagens in staan tot een plek op het dok vrij komt. 6. Doks lossen/controle/afvoer (atoom: Multiserver): deze drie atomen zijn multiservers en hebben een gezamenlijke capaciteit die door het atoom ”Capacity Change”wordt geactiveerd elk uur. Bij binnenkomst en vertrek 48
zorgen commando’s voor het sluiten of openen van de doks afhankelijk van het aantal vrachtwagens in de servers en de toegestane capaciteit. Daarnaast wordt bij binnenkomst de aankomsttijd en het aantal vrachtwagens dat aanwezig is weggeschreven naar een tabel ”DokAT”. Bij het vertrek van een vrachtwagen gebeurt hetzelfde. 7. Capacity Change (atoom: Arrival List): vanuit Excel wordt een aankomstschema in dit atoom gekopieerd. Per uur staat aangegeven hoeveel producten tegelijk bediend kunnen worden. Deze gegevens worden elk uur naar de drie aangrenzende multiservers gestuurd. 8. Bezetting.xls (atoom: Excel ActiveX): aan het eind van elk experiment wordt de tabel ”DokAt”weggeschreven naar het Excel-bestand Bezetting.xls. In dit bestand kan vervolgens na enkele handmatige handelingen (sorteren op tijdstip en een paar kolommen met berekeningen toevoegen) de bezettingsgraad per uur worden berekend. 9. Sneldok (atoom: Server): de leveringen die bij het sneldok gelost kunnen worden, worden in het simulatieprogramma door een single server behandeld. De benodigde capaciteit is eerder wel berekend met de dokkingstijd van de sneldok-leveranciers erbij. Ze zijn in het simulatiemodel gescheiden, omdat ze in de praktijk niet op tijd komen en ze nemen weinig ruimte in beslag op het dok waardoor ze een goede partij zijn om te bewaren voor als een ontvangstmedewerker tijd heeft. De bezettingsgraad van de reguliere doks zou in theorie hierdoor lager uit moeten vallen dan gepland, maar de totale dokkingstijd van de sneldok-leveranciers heeft weinig invloed op het totaal (1 tot 3 %). Het voordeel van simuleren is dat een situatie herhaald kan worden zonder dat dit veel tijd kost. De eenvoudigste manier om dit in Enterprise Dynamics te doen is door middel van de Experimentation Wizard. De simulaties zijn op twee verschillende manieren gedaan: 1. Om de bezettingsgraad te bepalen per uur is de simulatie slechts 15 keer herhaald en zijn de gegevens in Excel geanalyseerd. De betrouwbaarheid van deze data is niet erg groot, maar dit zal bij de resultaten worden aangegeven. De analyse in Excel was te bewerkelijk om het aantal simulaties te verhogen. Ik kon ook geen Macro schrijven, want de data moest gesorteerd en gefilterd worden. 2. Om de gemiddelde wachttijd, het gemiddelde aantal wachtenden en het gemiddelde aantal vrachtwagens op het dok te bepalen zijn 500 simulaties gedaan. De gewenste gegevens zijn geanalyseerd met een betrouwbaarheidsinterval van 95%, wat betekent dat de kans dat bij een volgende simulatie de parameter binnen het interval valt, 95% is. Het simulatiemodel zal gevalideerd worden met scenario C door de simulatieresultaten te vergelijken met de theoretische waardes die uit het M/M/c model kwamen. De uitkomsten uit tabel 4.2 zullen vergeleken worden met de simulatieresultaten die in bijlage F.1 staan. Ze zijn samengevoegd in tabel 5.2. Een algemene opmerking bij de validatie is dat de resultaten verschillen door de extra 49
capaciteit bij het sneldok in de simulatie en door de wijziging van de capaciteit waardoor onterecht op verhoogde capaciteit wordt door gewerkt in de simulatie. Dit kan niet voorkomen worden, want de behandelingen van de taken op het moment van een capaciteitsverandering worden door het simulatiemodel afgemaakt. Uit de tabel blijkt dat de wachttijden door het M/M/c model negatiever worden benaderd dan uit de simulatie blijkt. De conclusie die hieruit kan worden getrokken is dat het M/M/c model afwijkt van de praktijk door de Poisson aannames van de aankomsten en dat de simulatieresultaten positief worden be¨ınvloed door de extra capaciteit op het sneldok en de extra capaciteit na een capaciteitsverandering. In de praktijk betekent dit dat de wachttijden en wachtrijen langer zullen zijn, tenzij overgewerkt wordt. Tab. 5.2: De validatie van de simulatieresultaten Parameter
Simulatieresultaat
Theoretische berekening
Toelichting verschil
Bezettingsgraad
88%
90.80%
De berekening van de bezettingsgraad van het simulatieresultaat is o.b.v. 15 simulaties en dus niet nauwkeurig.
E(Lq )
0.6
1.41
In de simulatie valt het gemiddelde aantal wachtenden lager uit. Dit kan komen door de storing bij de aankomsttijd.
E(W )
9.8 min.
20.4 min.
Hiervoor geldt hetzelfde als voor het gemiddelde aantal wachtenden.
5.3.2
Het verschil tussen het oude bloktijdenschema en de nieuwe methodiek
Een nieuw transportschema is berekend met de methodiek die in dit onderzoek is uitgelegd. In deze scriptie wordt alleen naar de resultaten voor maandag gekeken, omdat het niet relevant is om de resultaten van alle dagen toe te voegen. De maandag in de nieuwe situatie is vergeleken met de maandag in de oude situatie. De uitgebreide resultaten van de 500 simulaties staan in bijlage F.1 op pagina 73. Enkele resultaten zullen hieronder toegelicht worden: • De benodigde capaciteit in de oude situatie was 38 uur voor 32 dokkingsuren. In de nieuwe situatie is 45 uur nodig voor 41 dokkingsuren. De theoretische bezettingsgraad stijgt van 85% naar 91%. Etos kan de capaciteit van werknemers en doks beter benutten wat kosten zal besparen. • De gemiddelde wachttijd daalt aanzienlijk door de nieuwe methodiek: van gemiddeld 40 minuten naar 10 minuten. De bezettingsgraad is hoger in de nieuwe situatie, dus dit geeft aan dat de indeling van het schema zorgt voor een effici¨enter gebruik van de doks en medewerkers.
50
5.3.3
Vijf vuistregels die in toekomst kunnen helpen bij het herindelen van het transportschema
In deze paragraaf worden de simulatieresultaten gebruikt om vijf effecten te onderbouwen. Een kanttekening bij de simulaties moet eerst gemaakt worden: in het simulatiemodel wordt de capaciteit van de doks per uur aangepast. Als dit een aanpassing naar minder doks is dan het uur ervoor, blijft de server met dezelfde capaciteit doorwerken tot een controle is afgerond. Dit zorgt voor een overbelasting van de beschikbare capaciteit. Hierdoor kan het dat in de resultaten een bezettingsgraad > 100% staat. 1. Het effect van het verminderen van het aantal uur per dag: De toekomstige leveringen op maandag zijn eerst verdeeld over een dag van 14 uur en vervolgens over een dag van 7 uur. De effecten hiervan zijn: - Voor de langere dag is 1 extra uur nodig (dit kost gemiddeld 20 euro) om alle leveringen in het schema te passen (45 uur in plaats van 44 uur). - Voor de kortere dag zijn in bepaalde uren 7 beschikbare doks nodig (in plaats van 4 doks bij 14 uur). Dit betekent dat expeditie minder doks ter beschikking heeft, maar dat zal wellicht niet uitmaken als de dagindeling daar op is afgestemd. - Uit de simulatie volgt dat het 95%-betrouwbaarheidsinterval voor de gemiddelde wachttijd bij 14 uur (9.6minuten; 10.04minuten) is en bij 7 uur (8.98minuten; 9.27minuten). De winst in wachttijd door het halveren van de daglengte is dus nog geen minuut. - Het gemiddelde aantal wachtenden daalt nauwelijks en het gemiddelde aantal leveringen op het dok blijft gelijk. 2. Het effect van het meegeven van een exacte aankomsttijd in plaats van een bloktijd: Het tweede Delphi-model maakt het mogelijk om een exacte aankomsttijd voor leveranciers te berekenen. Dit kan voor kleine leveranciers voordelig zijn als ze bijvoorbeeld na een levering zijn ingepland die alle doks bezet houdt. De gemiddelde bezettingsgraad per uur staat in de bijlage in tabel F.2 op pagina 73. Het verschil in bezettingsgraad is niet significant. De gemiddelde bezettingsgraad is berekend als mediaan van de 15 simulaties. Vanaf 12 uur wordt de capaciteit overschreden, omdat het aantal beschikbare doks met ´e´en is verminderd in vergelijking met het vorige uur. Er wordt doorgewerkt met de vorige capaciteit tot een vrachtwagen het dok verlaat. Dit resulteert in een verhoogde bezettingsgraad in de daarop volgende uren, vooral bij scenario C. Uit de 500 simulaties blijkt hetzelfde: het gemiddelde aantal vrachtwagens op het dok blijft gelijk. De gemiddelde wachttijd en het gemiddelde aantal wachtenden nemen wel met ongeveer 30% af bij de exacte aankomsttijd. De conclusie is dat het vanuit leveranciersoogpunt voordelig is, maar voor Etos niets oplevert. Het kan zelfs een negatief effect hebben op de bezettingsgraad, omdat Etos afhankelijker wordt van het gedrag van elke leverancier. Door het meegeven van ´e´e aankomsttijd per uur wordt het risico van het gedrag van leveranciers verspreid en daardoor lager. 51
3. Het effect van het goed organiseren van het lossen en de afvoer & het aanhouden van een gelijke capaciteit over de dag: Dit onderzoek heeft als doel om vanuit Etos het proces te optimaliseren. De leverancier lost de artikelen, niet Etos. Hoeveel tijd de chauffeur met het lossen bezig is, maakt voor Etos niet uit. Vanaf het moment dat het dok bezet wordt door de pallets, is het noodzakelijk dat de ontvangers beginnen met controleren, anders wordt het dok onnodig bezet gehouden. Voor de afvoer van de artikelen geldt hetzelfde, alleen wordt dit wel door Etos medewerkers gedaan. Als de afvoerders pas beginnen als de hele levering is gecontroleerd, gaat de doorloopsnelheid van het dok erg achteruit. Naar het lossen en de afvoer is te weinig onderzoek gedaan om het mee te nemen in dit onderzoek. Etos zal moeten nastreven om te beginnen met controleren zodra de artikelen gelost worden en te beginnen met de afvoer zodra de controle van de eerste pallet klaar is. De theoretische bezettingsgraad zonder lossen en afvoer is vergeleken met de simulatieresultaten als voor beide processen vijf minuten worden gerekend. De uitkomsten staan in tabel 5.3. De bezettingsgraad bij de scenario’s van de huidige situaties (A en B) stijgt extreem. Dit komt door de wisselende capaciteit die bij deze scenario’s wordt gebruikt (zie tabel 5.3 voor de minimale en maximale capaciteit op de dag), waardoor extreme wachtrijen ontstaan als leveranciers buiten hun bloktijd aankomen. Bij de overige scenario’s verschilt de capaciteit over de dag met maximaal 1 dok. Bij de toekomstige scenario’s stijgt de bezettingsgraad ongeveer 6-10%. Dit is over een hele dag gemiddeld genomen erg veel. Voor scenario C is het effect bekeken na het 500 keer simuleren van beide situaties: dit gaf voor de snelle afhandeling een wachttijdinterval van (9.63minuten;10.04minuten) en voor de afhandeling met vijf minuten lossen en vijf minuten afvoeren (71.9minuten;72.7minuten). Dit is een aanzienlijke stijging van de gemiddelde wachttijd. Tab. 5.3: Het effect van 10 minuten vertraging door het lossen en afvoeren van artikelen op de bezettingsgraad Scenario
Theoretische bezettingsgraad
Bezettingsgraad simulatie
capaciteit (min,max)
A
68%
93%
(0,8)
B
68%
96%
(0,8)
C
91%
97%
(3,4)
D
91%
97%
(3,4)
E
91%
98%
(6,7)
F
89%
99%
(5,6)
G
91%
98%
(4,5)
4. Het effect van leveranciers op tijd laten komen: 52
Met het huidige bloktijdenschema als input zijn scenario A en B vergeleken op bezetting, wachttijd en aantal wachtenden. In scenario A komen leveranciers met een trekking uit de Normale verdeling met gemiddelde 15 minuten en standaardafwijking 45 minuten te vroeg. In scenario B komen alle leveranciers op tijd. Het gemiddelde aantal bezette doks is in beide scenario’s gelijk, 2.5 doks. In de 14 uur die gesimuleerd zijn, betekent dit dat in totaal 35 dokkingsuren zijn benut. De totale capaciteit was 38 dokkingsuren. De theoretische bezetting is 85%, maar deze wordt overschreden. Dit komt door de variatie in de bedieningsduur die het gevolg is van de verdeling van het aantal artikelnummers. Het 95%-betrouwbaarheidsinterval van de gemiddelde wachttijd neemt af van (37.20minuten;43.48minuten) naar (15.06minuten;16.74minuten). Dit is een forse daling. Deze simulaties zijn door de elk uur veranderende capaciteit niet betrouwbaar. De conclusie is dat de capaciteit over de dag verspreid moet worden en dat de wachttijd aanzienlijk lager is als leveranciers zich aan de aankomsttijd houden. 5. Het effect van het spreiden van het ontvangen van actie: Op een reguliere maandag met 14 ontvangsturen zijn 45 dokkingsuren nodig om in alle leveringen te voorzien. Voor het ontvangen van twee weken actie in ´e´en week zijn 72 dokkingsuren nodig. Dit is een stijging van 60%. Voor het inhuren en opleiden van mensen is deze wisselende capaciteit lastig. Als elke week actie wordt ontvangen, zijn 63 dokkingsuren nodig. Dit is een stijging van 40% wat dan de wekelijkse standaard wordt. Per dag zullen dan 4-5 doks nodig zijn om alle actie te ontvangen, slechts ´e´en dok meer dan in een reguliere week zonder actieontvangst.
53
6. DISCUSSIE
• Voor het bepalen van de klantvraag is de data van het laatste kwartaal, een periode van 13 weken, genomen. Door mutaties in het assortiment is de data van 2011 niet betrouwbaar, maar het resultaat is dat de gemiddeldes van de Poisson verdeling op weinig datagegevens zijn gebaseerd. Daarnaast is de vraag voor DC bestellingen minder nauwkeurig, omdat niet per winkel is afgerond naar een minimale winkelbestelhoeveelheid. Reden om toch met de klantvraag te rekenen is dat het proces zo dicht mogelijk bij de klantvraag moet liggen, anders wordt de data te veel bepaald door het bestelgedrag van winkelmanagers. • Nadat in het analytische model de afleverfrequentie is bepaald, is de gemiddelde bestelhoeveelheid per aflevermoment omgerekend naar het aantal vrachtwagens per levering. Bij het bepalen van hoeveel pallets in een vrachtwagen passen, is aangenomen dat 30 pallets een vrachtwagen vullen. In een reguliere vrachtwagen passen 33 europallets, maar de kans dat dit ook nog past met verschillende artikelnummers van verschillende formaten die wellicht breekbaar zijn, is klein. De 3 pallets ruimte zijn voor deze extra ruimte mee gerekend. Deze benadering is overgenomen van een van de grootste leveranciers van Etos die op dit moment hun orders bij 30 pallets begrenzen. Het omrekenen van aantal stuks naar palletbelading is gedaan op basis van de logistieke gegevens die bij Etos bekend zijn van de artikelnummers. Bij Etos is niet bekend of leveranciers op blokpallets of europallets aanleveren. Van blokpallets passen slechts 26 pallets in een vrachtwagen. Het kan zijn dat de berekening van het aantal vrachtwagens bij sommige leveranciers daardoor niet klopt. Het grootste deel van de leveranciers levert op europallets, vandaar dat met deze maat is gerekend. • De berekeningen in beide modellen zijn per leverancier gedaan, terwijl het in de praktijk voorkomt dat een transporteur, bijvoorbeeld DHL, leveringen van meerdere leveranciers in ´ e´ en vrachtwagen tegelijk brengt. De ontvangstduur zou dan korter kunnen zijn en dit had in de optimaliseringfunctie kunnen zorgen voor een hogere afleverfrequentie. Echter is het niet betrouwbaar om van de transporteur uit te gaan, omdat sommige leveranciers meerdere transporteurs gebruiken. Daarnaast verschilt de bewerkelijkheid van de leveranciers die een transporteur mee brengt en dat maakt de berekeningen van de dokkingstijd lastig. Tenslotte is het laatste argument om op leverancierniveau te werken dat de pakbonnen en controles per leverancier moeten worden uitgevoerd en de vaste tijd per vrachtwagen zit voor een groot deel in de foutgevoeligheid van de pakbon. Bij het indelen van het schema kan wel rekening worden gehouden met
•
•
•
•
transporteurs, maar dit vraagt om nader onderzoek. Het kan zijn dat in de toekomst de ontvangsttijd bij Etos ook afhankelijk wordt van het volume, daarom zal dit na de invoering van IRIS opnieuw gemeten moeten worden. Nu bleek dat alleen bij ’snelle’ leveranciers de ontvangstduur goed benaderd werd door het aantal pallets. Voor de overige leveranciers blijkt bij Etos dat het afhangt van hoe de aanlevering van de artikelen is. Mocht de aanlevering in de toekomst beter worden en de gemiddelde afzet per artikelnummer stijgen, zodat de tijd gaat afhangen van het aantal stuks, dan moet dit aangepast worden in het model. In de voorraadmodellen die ik in de literatuur tegen kwam, speelden transportkosten een belangrijke rol. Bij Etos zitten de transportkosten verwerkt in de inkoopprijs. In het model wordt geen rekening gehouden met een stijging van de inkoopprijs als de aanleverfrequentie verhoogd wordt ten opzichte van de huidige situatie. Mocht de inkoopprijs stijgen, dan kan de commerci¨ele afdeling afspraken maken over minimale bestelhoeveelheden, zodat een hogere bestelfrequentie geen toegestane oplossing geeft in het eerste Delphi-model. Als bekend is wat de prijs van extra transportbewegingen is, kan dit in de toekomst meegenomen worden in het model. Het aantal artikelnummers per levering wordt in het Delphi-model berekend als een gemiddelde. Artikelen die ´e´en keer in de vier weken worden besteld, tellen bij een leverancier die twee keer per week komt voor 18 mee. De kans is klein dat deze artikelnummers die niet elke levering mee hoeven, gelijk worden verdeeld over de levermomenten. In de methodiek is dit buiten beschouwing gelaten. Bij de leveranciers met veel artikelnummers per levering is nader onderzoek aan te raden na de indeling van het schema. Op basis van de verdeling van de totale dokkingstijd over de dagen van de week kan dan gekeken worden welke dag het beste is voor het ontvangen van een bewerkelijke levering met veel artikelnummers en andersom. Bij het optimaliseren van de doelfunctie zijn in dit onderzoek niet voor alle 255 leveranciers de optimale waardes gebruikt. In paragraaf 4.2.2 stond uitgelegd dat de waarde van de iteratie met de laagste totale kosten is onthouden. Dit inzicht is echter verkregen na de afronding van de berekeningen voor deze scriptie. Daarom staat dit niet in de code in bijlage C. Omdat het slechts bij 16 van de 255 leveranciers wellicht verschil maakt, zouden de resultaten hier niet erg door be¨ınvloed zijn. Voor de uitkomsten in Hoofdstuk 4 en Hoofdstuk 5 heb ik gerekend met de waardes van de vijfde iteratie. Het is wel verbeterd in de methodiek die ik aan Etos overdraag.
55
7. CONCLUSIE EN ADVIES
Het doel van dit onderzoek was om een dynamisch inkomend transportschema op te leveren dat flexibel is voor tactische aanpassingen in de toekomst. In deze scriptie is de methodiek uitgelegd die leidt tot een nieuw transportschema. Na het inleveren van mijn scriptie blijf ik vier weken bij Etos om het nieuwe schema te berekenen en te implementeren. De methodiek staat stapsgewijs weergegeven in bijlage A.1 op pagina 60. De vier stappen leiden tot een nieuw inkomend transportschema. Het schema is dynamisch, omdat het op elk willekeurig moment kan worden herberekend. Afhankelijk van de mate van invloed van de wijzigingen die zijn doorgevoerd, zal de methodiek voor alle leveranciers vanaf stap drie of vier moeten worden uitgevoerd. Op basis van de simulaties wordt verwacht dat de productiviteit van de ontvangstmedewerkers en dokruimte zal stijgen. Dit zal de effici¨entie van het ontvangstproces vergroten en daarmee kosten besparen. De drukte zal beter verspreid zijn over de dag en de wachttijden voor de chauffeurs zullen afnemen met ongeveer 75%. Om te zorgen dat de nieuwe methodiek zo positief mogelijk uitpakt in de praktijk, zal ik dit onderzoek afsluiten met enkele aanbevelingen en voorwaarden. Als deze adviezen in acht worden genomen, wordt het ontvangstproces een soepeler en effici¨enter proces. Aanbevelingen: • Het inkomende transportschema moet elke 13 weken worden herberekend om optimaal gebruik te maken van de effecten: gelijke spreiding van drukte in het DC binnen een dag en over de week, een hogere productiviteit van ontvangstmedewerkers, daardoor lagere kosten en minder wachttijden voor leveranciers. • Etos moet de actieartikelen voor een actieperiode niet meer in ´e´en week ontvangen, maar dit spreiden over twee weken. De benodigde capaciteit bij ontvangst is dan over de weken gelijkmatiger en dit is een voordeel voor het inplannen van personeel. De spreiding in hoeveelheid ontvangst hoeft niet 50%-50% te zijn, maar kan ook bijvoorbeeld 60% in de eerste week en 40% in de tweede week zijn. Het is eenvoudig te implementeren, want planners zijn bekend met deze verdeling voor het ontvangen van volume artikelen. In IRIS kunnen actieartikelen in ´e´en order besteld worden met reguliere artikelen. Dan hoeft het niet op een extra levermoment bij kleine leveranciers en dit scheelt dokkingstijd. • Leveranciers kunnen door de ontvangstco¨ordinator verdeeld worden op de
doks op basis van hun bedieningsduur. Dit is ge¨ınspireerd door een ’Size Interval Task Assignment with Variable Load’ (SITA-V), zie Crovella [5]. In dit artikel wordt bewezen dat als taken worden verdeeld bij servers op basis van loadfactor (bedieningsduur) dat de gemiddelde vertraging (wachttijd) per lading vermindert. In de lijn van dit principe zou de ontvangstco¨ ordinator de leveringen met korte bedieningsduur op een ander dok moeten laten lossen dan de leveringen met lange bedieningsduur. Bij het indelen van het schema is met dit principe rekening gehouden, maar het was niet mogelijk om in elk uur een variatie in bedieningsduur aan te brengen. • In de huidige situatie wordt met een order een bloktijd mee gestuurd waar binnen de leverancier mag komen. Als een leverancier gepland is in het blok van 8.00 uur tot 9.00 uur en aankomt om 8.55 uur is de leverancier op tijd. Voor het plannen van de ontvangstcapaciteit moet vanuit Etos geredeneerd worden en voor Etos is het gewenst dat de leverancier voor 8.00 uur binnen is. Mijn advies is leveranciers als aankomsttijdstip 8.00 uur mee te geven. In het leveranciershandboek (hierin staan afspraken tussen Etos en leveranciers) moet dan als regel worden opgenomen dat een half uur van de aankomsttijd mag worden afgeweken: (7.30 uur; 8.30 uur). Uit ervaring blijkt dat leveranciers meestal te vroeg komen en dan moeten ze even wachten wat voor Etos niet erg is. Als enkele leveranciers na 8.00 uur binnenkomen is het voor de spreiding over het uur goed. • Etos heeft een ambitie uitgesproken om te groeien. De ruimte in het DC zal dan steeds meer een restrictie worden. Daarom moet er voor gezorgd worden dat het lossen en afvoeren van artikelen zo goed mogelijk aansluit op het ontvangstproces. Artikelen mogen pas gelost worden als een ontvanger klaar is om de lading te ontvangen, anders houden deze artikelen onnodig ruimte op het dok bezet. De afvoerders moeten na de controle zo snel mogelijk beginnen met het wegbrengen van de artikelen. • Het project ’Klaar met uitpak’ is van groot belang voor de effici¨entie bij ontvangst en aangeraden wordt om hier nog zo veel mogelijk leveranciers in mee te nemen. In stap vier van de methodiek, het bepalen van de bloktijd, is nu rekening gehouden met leveranciers die nog niet-uitgepakte artikelen aanleveren. Dit zorgt voor een minder optimale oplossing dan anders mogelijk zou zijn. Voorwaarden: • De methodiek in dit onderzoek heeft als uitgangspunt de capaciteit zo gelijkmatig mogelijk te verdelen over de week en binnen de dagen. Om ontvangst en expeditie op elkaar aan te sluiten, is de voorwaarde dat dit bij expeditie op gelijke wijze wordt gedaan. Er moet worden nagestreefd dat op elke werkdag een gelijk aantal winkels wordt beleverd, maar ook met een gelijk totaal volume. • De benodigde capaciteit van het aantal doks wordt berekend op basis van de duur van ontvangst. De duur van het afvoeren van artikelen is niet 57
meegenomen. Als blijkt dat de doks hier langere tijd door bezet zijn, moet dit meegenomen worden in het DC-onderzoek in stap 1b (zie bijlage A.1). Nadeel is dat de productiviteit van de ontvangstmedewerkers dan achteruit gaat, want zij hebben dan geen dok ter beschikking om een levering op te controleren. Overigens zal het in de praktijk vaak mogelijk zijn twee leveringen bij elkaar op het dok te plaatsen om zo tijd te cre¨eren voor de afvoerders. • De uitkomsten van de methodiek worden bepaald door de data die in stap ´e´en wordt verzameld. Als de logistieke gegevens van de leveranciers en artikelnummers niet kloppen, zijn de uitkomsten van de bestelfrequentie ook niet realistisch. Het is van groot belang dat deze gegevens nauwkeurig worden bijgewerkt als veranderingen optreden in prijs, minimale bestelhoeveelheid, palletpatroon of andere kenmerken. • In de huidige situatie is de verstoring in de planning door het gedrag van leveranciers erg groot. Ze komen in 50% van de gevallen buiten hun bloktijd. Voor de toekomst is aangenomen dat leveranciers zich beter aan hun aankomsttijd zullen houden. Het plannen van het inkomende transport heeft alleen effect als leveranciers ook in de geplande tijd aankomen. Een voorwaarde voor het slagen van het schema is dat leveranciers terugkoppeling krijgen over hun tijdigheid en hier maatregelen aan worden verbonden.
58
BIJLAGE
A. DE METHODIEK VOOR HET BEPALEN VAN HET INKOMENDE TRANSPORTSCHEMA IN 4 STAPPEN
Methodiek voor het bepalen van het inkomende transportschema 1a. Verzamelen gegevens Etos-database Input: * Output: - Gemiddelde klantvraag per artikelnummer (regulier / actie) - Actiedruk - Betrouwbaarheid/ Servicepercentage - Logistieke gegevens per artikelnummer en leverancier
1b. Verzamelen gegevens door meten in DC (behandelduur) Input: ** Output: - Bewerkelijkheidsgraad per leverancier - Formule voor de dokkingstijd per bewerkelijkheidsgraad
2. Delphi-model 1: Bepalen afleverfrequentie Input: Output: - Gemiddelde klantvraag per artikelnummer per week - Afleverfrequentie per leverancier - Betrouwbaarheid/ Servicepercentage - Bestelfrequentie per artikelnummer - MBE, Palletpatroon en OPW - Aantal vrachtwagens per leverancier per week - Vaste en variabele tijdsduur per leverancier - Aantal artikelnummers per levering 3. Excel: Bepalen leverdagen Input: Output: - Actiedruk leverancier (volgt uit actiedummies in stap 1) - Per dag een overzicht van leveranciers die leveren - Afleverfrequentie per leverancier - Dokkingstijd per levering o.b.v. aantal artikelnummers per levering - Aantal vrachtwagens per levering per week - Aantal artikelnummers per levering 4. Delphi-model 2: Bepalen benodigde ontvangstcapaciteit en bloktijd Input: Output: - Lijst van leveranciers met logistieke gegevens en dokkingstijd - Bloktijd per leverancier - Gebruikte capaciteit per dok per uur *) Bij het verzamelen van de gegevens is als enige input de gewenste onderzoeksperiode (van 13 weken) vereist. **) Geen input vereist.
Fig. A.1: De nieuwe methodiek die in 4 stappen een nieuwe indeling van het transportschema bepaalt
B. DE PLATTEGROND VAN HET DC
In figuur B.1 is de plattegrond van het DC van Etos te zien. Aan de rechterkant zijn de doks. De gele stukken geven deuren aan waar een vrachtwagen kan aandokken.
Fig. B.1: Een plattegrond van het distributiecentrum (DC) van Etos in Beverwijk
C. DELPHI-MODEL 1: BEPALEN AFLEVERFREQUENTIE
In de Delphi-code staat in het cursief gedrukt uitleg bij de procedures en waar nodig achter regels. Voor vragen of gewenste wijzigingen in het programma kan contact worden opgenomen met Anne Goudsmit. program Modelafleverfrequentie; {$APPTYPE CONSOLE} {$Optimization Off} uses SysUtils; Const N = 700; N > maximale aantal artikelen per leverancier M = 10000000; M is een penalty cost Tab = #09; Type TMatrix = array [1..10,1..N,1..N] of extended ; Matrix = array [1..N,1..N] of extended ; BooleanMatrix = array[1..N,1..N] of boolean ; Vector = array[1..N] of extended ; Textvector = array[1..N] of string ; Integervector = array[1..N] of integer ; var Mu,OPW,MBE,PP,Xmin,Z,Kost,minkost,minlabda,minX,labdah,A : Matrix ; Hulp,OPL :TMatrix ; C,k,l,p: integer ; labda,labdamax,tfixed,tvar,V : Vector ; tf : text ; R: Integervector ; filenaam: Textvector ; Procedure Inlezen(const tf:text; var filenaam:string); In deze procedure worden uit het bestand ’filenaam’ gegevens ingelezen, die nodig zijn voor de berekeningen in het programma. var
i,j:integer; begin AssignFile(tf,filenaam) ; reset(tf) ; i:=1 ; while not eof(tf) do begin if k<>9 then for j:=1 to C do read(tf,HULP[k,i,j]) else for j:=1 to C do read(tf,R[j]) ; readln(tf); inc(i); end; CloseFile(tf) ; end; procedure Wegschrijven(const tf:text; var filenaam:string); Deze procedure print de oplossingen naar een bestand ’filenaam’. var i,j : integer ; begin Assignfile(tf,filenaam); rewrite(tf); for i:=1 to N do begin write(tf,i,Tab); for j:=1 to C do write(tf,OPL[k,i,j]:0:4,Tab); writeln(tf); end; CloseFile(tf); end; Procedure Kosten(var lambda:extended); Deze procedure berekent de kosten per artikel bij de lambda die wordt mee gegeven. Eerst wordt gecontroleerd of aan de restrictie is voldaan, zo niet dan worden de kosten gelijk gesteld aan de penalty cost. Als de MBE wel kleiner is dan de gemiddelde vraag per aflevermoment, wordt de minimale voorraad berekend die na een levering op het DC moet liggen voor de periode t/m het volgende moment. Vervolgens worden de kosten berekend en worden de minimale waardes overschreven als de kosten lager zijn dan bij de vorige lambda’s. var i,j:integer; begin for j:=1 to C do for i:=1 to R[j] do if Mu[i,j]/lambda>=MBE[i,j] then begin Xmin[i,j]:=Mu[i,j]/lambda+sqrt(Mu[i,j]/lambda)*Z[i,j] ; if A[l,j]>0 then begin 63
Kost[i,j]:=lambda*20*(tfixed[j]/60/A[l,j] + tvar[j]/60) + Xmin[i,j] *OPW[i,j]* 0.08/(lambda*52) ; if Kost[i,j]<= minkost[i,j] then begin minkost[i,j]:=Kost[i,j]; minlabda[i,j]:=lambda; minX[i,j]:=Xmin[i,j]; end; end; end else Kost[i,j]:=M ; end; Procedure Tellambdas(var labda:Vector) ; Per leverancier wordt na elke iteratie gekeken wat de grootste lambda/afleverfrequentie is. var h,i,j:integer; begin for j:=1 to C do labdamax[j]:=0; for h:=1 to 6 do 6 omdat er 6 verschillende labda’s zijn for j:=1 to C do begin labdah[h,j]:=0; for i:=1 to R[j] do if minlabda[i,j]=labda[h] then labdah[h,j]:=labdah[h,j]+1; if (labdah[h,j]>0) and (labdamax[j]
=C then Writeln(’Check = OK’) else Writeln(’N is niet groot genoeg’); filenaam[1]:=’Mu.txt’; Alle textfiles moeten handmatig gevuld worden. filenaam[2]:=’MBE.txt’; filenaam[3]:=’OPW.txt’; filenaam[4]:=’z.txt’; filenaam[5]:=’A.txt’; filenaam[6]:=’tfixed.txt’; filenaam[7]:=’tvar.txt’; filenaam[8]:=’PP.txt’; filenaam[9]:=’R.txt’; for k:=1 to 9 do Inlezen(tf,filenaam[k]); for k:=1 to C do for l:=1 to N do De waardes die zijn ingelezen overnemen begin 64
Mu[l,k]:=HULP[1,l,k] ; MBE[l,k]:=HULP[2,l,k] ; OPW[l,k]:=HULP[3,l,k] ; Z[l,k]:=HULP[4,l,k] ; if l=1 then begin A[l,k]:=HULP[5,l,k];tfixed[k]:=HULP[6,l,k];tvar[k]:=HULP[7,l,k];end; PP[l,k]:=HULP[8,l,k] ; end; labda[1]:=5;labda[2]:=3;labda[3]:=2; De mogelijke afleverfrequenties labda[4]:=1;labda[5]:=0.5; labda[6]:=0.25; l:=1; While l<5 do begin for k:=1 to C do for p:=1 to N do Voor elke iteratie worden de min.kosten weer op oneindig gezet: begin minkost[p,k]:=M;minlabda[p,k]:=0;minX[p,k]:=0; end; for k:=1 to 6 do Kosten(labda[k]); t/m 6 omdat er 6 verschillende labda’s zijn Tellambdas(labda); inc(l); for k:=1 to C do begin for p:=1 to 6 do t/m 6 omdat er 6 verschillende labda’s zijn Voor elke leverancier k worden het nieuwe aantal artikelnummers per aflevermoment berekend: if labdamax[k]>0 then A[l,k]:=A[l,k]+labdah[p,k]*labda[p]/labdamax[k]; if A[l,k]=0 then A[l,k]:=1 ; Anders kan de formule in procedure Kosten niet berekend worden end; end; for k:=1 to C do for l:=1 to R[k] do if minlabda[l,k]>0 then Voor elke leverancier wordt het aantal vrachtwagens per week berekend: V[k]:=V[k]+Mu[l,k]*PP[l,k] ; De files waar de oplossingen naar weg worden geschreven: filenaam[1]:=’Xminopl.txt’; filenaam[2]:=’Lambdaopl.txt’; filenaam[3]:=’Oplperlev.txt’; for l:=1 to C do for k:=1 to N do begin OPL[1,k,l]:=minX[k,l] ; OPL[2,k,l]:=minlabda[k,l] ; if k=1 then OPL[3,k,l]:=V[l] ; if k=2 then OPL[3,k,L]:=labdamax[l] ; if k=5 then OPL[3,k,l]:=A[k,l] ; k=5 omdat de iteratie in de while loop loopt tot l=5 en de resultaten van de laatste iteratie moeten worden weggeschreven. 65
end; for k:=1 to 3 do Wegschrijven(tf,filenaam[k]); Readln; end.
66
D. DELPHI-MODEL 2: PLANNING VAN LEVERINGEN OVER DE DAG
In de Delphi-code staat in het cursief gedrukt uitleg bij de procedures en waar nodig achter regels. Voor vragen of gewenste wijzigingen in het programma kan contact worden opgenomen met Anne Goudsmit. program Dagindeling; $APPTYPE CONSOLE $Optimization Off uses SysUtils; Const N = 70; N moet groter zijn dan het maximale aantal uur/leveranciers per dag M = 10; M moet groter zijn dan het maximale aantal doks Tab =#09; Type Matrix = array [0..N,0..N] of extended ; Vector = array[0..N] of extended ; Textvector = array[0..N] of string ; Integervector = array[0..N] of integer ; var Ctotaal,Cvrij,Cdoksom,B,Q,A : Vector ; Cdok,Hulp,Opl : Matrix ; S : Extended ; k,l,p : Integer ; filenaam : Textvector ; tf : Text ; Procedure Inlezen(const tf:text; var filenaam:string); In deze procedure wordt vanuit een textfile de bedieningsduur per dok, het aantal benodigde doks per levering en de beschikbare capaciteit per uur ingelezen. var i:integer; begin AssignFile(tf,filenaam) ; reset(tf) ; i:=0 ;
while not eof(tf) do begin read(tf,Hulp[k,i]) ; inc(i); end; CloseFile(tf) ; end; procedure Wegschrijven(const tf:text; var filenaam:string); In deze procedure worden de resultaten (de aankomsttijd en dokbezetting) weggeschreven naar een textfile. var i,j:integer ; begin Assignfile(tf,filenaam); rewrite(tf); for i:=0 to N do begin for j:=0 to N do write(tf,Opl[i,j]:0:2,Tab); writeln(tf); end; CloseFile(tf); end; Procedure Dokassignment(var h,i,d:integer); In deze procedure moet een dok gevonden worden voor levering i in uur h. In de procedure ’Taskassignment’ is bepaald dat voldoende doks beschikbaar zijn. var dok : integer; dh : extended; begin if (B[i]<=1) and (Q[i]=1) then Als deze restricties TRUE zijn, is uit de procedure ’Taskassignment’ het doknummer d mee gegeven begin if Cdok[h,d]=1 then Cvrij[h]:=Cvrij[h]-1 ; Als het dok hiervoor nog volledig beschikbaar was, wordt in vector Cvrij opgeslagen dat dit dok (deels) gevuld is. Cdok[h,d]:=Cdok[h,d]-B[i] ; De capaciteit van het dok wordt verminderd met de bedieningsduur. Cdoksom[h]:=Cdoksom[h]-B[i] ; end ; if (B[i]<=1) and (Q[i]>1) then Voor deze levering zijn meerdere doks nodig. begin dh:=Q[i] ; for dok:=0 to M do begin 68
if (dh>0) and (Cdok[h,dok] = 1) then De doks mogen nog geen andere levering in dit uur hebben, want alle doks moeten op hetzelfde moment beschikbaar zijn. Daarom de controle: Cdok[h,dok]=1 begin Cvrij[h]:=Cvrij[h]-1 ; Cdok[h,dok]:=Cdok[h,dok]-B[i] ; Cdoksom[h]:=Cdoksom[h]-B[i] ; dh:=dh-1; end; end; end; if B[i] > 1 then begin dh:=Q[i] ; for dok:=0 to M do begin if (dh>0) and (Cdok[h,dok] = 1) then Voor deze levering zijn meerdere doks nodig en de bedieningsduur is >1uur. begin Cvrij[h]:=Cvrij[h]-1 ; Cdok[h,dok]:=Cdok[h,dok]-1 ; De capaciteit van het dok wordt verminderd met 1 uur. Cdoksom[h]:=Cdoksom[h]-1 ; dh:=dh-1; end; end; dh:=Q[i] ; for dok:=0 to M do begin if (dh>0) and (Cdok[h+1,dok] = 1) then begin Cvrij[h+1]:=Cvrij[h+1]-1 ; Er is 1 dok minder vrij in de volgende bloktijd Cdok[h+1,dok]:=Cdok[h+1,dok]-B[i]+1 ; De capaciteit van het dok wordt verminderd met de resterende bedieningsduur. Cdoksom[h+1]:=Cdoksom[h+1]-B[i]+1 ; dh:=dh-1; end; end; end; A[i]:=h; In vector A wordt opgeslagen op welk tijdstip h leverancier i moet lossen. h:=-1; i:=i+1; De procedure ’Taskassignment’ kan voor de volgende levering een bloktijd zoeken. end; 69
Procedure Taskassignment(var i:integer; var Cdok:matrix); In deze procedure wordt vanaf uur 0 gecontroleerd of levering i in uur h gelost kan worden. Als een bloktijd is gevonden, wordt de procedure ’Dokassignment’ aangeroepen. var h,d,j : integer; begin h:=-1; while (A[i] = 1000) and (h<25) do begin inc(h); if (B[i]>1) and (Q[i] <= Cvrij[h]) and (Q[i] <= Cvrij[h+1]) then Dokassignment(h,i,d) Zowel in uur h als in uur h+1 moeten genoeg vrije doks zijn. else begin if (B[i]<=1) then if (Q[i] = 1) then begin j:=M ; for d:=0 to M do if (Cdok[h,d]>=B[i]) and (d<j) and (Cdoksom[h]-B[i]>Ctotaal[h]*S) then j:=d; S is het percentage dat kan worden gevarieerd om de bezetting over de dag te spreiden. Eerst wordt gerekend met een ruimte van 5% per dok, daarna wordt dit opgehoogd. if j<M then Dokassignment(h,i,j) end else if Q[i] <= Cvrij[h] then Dokassignment(h,i,d) ; end; end; end; begin filenaam[1]:=’Ctotaal.txt’; filenaam[2]:=’B.txt’; filenaam[3]:=’Q.txt’; for k:=1 to 3 do inlezen(tf,filenaam[k]) ; for l:=0 to N do begin Ctotaal[l]:=Hulp[1,l] ; Cvrij[l]:=Ctotaal[l] ; B[l]:=Hulp[2,l] ; Q[l]:=Hulp[3,l] ; A[l]:=1000 ; end; Writeln(’Wat is het percentage per uur dat vrij moet blijven? Voer 5% in als 70
0.05 : ’); Readln(S); for k:=0 to N do begin p:=Trunc(Ctotaal[k])-1 ; Cdoksom[k]:=Ctotaal[k]; for l:=0 to p do Cdok[k,l]:=1; end; k:=0 ; Taskassignment(k,Cdok) ; if A[N] <> 0 then Writeln(’Error’) ; Als de leveringen niet kunnen worden verdeeld, zal de A[N] nog steeds op 1000 staan. Ook als N groter is dan het aantal leveringen, omdat deze leveringen tijd 0 zullen krijgen. for l:=0 to N do for k:=0 to N do begin if l=0 then Opl[k,l]:=A[k] else Opl[k,l]:=1-Cdok[k,l-1]; end; filenaam[4]:=’Oplossing.txt’; Wegschrijven(tf,filenaam[4]) ; readln; end.
71
E. AFBEELDING VAN HET SIMULATIEMODEL IN ENTERPRISE DYNAMICS
Fig. E.1: Het simulatiemodel dat wordt gebruikt in Hoofdstuk 5
F. EXTRA TABELLEN TER ONDERBOUWING VAN DE VUISTREGELS
Aantal simulaties: Gemiddelde wachttijd Gemiddeld # wachtenden Gemiddeld op dok Theoretische Capaciteit Totale 500 (in minuten) (in leveringen) (in leveringen) bezettingsgraad (uren/dag) Dokkingstijd Scenario's LB (95%) UB(95%) LB (95%) UB(95%) LB (95%) UB(95%) A 37.2 43.5 1.9 2.3 2.4 2.4 85% 38 32 B 15.1 16.7 0.9 1.0 2.5 2.5 85% 38 32 C 9.6 10.0 0.6 0.6 2.4 2.4 91% 45 41 D 6.8 7.1 0.4 0.4 2.4 2.5 91% 45 41 E 9.0 9.3 0.4 0.5 2.4 2.4 93% 44 41 F 6.3 6.6 0.5 0.5 3.9 3.9 89% 72 64 G 8.0 8.2 0.6 0.6 3.4 3.4 91% 63 57
Fig. F.1: De resultaten van de simulaties in Enterprise Dynamics per scenario
Bezettingsgraad Bloktijd Bezettingsgraad Exact tijdstip Aantal UB(90%) AVG(50%) LB(90%) UB(90%) Experimenten: AVG(50%) LB(90%) 0.5 0.1 0.9 0.5 0.1 0.9 15 06:00:00 96% 86% 100% 99% 91% 100% 07:00:00 95% 87% 100% 93% 85% 100% 08:00:00 92% 82% 100% 96% 86% 100% 09:00:00 87% 80% 96% 91% 82% 95% 10:00:00 99% 95% 100% 98% 95% 100% 11:00:00 95% 89% 100% 94% 79% 100% 12:00:00 106% 96% 125% 100% 98% 104% 13:00:00 95% 84% 108% 81% 59% 100% 14:00:00 88% 82% 95% 76% 70% 87% 15:00:00 88% 77% 100% 86% 68% 97% 16:00:00 86% 64% 92% 97% 85% 100% 17:00:00 93% 79% 100% 90% 81% 98% 18:00:00 79% 58% 95% 72% 64% 86% 19:00:00 27% 17% 38% 42% 33% 50% Average
88%
77%
96%
87%
77%
94%
Fig. F.2: De bezettingsgraad per uur bij het meegeven van een vaste aankomsttijd (bloktijd) vs. het meegeven van een exact aankomsttijdstip
BIBLIOGRAFIE
[1] L.J. Bain, M. Engelhardt, Introduction to Probability and Mathematical Statistics, Duxbury Classic Series 2nd editon (1991) [2] P. Matheus, L. Gelders, The (R,Q) inventory policy subject to a compound Poisson demand pattern, International Journal of Production Economics 68 (2000) 307-317 [3] S. Nahmias, Production and Operation Analysis, Mc Graw-Hill Fifth Edition (2008) [4] S.J. Mason, Integrating the warehousing and transportation functions of the supply chain, Transportation Research Part E 39 (2003) 141-159 [5] M.E. Crovella, M. Harchol-Balter,C.D. Murta, Task Assignment in a Distributed System: Improving Performance by Unbalancing Load, Proceedings of the 1998 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems (June 22-26,1998) 268-269 [6] H.C. Tijms, A First Course in Stochastic Models, John Wiley and Sons Ltd 2nd Revised edition (March, 2003)