Voorraadintegratie Escura Apotheken Besparingen in de keten van de groothandel naar de klant
Nicole van Schaik 0001473
14-08-2006
Universiteit van Amsterdam Faculteit der Economische Wetenschappen en Econometrie Operations Research and Management
Begeleider en eerste beoordelaar UvA:
ir. J.A.M. Hontelez
Tweede beoordelaar UvA:
dr. H.J. van der Sluis
Beoordelaar Brocacef:
drs. P.C.J.M. van Oirschot
Managementsamenvatting ____________________________________________________________________________________
Managementsamenvatting Brocacef Holding N.V. heeft haar eigen apotheekketen Escura B.V. Deze apotheken worden bevoorraad door de distributiecentra (DC’s) van Brocacef. Brocacef wil graag meer inzicht in de logistieke keten tussen de DC’s en apotheken van Escura, ten aanzien van de voorraden en de handling.
In dit onderzoek staan twee onderzoeksvraagstellingen centraal, met als doel de keten inzichtelijk te maken. 1.
Welke besparingen zijn mogelijk in de keten van groothandel Brocacef en de apotheekketen Escura?
2.
Hoe kan centraal de voorraad in de keten beheerd en beheerst worden en volgens welk voorraadsysteem en bestelstrategie die de in punt 1 genoemde besparingen realiseren?
In de huidige situatie bestellen de apotheken iedere dag op basis van een (s,S) aanvulstrategie bij de groothandel. De groothandel bestelt op haar beurt bij haar leveranciers volgens een (s,S) aanvulstrategie. In dit onderzoek is een simulatiemodel opgesteld, waarin de huidige situatie wordt nagebootst, met behulp van zeven testproducten en de gegevens van zes apotheken van Escura en twee DC’s van Brocacef.
Daarnaast is ook gekeken naar de huidige situatie waarbij de besteldrempels en aanvulniveaus bij de apotheken pseudo geoptimaliseerd worden (variant 2). In de huidige situatie worden de besteldrempels en aanvulniveaus bij de apotheken op basis van ervaring bepaald (variant 1). In de huidige (s,S) aanvulstrategie worden de besteldrempels en aanvulniveaus gebruikt uit de beschikbare data.
Vervolgens is gekeken naar een optimalisatie van het multi-echelonsysteem, waarbij de voorraden bij de DC’s en de voorraden bij de apotheken bij elkaar als één voorraad worden gezien. Daarbij worden de besteldrempels en aanvulniveaus bij de DC’s bepaald aan de hand van de patiëntvraag in plaats van de vraag van haar directe afnemers.
Tabel M1 geeft de resultaten na een simulatie van 125.000 dagen voor de huidige situatie en de optimalisatie van het multi-echelonsysteem. Voor de optimalisatie van het multi-echelonsysteem zijn twee varianten bekeken. In variant 1 zijn de besteldrempels en aanvulniveaus bij de apotheken beschikbaar uit historische data. In de tweede variant worden de besteldrempels en aanvulniveaus bij de apotheken berekend. In tabel M1 worden de gemiddelde kosten per dag gegeven voor de keten, waarbij is uitgegaan van 7 producten, 6 apotheken en 2 DC’s.
2
Managementsamenvatting ____________________________________________________________________________________ Huidige Situatie (1) Voorraadkosten Groothandel € 95 Handlingkosten Groothandel € 20 Transportkosten Groothandel € 2 Voorraadkosten Apotheken € 50 Handlingkosten Apotheken € 30 Totaal € 197
Huidige situatie (2) € 92 € 21 € 2 € 13 € 28 € 156
Verschil % Multi-echelon (1) Verschil % Multi-echelon (2)Verschil % 3% € 58 39% € 59 38% -4% € 23 -9% € 23 -11% 0% € 2 0% € 2 19% 75% € 50 0% € 12 76% 7% € 30 0% € 28 7% 21% € 162 15% € 123 37%
Tabel M1: Gemiddelde kosten per dag voor de huidige situatie en de optimalisatie van het multi-echelon systeem.
De optimalisatie van het multi-echelon systeem (variant 2) levert de meeste besparingen op. Voor de gehele keten kunnen de kosten verlaagd worden met 37%, uitgaande van 7 producten, 6 apotheken en 2 DC’s.
Na scenarioanalyse is gebleken dat snellopende producten voor hoge voorraadkosten bij de groothandel zorgen, zeker als deze producten wat duurder zijn. Langzaamlopers leveren de meeste besparingen op in het ruimtebeslag bij de groothandel. Daarnaast is een verandering in de patiëntvraag het meest merkbaar in de transportkosten, doordat deze afhankelijk zijn van de vraag in dit onderzoek.
Het is aanbevolen voor Brocacef over te gaan op de optimalisatie van het multi-echelonsysteem met toevoeging van de aanvulstrategie bij de apotheken. Hiervoor dient de groothandel via het klantenbestelsysteem inzicht te krijgen in de patiëntvraag en de voorraden bij haar afnemers. Daarnaast is een juiste koppeling tussen het klantenbestelsysteem en E3trim raadzaam, zodat E3trim uit kan gaan van de patiëntvraag in plaats van de vraag van haar directe afnemers.
3
Voorwoord ____________________________________________________________________________________
Voorwoord Hier voor u ligt mijn scriptie die ik ter afronding voor mijn masteropleiding Operationele Research en Management aan de Faculteit der Economische Wetenschappen en Bedrijfskunde aan de Universiteit van Amsterdam heb geschreven.
Voor dit onderzoek heb ik ruim 8 maanden stage gelopen bij Brocacef, een farmaceutische groothandel in Maarssen. Ik ben daar begonnen met een onderzoek naar Pre-whole sale. Na drie maanden kon dit onderzoek door omstandigheden van buiten af, helaas zijn pad niet vervolgen. Begin februari ben ik aan een ander onderzoek begonnen, deze keer voor de interne apotheekketen van Brocacef, Escura.
Graag wil ik via deze weg een heleboel mensen om mij heen bedanken, in het bijzonder mijn ouders Cees en Anja en mijn vriend Rutger. Daarnaast wil ik ook graag Jan Hontelez, mijn begeleider aan de Universiteit van Amsterdam en Patrick van Oirschot, mijn begeleider bij Brocacef, bedanken voor hun begeleiding tijdens de stage. Verder bedank ik Frits de Loos en Bart Cramers, de projectleiders van het onderzoek, voor hun feedback. En wil ik alle andere collega’s bij Brocacef bedanken voor hun behulpzaamheid en voor de gezellige en bovendien leerzame tijd, die ik daar heb mogen doorbrengen.
Uitdaging is wat ik zocht, en uitdaging heb ik gevonden.
Nicole van Schaik Maarssen, augustus 2006
4
Inhoudsopgave ____________________________________________________________________________________
Inhoudsopgave Managementsamenvatting ................................................................................................................ 2 Voorwoord ........................................................................................................................................ 4 Inhoudsopgave ................................................................................................................................. 5 1 Inleiding ......................................................................................................................................... 7 2 Probleemverkenning...................................................................................................................... 8 2.1 Beschrijvingen van de bedrijven die bij het onderzoek betrokken zijn .................................... 8 Brocacef Holding N.V. .................................................................................................................. 8 Brocacef...................................................................................................................................... 8 Escura......................................................................................................................................... 8 2.2 Kader van het onderzoek ......................................................................................................... 9 2.3 Probleemstelling van het onderzoek ........................................................................................ 9 2.4 Doelstelling van het onderzoek .............................................................................................. 11 3 Algemene beschrijving van de huidige situatie............................................................................ 12 3.1 Ketenbeschrijving van de huidige situatie ............................................................................. 12 3.2 Voorraadbeheer in de keten van de huidige situatie .............................................................. 13 Voorraadbeheer bij de Escura apotheken .................................................................................... 13 Voorraadbeheer bij de groothandel Brocacef ............................................................................... 13 3.3 Leveringen en leveringsvoorwaarden in de huidige situatie .................................................. 14 Leveringen aan de klant vanaf de groothandel ............................................................................. 14 Leveringsvoorwaarden vanaf de leverancier aan de groothandel................................................... 14 3.4 Soorten producten in de huidige situatie ............................................................................... 14 4 Conceptueel model van de huidige situatie ................................................................................. 16 4.1 Flowchart simulatiemodel van de huidige situatie................................................................. 16 4.2 Input voor het simulatiemodel ................................................................................................ 17 Referentiekader waarin het simulatiemodel doorgerekend wordt ................................................... 17 Gegevensbehoefte van het simulatiemodel .................................................................................. 18 4.3 Vraagverdeling van de producten .......................................................................................... 18 4.4 Algoritmes van het simulatiemodel van de huidige situatie................................................... 20 4.5 Kostenberekening en bijbehorende kostenfactoren in de huidige situatie ............................ 24 Kostenberekening ...................................................................................................................... 24 Bijbehorende kostenfactoren voor de kostenberekening ............................................................... 27 4.6 Bepaling fillrate in de simulatie van de huidige situatie ......................................................... 28 5 Literatuurstudie naar voorraadmodellen en bestelstrategieën..................................................... 30 5.1 Literatuurstudie naar de optimalisatie van een multi-echelon systeem ................................. 30 5.2 Literatuurstudie naar bestelstrategieën ................................................................................. 32 5.3 Samenvatting en conclusies van de literatuurstudie.............................................................. 34 6 Simulatie ...................................................................................................................................... 36 6.1 Beschrijving van het simulatiemodel ..................................................................................... 36 6.1.1 Werking van het simulatiemodel.......................................................................................... 36 6.1.2 Functies van het simulatiemodel ......................................................................................... 37 6.2 Strategieën die met het simulatiemodel worden doorgerekend ............................................. 38 6.2.1 Strategie 0: Huidige situatie ................................................................................................ 38 6.2.2 Strategie 1: Optimalisatie van het multi-echelon systeem...................................................... 39 6.3 Scenario’s die met het simulatiemodel doorgerekend worden............................................... 40 6.3.1 Scenario 1: Verandering van de patiëntvraag....................................................................... 40 6.3.2 Scenario 2: Ruimtebeslag bij de distributiecentra ................................................................. 40 6.3.3 Scenario 3: Assortimentsverkleining .................................................................................... 40 6.3.4 Scenario 4: Overgaan tot vaste besteldagen voor de apotheken ........................................... 41 6.3.5 Scenario 5: Het aantal apotheken binnen Escura ................................................................. 41 6.3.6 Scenario 6: Andere producten dan de testproducten ............................................................ 41
5
Inhoudsopgave ____________________________________________________________________________________ 7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel........................... 42 7.1 Strategie 0: Huidige situatie ................................................................................................... 42 7.1.1 Verificatie en validatie van het simulatiemodel van de huidige situatie ................................... 42 7.1.2 Resultaten van strategie 0: huidige situatie .......................................................................... 42 7.1.3 Gevoeligheidsanalyse op de resultaten van de huidige situatie ............................................. 45 7.2 Analyse van de resultaten van andere strategieën................................................................. 49 7.2.1 Resultaten van strategie 0: Huidige situatie variant 2, pseudo optimale besteldrempels en aanvulniveaus bij de apotheken .................................................................................................. 49 7.2.2 Resultaten van strategie 1: Optimalisatie van het multi-echelon systeem ............................... 50 7.3 Vergelijking resultaten van de huidige situatie en de strategieën .......................................... 51 7.4 Scenarioanalyse..................................................................................................................... 54 7.4.1 Analyse van de resultaten van scenario 1: Verandering in de patiëntvraag ............................ 54 7.4.2 Analyse van de resultaten van scenario 2: Ruimtebeslag in de distributiecentra..................... 57 7.4.3 Analyse van resultaten van scenario 3: Assortimentsverkleining ........................................... 58 7.4.4 Analyse van resultaten van scenario 4: overgaan tot vaste besteldagen bij de apotheken....... 59 7.4.5 Analyse van de resultaten van scenario 5: Het aantal apotheken binnen Escura.................... 60 7.4.6 Analyse van de resultaten van scenario 6: Andere producten dan de testproducten ............... 60 8 Conclusies en aanbevelingen...................................................................................................... 61 8.1 Conclusies ............................................................................................................................. 61 8.2 Aanbevelingen ....................................................................................................................... 62 8.3 Vervolgstudies ....................................................................................................................... 63 8.3.1 Betalingstermijn ................................................................................................................. 63 8.3.2 Partijproducten .................................................................................................................. 63 8.3.3 Gereserveerde voorraad .................................................................................................... 63 8.3.4 Leveringsafspraken tussen de leverancier en Brocacef ........................................................ 63 8.3.5 Bestelhoeveelheden apotheken .......................................................................................... 64 8.3.6 Analyse naar het vraagpatroon ........................................................................................... 64 8.3.7 Kostenfactoren .................................................................................................................. 64 Nabeschouwing .............................................................................................................................. 65 Referentielijst .................................................................................................................................. 67 Bijlage 1 - Organogram van Brocacef ............................................................................................. 68 Bijlage 2 - Flowchart entiteiten simulatie model.............................................................................. 69 Flowchart genereer vraag patiënt ................................................................................................ 69 Flowchart Aankomst vraag distributiecentrum (DC) ...................................................................... 69 Flowchart Bestelling apotheek ..................................................................................................... 70 Flowchart Bestelling distributiecentrum (DC) ................................................................................ 70 Flowchart Update voorraden en kosten........................................................................................ 71 Bijlage 3 - Vraagverdeling testproducten........................................................................................ 72 Patiëntvraag .............................................................................................................................. 72 Apotheekvraag........................................................................................................................... 72 Distributiecentrumvraag.............................................................................................................. 74 Bijlage 4 – Kansverdelingen............................................................................................................ 75 Gammaverdeling.......................................................................................................................... 75 Negatief Binomiale verdeling ....................................................................................................... 76 Bijlage 5 - Code Simulatiemodel ..................................................................................................... 77 Gebruiksaanwijzing Invoerscherm ............................................................................................... 92 Bijlage 6: Algoritmes simulatie strategie 1 en strategie 2............................................................... 94 Strategie 1: berekening besteldrempels en aanvulniveaus apotheken............................................ 94 Strategie 2: Optimalisatie van het multi-echelon systeem.............................................................. 96 Bijlage 7- Verificatie simulatiemodel............................................................................................... 98
6
1 Inleiding ____________________________________________________________________________________
1 Inleiding In de Nederlandse farmaceutische markt zijn 1734 apotheken actief (Stichting Farmaceutische Kengetallen, 2006). 76 van de apotheken vallen onder Escura B.V. Escura is een onderdeel van Brocacef Holding N.V., een bedrijf dat zich bezighoudt op het gebied van marketing, distributie en dienstverlening in de gezondheidszorg. Brocacef heeft in 45 Escura apotheken een meerderheidsbelang en in 31 Escura apotheken een minderheidsbelang (Bron: definitie Brocacef).
De farmaceutische markt heeft te maken met veranderingen. Eén van deze veranderingen is het steeds meer voorkomen van ketenvorming. Eén van de gevolgen van ketenvorming is kostenvermindering.
Brocacef wil graag meer inzicht in de keten tussen de groothandel en de apothekers van Escura, ten aanzien van logistieke handling en voorraad. Zij wil onderzoeken waar besparingen over deze keten realiseerbaar zijn. In dit onderzoek dienen middels een simulatie met als uitgangspunt de huidige situatie de volgende primaire vraagstellingen beantwoord te worden: 1.
Welke besparingen zijn mogelijk in de keten van groothandel Brocacef en de apotheekketen Escura?
2.
Hoe kan de voorraad in de keten centraal beheerd en beheerst worden en volgens welk voorraadsysteem en bestelstrategie?
Voorafgaand aan de simulatie wordt een conceptueel model opgesteld, waarin de huidige keten inzichtelijk wordt gemaakt. Daarnaast zullen verschillende voorraadmodellen en bestelstrategieën vanuit de literatuur bekeken worden. Deze verschillende voorraadmodellen en bestelstrategieën zullen in het simulatiemodel worden toegepast op de huidige situatie, zodat bepaald kan worden waar in de keten besparingen mogelijk zijn.
Hoofdstuk 2 gaat verder in op de probleemstelling en beschrijft de omgeving waarin het probleem zich voordoet. In dat hoofdstuk zijn ook de secundaire vraagstellingen uitgewerkt. Hoofdstuk 3 beschrijft de huidige situatie, waarin wordt verteld welke processen er plaatsvinden. Hoofdstuk 4 beschrijft het conceptuele model en de gegevensbehoefte en input van het simulatiemodel. Hoofdstuk 5 benoemt vanuit de literatuur enkele voorraadsystemen en bestelstrategieën. In hoofdstuk 6 is de opbouw van het simulatiemodel uitgewerkt. In dit hoofdstuk worden ook de gekozen strategieën en scenario’s besproken, die gesimuleerd zijn. Hoofdstuk 7 bespreekt de resultaten van de toegepaste strategieën en doorgerekende scenario’s. Als laatste volgen de conclusies, aanbevelingen en mogelijke vervolgstudies op dit onderzoek.
7
2 Probleemverkenning ____________________________________________________________________________________
2 Probleemverkenning In dit hoofdstuk wordt een beschrijving gegeven van Brocacef Holding N.V., groothandel Brocacef en de apotheekketen Escura. Vervolgens wordt een toelichting gegeven van het kader van de probleemstelling en worden de probleem- en doelstelling beschreven.
2.1 Beschrijvingen van de bedrijven die bij het onderzoek betrokken zijn In deze paragraaf worden de betrokkene bedrijven in het onderzoek beschreven. Met deze beschrijvingen wordt getracht een omgeving te schetsen waarin het probleem zich voordoet. Brocacef Holding N.V. Brocacef Holding N.V. is een Nederlandse onderneming die zich bezighoudt met marketing, distributie en dienstverlening op het gebied van de gezondheidszorg. De belangrijkste activiteiten zijn de groothandel Brocacef en de retail. Bij de groothandel gaat het om geneesmiddelen, medische producten en drogisterijartikelen. De belangrijkste afnemers zijn apothekers, apotheekhoudende artsen, zieken- en verpleeghuizen en drogisten en defensie. De retailactiviteiten hebben betrekking op de verstrekking van geneesmiddelen en medische producten aan de consument via de eigen apotheken van Brocacef Holding N.V., via de apotheken waarin Brocacef Holding N.V. een aandeel heeft en de apotheken die werken volgens de formule van Escura.
Brocacef Holding N.V. is een dochteronderneming van de internationale Phoenix organisatie. Phoenix is de grootste farmaceutische groothandel in Duitsland. In Europa neemt Phoenix als farmaceutische groothandel een leidende plaats in (Brocacef, 2006). Bijlage 1 geeft een organogram van Brocacef Holding N.V.
Brocacef Brocacef heeft vier distributiecentra (DC’s) in Nederland. Deze zijn gevestigd in Amsterdam, Deventer, Eindhoven en Groningen. Vanuit deze centra levert Brocacef aan haar klanten. Brocacef heeft in ongeveer 4% van alle apotheken in Nederland een meerderheid- of minderheidsbelang. Brocacef levert, als primaire vendor, aan 27% van alle apotheken en apotheekhoudende artsen in Nederland en aan 29 % van alle ziekenhuizen in Nederland (Bron: definitie Brocacef).
Escura Escura is de formule van Farmassure B.V. Farmassure is eveneens een onderdeel van Brocacef Holding N.V. Via Farmassure zijn verscheidene apotheken aan Brocacef Holding N.V. verbonden. Er zijn 45 apotheken via een meerderheidsbelang verbonden aan Brocacef Holding N.V. en Brocacef Holding N.V. heeft in 31 apotheken een minderheidsbelang. Daarnaast zijn er nog ongeveer 40 apotheken die
8
2 Probleemverkenning ____________________________________________________________________________________ deelnemen aan de formule van Escura. “Binnen de formule van Escura combineert Escura de traditionele deskundigheid van de apotheker met een persoonlijke en servicegerichte benadering, die past in deze tijd” (Brocacef, 2006).
2.2 Kader van het onderzoek Brocacef Holding N.V. heeft sinds 2003 haar eigen apotheekketen. In de toekomst zullen alleen maar meer apotheken zich toevoegen aan de keten. Dit zorgt ervoor dat Escura een steeds belangrijkere klant wordt voor de groothandel. Tot op heden is nog geen onderzoek gedaan naar ketenintegratie in de keten tussen de groothandel en de Escura apotheken. In de toekomst wil Brocacef de keten graag sturen door middel van een geïntegreerd voorraadmodel en een bestelstrategie, ten einde te komen tot lagere logistieke kosten.
2.3 Probleemstelling van het onderzoek Afzet en voorraadinfo
Brocacef 4 DC’s
Fysieke verplaatsing
Escura Apotheken
Figuur 2.1: Keten tussen groothandel Brocacef en apotheekketen Escura
Figuur 2.1 is een grafische weergave van de keten tussen Brocacef en haar eigen apotheekketen Escura. In de huidige situatie bestelt een apotheek van Escura op basis van de vraag van de patiënt en de voorraad in de apotheek haar artikelen bij Brocacef. De apotheek wordt bevoorraad door één van de DC’s van Brocacef, afhankelijk van waar het artikel op voorraad ligt bij de groothandel (sommige artikelen liggen maar in één distributiecentrum (DC) opgeslagen). In de huidige situatie wordt door de apotheker op basis van historische gegevens en ervaring van de apotheker bepaald of een artikel wel of niet op voorraad moet liggen in een apotheek, en hoe hoog de veiligheidsvoorraden moeten zijn.
Brocacef zou graag meer inzicht willen in de keten van de groothandel Brocacef naar de apotheekketen Escura. Zij wil onderzoeken waar mogelijke besparingen over deze keten realiseerbaar zijn. Na verschillende interviews met medewerkers van Brocacef zijn de volgende vraagstellingen geformuleerd: 1.
Welke besparingen zijn mogelijk in de keten van groothandel Brocacef en de apotheekketen Escura? a.
Assortimentsverkleining: wat zijn de logistieke gevolgen van (bijvoorbeeld 10%) verkleining van het assortiment van de Escura apotheken? Met mogelijk als gevolg:
9
2 Probleemverkenning ____________________________________________________________________________________ i.
Verlaging van de voorraden
ii.
Betere voorspellingen
iii. Minder transport -, bestel- en handlingkosten iv. Hogere servicegraad 2.
Hoe kan de voorraad in de keten centraal beheerd en beheerst worden en volgens welk voorraadsysteem en bestelstrategie die de in punt 1 genoemde besparingen realiseren? a.
Volgens welke voorraad- en bestelstrategie zou een beheersing van de voorraad de meeste besparingen opleveren? Daarbij zijn er ook de volgende subvraagstellingen: i.
Welke artikelen komen wel op voorraad bij zowel de apotheek als bij de groothandel?
ii.
Welke artikelen komen niet op voorraad bij de apotheek en zijn alleen op voorraad bij de groothandel?
iii. Welke artikelen komen op voorraad bij de apotheek en niet bij de groothandel? iv. Wat is de besteldrempel, wat is de order up to level en wat is de vaste bestelhoeveelheid van een apotheek voor een bepaald artikel? b.
Welke artikelen komen op voorraad in de apotheek? i.
Als de vraag van een artikel boven een bepaalde waarde komt dan wordt het artikel op voorraad in de apotheek gelegd. Hoe hoog moet deze waarde zijn en hoeveel wordt op voorraad gelegd en wat is de bestelstrategie voor dit artikel?
ii.
Als de waardedichtheid van een artikel hoog is, is het niet verstandig om het artikel op voorraad te leggen aangezien de voorraadkosten hoog zijn voor dit product. Hoe hoog moet de waardedichtheid zijn om het artikel wel of niet op voorraad te leggen, afhankelijk van de vraag van het artikel (punt i)?
iii. Als het een kritiek product is, wordt het product op voorraad gelegd. Een kritiek product is een product dat aanwezig moet zijn in de apotheek, omdat het direct geleverd moet worden aan de patiënt, of omdat het een gevoelig product is voor concurrentie met andere apotheken. iv. Als een apotheek veel opslagruimte beschikbaar heeft, dan kunnen meer producten op voorraad worden gelegd. Daarbij moet rekening gehouden worden met kapitaalinvestering en de houdbaarheid van de producten. v.
Een product wordt meer op voorraad gelegd, omdat de levertijd lang en onbetrouwbaar is.
Bij de vraagstellingen worden de volgende prestatiecriteria in acht genomen: •
Reductie van de logistieke kosten, waaronder voorraadkosten, handlingkosten en transportkosten.
•
Behoud van de servicegraad.
10
2 Probleemverkenning ____________________________________________________________________________________
2.4 Doelstelling van het onderzoek Het doel is middels een simulatiemodel de genoemde vragen te beantwoorden en dit model te programmeren in Delphi Pascal. Dit model zal flexibel (invoer van verschillende parameters) moeten zijn, zodat op productniveau verschillende strategieën doorgerekend kunnen worden en strategische beslissingen genomen kunnen worden.
Aan de hand van de resultaten van het simulatiemodel wordt een advies geschreven over mogelijke besparingen in de keten. Daarnaast worden verschillende scenario’s doorgerekend voor de keten.
11
3 Algemene beschrijving van de huidige situatie ____________________________________________________________________________________
3 Algemene beschrijving van de huidige situatie In dit hoofdstuk wordt de keten tussen de groothandel Brocacef en de apotheken van Escura B.V., weergegeven in figuur 2.1, beschreven. Vervolgens volgt een beschrijving van het voorraadbeheer bij de apotheken en de groothandel en een uitleg over de levertijden en de producten.
3.1 Ketenbeschrijving van de huidige situatie Figuur 2.1 in hoofdstuk 2 beschrijft de keten tussen de vier DC’s van de groothandel Brocacef en de verschillende voorraadpunten van de apotheken van Escura. Figuur 3.1 is een gedetailleerde weergave van figuur 2.1.
In de huidige situatie bestelt een apotheek van Escura op een bepaald moment van de dag bij de groothandel voor één product of voor verschillende producten. De frequentie van de bestellingen van de apotheek aan de groothandel is één keer per dag. De bestelling is gebaseerd op de economische voorraad van de apotheek. De groothandel bepaalt aan de hand van de vraag vanuit al haar afnemers (de apotheken zijn slechts een gedeelte) en de voorraadstanden per DC een bestelling bij de fabrikant per DC.
Escura B.V.
Afzet en voorraadinformatie
Fysieke goederenstroom
DC’s Brocacef
Figuur 3.1: Gedetailleerde weergave van de keten tussen de DC’s en de Escura Apotheken
12
3 Algemene beschrijving van de huidige situatie ____________________________________________________________________________________
3.2 Voorraadbeheer in de keten van de huidige situatie In deze paragraaf worden het voorraadbeheer van de apotheken van Escura en het voorraadbeheer bij de groothandel Brocacef beschreven.
Voorraadbeheer bij de Escura apotheken Een groot deel van de Escura apotheken maakt gebruik van een automatisch voorraadbeheersysteem dat werkt volgens het voorraadaanvulsysteem. De apotheek plaatst een bestelling voor een product als de voorraad op of onder de minimale voorraad komt. De voorraad van dat product wordt dan aangevuld tot het aanvulniveau.
Voorraadbeheer bij de groothandel Brocacef Brocacef gebruikt voor haar voorraadbeheer voorraadinformatiesoftware E3trim. Deze software berekent volgens het voorrraadaanvulsysteem de bestelhoeveelheid. Als de servicegraad van het gehele assortiment lager is of lager dreigt te worden dan de gestelde waarde voor het gehele assortiment, dan wordt gekeken voor welke artikelen een order geplaatst moet worden.
Daarnaast berekent E3trim de veiligheidsvoorraad aan de hand van de volgende parameters: •
Demand forecast
•
Leadtime forecast
•
Servicelevel goal
Eén van de belangrijkste inputparameters voor E3trim is de demand forecast. De demand forecast wordt bepaald aan de hand van de afzethistorie van de producten. Daarvoor is stabiliteit in het afzetpatroon belangrijk. De laatste jaren is er geen stabiel afzetpatroon geweest, als gevolg hiervan heeft men handmatig ingegrepen op de software.
Daarnaast gebruikt Brocacef het ERP systeem GHIA voor het behouden van historische data. Brocacef heeft ook een klantenbestelsysteem ontwikkeld voor haar klanten.
De geleverde producten aan Brocacef worden bij Brocacef op vervaldatum opgeslagen. Brocacef heeft voor bepaalde producten retourafspraken met haar leveranciers. Zo kunnen bijvoorbeeld de producten, die een maand voor de vervaldatum nog op voorraad liggen, worden teruggestuurd naar de leverancier. De producten die Brocacef bestelt bij haar leveranciers, worden besteld op basis van FEFO. FEFO staat voor First Expired First Out. Brocacef bestelt liever geen producten die een eerdere vervaldatum hebben dan de producten die al op voorraad liggen. Het inruimen van de producten en het leveren aan de klanten gebeurt op basis van FIFO (First In First Out).
13
3 Algemene beschrijving van de huidige situatie ____________________________________________________________________________________
3.3 Leveringen en leveringsvoorwaarden in de huidige situatie Leveringen aan de klant vanaf de groothandel Brocacef kent 4 soorten leveringen aan haar klanten: ‘overnight’-leveringen: vandaag besteld, morgen geleverd, ‘same-day’ leveringen: vandaag besteld, vandaag geleverd, spoedleveringen en nooddiensten (Anthonissen, 2000). Spoedleveringen gaan op basis van een spoedbestelling. De spoedleveringen gaan mee in een de eerste optionele rit die in de buurt komt. Voor een nooddienst wordt een aparte levering gemaakt. De nooddiensten vinden meestal plaats in de avond, nacht en in het weekeinde.
Leveringsvoorwaarden vanaf de leverancier aan de groothandel Brocacef onderhoudt haar contacten met leveranciers via de afdelingen leveranciersmanagement en inkoopmanagement. Deze afdelingen maken samen met leveranciers leveringsafspraken en prijsafspraken over de te leveren artikelen. De leveringsafspraken zijn vrijwel voor ieder product en ieder distributiecentrum (DC) verschillend. Brocacef baseert haar bestellingen op de leveringsafspraak en de historie van de levertijden per product per DC.
In de prijsafspraken staan vastgelegd welke prijs Brocacef voor de artikelen aan de leverancier moet betalen. Deze prijs is opgedeeld in de detailprijs, kostprijs en inkoopprijs. De detailprijs wordt ook wel de apotheekinkoopprijs genoemd en is een prijsafspraak tussen de overheid en de fabrikant. Dit is de prijs die de apotheek voor het artikel moet betalen. De inkoopprijs is de prijs die de groothandel zou moeten betalen, exclusief korting van de leveranciers. De kostprijs is de werkelijke te betalen prijs aan de leverancier eventueel inclusief een korting. Deze korting wordt vastgesteld in de prijsafspraak.
3.4 Soorten producten in de huidige situatie Brocacef levert ongeveer 10.000 verschillende geregistreerde geneesmiddelen aan haar klanten, daarnaast levert zij nog ongeveer 20.000 verschillende medische artikelen. Binnen de geregistreerde geneesmiddelen is een onderscheid te maken in vrij verkrijgbare geneesmiddelen (oftewel ‘over the counter’) en in geneesmiddelen op recept. Daarnaast is binnen de geregistreerde geneesmiddelen onderscheid te maken tussen (Moeliker, 2004, pp. 13-16, bron: definitie Brocacef): •
Specialité: Een specialité is een geneesmiddel waarop een patent ligt en wordt door één leverancier geproduceerd.
•
Parallel import: Tijdens de patentperiode mag Brocacef, wel volgens de wet en regelgeving van de EU, hetzelfde product uit een ander land binnen de EU halen. De producenten in deze landen bieden het product vaak goedkoper aan, alleen moeten de producten omgepakt worden en moet er nog een Nederlandse bijsluiter bij. Deze geneesmiddelen worden parallel importartikelen genoemd.
•
Generiek: Zodra de patentperiode voorbij is, mogen andere leveranciers generieke geneesmiddelen onder de naam van de werkzame stof produceren.
14
3 Algemene beschrijving van de huidige situatie ____________________________________________________________________________________
Brocacef herrangschikt iedere vier weken haar producten. Zij maakt een classificatie op basis van de omzet en rangschikt de producten in drie klassen: hardlopers, normaallopers en langzaamlopers, waarbij (bron: definitie Brocacef): •
hardlopers voor 85% van de omzet van de artikelen zorgen;
•
normaallopers voor 10% van de omzet van de artikelen zorgen;
•
en langzaamlopers voor 5% van de omzet van de artikelen zorgen.
Voor deze classificatie maakt het voorraadbeheersysteem E3trim geen onderscheid in de bestelstrategie. Echter brengt Brocacef handmatig een bovengrens in voor de voorraad van langzaamlopers. Dit heeft te maken met de vervaldatum van langzaamlopers. Langzaamlopers liggen vaak langer dan gemiddeld op voorraad bij de DC’s. Wanneer de vervaldatum van een langzaamloper verstrijkt en het product nog op voorraad ligt bij de DC’s, zal deze niet meer verkocht kunnen worden. Hierdoor maakt de groothandel wel kosten voor het op voorraad liggen van de producten, maar maakt de groothandel geen opbrengsten.
15
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________
4 Conceptueel model van de huidige situatie Voorafgaand aan de implementatie van het simulatiemodel is een conceptueel model opgesteld. Het conceptueel model beschrijft welke gebeurtenissen plaatsvinden in de keten. Het conceptuele model bevat de opbouw van het simulatiemodel, het referentiekader en de gegevensbehoefte, waaronder de verdeling van de patiëntvraag en de vraag van de DC’s, de kostenberekening en de benodigde input voor het simulatiemodel. Dit hoofdstuk beschrijft de aanpak van het opzetten van een simulatiemodel voor het simuleren van de huidige situatie.
4.1 Flowchart simulatiemodel van de huidige situatie Voor het opzetten van een simulatiemodel is een flowchart (figuur 4.1) gemaakt, waarin per entiteit wordt aangegeven wat er gebeurt. Het onderstaande schema geeft aan wat gebeurt op een willekeurige dag in de huidige situatie. In de huidige situatie worden bij de apotheek en de DC’s de bestellingen bepaald met behulp van het (s,S) aanvulsysteem. Als voor een artikel de voorraad op of onder zijn norm s komt, dan wordt een order geplaatst, zodanig dat de voorraad tot niveau S wordt aangevuld (Sipper, Bulfin, 1998, p.293). Paragraaf 4.4 geeft de algoritmes van het simulatiemodel. In deze algoritmes wordt de flowchart, zoals gegeven in deze paragraaf, nader uitgelegd. Dag t Genereer patiëntvraag.
Voor ieder product wordt de patiëntvraag bij iedere apotheek gegeneerd volgens een vooraf bepaalde kansverdeling. De verdeling van de vraag van de patiënt wordt beschreven in 4.3.
Start bestelling apotheek
Als de economische voorraad van een product bij de apotheek op of onder de besteldrempel komt, dan wordt plaats de apotheek voor het product een bestelling, zodanig dat de voorraad wordt aangevuld tot het gewenste aanvulniveau.
Aankomst vraag distributiecentrum
De bestellingen naar een product van de apotheken vormen de vraag naar dat product aan de DC’s.
Start bestelling DC’s
Het DC plaatst een bestelling voor een product, als de economische voorraad van het product op of onder de besteldrempel komt. De voorraad wordt aangevuld tot het gewenste aanvulniveau.
Update voorraden en kosten
Bepaal alle voorraden bij de apotheek en DC’s voor dag t. Bepaal de kosten en de fillrate. De bepaling van de kosten wordt beschreven in 4.5. De bepaling van de fillrate wordt gegeven in 4.6.
Figuur 4.1: Flowchart simulatiemodel
16
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________
Voor iedere entiteit is een flowchart gemaakt, waarin de precieze details van de gebeurtenissen worden beschreven. De flowcharts van de entiteiten zijn te vinden in bijlage 2. De opbouw van de code voor het simulatiemodel wordt beschreven in hoofdstuk 6.
4.2 Input voor het simulatiemodel De input is opgedeeld in een aantal aspecten, het referentiekader, de gegevensbehoefte, waaronder de vraagverdeling, de kostenberekening en de voorraadmodellering. Voor de vraagverdeling en de kostenberekening zijn twee aparte paragraven geschreven. Aan de voorraadmodellen is een apart hoofdstuk gewijd dat volgt na dit hoofdstuk. Het referentiekader beschrijft het raamwerk waarvoor de huidige situatie doorgerekend wordt. In de gegevensbehoefte wordt aangegeven welke data nodig is voor de simulatie en in de kostenberekening wordt beschreven hoe de kosten in het simulatiemodel worden bepaald.
Referentiekader waarin het simulatiemodel doorgerekend wordt Binnen Brocacef zijn de gegevens van zes Escura apotheken beschikbaar. Dit zijn de gegevens van Apotheek Het Groene Hart uit Zoeterwoude, Apotheek Henri Dunant uit Rijswijk, Apotheek Nieuwkoop uit Nieuwkoop, Apotheek Wyborgh uit Westervoort, Apotheek Geerlings uit Arnhem en Apotheek Kerschoten uit Apeldoorn en zijn de referentie apotheken voor het onderzoek. Deze zes apotheken zijn door een medewerker van Escura aangewezen, en worden door de medewerker als representatief beschouwd voor de Escura keten en zijn op te delen in drie grote en drie kleine apotheken. Deze apotheken maken gebruik van het voorraadbeheersysteem zoals beschreven in 3.2.
De gegevens van de referentie apotheken zijn onder te verdelen in: •
Factuurregels van een periode voor: o
Het Groene Hart van 17 juni 2005 tot en met 31 december 2005;
o
Henri Dunant, Nieuwkoop, Geerlings en Kerschoten van 1 januari 2005 tot en met 31 december 2005;
o
Wyborgh van 1 januari 2005 tot en met 31 mei 2005;
•
Voorraadmutaties van de periode 1 januari 2005 tot en met 31 december 2005.
•
Voorraadwaarden op 17 februari 2006.
•
De besteldrempels en aanvulniveaus per product per apotheek.
De factuurregels beschrijven de verstrekking per patiënt per product in hoeveelheden en in waarde (€) (op basis van de apotheek inkoopprijs (AIP)). De voorraadmutaties beschrijven de bestellingen per product in inkoopeenheden. De inkoopeenheden zijn gelijk aan de verpakkingseenheden bij de DC’s. De voorraadwaarden geven de voorraadstanden in eenheden en in waarde (€) per product op 17 februari 2006.
17
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________
De zes apotheken worden door twee van de vier DC’s van Brocacef bevoorraad. Apotheek Het Groene Hart, apotheek Henri Dunant en apotheek Nieuwkoop worden bevoorraad door DC Amsterdam. Apotheek Wyborgh, apotheek Geerlings en apotheek Kerschoten worden bevoorraad door DC Deventer.
Gegevensbehoefte van het simulatiemodel Het simulatiemodel zoals beschreven in paragraaf 4.1 behoeft verschillende gegevens. Voor het simuleren van de huidige situatie zijn de volgende data nodig: •
De verdeling van de patiëntvraag per product.
•
De beginvoorraden bij de apotheken en bij de DC’s per product.
•
De besteldrempels s en aanvulniveaus S bij de apotheken en de DC’s per product.
•
De levertijden vanaf de DC’s naar de apotheken en de levertijden vanaf de leveranciers naar de DC’s per product.
•
De inkoopeenheden van de apotheken en de DC’s per product.
•
De kostenfactoren voor het berekenen van de kosten.
De verdeling van de patiëntvraag wordt beschreven in 4.3. 4.4 beschrijft de kostenberek ening en welke kostenfactoren nodig zijn voor deze berekening. In bijlage 7 worden de beginvoorraden en de voorraadregels weergegeven.
4.3 Vraagverdeling van de producten Patiëntvraag Uit de beschikbare factuurregels van de referentie-apotheken zijn zeven producten gehaald. Deze producten worden gebruikt in het model. De producten zijn onder te verdelen in snellopers, normaallopers en langzaamlopers (voor definities zie 3.4). Daarnaast zijn de producten ook op te delen in geneesmiddelen op recept en vrij verkrijgbare geneesmiddelen. Tabel 4.1 geeft een overzicht van de testproducten. De classificatiekolom in tabel 4.1 geeft voor drie producten twee mogelijke classificaties. Dit komt doordat de classificatie per DC kan verschillen. De vierde kolom in tabel 4.1 geeft de inkoopeenheid per product voor de apotheken (in verkoopeenheden). Testproduct Carbasal Calc GF 600 sachet Dextrometh san 1.5mg/ml dr Miconazol san 20mg/g crème Microgynon 30 dragee Stederil 30 dragee Trachitol zuigtablet VSM Spiroflor SRL gelei
Classificatie Langzaamloper
Recept of vrij verkrijgbaar Recept
Inkoopeenheid 30
Langzaamloper
Recept
300
Normaalloper/Snelloper
Recept
30
Snelloper Normaalloper/Snelloper Langzaamloper Langzaamloper/Snelloper
Recept Recept Vrij verkrijgbaar Vrij verkrijgbaar
63 63 20 80
Tabel 4.1: Overzicht testproducten
18
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________
Voor de testproducten is gekeken naar de verdeling op patiëntvraag. Op patiëntniveau worden de producten in verkoopeenheden gevraagd en op apotheekniveau worden de producten in inkoopeenheden gevraagd. Op DC-niveau worden de producten in inkoopeenheden gevraagd aan de leveranciers. Zo is bijvoorbeeld de inkoopeenheid van Dextrometh voor de groothandel is 300 ml per verkoopeenheid.
De verdeling van de patiëntvraag is bepaald aan de hand van de beschikbare factuurregels van de referentie apotheken. Vanuit deze factuurregels is voor ieder product de vraag per dag bij iedere apotheek bepaald. Figuur 4.2 weergeeft voor apotheek Het Groene Hart de frequentie van de vraag naar Microgynon. Bijlage 3 weergeeft de grafieken van vraagverdeling bij de apotheken van de andere producten. Microgynon 30 dragee (n=36 dagen) 40% 35% 30% 25% 20%
Totale vraag
15% 10% 5% 0% 0
1
2
3
4
5
6
Vraag
Figuur 4.2: Verdeling patiëntvraag voor Microgynon 30 dragee voor apotheek Het Groene Hart
De patiëntvraag is gebaseerd op een periode van 36 dagen. Geneesmiddelen volgen in de tijd een variabele stochastische vraag. Dit is ook te zien in de grafieken die in bijlage 3 zijn weergegeven. In de analyses van de simulatie van de huidige situatie, wordt aangenomen dat de dagvraag bij de apotheker benaderd kan worden met een gammaverdeling. De gammaverdeling genereert altijd een positieve vraag die de niet-constante vraag naar geneesmiddelen goed benadert. De gammaverdeling wordt in bijlage 4 nader uitgelegd. Snyder (1983) geeft in zijn artikel aan dat de gammaverdeling vooral bruikbaar is voor langzaamlopende producten (in dit onderzoek ook sprake van), maar ook toepasbaar is voor snellopende en normaallopende producten. Daarnaast wordt in de gammaverdeling de kans op dat de vraag nul is wel meegenomen, in tegenstelling tot andere kansverdelingen.
Figuur 4.2 en de figuren in bijlage 3 lijken op de kansverdelingcurve van een gammaverdeling. Dit is echter niet voldoende getest en aangetoond. Bij een verdere en gedetailleerde analyse zal dit onderzoek naar de beste fit van de vraagverdeling moeten worden uitgevoerd. Bijlage 4 geeft enkele methoden van
19
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________ Oosterbaan (2002) voor het testen of de data volgens een gammaverdeling verloopt. Deze testen zijn in dit onderzoek niet uitgevoerd.
Verder is het aandeel in de afzet aan de Escura apotheken bepaald op basis van jaarlijkse totale omzet van Brocacef. Voor de referentie apotheken bij elkaar genomen is het percentage aandeel in de omzet berekend op 1,44 % van de totale omzet van Brocacef en 9,72% van de totale omzet van Escura in 2005. Het percentage aandeel in de omzet van Escura is in 2005 6.73% van de totale omzet van Brocacef.
Daarnaast is ook gekeken naar de bestellingen van apotheek bij de groothandel. De bestellingen van de apotheek zijn afhankelijk van de patiëntvraag. Wanneer we de bestellingen van Microgynon van de drie apotheken naast elkaar leggen, zien we enkele kleine uitschieters bij een vraag van 20, 40 of 50 inkoopeenheden (Bijlage 3). Dit heeft te maken met de bestelgroottes vanuit de apotheek, wanneer een bestelling geplaatst wordt. Apotheek Het Groene Hart bestelt veelal de hoeveelheid van 20 inkoopeenheden. Apotheek Henri Dunant bestelt bij voorkeur 50 inkoopeenheden, en apotheek Wyborgh bestelt in alle gevallen 40 inkoopeenheden.
4.4 Algoritmes van het simulatiemodel van de huidige situatie Voor het simuleren van de huidige situatie (zoals in figuur 3.1 en figuur 4.1) is een algoritme opgesteld, dat de te doorlopen stappen van het simulatiemodel beschrijft. Voorafgaand hieraan worden de gebruikte variabelen en parameters in het algoritme gedefinieerd (tabel 4.2). Na de bespreking van het algoritme volgen in 4.5 en 4.6 de bepalingen van de kosten en de fillrate. Indicies p: producttype t : tijdstippen (in dagen) k : verschillende apotheken d : verschillende DC’s
{p = 1,.., P} {t = 1,.., T} {k = 1,.., K} {d = 1, .., DC}
Gegevensvariabelen Inputvariabelen Voorraad: s pk Spk s pd Spd Parameters: µpk 2 s pk a pk ßpk
Apd VarA pd ?
{Besteldrempel van product p bij apotheek k} {Aanvulniveau van product p bij apotheek k} {Besteldrempel van product p bij DC d} {Aanvulniveau van product p bij DC d}
{Verwachte patiëntvraag naar product p bij apotheek k} {Variantie patiëntvraag van product p bij apotheek k} {Invoerparameter Gammaverdeling product p bij apotheek k} {Invoerparameter Gammaverdeling product p bij apotheek k} {Gemiddelde apotheekvraag per dag naar product p bij DC d} {Berekende variantie apotheekvraag van product p bij DC d} {Parameter voor bepaling besteldrempels, afhankelijk van fillrate}
20
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________ L(?)
{Functieverdeling van ?}
Overig: Ltijdpd
{Levertijd van product i naar DC d vanaf de leverancier}
Systeemvariabelen Vraag: Ppkt Apkt
{Patiëntvraag naar product p bij apotheek k op dag t} {Apotheekvraag naar product p bij apotheek k op dag t}
Voorraad: EIA pkt FIA pkt EIDCpkt FIDCpkt Outputvariabelen Bestelhoeveelheden QApkt QDCpdt
{Economische voorraad van product p bij apotheek k aan het einde van dag t} {Fysieke voorraad van product p bij apotheek k aan het einde van dag t} {Economische voorraad van product p bij DC d aan het einde van dag t} {Fysieke voorraad van product p bij DC d aan het einde van dag t}
{Bestelhoeveelheid apotheek k voor product p op dag t} {Bestelhoeveelheid DC d voor product p op dag t}
Totale kosten TotCA t GemCA TotCDt GemCD Fillrate FAt GemFA FDt GemFD
{Berekende kosten van alle K apotheken op dag t} {Gemiddelde kosten apotheken per dag} {Berekende kosten DC’s op dag t} {Gemiddelde totale kosten DC’s per dag }
{Fillrate apotheken op dag t} {Gemiddelde fillrate apotheken} {Fillrate DC’s op dag t} {Gemiddelde fillrate DC’s} Tabel 4.2: Notaties beschrijving stappen huidige situatie
Van de DC’s zijn de besteldrempels en aanvulniveaus gegeven uit beschikbare data. Deze besteldrempels en aanvulniveaus zijn bepaald voor de vraag van alle afnemers. In de simulatie van de huidige situatie hebben de DC’s te maken met maar een klein deel van deze afnemers. De huidige besteldrempels zijn daardoor niet bruikbaar voor de simulatie. Om een juiste simulatie van de huidige situatie te kunnen maken, zullen de besteldrempels bij de DC’s aangepast moeten worden naar het aantal afnemers. Hiervoor wordt met behulp van de historische vraag van 7 testproducten bij de DC’s en de huidige besteldrempels de fillrate bepaald. Met deze fillrate worden de nieuwe besteldrempels bij de DC’s bepaald met de verwachte vraag vanuit de apotheken, waardoor de hele keten gesimuleerd kan worden voor 7 testproducten, 6 apotheken en 2 DC’s. Paragraaf 7.1.2 gaat nader in op deze voorberekening voor de simulatie van de huidige situatie. Figuur 4.5 is weergave van de simulatie van de gehele keten in de huidige situatie. De volgende stappen geven het algoritme voor het simulatiemodel van de gehele keten: 0.
Initialisatie Voor ieder product i en voor iedere apotheek k:
21
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________ Inlezen van de huidige besteldrempels s pk en aanvulniveaus Spk . Inlezen gemiddelde patiëntvraag µpk en variantie van de patiëntvraag s
2 pk .
Voor ieder product i en voor ieder DC d: Inlezen van de levertijden Ltijdpd vanaf de leveranciers naar de DC’s. De fysieke voorraad FIA pkt en de economische voorraad EIA pkt op dag t = 0 zijn gelijk aan de fysieke beginvoorraad uit beschikbare data. De economische beginvoorraad is niet bekend uit de beschikbare data en zal daarom gelijk gesteld worden aan de fysieke beginvoorraad. De definities van de fysieke en economische voorraad worden gegeven in stap 3 voor de apotheken en in stap 9 voor de DC’s in dit algoritme. 1.
dag t = 1
2.
Genereer voor dag t de patiëntvraag Ppkt ~GAMMA(a pk , ßpk ) waarbij, de vraagverdeling wordt nader beschreven in paragraaf 4.3:
α pk := 3.
µ 2pk
en
σ 2pk
β ik :=
σ 2pk µ pk
Apotheek k bepaalt de grootte van haar bestelling QApkt voor product p op basis van de patiëntvraag Ppkt, de huidige besteldrempel s pk en de economische voorraad EIA pkt. Apotheek k levert de patiënt, indien voldoende op voorraad is. Anders krijgt de patiënt dat deel van de vraag dat nog op voorraad is. Tekorten worden niet nageleverd. Daarnaast is aangenomen dat de levertijd gelijk is aan 1 dag. Als EIA pkt-1 – Ppkt = s pk dan plaats bestelling QApkt := Spk – EIA pkt-1 + P pkt Anders QApkt := 0; FIA pkt := FIA pkt-1 + QApkt-1 – Ppkt EIA pkt := EIA pkt-1 + QApkt – Ppkt Bepaal voor ieder DC de binnenkomende totale vraag Apdt vanuit de apotheken op dag t. Ap1t := Sk QApkt voor k = 1,2,3 ( k = 1: Het Groene Hart, k=2 : Henri Dunant, k =3: Nieuwkoop) Ap2t := Sk QApkt voor k =4,5,6 (k = 4: Wyborgh, k = 5 : Geerlings, k = 6: Kerschoten)
4.
Bepaal de fillrate (FAt ) en de kosten op dag t (TotCA t ) met behulp van de fysieke voorraad FIA pkt. t := t +1.
5.
Als t = T (T = gewenste gesimuleerde aantal dagen) dan herhaal stap 2 tot en met 4. Anders ga naar stap 6.
6.
Bepaal de gemiddelde vraag Apd bij de DC’s en de variantie van de vraag VarA pd over de totale tijd T.
Apd :=
1 * ∑ Apdt T t
VarApd :=
1 * ∑ ( Apdt − Aid ) 2 T
22
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________ 7.
Bepaal voor ieder product i de “berekende” besteldrempels s’pd en aanvulniveaus S’pd voor de DC’s. s'pd := Apd (gedurende de levertijd) +
κ * VarApd (gedurende de levertijd)
? opzoeken in een tabel met behulp van de functie
L(κ ) :=
(1 − GemFD) * Qpd
, waarbij
VarApd
VarApd (gedurende de levertijd) *
Qpd := T * Apd
2 * BCD voorCD* Apd
T * :=
Bepaling T* door K(T*) te minimaliseren.
T * * A pd BCD K (T ) := Apd + * + voorCD* 2 T *
S’pd:= s’pd + Qpd 8.
dag t = 1
9.
Bepaal voor ieder DC de bestelling QDCpdt voor product p op dag t op basis van de vraag van haar afnemers Apdt , de “berekende “ besteldrempel s’pd en de economische voorraad EIDCpdt . Als EIDCpdt-1 – Apdt (gedurende de levertijd) = s’pd dan QDCpdt := S’ pd – EIDCpdt-1 + Apdt Anders QDCpdt := 0; FIDCpdt := FIDCpdt-1 + QDCpdt-Ltijd – Apdt EIDCpdt := EIDCpdt-1 + QDCpdt – Apdt
10. Bepaal de fillrate (FDt ) en de kosten op dag t (TotCDt ) met behulp van de fysieke voorraad FIDCidt . t:= t + 1; 11. Als t = T (tijd = gewenste aantal gesimuleerde dagen) dan herhaal stap 9 en 10. Anders ga naar stap 12. 12. Bepaal de gemiddelde kosten per dag en bepaal de gemiddelde fillrate per dag bij de apotheken en de groothandel. De definities van de kosten en van de fillrate worden in 4.5 en 4.6 gegeven.
Stap 1 tot en met stap 6 van het algoritme behoren tot de weergave in figuur 4.3. De overige stappen uit het algoritme behoren tot de weergave in figuur 4.4. Figuur 4.5 geeft een gespecificeerde weergave van de gehele keten in de huidige situatie zoals die in dit onderzoek beschouwd wordt.
23
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________
AP P
Figuur 4.3: Weergave eerste deel van de keten: Apotheek naar Patiënt
DC Afn
Figuur 4.4: Weergave tweede deel van de keten: groothandel naar afnemers
gh
DC Adam hd
Pik ni
DC Dev
wy
ge
Ke
Figuur 4.5: Gedetailleerde weergave van de gehele keten
4.5 Kostenberekening en bijbehorende kostenfactoren in de huidige situatie Kostenberekening Brocacef wil middels het model inzicht krijgen in de kosten. De kosten in de keten zijn opgebouwd uit de kosten van de apotheken en de kosten van de groothandel. In de kostenberekening worden de totale kosten per dag voor de huidige situatie berekend. De totale kosten zijn een som van de voorraadkosten en handlingkosten bij de apotheken en de voorraadkosten, handlingkosten en transportkosten bij de groothandel. Tabel 4.3 geeft een overzicht van de wiskundige notaties die gebruikt worden in de definities van de kosten berekening.
24
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________ Binaire variabelen: BestelApt InslagA pt BestelDCpt InslagDCpt UitslagDCpt
{1 als een bestelling wordt geplaatst door een apotheek voor product p in periode t, 0 elders} {1 als een inslag plaatsvindt door een apotheek voor product p in periode t, 0 elders} {1 als een bestelling wordt geplaatst door een DC voor product p in periode t, 0 elders} {1 als een inslag plaatsvindt door een DC voor product p in periode t, 0 elders} {1 als een uitslag plaatsvindt door een DC voor product p in periode t, 0 elders}
Kosten: BCA ICA VCA AIP p HandCA t VoorCA t TotCA t GemCA BCD ICD UCD RCDd Kpp ?ri ?re ?rud TCDd HandCDt VoorCDt TransCDt TotCDt GemCD
{Bestelkosten apotheken} {Inslagkosten apotheken} {Voorraadkosten apotheken} {Apotheek inkoopprijs voor product p} {Handlingkosten apotheken in periode t} {Voorraadkosten apotheken in periode t} {Totale kosten apotheken in periode t} {Gemiddelde totale kosten apotheken per dag} {Bestelkosten DC’s} {Inslagkosten DC’s} {Uitslagkosten DC’s} {Ruimtekosten voor DC d} {Kostprijs voor product p} {Risicopercentage} {Rentepercentage} {Ruimtepercentage voor DC d} {Transportkosten voor DC d} {Handlingskosten DC’s in periode t} {Voorraadkosten DC’s in periode t} {Transportkosten DC’s in periode t} {Totale kosten DC’s in periode t} {Gemiddelde totale kosten DC’s per dag} Tabel 4.3: Overzicht wiskundige notatie definities kostenberekening
Voorraadkosten Voor de bepaling van de voorraadkosten is onderscheid te maken tussen twee soorten voorraad. De fysieke voorraad en de economische voorraad. De fysieke voorraad is de voorraad die werkelijk aanwezig is en wordt gebruikt om de voorraadkosten te bepalen. De economische voorraad is de fysieke voorraad + de uitstaande bestellingen bij de leverancier, die nog niet geleverd zijn. De economische voorraad wordt gebruikt voor het bepalen van de bestellingen.
De voorraadkosten bij de apotheek zijn gebaseerd op de kosten van het op voorraad houden van 1 inkoopeenheid per jaar. Dit is een percentage van de van de apotheek inkoopprijs (AIP) (Jansen, 2001). De voorraadkosten bij de groothandel zijn gebaseerd op ruimtekosten, risicokosten en rentekosten. De ruimtekosten zijn een percentage van de waarde van de voorraad per vi erkante meter per jaar. De risicoen rentekosten worden bepaald op de waarde van de voorraad. Deze waarde wordt bepaald aan de hand van de kostprijs van de producten (Bron: definitie Brocacef).
25
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________
Voorwaarden (4.1) en (4.2) geven de berekening van voorraadkosten op dag t van de DC’s en de van de apotheken. VoorCDt := (?re + ?ri) * FIDCpdt * Kpp + ?rud* RCDd
(4.1)
VoorCA t := VCA* FIA pkt*AIP p
(4.2)
Handlingkosten De handlingkosten is de som van de kosten van het bestellen en de inslag en de kosten van de uitslag. De bestelkosten zijn kosten voor het plaatsen van een bestelling per product op dag t. De inslagkosten zijn de kosten voor het inslaan van een bestelling per product op de dag dat de bestelling geleverd wordt. De uitslagkosten zijn kosten voor het uitslaan van een levering per product aan de afnemer. De apotheken rekenen geen kosten voor de uitslag. Voorwaarden (4.3) en (4.4) geven de formules voor het berekenen van de handlingkosten voor de DC’s en de apotheken. Als QDCpdt > 0 dan is bestelDCpt :=1, anders bestelDCpt := 0; Als QDCpdt-Ltijd > 0 dan is inslagDCpt :=1, anders inslagDCpt := 0; Als Apdt > 0 dan is uitslagDCpt :=1; anders uitslagDCpt := 0; HandCDt := BCD * bestelDCpt + ICD* inslagDCpt + UCD * UitslagDCpt ;
(4.3)
Als QApkt > 0 dan is bestelApt :=1, anders bestelApt := 0; Als QApkt-1 > 0 dan is inslagA pt :=1, anders inslagA pt := 0; HandCA t := BCA* bestelApt + ICA* inslagA pt ;
(4.4)
Transportkosten Als laatste worden in het model de transportkosten vanuit de DC’s naar de apotheken meegenomen. De transportkosten worden per uitgaand artikel per jaar vastgesteld. Voorwaarde 4.5 geeft de bepaling van de transportkosten. TCDd zijn hierbij de dagelijkse transportkosten per uitgaand artikel. De transportkosten op dag t zijn gelijk aan de dagelijkse transportkosten per uitgaand artikel (TCDd) maal het aantal uitgaande artikelen op dag t. TransCDt := TCDd * Apdt
(4.5)
Totale kosten De totale kosten per dag worden opgedeeld in de totale kosten voor de groothandel en de totale kosten voor de apotheken. De reden hiervoor is dat de totale kosten voor de groothandel berekend zijn aan de hand van de totale vraag naar de testproducten bij de DC’s. De totale kosten bij de apotheken worden bepaald voor de referentie apotheken. Voorwaarden 4.6 en 4.7 geven de definities van de totale kosten. TotCDt := HandCDt + VoorCDt + TransCDt
(4.6)
TotCA t := HandCA t + VoorCA t .
(4.7)
26
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________ Bijbehorende kostenfactoren voor de kostenberekening Jansen (2001) beschrijft in zijn onderzoek dat de kosten voor de apotheek zijn opgebouwd uit voorraadkosten (alleen ruimtekosten), inslagkosten en bestelkosten. De waarden van de kosten, die door Jansen (2001) zijn bepaald, zijn opgenomen in tabel 4.5. Deze kosten zijn niet recent, maar uit interviews met een medewerker van Brocacef worden deze waarden als representatief beschouwd voor het huidige onderzoek.
De groothandel hanteert kostenparameters voor voorraadkosten per artikel en handlingkosten per artikel. De voorraadkosten bestaan uit ruimtekosten en het percentage ruimtebeslag, beide per vierkante meter per jaar, rentekosten(op basis van een percentage) en risicokosten(op basis van een percentage) per jaar. De handlingkosten zijn onder te verdelen in uitslagkosten per uitgaande regel, inslagkosten per bestelregel en bestelkosten per bestelregel. De waarden van de kosten van de groothandel zijn door Brocacef bepaald op basis van de kosten die in 2004 gemaakt zijn. Tabel 4.4 geeft een schematisch overzicht van de kostenparameters.
Kostenparameter Voorraadkosten (per artikel, per jaar) 2 Ruimtekosten (per m , per jaar)
Apotheek 10% van AIP -
2
Ruimtebeslag (per m , per jaar)
Rente (%) per jaar Risico (%) per jaar Uitslagkosten (per regel) Inslagkosten (per bestelregel) Bestelkosten (per bestelregel) Transportkosten (per artikel, per jaar)
€ 0,04 € 1,10 € 28
Distributiecentrum € 79 voor DC A’dam € 44 voor DC Deventer 6.5% voor DC Amsterdam van Ruimtekosten 10.2% voor DC Deventer van Ruimtekosten 3% 0.5% € 0,65 € 2,75 € 1,10
Tabel 4.4: Overzicht te beschouwen kostenfactoren
Verder is voor de kostenberekening ook de AIP en de kostprijs nodig. Deze staan voor de testproducten weergegeven in tabel 4.5. Product Carbasal Calc GF 600 sachet Dextrometh san 1.5mg/ml dr Miconazol san 20mg/g crème Microgynon 30 dragee Stederil 30 dragee Trachitol zuigtablet VSM Spiroflor SRL gelei
AIP € 2,63 € 3,54 € 4,07 € 5,82 € 4,48 € 2,62 € 5,36
Kostprijs € 1,62 € 3,01 € 3,46 € 5,23 € 4,03 € 2,10 € 4,44
Tabel 4.5: AIP en kostprijs voor de testproducten
27
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________
4.6 Bepaling fillrate in de simulatie van de huidige situatie Voor het bepalen van de servicegraad naar de patiënten vanuit de apotheken en de servicegraad naar de klanten vanuit de groothandel, wordt de fillrate gebruikt. De fillrate is de fractie van de vraag dat direct uit voorraad geleverd kan worden (Sipper en Bulfin, 1997). De wiskundige notaties die genoemd worden in de definities voor de bepaling van de fillrates staan in tabel 4.2. Verder staat DgelApkt voor het deel van de patiëntvraag dat op dag t direct uit voorraad van apotheek k geleverd kan worden. TotaalDgelA is de som van deze delen. TotaleVraagP is de totale patiëntvraag bij de apotheken gedurende de tijd. Fillrate bij de apotheken Als FIA pkt = Ppkt dan is DgelApkt:= Ppkt Anders als FIA pkt > 0 dan is DgelApkt:=FIA pkt Anders DgelApkt :=0; TotaalDgelA:=
∑∑∑ DgelA p
TotaleVraagP:=
k
pkt
t
∑∑∑ P
pkt
p
k
t
Fillrate is gelijk aan TotaalDgelA / TotaleVraagP (%)
(4.8)
Fillrate bij de groothandel DgelDpdt staat voor het deel van de apotheekvraag dat op dag t direct uit voorraad van DC d geleverd kan worden. TotaalDgelD is de som van deze delen. TotaleVraagA is de totale apotheekvraag bij de DC’s gedurende de tijd. Als FIDCpdt = Apdt dan is de DgelDpdt :=Apdt Anders als FIDCpdt > 0 dan is DgelDpdt :=FIDCpdt Anders DgelDpdt :=0; TotaalDgelD:=
∑∑∑ DgelD p
TotaleVraagA:=
d
∑∑∑ A p
pdt
t
d
pdt
t
Fillrate is gelijk aan TotaalDgelD / TotaleVraagA (%)
(4.9)
Voorwaarden (4.8) en (4.9) geven de definities voor de fillrate van de apotheken respectievelijk van de DC’s. Als de fysieke voorraad op dag t groter is dan de vraag op dag t naar product p, dan is de servicegraad 100%. Als de fysieke voorraad kleiner is dan de vraag, dan is de fillrate gelijk aan dat deel van de vraag dat direct uit voorraad geleverd kan worden.
In de literatuur zijn verschillende artikelen te vinden over multi-echelon systemen. In het volgende hoofdstuk worden de meest relevante artikelen voor dit onderzoek samengevat. Een andere besparing
28
4 Conceptueel model van de huidige situatie ____________________________________________________________________________________ kan liggen in de manier waarop de bestelling op dit moment gedaan worden. Daarom worden in dat hoofdstuk ook andere bestelstrategieën dan de bestelstrategie die op dit moment wordt gehanteerd, besproken.
29
5 Literatuurstudie naar voorraadmodellen en bestelstrategieën ____________________________________________________________________________________
5 Literatuurstudie naar voorraadmodellen en bestelstrategieën In de literatuur zijn verschillende artikelen gevonden over voorraadmodellen en bestelstrategieën, die mogelijk de keten tussen de groothandel en de apotheken kunnen verbeteren. Vendor Managed Inventory (VMI) en de optimalisatie van het multi-echelon systeem worden het meest gevonden in de literatuur. VMI beheerst de voorraad vanuit de eerste schakel in de keten en bepaalt de hoeveelheid voorraad bij de andere schakels op basis van de afzet- en voorraadgegevens. Het doel van VMI is over de gehele keten de voorraadniveaus te laten dalen. Een van de methodes voor het beheren van de voorraden is de optimalisatie van een multi-echelon systemen.
Op lange termijn wil Brocacef de voorraden bij de apotheken bepalen. VMI zal hier een goede methode voor zijn. Brocacef wil de voorraad beheersen over de hele keten en daarvoor is de optimalisatie van het multi-echelon systeem geschikt. In dit onderzoek wordt daarvoor de optimalisatie van het multi-echelon systeem beschreven en geïmplementeerd in het simulatiemodel.
In 5.1 wordt een samenvatting gegeven van een artikel over de optimalisatie van een multi-echelon systeem. Dit artikel is interessant, omdat de keten die beschreven wordt in het artikel overeenkomt met de keten die in dit onderzoek bekeken wordt. Ter toelichting wordt in 5.1 een voorbeeld uit de praktijk gegeven, waarin de optimalisatie van het multi-echelon systeem is toegepast.
5.1 Literatuurstudie naar de optimalisatie van een multi-echelon systeem Een van de relevante artikelen in de literatuur over de optimalisatie van een multi-echelon systemen is van Abdul-Jalbar e.a.(2006). Abdul-Jalbar e.a. schrijven in hun artikel over een multi-echelon systeem voor een distributiecentrum met een meerdere (N) retailer voor het voorraad/distributie systeem. In de probleembeschrijving wordt aangenomen dat de vraag van klanten buiten de N retailers constant is en dat geen sprake is van terugsturen en verloren verkopen. Daarnaast heeft ieder onderdeel in de keten kosten die onder te verdelen zijn in vaste bestelkosten per order en voorraadkosten.
In multi-echelon systemen wordt ieder voorraadpunt gezien als een echelonvoorraad. Abdul-Jalbar e.a. (2006) beschouwen de echelonvoorraad als het totale aantal eenheden dat op voorraad ligt. Voor het onderzoek dat in dit rapport beschreven is, zou dit betekenen dat de voorraden van de groothandel en de voorraden van de apotheken als één echelonvoorraad te beschouwen. Het is bekend dat de apotheken door het regionale DC bevoorraad worden. Dus de echelonvoorraden worden op regionaal gebied gevormd. Figuur 5.1 is een weergave van de huidige situatie als multi-echelon systeem voor DC Amsterdam en de apotheken die door dit DC bevoorraad worden.
30
5 Literatuurstudie naar voorraadmodellen en bestelstrategieën ____________________________________________________________________________________
Echelonvoorraad regio Amsterdam
Escura B.V.
Afzet en voorraadinformatie
DC
Patiënten
Amsterdam
Fysieke goederenstroom
Figuur 5.1: De huidige situatie als multi-echelon systeem
Het multi-echelon systeem zoals in figuur 5.1 is weergegeven bestaat uit twee echelons waarvan de voorraad bijeen is genomen, dit wordt de echelonvoorraad genoemd. Abdul-Jalbar e.a (2006) bepalen de echelonvoorraad voor een echelon op basis van het aantal eenheden dat aanwezig is in de echelons. Abdul-Jalbar e.a. (2006) beschrijven de parameters van het multi-echelon systeem. Hieronder volgt een overzicht van de parameters die betrekking hebben op het systeem in dit onderzoek. •
Voorraadkosten o
Als de voorraadkosten bij de apotheek (per product) hoger zijn dan de voorraadkosten bij het DC, dan zijn de echelonvoorraadkosten van de apotheek gelijk aan de voorraadkosten van de apotheek minus de voorraadkosten bij de groothandel. In alle andere gevallen blijven de voorraadkosten van de apotheken hetzelfde als in het huidige systeem
o
De kosten van de echelonvoorraad bij de groothandel blijven gelijk aan de huidige voorraadkosten van de DC’s (per eenheid).
•
Vraag o
De vraag van het systeem is de vraag per tijdseenheid bij de apotheken, oftewel de totale patiëntvraag per product.
•
Handlingkosten o
De handlingkosten blijven voor zowel de apotheken als de DC’s gelijk aan de handlingkosten in de huidige situatie. In paragraaf 4.3 worden de handlingkosten nader beschreven.
31
5 Literatuurstudie naar voorraadmodellen en bestelstrategieën ____________________________________________________________________________________ •
Bestelregels: o
De echelonvoorraad is gelijk aan de som van de fysieke voorraad bij de verschillende schakels.
Abdul-Jalbar e.a.(2006) laten de transportkosten buiten wegen, omdat zij ervan uitgaan dat er aan het bestel en leveringsproces tussen de verschillende schakels niets verandert.
Een voorbeeld uit de praktijk is het artikel over de United States Air Force (USAF). De USAF werken volgens een dergelijk multi-echelon systeem (Rinks, 1989). Bij iedere basis wordt een voorraad aangehouden om aan de vraag van de klant te kunnen voldoen. Deze basissen worden bevoorraad door een centraal depot, dat weer bevoorraad wordt door vendors. De bestellingen worden gegenereerd op basis van de totale voorraad binnen de USAF, de som van de voorraad bij het depot plus de voorraden bij de basissen. Figuur 5.2 is een weergave van het multi-echelon systeem van de USAF.
Figuur 5.2: Weergave van Multi Echelon systeem bij de USAF
5.2 Literatuurstudie naar bestelstrategieën Naast de besparingen die mogelijk voortkomen uit het toepassen van een multi-echelon systeem wordt ook gekeken naar andere bestelstrategieën dan de (s,S) bestelstrategie die in de huidige situatie wordt
32
5 Literatuurstudie naar voorraadmodellen en bestelstrategieën ____________________________________________________________________________________ toegepast bij de apotheken en bij de groothandel. Brocacef wil graag bestelstrategieën waarbij de apotheek bestelt volgens een vaste bestelgrootte, zodat zij een stabielere vraag krijgen vanuit hun afnemers, waardoor zij beter kunnen schatten wat de verwachtingen zijn en hierdoor mogelijk de veiligheidsvoorraad lager kunnen stellen. Dit laatste heeft als resultaat, dat gemiddeld minder producten op voorraad liggen en de voorraadkosten zullen dalen. In deze paragraaf worden enkele bestelstrategieën beschreven waarbij gebruik wordt gemaakt van een vaste bestelgrootte Q.
Naast de wens van Brocacef voor het bestellen volgens vaste bestelgroottes is ook gekeken naar andere bestelstrategieën zoals Lot for lot en gecoördineerd bestellen, die mogelijk een besparing voor de keten kunnen opleveren. Naast deze bestelstrategieën zijn nog veel meer strategieën in de literatuur te vinden, maar deze worden niet meegenomen in het onderzoek. De meest interessante en toepasbare strategieën worden in dit hoofdstuk beschreven.
Vaste bestelgrootte Eén van de bekendste bestelstrategieën met een vaste bestelgrootte is de (s,Q) bestelstrategie. Deze strategie bestelt een vaste bestelgrootte op het moment dat de voorraad onder of op het bestelniveau s komt (Silver en Peterson, 1985).
Wenmeekers (1996, p.44) beschrijft in zijn afstudeerrapport een aangepast (s,Q) strategie. Deze strategie wordt (s,nQ) strategie genoemd. Deze strategie werkt volgens het principe van de (s,Q) strategie, maar in deze strategie wordt n keer Q besteld als de voorraad onder of op het bestelniveau s komt. In dit geval staat Q voor de verpakkingseenheid en n is het aantal malen dat Q wordt besteld, waarbij n*Q de optimale bestelhoeveelheid is.
Lot for lot Lot for lot is een bestelstrategie die gebruikt wordt voor het periodieke bestellen, waarbij de vraag bekend is. In de huidige situatie wordt periodiek bekeken of een bestelling geplaatst moet worden. In deze bestelstrategie wordt iedere periode een bestelling geplaatst, waarbij de bestelgrootte altijd gelijk is aan de vraag in die periode. Doordat de vraag al van tevoren bekend is, weet men exact hoeveel op voorraad moet liggen en hoeft men geen veiligheidsvoorraad aan te houden. Dit heeft als resultaat dat de voorraden laag zijn en dus de kosten hiervoor ook laag zijn, maar dat vaker een bestelling geplaatst zal worden en dus de bestelkosten kunnen stijgen (Sipper en Bulfin, 1997).
Gecoördineerd bestellen Van Eijs en Heuts (1992) beschrijven bestelstrategieën voor het gecoördineerd bestellen van producten. Een gecoördineerde bestelling is een bestelling voor verschillende producten waar tussen interactie bestaat. Deze interactie kan worden veroorzaakt door de opslagcapaciteit, de vraag, de kosten of de opslagplaats (pp.2-3). De doelstelling van het gecoördineerd bestellen is het minimaliseren van de totale
33
5 Literatuurstudie naar voorraadmodellen en bestelstrategieën ____________________________________________________________________________________ kosten, vooral transportkosten per periode voor de hele familie van producten. Een familie van producten is te omschrijven als een verzameling van producten die een gemeenschappelijke kostenstructuur hebben (p.26). Deze strategieën worden voornamelijk toegepast wanneer er sprake is van een levertijd die langer is dan één periode.
5.3 Samenvatting en conclusies van de literatuurstudie Dit hoofdstuk beschrijft verschillende voorraadmodellen en bestelstrategieën. Brocacef is geïnteresseerd in een mogelijke verlaging van de voorraden bij zowel de groothandel als de Escura apotheken. Het toepassen van een optimalisatie van het multi-echelon systeem zou dit kunnen realiseren, doordat de voorraden van de regionale DC’s en hun bijbehorende Escura apotheken (apotheken aan wie de betreffende DC’s leveren) als één voorraad worden gezien. Voor deze echelonvoorraden worden nieuwe besteldrempels bepaald, die lager zullen zijn dan de som van de besteldrempels bij de DC’s en apotheken. Hierdoor is een reductie van de voorraden mogelijk, waarbij de gewenste servicegraad in acht wordt genomen. De optimalisatie van het multi-echelon systeem zal daarom in het simulatiemodel geïmplementeerd worden.
De beschreven bestelstrategieën zijn: •
(s, Q) - strategie, waarbij Q de vaste bestelgrootte voorstelt.
•
Lot-for-lot, waarbij de bestellingen per tijdseenheid gelijk zijn aan de vraag per tijdseenheid.
•
Gecoördineerd bestellen.
Zowel de (s,Q) bestelstrategie en de (s, nQ) strategie zijn bestelstrategieën voor continu bestellen. In dit onderzoek worden periodiek bestellingen geplaatst. Deze strategieën zullen niet meegenomen worden in het doorrekenen van de simulatie.
In dit onderzoek is de vraag niet van tevoren bekend. De lot-for-lot strategie is daardoor niet goed toepasbaar in de huidige situatie. Als de patiënt ’s ochtends een product komt vragen, dan kan de apotheek dit direct bestellen bij de groothandel. De groothandel is in staat het product direct te leveren, zodat de patiënt het product diezelfde dag nog kan ontvangen. Indien hier sprake van is dan kan Lot for lot wel van toepassing zijn in het simulatiemodel als alternatieve strategie voor de (s,S) strategie.
Gecoördineerd bestellen heeft als doel voornamelijk de transportkosten te verlagen. In dit onderzoek zijn de transportkosten afhankelijk van de vraag naar een product. Hierdoor zal deze strategie naar alle waarschijnlijkheid geen verbeteringen opleveren.
34
5 Literatuurstudie naar voorraadmodellen en bestelstrategieën ____________________________________________________________________________________ Toepassingen Het mutli-echelon systeem wordt vergeleken met de huidige situatie, waarbij in het multi-echelon systeem ook gebruik wordt gemaakt van de (s,S) aanvulstrategie, waarbij s opnieuw bepaald is.
35
6 Simulatie ____________________________________________________________________________________
6 Simulatie In dit hoofdstuk wordt de werking voor het simulatiemodel beschreven en worden verschillende strategieën en scenario’s beschreven die door het simulatiemodel doorgerekend zijn. Naast dit rapport is voor het gebruik van het simulatiemodel een handleiding geschreven. Bijlage 5 bevat een samenvatting van deze handleiding.
6.1 Beschrijving van het simulatiemodel Het simulatiemodel is ontwikkeld in de programmeeromgeving Delphi. De wens van Brocacef is een gebruiksvriendelijk model dat flexibel is, zodat veranderingen in kostenparameters en dergelijke makkelijk door te voeren zijn. De code van het programma is bijgevoegd in bijlage 5.
6.1.1 Werking van het simulatiemodel Het simulatiemodel bestaat uit een hoofdprogramma en verschillende soorten procedures. Daarnaast is een scherm gemaakt waar verschillende parameters kunnen worden ingevoerd en waar de resultaten in geplaatst worden na het simuleren. Hierna volgt een korte omschrijving van het hoofdprogramma en de procedures.
Procedure Inlezen Voor alle data is afzonderlijk een procedure gemaakt om de gegevens in te lezen. Voor de testproducten en de referentieapotheken wordt gebruik gemaakt van tekstfiles waar de data per product per regel staan weergegeven. De ingelezen data bestaan uit: •
De verwachte patiëntvraag en de variantie van de patiëntvraag.
•
De minimale, maximale en beginvoorraad van de apotheken en de DC’s.
•
De AIP en de kostprijs van de producten.
•
De levertijden aan de DC’s vanaf de leveranciers.
•
Tabel met waarden voor het bepalen van besteldrempels en aanvulniveaus.
Procedure Genereer vraag Voor de patiëntvraag is een procedure geschreven die de vraag naar product i genereert. Deze vraag wordt met behulp van de gammaverdeling gegenereerd. In bijlage 4 is de implementatie van de gammaverdeling en de generatie van patiëntvraag beschreven. Daarnaast is ook gekeken naar een andere kansverdeling voor de generatie van de patiëntvraag. Deze verdeling wordt eveneens nader beschreven in bijlage 4.
36
6 Simulatie ____________________________________________________________________________________ Procedure Bestellingen Voor het bepalen van de bestellingen van de apotheken en de DC’s zijn twee afzonderlijke procedures gemaakt. Hierin worden ook de voorraden bepaald, zie 4.4. Deze procedures zijn afhankelijk van de strategievariant die gesimuleerd wordt.
Procedure Bepaling kosten In deze procedure worden de kosten per dag bepaald, zie 4.5.
Hoofdprogramma In het hoofdprogramma wordt de werkelijke simulatie gestart voor een vooraf bepaald aantal tijdseenheden. Tijdens iedere tijdseenheid worden de procedures genereer vraag, bestellingen en bepaling kosten aangeroepen. Voorafgaand hieraan worden aan het begin van het hoofdprogramma de inleesprocedures aangeroepen en worden de invoerparameters vanaf het scherm ingelezen. Aan het einde van het hoofdprogramma worden de resultaten naar het scherm geschreven. Het gebruik van het scherm wordt beschreven in paragraaf 6.1.2 en in bijlage 5.
6.1.2 Functies van het simulatiemodel In deze paragraaf wordt de functionaliteit van het simulatiemodel beschreven, waarbij nader wordt ingegaan op de input, de aansturing en de output van het model. Naast dit rapport is een uitgebreide handleiding geschreven, waarvan de samenvatting te vinden is in bijlage 5.
Input Voor het simuleren van de huidige situatie zijn verschillende data nodig. De input bestaat uit verschillende datafiles: •
De kostenfactoren, deze zijn beschreven in paragraaf 4.5;
•
De invoerparameters voor het genereren van de patiëntvraag.
•
De voorraadregels voor de huidige situatie van de apotheken.
•
De beginvoorraden bij de apotheken en de DC’s.
•
De levertijden vanaf de leveranciers aan de DC’s.
Aansturing Naast de datafiles bevat het model enkele parameters die handmatig dienen te worden aangepast. •
Tijd: Het gewenste aantal tijdseenheden dat de simulatie runt (in dagen).
•
Pro: Het gewenste aantal verschillende producten waarvoor de simulatie gerund wordt.
•
Apotheek: Het gewenste aantal apotheken, dat meerunt in de simulatie.
•
DC: Het gewenste aantal DC’s dat meegenomen wordt in de simulatie.
37
6 Simulatie ____________________________________________________________________________________ In de uitgangssituatie wordt de huidige situatie doorgerekend voor de zeven testproducten, de zes referentie apotheken en DC Amsterdam en DC Deventer. Wanneer het aantal producten, het aantal apotheken of het aantal DC’s voor de simulatie verandert, zullen de bijbehorende inputfiles meegenomen moeten worden in het simulatiemodel.
Voor het runnen van de huidige situatie en de verschillende strategieën zijn verschillende knoppen gemaakt. Deze knoppen worden weergegeven in het uitvoerscherm, en kunnen hierop geactiveerd worden, waarna de strategie doorgerekend zal worden.
Output Het simulatiemodel bepaalt voor de huidige situatie, het multi-echelon systeem en de andere strategieën, de bestellingen per tijdseenheid, de voorraden per tijdseenheid en de kosten. De totale kosten en de gemiddelde totale kosten per dag worden weergegeven in het uitvoerscherm. Daarnaast worden de gemiddelde voorraadkosten per dag en de gemiddelde handlingkosten per dag voor de groothandel en de apotheken weergegeven. De kostenberekening is gegeven in 4.5.
Het uitvoerscherm bevat een knop ‘Overzicht Bestellingen’. Als deze knop geactiveerd wordt, dan worden alle bestellingen (in eenheden) weggeschreven naar een tekstfile. In deze tekstfile staat voor ieder DC en iedere apotheek de bestelling voor product i in periode t.
6.2 Strategieën die met het simulatiemodel worden doorgerekend In deze paragraaf worden de verschillende strategieën beschreven die doorgerekend worden met behulp van het simulatiemodel. De modellering van de strategieën ligt vast en er bestaat alleen de keuze van het wel of niet toepassen van de strategieën in de beheersing van de voorraden. De bijbehorende gebeurtenissen van deze strategieën, zoals in hoofdstuk 4 voor de huidige situatie beschreven is, worden gegeven in bijlage 6. Voorafgaand aan deze beschrijving volgt een korte beschrijving van de huidige situatie, zoals deze in het simulatiemodel beschouwd wordt. De resultaten van de strategieën worden geanalyseerd in hoofdstuk 7.
6.2.1 Strategie 0: Huidige situatie In strategie 0 wordt de huidige situatie gesimuleerd zoals in 4.1 is beschreven. In de huidige situatie wordt uitgegaan van de beschikbare data van de 6 referentieapotheken over 7 producten en 2 DC’s. Huidige situatie: variant 1, huidige besteldrempels en aanvulniveaus bij de apotheken In de huidige situatie zijn twee varianten te onderscheiden. In de eerste variant zijn de besteldrempels en aanvulniveaus van de producten bekend uit de beschikbare data van de 6 referentieapotheken.
38
6 Simulatie ____________________________________________________________________________________ Huidige situatie: variant 2, pseudo optimale besteldrempels en aanvulniveaus bij de apotheken In de huidige situatie wordt bij de apotheek (s,S) aanvulstrategie toegepast, waarbij s en S (in 4.1 s ik en Sik) op basis van historie en ervaring worden bepaald. Voor het doorrekenen van deze strategie zijn s en S gegeven uit de beschikbare data. Het is wellicht interessant als s en S op basis van de theorie worden bepaald. In deze variant wordt s bepaald door (Sipper, Bulfin, 1997, pp. 292-293): •
s = µ T +τ + z σ T +τ , waarbij
•
µ T +τ de vraag gedurende de levertijd is.
•
σ T +τ de standaarddeviatie van de vraag gedurende periode T en de levertijd τ is.
•
z een waarde is, die bepaald wordt door de verdeling
L( z ) = φ ( z ) − z[1 − Φ ( z )] . Deze verdeling
is gebaseerd op de fillrate. De fillrate is gelijk aan de fractie van de vraag dat direct uit voorraad geleverd kan worden. S wordt bepaald door s+Q. Hierbij is Q de vaste bestelgrootte. Q is gedefinieerd als(Sipper, Bulfin, 1997, p.293): •
Q = T * * µ d , waarbij *
•
T het optimale bestelinterval is,
•
µ d de verwachte vraag is.
T* =
2 * bestelkosten . µ d * voorraadkosten
6.2.2 Strategie 1: Optimalisatie van het multi-echelon systeem In de huidige situatie wordt de vraag van de DC’s bepaald door de vraag van hun afnemers en dus de apotheken. In de optimalisatie van het multi-echelon systeem wordt uitgegaan van de vraag van de patiënt. De DC’s bepalen hun bestelling bij hun leveranciers niet meer op basis van de vraag van hun directe afnemers, maar op de vraag van de indirecte afnemers, de patiënten en de totale voorraad in het systeem (de voorraad bij het DC en de voorraden van de apothekers, die door dit DC bevoorraad worden). De besteldrempels worden in dit geval anders bepaald dan in de huidige situatie. Hierdoor zullen de besteldrempels wellicht hoger zijn, doordat uitgegaan wordt van een langere levertijd (vanaf leverancier naar patiënt) en zullen de voorraadkosten bij de groothandel mogelijk stijgen. In principe zullen de bestellingen vanaf de apotheek aan de groothandel gelijk blijven aan de bestellingen in de huidige situatie.
De belangrijkste veranderingen ten opzichte van de huidige situatie worden hierna kort besproken. •
De voorraden van de apotheken en het DC (waardoor de apotheken bevoorraad worden), worden gezien als één totale voorraad.
•
De vraag van het DC wordt bepaald door de totale patiëntvraag naar een bepaald product.
39
6 Simulatie ____________________________________________________________________________________ •
Het bestelniveau s zal opnieuw bepaald moeten worden voor ieder product i, daarvoor wordt de volgende definitie gebruikt zoals deze in 6.2.2. ook is gebruikt voor de (s’, S’) strategie, waarbij nu uitgegaan wordt van de patiëntvraag en de levertijd vanaf de leverancier naar de patiënt.
Voor de optimalisatie van het multi-echelon systeem wordt idem als in de huidige situatie gekeken naar twee varianten. In de eerste variant wordt uitgegaan van de huidige besteldrempels en aanvulniveaus bij de apotheken. De tweede variant gaat uit pseudo geoptimaliseerde besteldrempels en aanvulniveaus bij de apotheken.
6.3 Scenario’s die met het simulatiemodel doorgerekend worden Naast de strategieën is gekeken naar de invloed de verandering van de invoer voor deze strategieën. Deze veranderingen zijn beschreven in de onderstaande scenario’s. De resultaten van de scenario’s worden in hoofdstuk 7 geanalyseerd.
6.3.1 Scenario 1: Verandering van de patiëntvraag Dit scenario bekijkt de gevolgen in de keten van een verandering van de verdeling van de patiëntvraag, waarbij de invoerparameters van de gammaverdeling een andere waarde krijgen dan in de huidige situatie. Er is gekozen te kijken naar de volgende veranderingen van de patiëntvraag. 1.
Wat gebeurt er als de patiëntvraag met bijvoorbeeld 10% of 20% daalt?
2.
Wat gebeurt er als de patiëntvraag met bijvoorbeeld 10% of 20% stijgt?
6.3.2 Scenario 2: Ruimtebeslag bij de distributiecentra Geneesmiddelen worden door Brocacef verdeeld in snellopers, normaallopers en langzaamlopers (voor definitie zie paragraaf 3.4). In de huidige situatie reserveert Brocacef voor ieder van deze producten een 2
hoeveelheid m . In dit scenario wordt gekeken naar de gevolgen voor het ruimtebeslag, wanneer gekozen wordt voor een multi-echelon systeem of een andere bestelstrategie dan de huidige (s,S) aanvulstrategie. Sipper en Bulfin(1997) beschrijven de formule van Little, voor het bepalen van de gevolgen. Met behulp van de formule van Little kan bepaald worden wat de benodigde ruimtebeslag (L) is voor de snellopers, normaallopers en respectievelijk langzaamlopers. Little gebruikt daarvoor de gemiddelde doorlooptijd (W) van de voorraden en doorloophoeveelheid per tijdseenheid (λ). De formule van Little ziet er als volgt uit: L= λ W (Sipper en Bulfin,1997, p.557). 6.3.3 Scenario 3: Assortimentsverkleining Assortimentsverkleining is een actueel onderwerp. In steeds meer supermarkten wordt een kleiner assortiment aangeboden (CBS, 2003). Brocacef ziet in de toekomst ook een mogelijke assortimentsverkleining voor de producten in de apotheek. Dit scenario berekent de gevolgen van een assortimentsverkleining en kijkt daarbij voornamelijk naar de volgende aspecten: •
Voorraden.
40
6 Simulatie ____________________________________________________________________________________ •
Kosten.
•
Servicegraad.
Onder de testproducten bevinden zich twee producten die mogelijk een substituut voor elkaar kunnen zijn. Hierbij gaat het om Microgynon 30 dragee en Stederil 30 dragee. Om te bepalen wat de gevolgen van een assortimentsverkleining zijn, worden deze producten gebruikt, waarbij: 1.
Microgynon als substituut voor Stederil optreedt.
2.
Stederil als substituut voor Microgynon optreedt.
In deze variant wordt de vraag voor deze producten als één gezamenlijke vraag gezien.
6.3.4 Scenario 4: Overgaan tot vaste besteldagen voor de apotheken Brocacef bevoorraadt de apotheken voornamelijk volgens een gemiddelde levertijd van één dag. Als de apotheek in een bepaalde periode (op een willekeurige dag) een bestelling doet bij de apotheek, dan ontvangt de apotheek de bestelling de volgende dag. Brocacef ziet zichzelf in de toekomst als een sturende factor voor de apotheken en wil graag nagaan of het invoeren van vaste besteldagen en levertijden mogelijk is. De vaste besteldagen zullen in dit scenario maandag, woensdag en vrijdag zijn. Dit is een willekeurige keuze en wordt alleen ter illustratie gebruikt.
6.3.5 Scenario 5: Het aantal apotheken binnen Escura Op lange termijn kan het aantal apotheken van Escura groeien. In de huidige situatie levert DC Amsterdam aan 31 apotheken van Escura en levert DC Deventer aan 21 apotheken van Escura. In dit scenario wordt bekeken wat er met de voorraden van de DC’s gebeurt als het aantal Escura apotheken, dat een DC bevoorraadt, toeneemt.
6.3.6 Scenario 6: Andere producten dan de testproducten In dit scenario worden de strategieën zoals beschreven in 6.2 doorgerekend voor de eerste 7 producten uit de top 50 producten. De top 50 producten zijn de producten die de meeste omzet genereren voor Escura. Dit zijn andere producten dan de testproducten, waarmee de strategieën in eerste instantie zijn doorgerekend. In dit scenario wordt gekeken naar het effect van deze producten op de kosten.
41
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel In dit hoofdstuk worden de resultaten besproken van de simulatie van strategie 0: de huidige situatie en worden de resultaten van de andere strategieën en scenario’s uit hoofdstuk 6 geanalyseerd.
7.1 Strategie 0: Huidige situatie Om een heldere en duidelijke analyse van de resultaten te kunnen geven, is het simulatiemodel van de huidige situatie geverifieerd en gevalideerd met de werkelijke data en het conceptuele model voor de huidige situatie, zoals beschreven in hoofdstuk 4. Daarna zijn de resultaten berekend, deze worden besproken in 7.1.2. Vervolgens is een gevoeligheidsanalyse over het model uitgevoerd. De resultaten hiervan zijn besproken in 7.1.3.
7.1.1 Verificatie en validatie van het simulatiemodel van de huidige situatie Om het simulatiemodel te verifiëren is de gesimuleerde patiëntvraag vergeleken met de werkelijke patiëntvraag uit de beschikbare gegevens. De gesimuleerde vraag is gegenereerd aan de hand van de gammaverdeling en de gemiddelden en varianties van de werkelijke vraag. Bijlage 4 gaat nader in op de gammaverdeling en de implementatie ervan in het simulatiemodel. Naast dat de vraagverdeling beoordeeld is, zal ook het proces in het model nagegaan moeten worden. Hiervoor is gekeken of de bestellingen van de apotheken wel voldoen aan de patiëntvraag. In bijlage 7 worden de bijbehorende tabellen gegeven voor de verificatie van het model.
Ter validatie van het model is de gesimuleerde fillrate bij de groothandel vergeleken met de werkelijk behaalde fillrate van de groothandel over 2005. De gesimuleerde fillrate is gelijk aan 97,8%. De behaalde servicegraad over 2005 is gelijk aan 97.8% (Bron: definitie Brocacef). Dit geeft aan dat het simulatiemodel de werkelijkheid goed benadert. De gesimuleerde fillrate voor de groothandel is bepaald aan de hand van de historische vraag bij de groothandel. Deze fillrate wordt als instelling gebruikt voor de simulatie van alle varianten.
7.1.2 Resultaten van strategie 0: huidige situatie In deze paragraaf worden de resultaten van de huidige situatie zoals gemodelleerd in hoofdstuk 4 besproken. Tabel 7.1 geeft de gemiddelde patiëntvraag en variantie van de patiëntvraag (in verkoopeenheden) van de testproducten voor de bepaling van de invoerparameters van de gammaverdeling. Deze gelden voor alle strategieën die doorgerekend worden. Voor de producten ‘Dex’ en ‘Micon’ bij apotheek Nieuwkoop en apotheek Kerschoten gelden dat deze producten niet verkocht worden bij deze apotheken. De gemiddelde patiëntvraag en de variantie van de patiëntvraag zijn daarom op nul vastgesteld bij deze apotheken.
42
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________
Product Carb Dex Micon Micro Sted Trach VSM
Het Groene Hart Henri Dunant Nieuwkoop Gemiddelde Variantie Gemiddelde Variantie Gemiddelde 0,28705 0,46333 0,105023 0,33333 0,0073059 0,035354 0,18533 0,013699 0,278 0 0,414141 2,31467 0,358904 1,13 0 2,511785 1,79667 1,725114 4,75933 5,5342466 0,281145 0,18533 0,249315 0,61133 0,2631507 0,237374 0,18533 0,167123 0,38867 0 0,242424 0,426 0,331507 1,74067 0,0191781
Wyborgh Geerlings Variantie Gemiddelde Variantie Gemiddelde 0,01207 0,64128 1,612 0,201005 0 0,006623 0,278 0,032877 0 1,192033 1,166 0,784384 9555,413 9,536424 2,944 5,187867 29,48613 2,187638 1,112 1,189954 0 0,066225 0,278 0,416438 0,133512 0,119205 0,444 0,27089
Kerschoten Variantie Gemiddelde Variantie 1,21166 0,0152511 0,028362 0,168171 0 0 72,15477 0 0 2277,536 2,4931507 1636,226 139,2619 0,1479452 5,928947 24,60144 0,0027397 0,002725 9,724952 0,0739726 1,000045
Tabel 7.1: gemiddelde en variantie patiëntvraag
Allereerst is alleen gekeken naar het stukje keten van de apotheek naar de patiënt. In dit deel wordt uitgegaan van de 7 testproducten en de zes referentieapotheken. Hierbij gaat het model uit van de huidige besteldrempels en aanvulniveaus, uit de beschikbare data, bij de apotheken. Tabel 7.2 geeft deze besteldrempels en aanvulniveaus van de referentie apotheken.
Apotheek Het Groene Hart s(ik) S(ik) Henri Dunant s(ik) S(ik) Nieuwkoop s(ik) S(ik) Wyborgh s(ik) S(ik) Geerlings s(ik) S(ik) Kerschoten s(ik) S(ik)
Carb 91 180 91 180 30 60 91 300 90 360 30 60
Dex 301 600 301 600 0 0 301 600 300 900 0 0
Micon Micro Sted Trach VSM 181 1000 190 61 801 280 3524 840 180 3200 181 1000 190 61 801 280 3524 840 180 3200 0 1260 315 0 80 0 5040 630 0 160 151 253 505 61 801 450 504 1134 180 3200 180 1260 315 140 800 280 5040 630 800 3200 0 1260 315 40 80 0 5040 630 80 160
Tabel 7.2: Huidige besteldrempels en aanvulniveaus referentie apotheken
Tabel 7.3 geeft de gemiddelde totale kosten per dag voor de zes apotheken bij elkaar (voor 7 producten). Deze kosten zijn berekend over een simulatie run van 125.000 dagen. 7.1.3 gaat verder in op de keuze van deze grootte van de run. De totale kosten bij de apotheek bestaan uit voorraadkosten en handlingkosten. Deze kosten zijn bepaald volgens de definities uit 4.4. De bijbehorende servicegraag is 96,62%. Kosten
€
Voorraad
€ 49,69
Handling
€ 29,98
Totaal
€ 79,67
Tabel 7.3: Gemiddelde kosten per dag bij de apotheken
Vervolgens zijn de kosten bepaald van de groothandel (alleen DC Amsterdam en DC Deventer) met behulp van de historische vraag van de testproducten. De historische vraag is beschikbaar over de maanden januari en juni in 2005. Tabel 7.4 geeft de historische vraag voor de maand januari weer voor DC Amsterdam.
43
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________ Product Carb Dex Micon Micro Sted Trach VSM
3-jan 34 12 75 1153 84 111 65
4-jan 5 21 42 536 113 368 80
5-jan 8 4 16 0 123 172 37
6-jan 15 9 10 801 79 101 39
7-jan 10-jan 11-jan 12-jan 37 91 44 5 10 11 6 0 53 31 39 27 705 1302 2774 518 57 38 53 41 49 101 238 142 39 25 69 61
13-jan 17 0 26 664 90 57 34
14-jan 39 15 29 631 74 39 74
17-jan 18-jan 19-jan 20-jan 21-jan 24-jan 27 19 14 9 17 32 3 4 4 0 4 23 60 22 76 26 57 100 761 0 0 0 871 1834 112 73 48 97 97 89 96 91 106 99 93 94 26 100 127 69 24 38
25-jan 21 5 4 1027 55 97 114
26-jan 21 3 41 5657 64 88 156
27-jan 28-jan 31-jan 20 18 13 0 6 1 3 30 28 472 0 10011 61 94 74 73 38 166 38 106 88
Tabel 7.4: Historische vraag bij DC Amsterdam in januari 2005
In tabel 7.4 wordt de vraag in het weekend niet weergegeven. In het simulatiemodel is aangenomen dat de vraag in het weekend nul is. Tabel 7.5 geeft de huidige besteldrempels en aanvulniveaus bij de DC’s uit beschikbare data. Product Carb Dex Micon Micro Sted Trach VSM
DC Amsterdam DC Deventer s S s S 131 482 3 97 17 93 3 28 307 643 108 302 4286 9857 1169 2597 527 1013 117 339 2946 6259 29 169 887 2039 44 176
Tabel 7.5: Huidige besteldrempels en aanvulniveaus DC’s
Tabel 7.6 geeft de gemiddelde kosten per dag voor de groothandel. Deze zijn berekend over de maanden januari en juni voor DC Amsterdam en DC Deventer bij elkaar voor de testproducten. De kosten van de groothandel bestaan uit voorraadkosten, handlingkosten en transportkosten. De kosten zijn bepaald aan de hand van de definities die in 4.5 genoemd worden. Januari
Juni
Gemiddeld
Voorraadkosten
€ 177,00
€ 175,99
€ 176,50
Handlingkosten
€ 12,17
€ 9,19
€ 10,68
Transportkosten
€ 97,59
€ 59,96
€ 78,78
Totaal
€ 286,76
€ 245,14
€ 265,95
Servicegraad
98,09%
97,44%
97,77%
Tabel 7.6: Gemiddelde kosten per dag voor groothandel bij historische vraag
De gemiddelde servicegraad die in tabel 7.6 wordt weergegeven, wordt als input gebruikt voor de bepaling van de besteldrempels en aanvulniveaus bij de DC’s (uitgaande van alleen de vraag van de referentie apotheken). Tabel 7.7 geeft de berekende besteldrempels s’id en aanvulniveaus S’id na een simulatie van 125.000 dagen. Tabel 7.8 geeft de bijbehorende kosten van de groothandel en de referentie apotheken voor de testproducten.
44
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________
DC Amsterdam DC Deventer s' S' s' S' 8 15 21 33 4 7 4 7 21 31 75 95 890 937 597 654 40 50 115 145 9 16 38 47 28 37 30 39
Product Carb Dex Micon Micro Sted Trach VSM
Tabel 7.7: Berekende besteldrempels en aanvulniveaus DC’s
Kosten
Groothandel
Apotheken
Gehele keten
Voorraad
€ 95,01
€ 49,69
€ 144,70
Handling
€ 20,64
€ 29,98
€ 50,62
Transport
€ 1,87
-
€ 1,87
Totaal
€117,52
€ 79,67
€ 197,19
Tabel 7.8: Gemiddelde kosten per dag van de gehele keten in de huidige situatie
De bijhorende servicegraad (of fillrate) naar de patiënten toe is 96,62%. De gemiddelde totale kosten van de gehele keten, uitgaande van 7 testproducten, 6 apotheken en 2 DC’s, zijn in de huidige situatie € 197,19 per dag. Deze resultaten worden als uitgangspunt gebruikt voor de vergelijking met de resultaten van de andere strategieën en scenario’s.
7.1.3 Gevoeligheidsanalyse op de resultaten van de huidige situatie Om meer vertrouwen te krijgen in het model en de resultaten ervan is een gevoeligheidsanalyse uitgevoerd. Er is gekozen voor drie analyses: •
Analyse naar het aantal dagen dat gesimuleerd wordt.
•
Analyse naar verschillende servicegraden.
•
Analyse op productniveau.
Analyse naar het aantal dagen dat gesimuleerd wordt Tabel 7.9 geeft voor verschillende aantallen tijd de bijbehorende kosten en de percentuele verschillen ten opzichte te van de voorgaande tijdsduur. Tijd 100 500 1000 5000 10000 20000 50000 100000 120000 125000
VCD Verschil € 73,86 € 139,06 88% € 108,87 -22% € 99,95 -8% € 91,01 -9% € 95,79 5% € 98,93 3% € 99,69 1% € 94,83 -5% € 95,01 0%
HCD € 17,75 € 19,65 € 19,56 € 19,87 € 21,15 € 20,18 € 20,35 € 20,40 € 20,44 € 20,64
11% 0% 2% 6% -5% 1% 0% 0% 1%
TCD € € € € € € € € € €
1,44 2,02 1,98 1,93 1,73 1,91 1,92 1,87 1,87 1,87
40% -2% -3% -10% 10% 1% -3% 0% 0%
VCA € 49,03 € 50,64 € 50,64 € 50,42 € 49,25 € 50,46 € 49,86 € 49,68 € 49,74 € 49,69
HCA € 30,75 3% € 30,00 0% € 29,71 0% € 30,04 -2% € 29,98 2% € 30,00 -1% € 29,99 0% € 29,96 0% € 29,96 0% € 29,98
-2% -1% 1% 0% 0% 0% 0% 0% 0%
Service 96,55% 97,07% 96,81% 96,64% 96,65% 96,64% 96,62% 96,62% 96,63% 96,62%
Tabel 7.9: Aantal tijdseenheden dat gerund moet worden met bijbehorende kosten
45
1% 0% 0% 0% 0% 0% 0% 0% 0%
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________
De kolom “tijd” geeft het aantal dagen aan dat gesimuleerd is. De kolommen daarnaast geven de kosten bij dat aantal dagen. Hieronder volgt een legenda voor tabel 7.9. Tijd VCD HCD TCD VCA HCA Service
Aantal gesimuleerde dagen Voorraadkosten per dag bij de groothandel Handlingkosten per dag bij de groothandel Transportkosten per dag bij de groothandel Voorraadkosten per dag apotheken Handlingkosten per dag apotheken Servicegraad naar patiënten toe
Analyse naar verschillende servicegraden In de simulatie van de huidige situatie wordt uitgegaan van een fillrat e van 97,77% bij de groothandel en wordt een servicegraad van 96,62% naar de patiënt toe behaald. In deze analyse wordt gekeken naar verschillende fillrates als input voor de groothandel, en de gevolgen hiervan voor de servicegraad naar de patiënt toe.
Fdin 95,00% 95,50% 96,00% 96,50% 97,00% 97,50% 97,77% 98,00% 98,50% 99,00%
VCD HCD TCD € 68,75 € 20,73 € 1,85 € 68,32 € 20,75 € 1,84 € 75,83 € 20,39 € 1,84 € 77,33 € 20,62 € 1,86 € 85,38 € 20,53 € 1,86 € 95,15 € 20,41 € 1,87 € 95,01 € 20,64 € 1,87 € 94,46 € 20,79 € 1,88 € 105,31 € 20,39 € 1,87 € 126,31 € 20,62 € 1,88
VCA HCA Fauit € 50,23 € 29,98 96,63% € 50,31 € 29,97 96,65% € 49,92 € 29,95 96,63% € 49,90 € 29,93 96,63% € 49,86 € 29,97 96,63% € 49,77 € 29,97 96,63% € 49,69 € 29,98 96,62% € 49,59 € 29,96 96,64% € 49,94 € 29,99 96,62% € 49,89 € 29,97 96,63%
Tabel 7.10: Gevoeligheidsanalyse naar verschillende servicegraden bij de groothandel
Tabel 7.10 geeft voor verschillende fillrates bij de groothandel (Fdin) de bijbehorende gemiddelde kosten per dag en de servicegraad naar de patiënten (Fauit). Fdin is de instelling van de fillrate bij de groothandel bij de start van de simulatie. Fauit is de gerealiseerde fillrate bij de apotheken na de simulatie. De gekleurde balk geeft de resultaten van de huidige situatie weer, zoals deze in 7.1.2 wordt gegeven. Alle resultaten zijn bepaald bij een simulatierun van 125.000 dagen.
Uit tabel 7.10 kan worden opgemaakt dat de servicegraden van de apotheek nauwelijks veranderen als de fillrate van de groothandel groter of kleiner wordt. Hieruit kan geconcludeerd worden dat de besteldrempels bij de apotheken groot genoeg zijn, om schommelingen bij de groothandel te kunnen opvangen. Een andere oorzaak in het niet veranderen van de servicegraad bij de apotheken kan aan de invloed van één van de producten liggen. Dit wordt nader onderzocht in de analyse op productniveau.
46
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________ Tabel 7.10 laat ook zien dat bij een lagere fillrate bij de groothandel de voorraadkosten bij de groothandel ook veel lager zijn, terwijl de kosten bij de apotheken bijna gelijk blijven. In bijlage 7 worden ook de resultaten weergegeven van een gevoeligheidsanalyse naar de servicegraad, waarbij de resultaten op product niveau bepaald zijn.
Analyse op productniveau In de huidige situatie wordt uitgegaan van 7 producten, deze worden in 4.3 genoemd en besproken. Om te bepalen of de producten niet voor hoge kosten of lage servicegraden zorgen, wordt op productniveau bepaald wat de kosten en de servicegraad van ieder afzonderlijk product is. Deze analyse is verder gebaseerd op 6 apotheken, 2 DC’s en 125.000 dagen. Tabel 7.11 geeft de gemiddelde kosten per dag en de bijbehorende servicegraden per product weer. Kosten Totaal Product Carb Dex Micon Micro Sted Trach VSM
VCD HCD TCD € 95,01 € 20,64 € 1,87 € 57,51 € 0,03 € 0,41 € 9,52 € 1,41 € 2,24 € 0,14
€ € € € € € €
0,81 0,10 0,88 3,58 0,74 0,35 0,21
€ € € € € € €
VCA HCA Fauit € 49,69 € 29,98 96,62%
0,01 0,01 0,12 1,41 0,19 0,04 0,05
€ 0,61 € 4,35 € 1,63 € 25,10 € 3,98 € 0,78 € 12,90
€ € € € € € €
0,86 0,10 0,76 3,84 0,27 0,33 0,11
97,77% 99,74% 99,01% 82,51% 98,30% 99,73% 99,64%
Tabel 7.11: Gemiddelde kosten op productniveau
De voorraadkosten bij de DC’s zijn voor het product Carb het hoogst. Dit komt doordat de besteldrempel van dit product hoger is voor DC Deventer dan de huidige besteldrempel in dit DC. Daarnaast zijn de voorraadkosten bij de apotheek voor het product Micro ook zeer hoog, terwijl de servicegraad van dit product veel lager is dan verwacht wordt. Figuur 7.1 weergeeft de servicegraden per product.
Fillrate naar patiënt op productniveau 120,00% 100,00%
%
80,00% 60,00%
Fauit
40,00% 20,00% 0,00% Carb
Dex
Micon Micro
Sted
Trach
VSM
Product
Figuur 7.1: Servicegraden op productniveau
47
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________ Een te lage servicegraad voor Micro geeft aan dat de besteldrempels te laag zijn voor de verwachte vraag. Micro is een snellopend product (de verwachte vraag van Micro is bij alle apotheken relatief veel groter dan de andere testproducten), hierdoor kan het snel uit voorraad raken en kunnen de bestellingen er wellicht niet tegen op (na berekening van de optimale bestelperiode T blijkt, dat iedere dag besteld moet worden). Daarnaast kunnen de apotheken ook uitgegaan zijn van het zogenaamde “kruideniersmentaliteit”, waarbij de apotheek geneigd is dure producten zo min mogelijk op voorraad te leggen (Micro is een redelijk duur product). De “kruideniersmentaliteit” kan er toe leiden dat de Gammaverdeling voor dit soort producten niet toepasbaar is.
Als voor product Micro de besteldrempels en aanvulniveaus worden aangepast, zodanig dat een gewenste (van 96,62%) servicegraad behaald wordt, zullen de voorraadkosten voor dit product nog hoger worden en zal de complete servicegraad in de huidige situatie stijgen en gevoeliger worden (analyse naar verschillende servicegraden). Het is raadzaam dit product apart door te rekenen en buiten beschouwing te laten bij het doorrekenen van de andere producten. Tabel 7.12 geeft de kosten van de huidige situatie waarbij het product Micro buiten beschouwing is gelaten. Kosten
Groothandel
Apotheken
Gehele keten
Voorraad
€ 83,42
€ 25,04
€ 108,46
Handling
€ 6,50
€ 10,70
€ 17,20
Transport
€ 0,45
-
€ 0,45
Totaal
€ 90,37
€ 35,74
€ 127,11
Tabel 7.12: Gemiddelde kosten huidige situatie zonder Micro
De bijbehorende servicegraad naar de patiënten is in dit geval 98,73%. De gemiddelde totale kosten bedragen in de huidige situatie zonder Micro € 127,11 per dag. De resultaten van het buiten beschouwing laten van Micro (absoluut gezien) laten zien dat de kosten bij de apotheken veel lager zijn dan de resultaten waar Micro wel in is meegenomen. Dit is een relatieve daling van € 1, 11 per verkoopeenheid Micro. Figuur 7.2 weergeeft de resultaten voor beide gevallen. € 100,00 € 90,00
€
€ 80,00 € 70,00 € 60,00
Met micro
€ 50,00 € 40,00 € 30,00 € 20,00 € 10,00 € 0,00
Zonder micro
VCD
HCD
TCD
VCA
VCD
Kosten Figuur 7.2: Weergave kosten huidige situatie zonder micro en met micro
48
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________ De grootste verschillen zitten in de handlingkosten (69%) en transportkosten voor de groothandel (76% ) en in de voorraadkosten (50%) en handlingkosten (85%) bij de apotheken. Dit geeft aan dat de resultaten die eerder genoemd zijn in 7.1.2 niet voldoende representatief zijn voor alle producten.
7.2 Analyse van de resultaten van andere strategieën Na een resultatenanalyse van de huidige situatie zijn de strategieën uit hoofdstuk 6 doorgerekend. In paragraaf 7.3 worden de resultaten van de verschillende strategieën vergeleken met de resultaten van de huidige situatie.
7.2.1 Resultaten van strategie 0: Huidige situatie variant 2, pseudo optimale besteldrempels en aanvulniveaus bij de apotheken In deze variant van strategie 0 wordt eveneens als in de huidige strategie uitgegaan van een (s,S)aanvulsysteem, maar worden sik en Sik bij de apotheken opnieuw bepaald aan de hand van de vraaggegevens en de definities uit hoofdstuk 6. Voor de bepaling van sik is de fillrate, die uit de simulatie van de huidige situatie is voortgekomen (op productniveau, zie tabel 7.11), gebruikt. Tabel 7.13 geeft de berekende besteldrempels en aanvulniveaus bij de apotheken. Door een verandering in de besteldrempels en aanvulniveaus van de apotheken, verandert ook de vraag van de apotheken aan de DC’s. Door een verandering in de vraag aan de DC’s, wijzigen ook de besteldrempels en aanvulniveaus van de DC’s. Tabel 7.14 geeft de gewijzigde besteldrempels en aanvulniveaus van de DC’s.
Apotheek Het Groene Hart s(ik) S(ik) Henri Dunant s(ik) S(ik) Nieuwkoop s(ik) S(ik) Wyborgh s(ik) S(ik) Geerlings s(ik) S(ik) Kerschoten s(ik) S(ik)
Carb 9 173 3 101 0 26 19 269 6 145 0 38
Dex 20 179 18 113 0 0 18 86 19 167 0 0
Micon Micro Sted Trach VSM 17 158 18 6 24 179 633 195 125 199 13 109 16 6 40 164 544 189 106 252 0 845 68 0 5 0 1542 253 0 53 36 601 138 4 16 286 1803 689 68 140 84 406 185 46 66 296 1060 560 204 239 0 260 27 0 18 0 731 157 13 113
Tabel 7.13: Berekende besteldrempels en aanvulniveaus apotheken
Product Carb Dex Micon Micro Sted Trach VSM
DC Amsterdam DC Deventer s S s S 9 17 21 33 5 8 3 6 22 33 70 90 807 853 613 670 37 47 113 142 9 16 30 39 13 22 22 31
Tabel 7.14: Gewijzigde besteldrempels en aanvulniveaus DC’s
49
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________ Tabel 7. 15 geeft de bijbehorende gemiddelde kosten per dag met de besteldrempels en aanvulniveaus uit tabel 7.13. De kosten zijn berekend voor 6 apotheken, 2 DC’s en 7 producten. Kosten
Groothandel
Apotheken
Gehele keten
Voorraad
€ 92,39
€ 12,62
€ 105,01
Handling
€ 21,38
€ 27,77
€ 49,15
Transport
€ 1,86
-
€ 1,86
Totaal
€ 115,63
€ 40,39
€ 156,02
Tabel 7.15: Gemiddelde kosten per dag de huidige situatie voor variant 2
De bijbehorende servicegraad vanuit de apotheken naar de patiënt is 95,16%. De servicegraad is gedaald ten opzichte van variant 1 in de huidige situatie. Dit geldt na specificatie op productniveau voor maar enkele producten. Een mogelijke oorzaak hiervan kan zijn, dat de groothandel niet altijd kan leveren wat de apotheek besteld, waardoor de apotheek uit voorraad raakt en niet aan de patiëntvraag kan voldoen. De besteldrempels en aanvulniveaus bij de apotheken zijn over het algemeen lager dan de huidige. Hierdoor ligt gemiddeld minder op voorraad bij de apotheken, daardoor zullen de gemiddelde voorraadkosten dalen. De marges tussen de drempels en aanvulniveaus zijn groter, waardoor minder snel de besteldrempels worden gehaald en het aantal bestellingen daalt, hierdoor dalen de bestelkosten en inslagkosten bij de apotheken.
7.2.2 Resultaten van strategie 1: Optimalisatie van het multi-echelon systeem In de optimalisatie van het multi-echelon systeem gaat de groothandel uit van de patiëntvraag in plaats van de vraag van de apotheken. Zoals in 6.2.3 wordt in deze strategie uitgegaan van 2 varianten. In de eerste variant (variant 1) wordt uitgegaan van de huidige besteldrempels en aanvulniveaus bij de apotheken (zie tabel 7.2) uit de beschikbare data. De tweede variant (variant 2) gaat uit van de door het model berekende besteldrempels en aanvulniveaus bij de apotheken (zie tabel 7.12). Voor beide varianten geldt dat de besteldrempels en aanvulniveaus bij de groothandel gebaseerd zijn op de patiëntvraag. Tabel 7.16 geeft deze weer.
Product Carb Dex Micon Micro Sted Trach VSM
DC Amsterdam DC Deventer s S s S 7 14 16 28 5 8 3 5 19 29 70 90 951 999 655 713 39 49 113 143 6 13 36 45 13 22 22 31
Tabel 7.16: Besteldrempels en aanvulniveaus DC’s voor strategie 1
50
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________ Tabel 7.17 geeft voor beide varianten de gemiddelde kosten per dag. Variant 1
Variant 2
Kosten
Groothandel
Apotheken Gehele keten
Groothandel
Apotheken
Gehele keten
Voorraad
€ 58,30
€ 49,83
€ 108,13
€ 59,27
€ 11,73
€ 71,00
Handling
€ 22,55
€ 29,97
€ 52,52
€ 23,00
€ 27,74
€ 50,74
Transport
€ 1,52
-
€ 1,52
€ 1,51
-
€ 1,51
Totaal
€ 82,37
€ 79,80
€ 162,17
€ 83,78
€ 39,47
€ 123,25
Tabel 7.17: Gemiddelde kosten optimalisatie van het multi -echelon systeem
De bijbehorende servicegraden zijn 96,65 % voor variant 1 en 95,16% voor variant 2. De daling in de servicegraad voor variant 2, kan eveneens als in variant 2 van de huidige situatie te maken hebben met de voorraden bij de groothandel.
De besteldrempels bij de DC’s dalen, waardoor de voorraadkosten zullen dalen, omdat minder op voorraad wordt gehouden. Voor de kosten bij de apotheek in variant 2 gelden dezelfde argumenten als in strategie 0 variant 2. De marges tussen de besteldrempels en de aanvulniveaus bij de groothandel zijn kleiner dan in strategie 0. Dit betekent dat bij dezelfde apotheekvraag (de bestellingen van de apotheek blijven onveranderd), de voorraden bij de DC’s minder hoog worden aangevuld en sneller de besteldrempel bereikt wordt. Hierdoor wordt vaker een bestelling geplaatst en stijgen de bestelkosten en inslagkosten.
7.3 Vergelijking resultaten van de huidige situatie en de strategieën In deze paragraaf worden de resultaten van de verschillende strategieën vergeleken met de huidige situatie. Ter verduidelijking van de vergelijking worden in de figuren 7.3, 7.4, 7.5, 7.6 en 7.7 de kosten grafisch weergegeven. Tabel 7.18 aan het einde van deze paragraaf geeft de percentuele verschillen van de resultaten van de strategieën (zonder micro). Tabel 7.19 geeft de percentuele verschillen van de resultaten van de strategieën met micro. De voorraadkosten bij de groothandel Voorraadkosten Groothandel € 100,00 € 80,00 €
€ 60,00 Reeks1 € 40,00 € 20,00 €0(1)
0(2)
1(1)
1(2)
Strategie
Figuur 7.3: Voorraadkosten bij de groothandel voor de huidige situatie en de optimalisatie van het multi -echelon systeem
51
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________ Figuur 7.3 geeft de voorraadkosten bij de groothandel voor de huidige situatie, de (s’, S’) aanvulstrategie en de optimalisatie van het multi-echelon systeem. Uit deze figuur kan opgemaakt worden dat de optimalisatie het multi-echelon systeem de laagste voorraadkosten per dag bij de groothandel genereert.
Handlingkosten bij de groothandel Handlingkosten Groothandel
€
€ 23,50 € 23,00 € 22,50 € 22,00 € 21,50 € 21,00 € 20,50 € 20,00 € 19,50 € 19,00
Reeks1
0(1)
0(2)
1(1)
1(2)
Strategie Figuur 7.4: Handlingkosten bij de groothandel voor de huidige situatie en de optimalisatie van het multi-echelon systeem
Figuur 7.4 toont dat de andere strategieën hogere handlingkosten bij de groothandel genereren.
Transportkosten In figuur 7.5 worden de transportkosten voor de huidige situatie, de (s’, S’) - aanvulstrategie en de optimalisatie van het multi-echelonsyteem weergegeven. Transportkosten Groothandel
€ 2,00 € 1,80 € 1,60 € 1,40 € 1,20 €
€ 1,00
Reeks1
€ 0,80 € 0,60 € 0,40 € 0,20 €0(1)
0(2)
1(1)
1(2)
Strategie
Figuur 7.5: Transportkosten bij de groothandel voor de huidige situatie en de optimalisatie van het multi -echelon systeem
Voorraadkosten bij de apotheken Figuur 7.6 geeft de voorraadkosten bij de apotheken voor de huidige situatie, de (s’, S’)-aanvulstrategie en de optimalisatie van het multi-echelon systeem.
52
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________
Voorraadkosten Apotheken € 60,00 € 50,00 €
€ 40,00 € 30,00
Reeks1
€ 20,00 € 10,00 €0(1)
0(2)
1 (1)
1 (2)
Strategie Figuur 7.6: Voorraadkosten bij de apotheken voor de huidige situatie en de optimalisatie van het multi-echelon systeem
Figuur 7.6 laat zien dat de optimalisatie het multi-echelon systeem met de (s’, S’) aanvulstrategie bij de apotheken de laagste voorraadkosten bij de apotheek genereert. Strategie 1 zorgt ook voor lagere voorraadkosten bij de apotheken.
Handlingkosten bij de apotheek Figuur 7.7 weergeeft de handlingkosten bij de apotheken voor de verschillende strategieën. Handlingkosten Apotheken
€ 30,50 € 30,00 € 29,50 € 29,00 €
€ 28,50
Reeks1
€ 28,00 € 27,50 € 27,00 € 26,50 0(1)
0(2)
1(1)
1 (2)
Strategie
Figuur 7.7: Handlingkosten bij de apotheek voor de huidige situatie en de optimalisatie van het multi -echelon systeem
De handlingkosten zijn voor de apotheken het laagst bij in de huidige situatie. Tabel 7.18 geeft de percentuele verschillen ten opzichte van de huidige situatie op een rij. Zonder Micro Voorraadkosten Groothandel Handlingkosten Groothandel Transportkosten Groothandel Voorraadkosten Apotheken Handlingkosten Apotheken Totaal
Huidige Situatie (1) Huidige situatie (2) Verschil % Multi-echelon (1) Verschil % Multi-echelon (2) Verschil % € 84,42 € 83,58 1% € 40,71 52% € 41,05 51% € 6,50 € 7,11 -9% € 8,86 -36% € 9,13 -40% € 0,45 € 0,45 0% € 0,41 9% € 0,41 9% € 25,04 € 12,57 50% € 24,75 1% € 7,68 69% € 10,70 € 5,81 46% € 11,43 -7% € 11,92 -11% € 127,11 € 109,52 14% € 86,16 32% € 70,19 45%
Tabel 7.18: Vergelijking kosten verschillende strategieën ten opzichte van de huidige situatie zonder Micro
53
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________ Met Micro Huidige Situatie (1) Voorraadkosten Groothandel € 95,01 Handlingkosten Groothandel € 20,64 Transportkosten Groothandel € 1,87 Voorraadkosten Apotheken € 49,69 Handlingkosten Apotheken € 29,98 Totaal € 197,19
Huidige situatie (2) Verschil % Multi-echelon (1) Verschil % Multi-echelon (2)Verschil % € 92,39 3% € 58,30 39% € 59,27 38% € 21,38 -4% € 22,55 -9% € 23,00 -11% € 1,86 1% € 1,52 19% € 1,51 19% € 12,62 75% € 49,83 0% € 11,73 76% € 27,77 7% € 29,97 0% € 27,74 7% € 156,02 21% € 162,17 15% € 123,25 37%
Tabel 7.19: Vergelijking kosten verschillende strategieën ten opzichte van de huidige situatie met Micro
Tabel De optimalisatie van het multi-echelon syteem met toevoeging van de (s’,S’) aanvulstrategie bij de apotheken levert de meeste besparingen op.
Betekenis voor alle Escura apotheken en alle afnemers Naar schatting zal de optimalisatie van het multi-echelon systeem, waarbij de besteldrempels bij de apotheken bepaald worden volgens de theoretische berekening een besparing van ongeveer 37% opleveren voor de voor de gehele keten . Als alle apotheken met pseudo optimale besteldrempels en aanvulniveaus (variant 2) werken dan is voor alle Escura apotheken samen een besparing te behalen van ongeveer 50% ten opzichte van de huidige totale kosten per dag voor deze apotheken. De optimalisatie van het multi-echelon systeem zal een besparing van ongeveer 35% opleveren ten opzichte van alle afnemers van de DC’s. Scenario 7.4.6 gaat nader in op de simulatie van meerdere en andere producten dan de testproducten.
7.4 Scenarioanalyse In deze paragraaf worden de resultaten van het doorrekenen van de scenario’s uit hoofdstuk 6 geanalyseerd. Alle scenario’s zijn voor 6 apotheken, 2 DC’s, 7 producten en voor 125.000 dagen doorgerekend, indien anders vermeld staat. 7.4.1 Analyse van de resultaten van scenario 1: Verandering in de patiëntvraag In dit scenario is gekeken naar de gevolgen van veranderingen in de invoerparameters voor de gammaverdeling voor de producten. Voor de simulatie van dit scenario is gekeken naar de twee varianten die in 6.3.1 worden genoemd. De eerste variant bekijkt de logistieke gevolgen van een daling van de vraag met bijvoorbeeld 10% of 20%. In de tweede variant wordt gekeken naar de gevolgen van een stijging van de vraag met bijvoorbeeld 10% of 20%. Deze veranderingen worden ook doorberekend in de vraag bij de DC’s.
Het scenario is gerund voor de huidige situatie, waar bij de besteldrempels en aanvulniveaus bij de apotheken gelijk blijven, zoals zij in de huidige situatie beschouwd (tabel 7.2) worden. Daarnaast is het scenario ook gesimuleerd voor de huidige situatie variant 2, waarbij s’en S’ bij de apotheken zijn aangepast aan de veranderde patiëntvraag en voor strategie 1, waarbij de besteldrempels bij de apotheken bepaald worden volgens de theoretische berekening zoals in de huidige situatie variant 2.
54
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________
Daling van de patiëntvraag In deze variant van dit scenario zijn de invoerparameters van de patiëntvraag gedaald met 10% en met 20%. Bij een daling van de patiëntvraag dalen de voorraden van de apotheken minder snel, waardoor minder vaak een bestelling wordt geplaatst door de apotheek bij de groothandel. Hierdoor stijgen de gemiddelde voorraden bij de apotheek en stijgen de voorraadkosten, maar dalen de handlingkosten.
Doordat de apotheken minder bestellen, daalt de binnenkomende vraag bij de DC’s. Dit heeft een daling in de voorraadkosten bij de groothandel als gevolg (besteldrempels DC’s afhankelijk van deze vraag), maar ook een daling in de transportkosten. De handlingkosten zullen ongeveer gelijk blijven doordat het aantal bestellingen ongeveer gelijk blijft. •
Strategie 0: Huidige situatie Tabel 7.20 geeft de gemiddelde kosten voor de huidige situatie en bij een daling van de vraag met 10% of 20%.
Voorraadkosten Groothandel Handlingkosten Groothandel Transportkosten Groothandel Voorraadkosten Apotheken Handlingkosten Apotheken Totaal
Huidige Situatie (1) Daling 10% € 95,01 € € 20,64 € € 1,87 € € 49,69 € € 29,98 € € 197,19 €
85,95 20,01 1,68 50,54 29,29 187,47
Verschil % 10% 3% 10% -2% 2% 5%
Daling 20% Verschil % € 78,05 18% € 19,15 7% € 1,49 20% € 51,43 -4% € 28,63 5% € 178,75 9%
Tabel 7.20: Verschillen in de gemiddelde kosten per dag voor de huidige situatie variant 1 bij een daling i n de vraag
Tabel 7.21 geeft de resultaten bij een daling in de vraag voor de huidige situatie waarbij de besteldrempels en aanvulniveaus bij de apotheken pseudo geoptimaliseerd zijn. Voorraadkosten Groothandel Handlingkosten Groothandel Transportkosten Groothandel Voorraadkosten Apotheken Handlingkosten Apotheken Totaal
Huidige situatie (2) Daling 10% € 92,39 € € 21,38 € € 1,86 € € 12,62 € € 27,77 € € 156,02 €
93,85 21,81 1,90 11,65 28,30 157,51
Verschil % -2% -2% -2% 8% -2% -1%
Daling 20% Verschil % € 86,13 7% € 22,18 -4% € 1,87 -1% € 10,82 14% € 28,74 -3% € 149,74 4%
Tabel 7.21: Verschillen in de gemiddelde kosten per dag voor de huidige situatie variant 2 bij een daling in de vraag
Een daling in de vraag heeft als gevolg dat de besteldrempels en aanvulniveaus bij zowel de apotheken als de groothandel dalen. Hierdoor dalen de voorraadkosten. In variant 1 van de huidige situatie blijven de besteldrempels en aanvulniveaus bij de apotheken gelijk aan de huidige vraag, waardoor de voorraadkosten bij de apotheken ten opzichte van een daling in de patiëntvraag zullen stijgen. In tabel 7.21 is te zien dat de handlingkosten bij de apotheken stijgen. Dit komt doordat de marges tussen de besteldrempels en aanvulniveaus kleiner zijn en sneller
55
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________ een bestelling geplaatst wordt, met als gevolg dat er meer inslagkosten en bestelkosten door de apotheken worden gemaakt en meer uitslagkosten door de groothandel worden gemaakt. •
Strategie 1: Optimalisatie van het multi-echelon systeem Tabel 7.22 geeft de resultaten bij een daling in de vraag voor de optimalisatie van het multiechelon systeem, waarbij de besteldrempels en aanvulniveaus bij de apotheken worden berekend. De daling in de patiëntvraag heeft als gevolg dat de groothandel haar voorraden hierop aanpast, waardoor de voorraadkosten dalen bij groothandel.
Multi-echelon Voorraadkosten Groothandel € 50,87 Handlingkosten Groothandel € 23,00 Transportkosten Groothandel € 1,51 Voorraadkosten Apotheken € 11,73 Handlingkosten Apotheken € 27,74 Totaal € 114,85
Daling 10% € € € € € €
Verschil % 49,67 23,19 1,51 11,69 28,31 114,37
2% -1% 0% 0% -2% 0%
Daling 20% Verschil % € 50,57 1% € 23,25 -1% € 1,51 0% € 10,82 8% € 28,72 -4% € 114,87 0%
Tabel 7.22: Verschillen in de gemiddelde kosten per dag voor strategie 1 bij een daling in de vraag
Stijging van de patiëntvraag In de tweede variant van dit scenario wordt gekeken naar de gevolgen van een stijging van de patiëntvraag met 10% en met 20%. Door een stijging in de patiëntvraag, bestellen de apotheken sneller en vaker. Hierdoor stijgen de bestelkosten en inslagkosten bij de apotheken. De binnenkomende vraag bij de DC’s wordt hierdoor ook hoger, waardoor de besteldrempels stijgen en er gemiddeld meer op voorraad wordt gehouden. Dit heeft als gevolg een stijging in de voorraadkosten. De handlingkosten en transportkosten zullen ook stijgen door een stijging in de vraag, vanwege meer bestellingen. Voor een stijging in de vraag bij strategie 0 (2) geldt dat de apotheken hogere besteldrempels hebben en meer bestellingen plaatsen, waardoor de voorraadkosten en handlingkosten bij de apotheken stijgen. •
Strategie 0: Huidige situatie Tabel 7.23 weergeeft de resultaten van de verandering van patiëntvraag voor de huidige situatie variant 1.
Voorraadkosten Groothandel Handlingkosten Groothandel Transportkosten Groothandel Voorraadkosten Apotheken Handlingkosten Apotheken Totaal
Huidige Situatie Stijging 10% € 95,01 € € 20,64 € € 1,87 € € 49,69 € € 29,98 € € 197,19 €
102,92 21,39 2,03 49,38 30,67 206,39
Verschil % -8% -4% -9% 1% -2% -5%
Stijging 20% Verschil % € 114,24 -20% € 23,45 -14% € 2,21 -18% € 48,97 1% € 31,32 -4% € 220,19 -12%
Tabel 7.23: Verschillen in de gemiddelde kosten per dag voor de huidige situatie variant 1 bij stijging van de vraag
Tabel 7.24 geeft de gemiddelde kosten voor de huidige situatie variant 2 bij een stijging van de vraag. De besteldrempels en aanvulniveaus zijn opnieuw bepaald. Doordat de vraag hoger ligt, dan in de ‘normale’ situatie, ligt per dag meer voorraad opgeslagen, hierdoor stijgen de
56
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________ voorraadkosten bij de apotheken, daardoor stijgen ook de voorraadkosten bij de groothandel. Daarnaast zijn de transportkosten afhankelijk van de vraag, en deze stijgen bij een vraagstijging.
Voorraadkosten Groothandel Handlingkosten Groothandel Transportkosten Groothandel Voorraadkosten Apotheken Handlingkosten Apotheken Totaal
(s',S') aanvulstrategie Stijging 10% € 92,39 € € 21,38 € € 1,86 € € 12,62 € € 27,77 € € 156,02 €
95,83 21,97 1,86 12,47 28,59 160,72
Verschil % -4% -3% 0% 1% -3% -3%
Stijging 20% Verschil % € 101,22 -10% € 21,53 -1% € 1,85 1% € 12,92 -2% € 27,65 0% € 165,17 -6%
Tabel 7.24: Verschillen in de gemiddelde kosten per dag voor de huidige situatie variant 2 bij een stijging in de vraag
•
Strategie 1: Optimalisatie van het multi-echelonsysteem Tabel 7.25 geeft de resultaten voor strategie 2 bij een stijging in de vraag.
Voorraadkosten Groothandel Handlingkosten Groothandel Transportkosten Groothandel Voorraadkosten Apotheken Handlingkosten Apotheken Totaal
Multi-echelon € 50,87 € 23,00 € 1,51 € 11,73 € 27,74 € 114,85
Stijging 10% Verschil % Stijging 20% Verschil % € 50,07 2% € 50,08 2% € 23,38 -2% € 22,83 1% € 1,51 0% € 1,53 -1% € 11,85 -1% € 13,11 -12% € 28,57 -3% € 27,67 0% € 115,38 0% € 115,22 0%
Tabel 7.35: Verschillend in de gemiddelde kosten per dag voor strategie 2 bij een stijging in de vraag
Door een stijging in de vraag worden de besteldrempels en aanvulniveaus aangepast bij zowel de apotheken en de groothandel. Hierdoor stijgen de voorraadkosten bij de apotheken en de groothandel. De apotheken bestellen meer bij de groothandel waardoor ook de handlingkosten stijgen. 7.4.2 Analyse van de resultaten van scenario 2: Ruimtebeslag in de distributiecentra Voor dit scenario is in het simulatiemodel een classificatie gemaakt voor de snellopers, normaallopers en langzaamlopers, zoals deze bij Brocacef is gedefinieerd (zie 3.4). In dit scenario wordt gekeken naar de gevolgen van het ruimtebeslag bij het simuleren van het multi-echelon systeem of één van de andere strategieën. Uit beschikbare gegevens is bekend welk aandeel in de kosten de snellopers, normaallopers en langzaamlopers hebben. Tabel 7.26 geeft de percentages voor deze classificatie per DC. Snelloper Normaalloper Langzaamloper
DC Amsterdam 19.8% 20.8% 59.4%
DC Deventer 37.8% 21.2% 41%
Tabel 7.26: Percentages ruimtebeslag per DC
Voor het bepalen wat de gevolgen voor het ruimtebeslag zijn bij de DC’s gekeken naar de gemiddelde jaarlijkse voorraad van de producten. Daarnaast is middels het simulatiemodel bepaald welke producten tot welke classificatie behoren.
57
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________ Amsterdam Snellopers: Miconazol, Microgynon en VSM Spiroflor Normaallopers: Stederil Langzaamlopers: Carbasal, Dextrometh en Trachitol Deventer Snellopers: Microgynon en Stederil Normaallopers: Miconazol Langzaamlopers: Carbasal, Dextrometh, Trachitol en VSM Spiroflor.
Tabel 7.27 geeft de jaarlijkse kosten voor het ruimtebeslag per DC voor de huidige situatie, het multiechelon systeem en de (s’, S’ ) strategie.
Huidige situatie Snellopers Normaallopers Langzaamlopers Amsterdam € 9,17 € 9,64 € 27,52 Deventer € 17,51 € 9,82 € 19,00 (s',S') Snellopers Normaallopers Langzaamlopers Amsterdam € 9,00 € 9,45 € 26,99 Deventer € 17,18 € 9,63 € 18,63 Multi-echelon (2) Snellopers Normaallopers Langzaamlopers Amsterdam € 4,92 € 5,17 € 14,76 Deventer € 9,39 € 5,27 € 10,19 Tabel 7.27: Gemiddelde kosten per dag voor ruimtebeslag bij DC Amsterdam en DC Deventer
De optimalisatie van het multi-echelon systeem zorgt voor de grootste daling in de kosten voor het ruimtebeslag bij de DC’s. De meeste reductie zit in de kosten voor de langzaamlopers.
7.4.3 Analyse van resultaten van scenario 3: Assortimentsverkleining Voor dit scenario zijn twee varianten gemaakt. In de eerste variant treedt Microgynon op als substituut voor Stederil. In de tweede variant is Stederil de substituut voor Microgynon.
Microgynon als substituut voor Stederil De resultaten van deze variant verschillen nauwelijks van de resultaten van de huidige situatie. Dit komt doordat de vraag naar Microgynon in de huidige situatie al hoog is en de vraag naar Stederil daar weinig in laat veranderen. Hieruit kan geconcludeerd worden dat wanneer de vraag van een product hoog is, en het wordt een substituut voor een ander product waarvan de vraag een stuk lager ligt, dan heeft dit weinig tot geen invloed op de kosten van de huidige situatie.
Stederil als substituut voor Microgynon Tabel 7. 28 weergeeft de resultaten voor de huidige situatie voor de variant waarin Stederil als substituut voor Microgynon optreedt.
58
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________
Kosten
Groothandel
Apotheken
Gehele keten
Voorraad
€ 133,05
€ 56,85
€ 189,90
Handling
€ 19,17
€ 26,48
€ 45,65
Transport
€ 1,86
-
€ 1,86
Totaal
€ 154,08
€ 83,33
€ 237,41
Tabel 7.28: Gemiddelde kosten per dag voor de huidige situatie waarbij Stederil een substituut is voor Microgynon
De gemiddelde voorraadkosten voor de groothandel en de apotheek stijgen. Dit komt doordat de groothandel en de apotheek nog een voorraad hebben voor Microgynon, en deze wordt niet meer gevraagd door de afnemers. De handlingkosten veranderen niet. De transportkosten stijgen doordat er vaker door de apotheken besteld wordt.
Tabel 7.29 geeft de gemiddelde kosten per dag voor de (s’,S’) aanvulstrategie voor de variant waarin Stederil een substituut is voor Microgynon. In deze variant zijn de besteldrempels en aanvulniveaus bij de apotheken voor deze producten aangepast. Kosten
Groothandel
Apotheken
Gehele keten
Voorraad
€ 135,40
€ 8,90
€ 144,30
Handling
€ 18,09
€ 20,48
€ 38,57
Transport
€ 1,89
-
€ 1,89
Totaal
€ 155,38
€ 29,38
€ 184,76
Tabel 7.29: Gemiddelde kosten per dag voor de (s’,S’)strategie waarbij Stederil een substituut is voor Microgynon
De voorraadkosten van de groothandel worden deels bepaald door de kostprijs van het product. Dit geldt ook voor de voorraadkosten bij de apotheek. Deze worden bepaald door de AIP. De kostprijs en AIP van Stederil zijn lager dan de kostprijs en AIP van Microgynon. De groothandel en apotheken houden geen voorraden meer aan voor Microgynon, maar wordt er meer voorraad aangehouden voor Stederil. Doordat de kosten voor het houden van 1 inkoopeenheid van Stederil lager zijn dan het houden van 1 inkoopeenheid Microgynon, dalen de gemiddelde voorraadkosten per dag. Doordat de gemiddelde vraag naar Microgynon zeer hoog is bij sommige apotheken, worden de besteldrempels naar deze vraag aangepast. De besteldrempels liggen veel hoger waardoor de kosten stijgen.
7.4.4 Analyse van resultaten van scenario 4: overgaan tot vaste besteldagen bij de apotheken Het overgaan naar vaste besteldagen zorgt voor een grote stijging van de gemiddelde voorraadkosten en handlingkosten per dag voor de groothandel. Voor de voorraadkosten geldt een verdubbeling en voor de handlingkosten geldt een verzesvoudiging in vergelijking met de kosten van de huidige situatie. Daarnaast daalt de servicegraad met ruim 20 procentpunt. Kortom het overgaan naar vaste besteldagen voor de apotheken, vergt nog een vervolgstudie naar het vaststellen van de juiste dagen, en besteldrempels voor bij de apotheken.
59
7 Resultaten van de strategieën en scenario’s verkregen uit het simulatiemodel ____________________________________________________________________________________
7.4.5 Analyse van de resultaten van scenario 5: Het aantal apotheken binnen Escura In dit scenario is gekeken naar een situatie waarbij het aantal apotheken met 50% stijgt, en een situatie waarbij het aantal apotheken verdubbelt. Na het simuleren van beide situaties blijkt dat de voorraadkosten van de groothandel ook met 50% stijgen of verdubbelen. Als het aantal afnemers van de groothandel stijgt, dan stijgen de variabele kosten, maar de vaste kosten blijven gelijk. Hierdoor krijgt de groothandel te maken met schaalvoordelen.
7.4.6 Analyse van de resultaten van scenario 6: Andere producten dan de testproducten In dit scenario zijn de strategieën doorgerekend voor 7 producten van de top 50 producten van Escura voor apotheek het Groene Hart. De top 50 producten genereren te samen 26% van de jaarlijkse omzet. Tabel 7.30 geeft de 7 producten waarmee het model voor dit scenario is doorgerekend. Daarbij zijn de beginvoorraden voor de producten vastgesteld op 0. Daarnaast is ook gekeken naar de classificatie van de producten. In dit scenario hebben we te maken met snellopende producten. Product
2
Inkoophoeveelheid
Kostprijs
AIP
µ
s
Lipitor omh tab 20 mg
30
€ 34,83
€ 38,27
1,32
281,22
Spiriva 18 mcg caps navul
30
€ 38,65
€ 42,47
1,72
435,43
Pantozol msr tab 40 mg
30
€ 40,38
€ 35,44
0,96
93,78
Lipitor omh tab 10 mg
30
€ 22,44
€ 24,66
2,03
702,84
Lipitor omh tab 40 mg
30
€ 44,35
€ 48,74
1,27
195,06
Cozaar omh tab 50 mg
30
€ 19,98
€ 22,32
1,28
119,16
Omeprazol msr caps 20 mg
30
€ 3,00
€ 12,40
0,94
62,74
Tabel 7.30: 7 producten uit de top 50 producten van Escura, inclusief inkoophoeveelheid, kostprijs en AIP, verwachte vraag en variantie van de vraag
Deze producten hebben allemaal een vrij grote variantie en hoge kostprijs ten opzichte van de testproducten. Hierdoor worden de besteldrempels bij de groothandel zeer hoog gesteld, waardoor de voorraadkosten bij de groothandel heel hoog zijn voor deze producten (kosten verhogen met een factor 100). Dit geeft aan dat dure snellopende producten hoge kosten genereren.
60
8 Conclusies en aanbevelingen ____________________________________________________________________________________
8 Conclusies en aanbevelingen In dit hoofdstuk worden de conclusies geschreven die naar aanleiding van de resultaten getrokken zijn, daarnaast worden de antwoorden gegeven op de vraagstellingen die in hoofdstuk 2 gemaakt zijn. De tweede paragraaf beschrijft aanbevelingen voor dit onderzoek en als laatste wordt een opsomming gegeven van mogelijke vervolgstudies.
8.1 Conclusies In hoofdstuk 2 worden de volgende primaire vragen gesteld: 1.
Welke besparingen zijn mogelijk in de keten van groothandel Brocacef en de apotheekketen Escura?
2.
Hoe kan centraal de voorraad in de keten beheerd en beheerst worden en volgens welk voorraadsysteem en bestelstrategie die de in punt 1 genoemde besparingen realiseren?
Uit de resultaten blijkt dat grootste besparingen mogelijk zijn in de voorraadkosten bij de groothandel en de voorraadkosten bij de apotheken. Deze besparingen kunnen gerealiseerd worden door over te gaan op de optimalisatie van het multi-echelon systeem waarbij de besteldrempels en aanvulniveaus bij de apotheken geoptimaliseerd worden. De optimalisatiestrategie is gelijk aan de huidige situatie, maar in de optimalisatie van het multi-echelon gaat de groothandel uit van de patiëntvraag voor de bepaling van haar besteldrempels en aanvulniveaus en worden de voorraden van de groothandel samen met de voorraden van de apotheken als één voorraad gezien. De besparing bij de apotheken wordt gerealiseerd, door de besteldrempels bij de apotheken te berekenen, in plaats van te bepalen op basis van ervaring. De methode voor het bepalen van de besteldrempels en aanvulniveaus is een goede methode, want hiermee wordt dezelfde fillrate behaald als in de huidige situatie. Waarbij de fillrate van de huidige situatie als uitgangssituatie wordt genomen voor de bepaling van nieuwe besteldrempels en aanvulniveaus.
De optimalisatie van de besteldrempels en aanvulniveaus bij de apotheken levert ook besparingen op in de voorraadkosten van de apotheken. In de eerste resultaten leek dit niet het geval, maar na een gevoeligheidsanalyse bleek dat een van de producten een negatieve werking had op de resultaten.
Een verandering in de vraag heeft in het bijzonder gevolgen voor de transportkosten en de voorraadkosten. De voorraden bij de groothandel worden bepaald aan de hand van de vraag van de apotheken. De transportkosten zijn afhankelijk van de vraag, dus wanneer de vraag stijgen of dalen, stijgen of dalen transportkosten ook.
In de logistieke keten van Brocacef en haar apotheekketen Escura zijn besparingen mogelijk in de voorraadkosten. De beste beheersing hiervoor is de optimalisatie van het multi-echelon systeem met de berekende besteldrempels bij de apotheken, waarbij naar schatting de kosten voor de gehele keten zullen dalen met ongeveer 37%.
61
8 Conclusies en aanbevelingen ____________________________________________________________________________________
8.2 Aanbevelingen De aanbeveling naar aanleiding voor dit onderzoek is over te gaan op de optimalisatie van een multiechelon systeem, voor de DC’s en de apotheken van Escura, hierbij dient de vraag naar de producten nogmaals goed geanalyseerd te worden. Daarnaast is het voor de apotheken ook raadzaam de besteldrempels en aanvulniveaus te berekenen, in plaats van deze te bepalen op gevoel en ervaring.
In dit onderzoek is het model gerund op zeven testproducten. Het is aanbevolen de besteldrempels en aanvulniveaus bij de apotheken berekenen (pseudo optimalisatie) voor alle producten. Daarbij zou nauwkeuriger onderzoek gedaan moeten worden naar de vraagverdeling van de producten.
Het simulatiemodel is gebaseerd op zes apotheken, 2 DC’s en 7 producten. Voor een betere schatting van de kosten is het aanbevolen het model te simuleren voor meerdere producten en apotheken. Hiervoor zijn de volgende aanpassingen in het model nodig: •
De parameter p (het aantal producten) moet aangepast worden naar het aantal producten dat meegenomen wordt in de simulatie. Hiervoor dienen de bijbehorende data, zoals in hoofdstuk 7 en bijlage 6 beschreven worden meegenomen te worden voor de verschillende producten.
•
Dit geldt ook voor de apotheken. Als het model gesimuleerd wordt voor meerdere apotheken, moeten de bijbehorende gegevens, zoals de vraagparameters, en de bestelregels van deze apotheken meegenomen worden in het simulatiemodel.
Bij implementatie van de optimalisatie van het multi-echelonsysteem in de realiteit zullen de volgende handelingen moeten plaatsvinden. •
De apotheken moeten bereid zijn via het klantenbestelsysteem de besteldrempels en aanvulniveaus te optimaliseren.
•
De groothandel zal inzicht moeten verkrijgen in de patiëntvraag bij de apotheken. Hiervoor zouden ook de berekeningen door E3trim moeten uitgaan van deze patiëntvraag als forecast, in plaats van de vraag vanuit de apotheken.
•
Daarnaast worden in de optimalisatie van het multi-echelon systeem de voorraden van de groothandel en de voorraden bij de apotheken samen als één voorraad gezien. Hiervoor zou de groothandel inzicht moeten verkrijgen in de voorraden bij de apotheken, wat middels het klantenbestelsysteem realiseerbaar is.
•
Door de juiste koppeling te maken tussen het klantenbestelsysteem, E3trim en GIA (het ERP systeem), kan de benodigde data voor de optimalisatie van het multi-echelonsysteem verkregen kunnen worden. Het belangrijkste onderdeel hierin is de forecast van de patiëntvraag naar producten. De vraag naar producten, die gelijken aan de testproducten in dit onderzoek, kan relatief eenvoudig worden voorspeld. Daarnaast heeft de groothandel ook nog te maken met seizoensgevoelige producten, partijgoederen en enorme fluctuaties in de vraag (bijvoorbeeld een
62
8 Conclusies en aanbevelingen ____________________________________________________________________________________ plotselinge opkomende vraag naar griepspuiten). Deze type producten zijn niet meegenomen in het onderzoek, en hiervoor zou handmatig ingegrepen moeten worden voor de voorspelling van de patiëntvraag naar deze producten.
8.3 Vervolgstudies In deze paragraaf worden mogelijke vervolgstudies gegeven. 8.3.1 Betalingstermijn Bij het bepalen van de voorraadkosten van de apotheek in het simulatiemodel zou eigenlijk rekening gehouden moeten worden met de betalingsafspraken van de groothandel met de apotheek. Brocacef hanteert voor haar klanten een betalingstermijn. De betaling van de bestelling door de apotheek moet ste
gerealiseerd zijn op de 22
van de volgende maand na dato van bestelling. Dit kan voor de hardlopende
producten betekenen dat de voorraadkosten geheel door de groothandel gefinancierd worden en niet door de apotheek zelf. In het simulatiemodel van zowel de huidige situatie als de toepassing van de strategieën wordt dit effect niet meegenomen, omdat naar de gehele keten wordt gekeken. Dit zou mogelijk een vervolgonderzoek kunnen zijn.
8.3.2 Partijproducten Naast de specialité, parallel import en generieke geneesmiddelen, bestaan ook partijproducten. Deze producten worden in partijen ingekocht en zijn soms wel en soms niet vanuit de groothandel leverbaar. Dit heeft als gevolg, dat apotheken deze producten gaan hamsteren en deze producten een heel ander voorraadverloop hebben dan de andere producten. Het model dat in de onderzoek besproken is, is niet volledig toepasbaar voor deze problematiek. In een vervolgstudie zou het model moeten worden aangepast, waarbij wel rekening wordt gehouden met partijgoederen en de voorraadbeheersing hiervan.
8.3.3 Gereserveerde voorraad In de toekomst wil Brocacef de voorraad bij de apotheken sturen. Om haar eigendomsapotheken tegemoet te komen, wil Brocacef altijd direct kunnen leveren wanneer de vraag naar een bepaald product vanuit de apotheek binnenkomt. Brocacef wil een gereserveerde voorraad aanhouden voor haar Escura afnemers, naast de reguliere voorraad en afname. Middels een vervolgstudie kan onderzocht worden, hoe groot deze gereserveerder voorraad moet zijn, zodanig dat de apotheken van Escura afnemers, direct bevoorraad kunnen worden als een bestelling van de apotheek binnenkomt.
8.3.4 Leveringsafspraken tussen de leverancier en Brocacef In de huidige situatie zijn de leveringsafspraken tussen de leverancier en Brocacef verschillend per product per DC. Deze verschillen zijn voor sommige producten zelfs 3 dagen per DC. Indien de leveringsafspraken per DC gelijk zijn, kunnen mogelijk besparingen ontstaan, doordat de veiligheidsvoorraden bij de groothandel kunnen dalen. In een vervolgstudie kan onderzocht worden welke mogelijkheden er zijn en wat de besparingen voor de groothandel zouden kunnen zijn.
63
8 Conclusies en aanbevelingen ____________________________________________________________________________________
8.3.5 Bestelhoeveelheden apotheken Na bestudering van de beschikbare data van de bestellingen van de apotheken aan de groothandel kwam naar voren dat de apotheken vaak volgens een vaste bestelhoeveelheid bestellen, ondanks het (s,S) aanvulsysteem. Voor de referentie apotheken is voor het product Microgynon gebleken, dat apotheek Het Groene Hart veelal de bestelhoeveelheid 20 inkoopeenheden hanteert, dat apotheek Henri Dunant de voorkeur geeft aan de bestelhoeveelheid 50 inkoopeenheden en dat apotheek Wyborgh in bijna alle gevallen 40 inkoopeenheden bestelt.
Brocacef zou in de toekomst graag mee willen sturen op de bestellingen vanuit de apotheek, en graag willen dat de apotheken dezelfde hoeveelheden bestellen. In een vervolgstudie kan worden bepaald, hoe groot deze bestelhoeveelheid moet zijn, zodanig dat de servicegraad naar de patiënt behouden blijft en de kosten geoptimaliseerd worden.
8.3.6 Analyse naar het vraagpatroon In dit onderzoek is door gebrek aan tijd, de patiëntvraag onvoldoende onderzocht voor een juiste bepaling van de verdeling. In een vervolgstudie zou de patiëntvraag beter onderzocht moeten worden.
8.3.7 Kostenfactoren In dit onderzoek worden gebruik van de kostenfactoren die door Jansen (2001) in zijn onderzoek worden vastgesteld. Deze kostenfactoren zijn niet recent meer, maar zijn door een medewerker van Brocacef als representatief beschouwd. Voor een juiste waardering van de kosten bij de apotheek, zou opnieuw onderzoek gedaan moeten worden naar de kosten bij de apotheek.
64
Nabeschouwing ____________________________________________________________________________________
Nabeschouwing In de eerste drie maanden van mijn stage bij Brocacef heb ik gewerkt aan een onderzoek naar Pre-whole sale. Dit onderzoek is door omstandigheden niet vervolgd. Begin februari heb ik de overstap gemaakt naar het onderzoek dat in dit eindrapport beschreven wordt. Voor dit onderzoek zijn twee onderzoeksvraagstellingen opgesteld. In deze nabeschouwing geef ik aan wat wel en niet aanbod is gekomen ten aanzien van de onderzoeksvragen.
De volgende probleemstellingen kwamen aanbod. 1.
Welke besparingen zijn mogelijk in de keten van groothandel Brocacef en de apotheekketen Escura? a.
Assortimentsverkleining: wat zijn de logistieke gevolgen van (bijvoorbeeld 10%) verkleining van het assortiment van de Escura apotheken? Met mogelijk als gevolg:
2.
i.
Verlaging van de voorraden
ii.
Betere voorspellingen
iii.
Minder transport -, bestel- en handlingkosten
iv.
Hogere servicegraad
Hoe kan de voorraad in de keten centraal beheerd en beheerst worden en volgens welk voorraadsysteem en bestelstrategie die de in punt 1 genoemde besparingen realiseren? a.
Volgens welke voorraad- en bestelstrategie zou een beheersing van de voorraad de meeste besparingen opleveren? Daarbij zijn er ook de volgende subvraagstellingen: i.
Welke artikelen komen wel op voorraad bij zowel de apotheek als bij de groothandel?
ii.
Welke artikelen komen niet op voorraad bij de apotheek en zijn alleen op voorraad bij de groothandel?
iii. Welke artikelen komen op voorraad bij de apotheek en niet bij de groothandel? iv. Wat is de besteldrempel, wat is de order up to level en wat is de vaste bestelhoeveelheid van een apotheek voor een bepaald artikel? b.
Welke artikelen komen op voorraad in de apotheek? i.
Als de vraag van een artikel boven een bepaalde waarde komt dan wordt het artikel op voorraad in de apotheek gelegd. Hoe hoog moet deze waarde zijn en hoeveel wordt op voorraad gelegd en wat is de bestelstrategie voor dit artikel?
ii.
Als de waardedichtheid van een artikel hoog is, is het niet verstandig om het artikel op voorraad te leggen aangezien de voorraadkosten hoog zijn voor dit product. Hoe hoog moet de waardedichtheid zijn om het artikel wel of niet op voorraad te leggen, afhankelijk van de vraag van het artikel (punt i)?
iii. Als het een kritiek product is, wordt het product op voorraad gelegd. Een kritiek product is een product dat aanwezig moet zijn in de apotheek, omdat het direct
65
Nabeschouwing ____________________________________________________________________________________ geleverd moet worden aan de patiënt, of omdat het een gevoelig product is voor concurrentie met andere apotheken. iv. Als een apotheek veel opslagruimte beschikbaar heeft, dan kunnen meer producten op voorraad worden gelegd. Daarbij moet rekening gehouden worden met kapitaalinvestering en de houdbaarheid van de producten. v.
Een product wordt meer op voorraad gelegd, omdat de levertijd lang en onbetrouwbaar is.
Bij de vraagstellingen worden de volgende prestatiecriteria in acht genomen: •
Reductie van de logistieke kosten.
•
Behoud van de servicegraad.
De volgende aspecten uit de vraagstellingen zijn wel aanbod gekomen: •
Vraagstelling 1: o
•
a: onderdeel i, ii en iv in 7.4.1
Vraagstelling 2: o
a: onderdeel iv in 7.2
Naast de vraagstellingen die in het onderzoek aanbod komen is ook nog naar verschillende scenario’s gekeken, deze worden beschreven in 6.3 en 7.4: •
Een verandering in de patiëntvraag. Wat zijn de logistieke gevolgen van een stijging of daling van de patiëntvraag?
•
Het ruimtebeslag. Wat zijn de gevolgen voor het ruimtebeslag bij het invoeren van een andere beheersing van de voorraad?
•
De levertijden. In de huidige situatie kunnen de apotheken iedere dag bestellen. In dit scenario wordt bekeken, wat de gevolgen zijn als de apotheken bestellen op vaste besteldagen.
•
Het aantal apotheken. Escura bestaat uit 76 apotheken. In dit scenario wordt gekeken naar een stijging van het aantal apotheken.
De volgende aspecten uit de vraagstellingen zijn door tijdgebrek niet voldoende aanbod gekomen en wensen nog een vervolgonderzoek: •
Vraagstelling 1: o
•
a: onderdeel iii.
Vraagstelling 2: o
a: onderdeel i, ii en iii.
o
b: onderdeel i tot en met v.
66
Referentielijst ____________________________________________________________________________________
Referentielijst Abdul-Jalbar, B., Guitiérrez, J.M. en Sicilia, J. (2006). Single cycle policies for the one-warehouse Nretailer inventory/distribution system. Omega, 34, 196-208. Anthonissen, P. (2000). Strategisch onderzoek naar ketenintegratie tussen Brocacef en haar leveranciers. Afstudeerrapport, Technische Universiteit Eindhoven. CBS, Statline (2003) Prijzenslag supermarkten drukt inflatie. Homepage (www.cbs.nl) Eijs, M.J.G. van en Heuts, R.M.J. (1992). Gecoördineerde bestelstrategieën. Tilburg: Katholieke Universiteit Brabant. Jansen, C. (2001). Voorraadbeheer bij de openbare apotheek. Afstudeerrapport, Tilburg: Katholieke Universiteit Brabant. Kinney, J.J. (1997). Probability - An Introduction with Statistical Applications. USA: John Wiley & Sons, Inc. Law, A.M. en Kelton, W.D. (2000). Simulation modelling and analysis. Singapore: McGraw-Hill, Inc. Moeliker, C. (2004). Gekort en Korting. Afstudeerrapport, Erasmus Universiteit Rotterdam. Oosterbaan, R. (2002). De toepassing van statistische schattingsmethoden bij het benchmarken van de financiële functie. Afstudeerrapport, Universiteit van Amsterdam. Rinks, D.B. (1989). Rationing safety stock in the USAF’s multi echelon inventory system. Engineering Costs and Production Economics, 17, 99-109. Silver, E.A. en Peterson, R. (1985). Decision systems for inventory management and production planning. Canada: John Wiley & Sons, Inc. Sipper, D. en Bulfin, R.L. jr. (1997). Production: planning, control and integration. Singapore: The McGraw-Hill Companies, Inc. Snyder, R.D. (1983). Inventory control with gamma distribution. European journal of Operational Research, 17, 373-381. Stichting Farmaceutische Kengetallen (2006). Homepage (ww.sfk.nl), 14 februari. Wenmeekers, P. (1996). Voorraadbeheersing in het Academisch Ziekenhuis Maastricht: is vermindering van het aantal voorraadniveaus zinvol? In R. Heuts en L. Strijbosch (1996), Praktijkcases voorraadmanagement. Tilburg: Katholieke Universiteit Brabant.
67
Bijlage 1 - Organogram van Brocacef ____________________________________________________________________________________
Bijlage 1 - Organogram van Brocacef Deze figuur geeft de opbouw van de bedrijfsstructuur van Brocacef. Brocacef en Escura B.V. zijn beide een onderdeel van Brocacef Holding. Organigram Brocacef Holding NV Brocacef Holding Business Analyse
Communicatie
Finec
Juridische afdeling
HRM
Groothandel
Blockland 91 mw
Cantarus 5 mw
Complex 10 mw
Retail
Imgroma 25 mw
Brocacef
Farmassure
PC Noord Deventer/Groningen 48 mw
PC Zuid Eindhoven 58 mw
Apotheken Meerderheid
Apotheken Minderheid
PC West Amsterdam 107 mw
PC AHA Maarssen 6mw
Pack 4U
Aan-verkoop Apotheken
PC Drogisten Maarssen 10 mw
PC Intramuraal Maarssen 20 mw
Finec
HRM
CD Aeramphic /ILM Maarssen 16 mw
CD Finec Maarssen 28 mw
IT
Operatie Apotheken
CD HRM Maarssen 9 mw
CD ICT Maarssen 21 mw
Formulemanagent
CD Ketenlogistiek Maarssen 11 mw
CD O&O / FZ 3 mw
CD Sales Support Maarssen 2 mw
CD Stockmanagement Maarssen 16
CD Verkooptelefonie Maarssen 43 mw
CD Algemeen Maarssen 13 mw
68
Bijlage 2 - Flowchart entiteiten simulatie model ____________________________________________________________________________________
Bijlage 2 - Flowchart entiteiten simulatie model Flowchart genereer vraag patiënt Genereer patiëntvraag
Genereer vraag volgens de kansverdeling
Iedere apotheek heeft een patiëntvraag voor ieder product
Voeg apotheek toe aan lijst VraagA (dag t)
Return
Flowchart Aankomst vraag distributiecentrum (DC) Aankomst vraag distributiecentrum
Bepaal de vraag aan de hand van de bestellingen van de apotheken
Voeg DC toe aan lijst VraagB (dag t)
Return
69
Bijlage 2 - Flowchart entiteiten simulatie model ____________________________________________________________________________________ Flowchart Bestelling apotheek
Bestelling apotheek
Bepaal bestelling op basis van VraagA en voorraad t-1
Apotheek k heeft bestelling voor product
Verwijder apotheek k uit lijst VraagA
Voeg apotheek k toe aan lijst bestellingA (dag t)
Return
Flowchart Bestelling distributiecentrum (DC) Bestelling DC
Bepaal bestelling op basis van VraagB (gedurende de levertijd van het product) en voorraad t-1
DC heeft bestelling voor product
Verwijder DC uit lijst VraagB
70
Bijlage 2 - Flowchart entiteiten simulatie model ____________________________________________________________________________________ Voeg DC toe aan lijst bestellingB (dag t)
Return
Flowchart Update voorraden en kosten
Update voorraden en kosten
Bepaal voorraden op dag t + 1
Bepaal totale kosten dag t
Voeg voorraden en kosten toe aan lijst
Return
71
Bijlage 3 - Vraagverdeling testproducten ____________________________________________________________________________________
Bijlage 3 - Vraagverdeling testproducten In deze bijlage wordt de verdeling van de patiëntvraag, apotheekvraag van de referentieapotheken en distributiecentrumvraag (DC-vraag) voor alle testproducten (behalve Microgynon 30 dragee, zie paragraaf 4.3) weergegeven. Patiëntvraag
Aantal keer
Patiëntvraag (n=36 dagen) Carbasal Calc GF 600 sachet Dextrometh san 1.5mg/ml dr Miconazol san 20mg/g creme Stederil 30 dragee
90% 80% 70% 60% 50% 40% 30% 20% 10% 0%
Trachitol zuigtablet VSM Spiroflor SRL gelei 0
1
2
3
4
5 Microgynon 30 dragee
Vraag
Figuur B4.1: Patiëntvraag testproducten
Apotheekvraag Apotheek Het groene hart
Carbasal Calc GF 600 sachet
80% 70% 60% 50% 40% 30% 20% 10% 0%
Dextrometh san 1.5mg/ml dr Miconazol san 20 mg/g creme Stederil 30 dragee
Vraag
15
10
7
5
3
Trachitol zuigtablet 0
Aantal keer
Vraag Apotheek Het groene hart (n=36 dagen)
VSM Spiroflor SRL gelei
Figuur B4.2: Vraagverdeling apotheek Het groene hart
72
Bijlage 3 - Vraagverdeling testproducten ____________________________________________________________________________________ Apotheek Henri Dunant
Carbasal Calc GF 600 sachet
80% 70% 60% 50% 40% 30% 20% 10% 0%
Dextrometh san 1.5 mg/ml dr Miconazol san 20mg/g creme Stederil 30 dragee
36
24
15
10
4
2
Trachitol zuigtablet
0
Aantal keer
Vraag Apotheek Henri Dunant (n = 36 dagen)
Vraag
VSM Spiroflor SRL gelei
Figuur B4.3: Vraagverdeling apotheek Henri Dunant
Apotheek Wyborgh
Aantal keer
Vraag Apotheek Wyborgh (n = 36 dagen) Carbasal Calc GF 600 sachet
0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0
Dextrometh san 1.5mg/ml dr Miconazol san 20mg/g creme Stederil 30 dragee Trachitol zuigtablet 0
1
4
6
7
8 10 11 12 20
Vraag
VSM Spiroflor SRL gelei
Figuur B4.4: Vraagverdeling apotheek Wyborgh
73
Bijlage 3 - Vraagverdeling testproducten ____________________________________________________________________________________ Distributiecentrumvraag DC Amsterdam: Dextrometh
Aantal keer
Dextrometh san 1.5mg/ml dr - DC Amsterdam (n = 43 dagen) 35% 30% 25% 20% 15% 10% 5% 0%
Totale vraag
0
1 2
3 4
5 6
9 10 11 12 15 18 21 23
Vraag Figuur B4.5: Vraagverdeling Dextrometh voor DC Amsterdam
74
Bijlage 4 – Kansverdelingen ____________________________________________________________________________________
Bijlage 4 – Kansverdelingen Gammaverdeling De gammaverdeling wordt vaak geschreven als GAMMA (α, β) en wordt in simulatie gebruikt om positieve reële getallen te genereren. De gammaverdeling heeft de volgende kansverdeling (Kinney, 1997, pp. 219226).
β −α x α −1e − x / β f (x ) = Γ(α ) 0 In dit onderzoek wordt gebruik gemaakt van de gammaverdeling voor het genereren van de vraag in het simulatiemodel. Hierbij wordt gebruik gemaakt van de invoerparameters a en ß, waarbij:
α :=
µ2 σ2
en
β k :=
σ2 µ
.
Onder de invoerparameters bevinden zich a’s die tussen 0 en 1 liggen. Daarnaast zijn er ook invoerparameters die groter zijn dan 1. Law en Kelton beschrijven twee implementaties voor de gammaverdeling voor het simulatiemodel. De eerste is een implementatie waarbij a tussen 0 en 1 ligt, bij de tweede is a>1 (2000, pp.461-464). •
Implementatie voor 0 < a < 1 1.
1
1
Genereer U1~U(0,1) en bepaal P = b*U1, waarbij b = (e + a) / e . Als P > 1 dan ga naar stap 3, anders ga naar stap 2.
2.
Bepaal Y = P
1/a
-Y
en genereer U2 ~U(0,1). Als U2 = e , dan is de vraag = Y, anders ga
terug naar stap 1. 3.
a-1
Bepaal Y = - ln[(b -P)/a] en genereer U2 ~U(0,1). Als U2 = Y , dan vraag = Y, anders ga terug naar stap 1.
•
Implementatie voor a > 1
a = 1/ 2α − 1 , b = a - ln 4, q = a + 1/a, ? = 4.5 en d = 1 + ln ?. 1.
Genereer U1 en U2 beiden volgens U(0,1).
2.
Bepaal V = a * ln[U1/(1-U1)], Y= a * e , Z = U1 * U2 en W = b + q*V - Y.
3.
Als W + d - ?*Z = 0, dan vraag =Y, anders ga naar stap 4.
4.
Als W = ln Z dan vraag = Y, anders ga naar stap 1.
V
2
De vraag is gelijk aan ß * vraag.
Oosterbaan (2002) Beschrijft in zijn afstudeerrapport verschillende methoden voor het testen of de data werkelijk volgens een gammaverdeling verloopt. Hierna volgt een korte samenvatting van zijn bevindingen.
75
Bijlage 4 – Kansverdelingen ____________________________________________________________________________________ •
Test met behulp van een Q-Q plot (grafische test) In deze test worden de waargenomen variabelen uitgezet tegen de theoretische waarden. Als er sprake is van een goede ‘fit’ van de theoretische verdeling voor de data, dan zullen de waarden van de variabelen op 1 rechte lijn liggen binnen de twee betrouwbaarheidsbanen (95%) en zal de nulhypothese niet verworpen worden.
•
Parameters schatten Maximum likelihood methode: hoe groter de schatter des te aannemelijker de gemeten data. Dus hoe beter het model de data beschrijft. Moment schatters methode: de eerste twee momenten (gemiddelde en variantie) worden gelijk gesteld aan de momentschatters (steekproefgemiddelde en variantie) en opgelost. Dit levert de parameterschatters.
Negatief Binomiale verdeling De negatief binomiale verdeling is een discrete verdeling en wordt geschreven als NEGBIN(s,p). De kansverdeling van de negatief binomiale verdeling is (Law en Kelton, 2000):
s + x − 1 s p (1 − p) x p ( x ) = x 0
x ∈ {0,1,...} elders
De negatief binomiale verdeling heeft de invoerparameters s en p. Hierbij zijn:
µ2 2 µ s= σ en p = 2 µ σ 1− 2 σ Voor het genereren van een trekking uit de negatief binomiale verdeling wordt gebruik gemaakt van de geometrische verdeling. Law en Kelton (2000) beschrijven het volgende algoritme voor het genereren van een trekking uit de geometrische verdeling. 1.
Genereer U ~ U(0,1)
2.
Stel vraag =
ln U ln( 1 − p )
Om vervolgens een trekking uit de negatief binomiale verdeling te genereren, wordt de convolutie methode toegepast. 1.
Genereer Y1, Y2, …, Ys trekkingen uit de geometrische verdeling.
2.
Vraag = Y1 + Y2 + … + Ys
76
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________
Bijlage 5 - Code Simulatiemodel unit Simulatie; interface uses Windows, Messages, SysUtils, Classes, Math, Graphics, Controls, Forms, Dialogs, StdCtrls; type TSimulatieForm = class(TForm) StartSimulatie: TButton; Stop: TButton; Label5: TLabel; Label6: TLabel; TotaleKosten: TEdit; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label14: TLabel; Label15: TLabel; RuimteAdam: TEdit; RenteGH: TEdit; RisicoGH: TEdit; UitslagGH: TEdit; InslagGH: TEdit; RuimteAp: TEdit; InslagAp: TEdit; BestelAp: TEdit; KostenDag: TListBox; Label16: TLabel; Servicegr: TEdit; BestelDC: TEdit; Bestellingen: TButton; GemKosten: TEdit; Label19: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; VrknGh: TEdit; VrknAp: TEdit; HaknGH: TEdit; haknap: TEdit; RuimteDev: TEdit; Label4: TLabel; Label23: TLabel; Label30: TLabel; TransAd: TEdit; TransDev: TEdit; Label31: TLabel; Label32: TLabel; Transport: TEdit; Multi_echelon: TButton; Aanvulstrategie: TButton; Label1: TLabel; procedure StopClick(Sender: TObject); procedure StartSimulatieClick(Sender: TObject); procedure BestellingenClick(Sender: TObject); procedure Multi_echelonClick(Sender: TObject); procedure AanvulstrategieClick(Sender: TObject); private { Private declarations } public { Public declarations }
77
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ end; var SimulatieForm: TSimulatieForm; implementation {$R *.DFM} Const tijd = 125000; pro = 7; //aantal producten patient = 1; //aantal patiënten apotheek = 6; //aantal apotheken DC = 2; // aantal distributiecentra inf = MaxInt; var i,k,d,t:integer; U1, b, P, U2,a, q, h, tetta,V,Y,W,S,X:real; VraagP: array[1..pro] of integer; VraagA: array[1..pro] of array [1..apotheek] of array[1..tijd]of integer; VraagDC: array[1..pro] of array [1..DC] of array[1..tijd] of integer; lambda, beta, PGEO, QGEO:array[1..pro] of array[1..apotheek] of Real; inkvrdc, inkvrP:array[1..pro] of integer; Ltijd:array[1..pro] of array [1..dc] of integer; AIP, Kp: array[1..pro] of real; Bestela, BestellingA: array[1..pro] of array[1..apotheek] of array[0..tijd] of integer; BestelDc:array[1..pro] of array[1..dc] of array[1..tijd] of integer; minkosten:array [1..apotheek] of array[1..tijd] of real; handlingknAp, voorraadknAp, handlingkngh, voorraadkngh, transknGH:array[1..tijd] of single; Verhouding: array[1..pro] of array[1..dc] of array[1..tijd] of real; Totalekn:array[0..tijd] of single; RuimteknA, InslagknA, BestelknA: real; RuimteknAdam,RuimteknDev, Rentekndc, Risicokndc, UitslagknDc, InslagknDc, BestelknDc:real; TransknAdam, TransknDev:real; groot,klein:real; Totkosten:real; percA, percD: real; IA, FysiekA, totvraagP: array[1..pro] of array[1..apotheek] of array[0..tijd] of integer; Idc, FysiekDC, IECH: array[1..pro] of array[1..dc] of array[0..tijd] of real; MinIA, MaxIA, minondAp, MaxondAp, drempelAp, aanvulAp: array [1..pro] of array [1..apotheek] of integer; MinIdc, MaxIdc, MinIEch, ROP, aanvul: array[1..pro] of array[1..dc] of integer; MinBestelA, MaxBestelA: array [1..pro] of integer; servicegraad, DirectGeleverd, TotaleVraag:real; Fillrate: array[1..pro] of real; SomVraagP: array[1..pro] of array [1..apotheek] of real; SomVraagA, somvraagD, TotGh, TotHD, TotWy:array[1..pro] of real; TotbestGh, TotbestHd, TotbestWy:array[1..pro] of real; VoorknGh, VoorknAp, HandknGh, HandknAp, Transportkn:real; Begintijd, teller,getal, volgende:integer; Verschil:real; Interver, interwaa: array [1..310] of real; MuA, SigmatweeA: array[1..pro] of array [1..apotheek] of real; randseed: longint; Procedure Inlezen_vraag_patient; var VraagPfile:text; inkp: integer; lab, variantie: real; Begin Assign(VraagPfile, 'VraagP.txt'); Reset(vraagPfile); While not EOF (vraagPfile) do Begin for k:=1 to apotheek do for i:=1 to pro do
78
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ begin Readln(VraagPfile, Lab, inkp,variantie); MuA[i,k]:=Lab*1.10; SigmatweeA[i,k]:=variantie; Beta[i,k]:=variantie/(lab); Lambda[i,k]:=(lab)/beta[i,k]; // Inlezen parameter voor gammaverdeling PGeo[i,k]:=lab/variantie; Qgeo[i,k]:= (PGEO[i,k]*lab)/(1-PGEO[i,k]); inkvrP[i]:=InkP; // Inlezen inkoopeenheid per product end; end; End; Procedure Inlezen_kostprijs; var kpfile:text; kostprijs, apprijs:real; Begin Assign(kpfile, 'Kostprijs.txt'); Reset(kpfile); While not EOF (kpfile) do Begin for i:=1 to pro do begin Readln(kpfile, apprijs, kostprijs); AIP[i]:=apprijs; kp[i]:=kostprijs; end; End; End;
//Inlezen kostprijs per product
Procedure Inlezen_voorraadA; //Beginstand voorraden, besteldrempel en aanvulniveau var BeginI: integer; MinI, MaxI: integer; VoorraadAfile:text; Begin Assign(VoorraadAfile, 'VoorraadA.txt'); Reset(VoorraadAfile); While not EOF (voorraadAfile)do Begin for k:=1 to apotheek do for i:=1 to pro do Begin Readln(VoorraadAfile,BeginI, MinI, MaxI); IA[i,k,0]:=BeginI; FysiekA[i,k,0]:=BeginI; MinIA[i,k]:=MinI; MaxIA[i,k]:=MaxI; end; End; end; Procedure Inlezen_VoorraadDC; en aanvulniveau var BeginI:real; MinI, MaxI:integer; VoorraadDcFile:text; Begin Assign(VoorraadDcFile, 'VoorraadDc.txt'); Reset(voorraadDcfile); While not EOF(VoorraadDcfile) do Begin For d:=1 to dc do for i:=1 to pro do Begin Readln(Voorraaddcfile, BeginI, minI, MaxI); Idc[i,d,0]:=BeginI;
//Beginstand voorraden, besteldrempel
79
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ FysiekDC[i,d,0]:=BeginI; MinIDC[i,d]:=MinI; MaxIdc[i,d]:=MaxI; End; End; End; Procedure Inlezen_Levertijd_DC; //Levertijden per product per dc vanaf leverancier var LevertijdDCfile:text; levtijd:integer; Begin Assign(levertijdDCfile, 'LevertijdDc.txt'); Reset(LevertijdDCfile); While not EOF (levertijdDCfile) do begin for d:=1 to dc do for i:=1 to pro do begin Readln(Levertijddcfile, Levtijd); Ltijd[i,d]:=levtijd+7; end; end; end; Procedure Inlezen_InkoopDC; // Inkoopeenheid groothandel var InkDC:integer; InkoopDCfile:text; Begin Assign(InkoopDCfile, 'InkoopDC.txt'); Reset(InkoopDCfile); While not EOF (InkoopDCfile) do Begin For i:=1 to pro do Begin Readln(InkoopDCfile, inkdc); InkvrDC[i]:=inkdc; end; end; end; Procedure Inlezen_verlies; var verliesfile:text; verlies, waarde:real; z:integer; Begin Assign(verliesfile, 'Verliesintegraal.txt'); Reset(verliesfile); While not EOF (verliesfile) do Begin for z:=1 to 310 do Begin Readln(verliesfile, verlies, waarde); InterVer[z]:=verlies; Interwaa[z]:=waarde; end; end; end; Procedure stap1_gamma; Begin U1:=random; b:=(exp(1) + lambda[i,k])/exp(1); P:=b*U1; end; Procedure Stap2_gamma; Begin
80
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ U1:=random; U2:=random; a:=(2*Lambda[i,k])-1; a:=Sqrt(a); a:=1/a; b:=Lambda[i,k]-ln(4); q:=(Lambda[i,k]+1)/a; Tetta:=4.5; h:=1+ln(tetta); V:=a*ln(U1/(1-U1)); Y:=Lambda[i,k]*exp(V); S:=Power(U1,2)*U2; W:=b+q*V - Y; end; Procedure Genereer_gamma; Begin If (lambda[i,k]>0) and (lambda[i,k]<1) then //0
1 then Begin Y:= -ln((b-P)/Lambda[i,k]); X:= Power(Y, lambda[i,k]-1); End else begin Y:=Power(P,1/Lambda[i,k]); X:=exp(-Y); end; Until U2<=X; X:=Y end else //Lambda>1 Begin Repeat Stap2_gamma; Until ((W + h - tetta*S) >= 0) or (W>=ln(S)); X:=Y end; VraagP[i]:=Round(X*InkvrP[i]*Beta[i,k]); If (VraagP[i] mod InkvrP[i]) >= 0.5*InkvrP[i] then VraagP[i]:= InkvrP[i] * (VraagP[i] div InkvrP[i])+ Inkvrp[i] else VraagP[i]:=InkvrP[i] * (Vraagp[i] div InkvrP[i]); End; Procedure Genereer_NegaBino; Var U:real; SGEO: array[1..pro] of array[1..apotheek] of integer; index:integer; Begin U:=Random; if (QGEO[i,k]< 1) then SGEO[i,k]:=1 else SGEO[i,k]:=ROUND(QGEO[i,k]); X:=0; If MuA[i,k]>SigmatweeA[i,k] then Genereer_gamma else Begin For index:=1 to SGEO[i,k] do Begin Y:= (ln(U))/(ln(1-PGEO[i,k])); X:=X+Y; end; VraagP[i]:=Round(X*InkvrP[i]);
81
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ If (VraagP[i] mod InkvrP[i]) >= 0.5*InkvrP[i] then VraagP[i]:= InkvrP[i] * (VraagP[i] div InkvrP[i])+ Inkvrp[i] else VraagP[i]:=InkvrP[i] * (Vraagp[i] div InkvrP[i]); end; end; Procedure Bestelling_apotheek;
// Volgens (s,S) strategie apotheek
Begin IA[i,k,t]:=IA[i,k,t-1]-VraagA[i,k,t]; If IA[i,k,t]< MinIA[i,k] then Bestela[i,k,t]:=MaxIA[i,k]- IA[i,k,t] Else BestelA[i,k,t]:=0; IA[i,k,t]:=IA[i,k,t-1]+ bestela[i,k,t] - vraagA[i,k,t]; FysiekA[i,k,t]:= FysiekA[i,k,t-1]+ bestelA[i,k,t-1] - vraagA[i,k,t]; End; Procedure Bestelling_dc; var x:integer; Vraagdis:real;
// Bestelstrategie volgens (s',S')
Brocacef
Begin for t:=1 to tijd do for d:=1 to dc do for i:=1 to pro do begin bestelling_apotheek; VraagDis:=0; If t+ltijd[i,d]<= tijd then begin for x:=t to t+Ltijd[i,d] do begin VraagDis:=VraagDis + VraagDc[i,d,x]; end; end else begin for x:=t to tijd do Begin VraagDis:=VraagDis + VraagDc[i,d,x]; end; end; IDC[i,d,t]:=IDC[i,d,t-1]-Vraagdis + BestelDC[i,d,t-ltijd[i,d]]; If IDc[i,d,t]< MinIdc[i,d] then BestelDC[i,d,t]:=MaxIdc[i,d]-Round(IDc[i,d,t]) Else Besteldc[i,d,t]:=0; Idc[i,d,t]:=Idc[i,d,t-1] + Besteldc[i,d,t] - vraagdc[i,d,t]; FysiekDC[i,d,t]:=FysiekDC[i,d,t-1]+BestelDC[i,d,t-ltijd[i,d]] - vraagdc[i,d,t]; If VraagDC[i,1,t] >IDC[i,1,t] then Begin for k:=1 to 3 do begin BestelA[i,k,t]:=0; IA[i,k,t]:=IA[i,k,t-1]-VraagA[i,k,t]; FysiekA[i,k,t]:=FysiekA[i,k,t-1]+ BestelA[i,k,t-1]-VraagA[i,k,t]; end; end; If VraagDC[i,2,t] > IDC[i,2,t] then Begin for k:=4 to 6 do Begin BestelA[i,k,t]:=0; IA[i,k,t]:=IA[i,k,t-1]-vraagA[i,k,t]; FysiekA[i,k,t]:=FysiekA[i,k,t-1]+ BestelA[i,k,t-1]-VraagA[i,k,t]; end; end; End;
82
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ End; Procedure Bepaling_kosten; Var BestA,BestDc, InslagA, uitslag:integer; Begin BestA:=0; BestDc:=0; InslagA:=0; For i:=1 to pro do Begin uitslag:=0; For k:=1 to apotheek do Begin BestelA[i,k,0]:=0; If BestelA[i,k,t] >0 then BestA:=1; If BestelA[i,k,t-1] > 0 then InslagA:=1; HandlingknAp[t]:=HandlingknAp[t]+ InslagknA*InslagA + BestelknA*BestA; VoorraadknAp[t]:=VoorraadknAp[t] + RuimteknA*AIP[i]*FysiekA[i,k,t]; End; For d:=1 to dc do Begin if BestelDC[i,d,t] > 0 then BestDC:=1; for k:=1 to apotheek do begin if BestelA[i,k,t] > 0 then Uitslag:=Uitslag + 1; end; HandlingknGh[t]:=HandlingknGh[t]+UitslagknDc*Uitslag+(InslagknDc+BestelknDc)*BestDC; VoorraadknGh[t]:=VoorraadknGh[t]+ (RisicoknDc + RenteknDC)*kp[i]*Fysiekdc[i,d,t]; if d=1 then begin voorraadknGH[t]:=VoorraadknGH[t] + 0.065*RuimteknAdam*FysiekDc[i,d,t]; TransknGH[t]:=TransknGH[t] + TransknAdam*VraagDC[i,d,t]; end else begin VoorraadknGH[t]:=VoorraadknGh[t] + 0.102*RuimteknDev*FysiekDC[i,d,t]; TransknGH[t]:=TransknGH[t] + TransknDev * VraagDC[i,d,t]; end; End; End; Totalekn[t]:= VoorraadknAp[t]+HandlingknAp[t]+HandlingknGH[t]+ VoorraadknGh[t]+ TransknGH[t]; End; Procedure Wegschrijven; Var Uitvoer:text; Begin Assign(Uitvoer, 'Output.txt'); Rewrite(uitvoer); {For t:=1 to tijd do Begin Writeln(uitvoer, voorraadkngh[t]:6:2); Writeln(Uitvoer, 'dag ',t); Write(uitvoer, 'DC'); For i:=1 to pro do Write(Uitvoer, i:14); Writeln(Uitvoer); For d:=1 to dc do Begin Write(Uitvoer,d); For i:=1 to Pro do Write(Uitvoer, BestelDC[i,d,t]:15); Writeln(Uitvoer);
83
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ End; Writeln(uitvoer); Writeln(uitvoer); Write(Uitvoer, 'Ap'); For i:=1 to pro do Write(Uitvoer, i:14); Writeln(Uitvoer); For k:=1 to apotheek do Begin Write(Uitvoer, k); For i:=1 to pro do Write(uitvoer, BestelA[i,k,t]:15); Writeln(uitvoer); End; Write(Uitvoer, 'Ap'); for k:=1 to apotheek do Begin Write(uitvoer, 1); for i:=1 to pro do Write(uitvoer, TotvraagP[i,1,t]:8:2); writeln(uitvoer); end; Writeln(Uitvoer); end; } for d:=1 to DC do for i:=1 to pro do Writeln(Uitvoer, ROP[i,d],' ', aanvul[i,d]); Writeln(Uitvoer, 'Apotheken'); for k:= 1 to apotheek do for i:=1 to pro do Writeln(uitvoer, drempelAp[i,k],' ', aanvulAp[i,k]); For i:=1 to pro do Writeln(Uitvoer, Fillrate[i]:6:4); Close(Uitvoer); End; Procedure Inlezen; Begin Inlezen_vraag_patient; Inlezen_kostprijs; Inlezen_voorraadA; Inlezen_voorraadDC; Inlezen_InkoopDC; Inlezen_levertijd_DC; Inlezen_verlies; End; Procedure Bepaling_Servicegraad; Begin for k:=1 to apotheek do // Beta servicegraad begin If FysiekA[i,k,t]>= VraagA[i,k,t] then Begin Servicegraad:=Servicegraad +1; Fillrate[i]:= Fillrate[i]+1; DirectGeleverd:=DirectGeleverd + VraagA[i,k,t]; end Else Begin If FysiekA[i,k,t]> 0 then begin Servicegraad:= Servicegraad + (FysiekA[i,k,t])/VraagA[i,k,t]; Fillrate[i]:=Fillrate[i] + (FysiekA[i,k,t])/VraagA[i,k,t]; DirectGeleverd:=DirectGeleverd + FysiekA[i,k,t]; end else begin Servicegraad:=servicegraad + 0; Fillrate[i]:=Fillrate[i]+0;
84
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ end; end; end; End; Procedure Besteldrempel; Var x,z:integer; IknAdam, IknDev:array [1..pro] of real; Somvraag, Periode, bestelgrootte: array[1..pro] of array [1..Dc] of integer; Mu, sigmatwee, mulev, sigmalev,L, kappa: array[1..pro] of array[1..DC] of real; minkosten: array[1..tijd] of real; begin Inlezen_verlies; for d:=1 to DC do for i:=1 to pro do Begin Somvraag[i,d]:= 0; sigmatwee[i,d]:=0; for t:=1 to tijd do Somvraag[i,d]:=somvraag[i,d]+VraagDC[i,d,t]; Mu[i,d]:=Somvraag[i,d]/tijd; for t:=1 to tijd do Sigmatwee[i,d]:=sigmatwee[i,d]+SQR(VraagDC[i,d,t]-Mu[i,d]); sigmatwee[i,d]:=sigmatwee[i,d]/tijd; Mulev[i,d]:=Ltijd[i,d]*Mu[i,d]; SigmaLev[i,d]:=SQRT(Ltijd[i,d]*sigmatwee[i,d]); if d=1 then Begin IknAdam[i]:=RuimteknAdam*0.065 + (RisicoknDC+renteknDC)*kp[i]; Periode[i,d]:= Round(SQRT((2*BestelknDC)/(IknAdam[i]*mu[i,d]))); end else Begin IknDev[i]:=RuimteknDev*0.102 + (RisicoknDC+RenteknDC)*kp[i]; Periode[i,d]:=Round(SQRT((2*BestelknDC)/(IknDev[i]*mu[i,d]))); end; if periode[i,d] < 1 then periode[i,d]:=1; if periode[i,d]>1 then begin for x:=periode[i,d]-1 to periode[i,d]+1 do Begin minkosten[x]:=0; Minkosten[x]:=mu[i,d]+ (Bestelkndc/x); if d=1 then Minkosten[x]:=minkosten[x]+IknAdam[i]*(x*mu[i,d]/2) else Minkosten[x]:=Minkosten[x]+ iknDev[i]*(x*mu[i,d]/2); end; if minkosten[periode[i,d]-1] < minkosten[periode[i,d]] then periode[i,d]:=periode[i,d]-1; if minkosten[periode[i,d]+1] < minkosten[periode[i,d]] then periode[i,d]:=periode[i,d]+1; end; Bestelgrootte[i,d]:= ROUND(periode[i,d]*Mu[i,d]); L[i,d]:=((1-0.977)*Bestelgrootte[i,d])/Sigmalev[i,d]; for z:=1 to 310 do begin if (Interwaa[z]> L[i,d]) and (Interwaa[z+1]< L[i,d])then Kappa[i,d]:=Interver[z]; end; ROP[i,d]:= ROUND(mulev[i,d]+ kappa[i,d]*sigmalev[i,d]); Aanvul[i,d]:=ROP[i,d]+ bestelgrootte[i,d]; IDC[i,d,0]:= Round((ROP[i,d]/MiniDC[i,d])*IDC[i,d,0]); FysiekDC[i,d,0]:= Round((ROP[i,d]/MiniDC[i,d])*IDC[i,d,0]); MinIDC[i,d]:=ROP[i,d]; MaxIDC[i,d]:=Aanvul[i,d]; end; end;
85
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ procedure TSimulatieForm.StartSimulatieClick(Sender: TObject); begin volgende:=0; Repeat Randomize; kostendag.items.clear; Inlezen; // Inlezen kosten apotheek RuimteknA:=StrToFloat(RuimteAp.text)/365; InslagknA:=StrToFloat(InslagAp.text); BestelknA:=StrToFloat(BestelAp.text); //Inlezen kosten apotheek //Inlezen kosten Groothandel RuimteknAdam:=StrToFloat(RuimteAdam.text)/365; RuimteknDev:=StrToFloat(RuimteDev.text)/365; RisicoknDC:=StrToFloat(RisicoGH.text)/365; RenteknDC:=StrToFloat(RenteGH.text)/365; UitslagknDC:=StrToFloat(UitslagGH.text); InslagknDC:=StrToFloat(InslagGH.Text); BestelknDC:=StrToFloat(BesteLDC.text); TransknAdam:=StrTofloat(TransAd.text)/365; TransknDev:=StrToFloat(TransDev.text)/365; //Inlezen kosten groothandel Servicegraad:=0; Teller:=0; Totkosten:=0; VoorknGh:=0; VoorknAp:=0; HandknGh:=0; HandknAp:=0; TransportKn:=0; DirectGeleverd:=0; TotaleVraag:=0; For t:=1 to tijd do begin Totalekn[t]:=0; HandlingknAp[t]:=0; VoorraadknAp[t]:=0; HandlingknGh[t]:=0; VoorraadknGh[t]:=0; TransknGH[t]:=0; for i:=1 to pro do Begin SomVraagA[i]:=0; SomvraagD[i]:=0; For k:=1 to apotheek do Begin genereer_Gamma; // Genereer_NegaBino; VraagA[i,k,t]:=VraagP[i]; Bestelling_apotheek; totvraagp[i,k,t]:=VraagP[i]; TotaleVraag:=TotaleVraag + VraagP[i]; end; randseed:=vraagP[i]; end; end; for t:=1 to tijd do for i:= 1 to pro do Begin SomvraagA[i]:=0; SomvraagD[i]:=0; for k:=1 to 3 do SomVraagA[i]:=SomVraagA[i] + BestelA[i,k,t]; for k:=4 to apotheek do SomvraagD[i]:=SomvraagD[i] + BestelA[i,k,t]; VraagDC[i,1,t]:=Round(SomvraagA[i]/InkVrDC[i]); VraagDC[i,2,t]:=Round(SomvraagD[i]/InkVrDC[i]); end; Besteldrempel;
86
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ Bestelling_DC; for t:=1 to tijd do for i:=1 to pro do Bepaling_Servicegraad; for i:=1 to pro do begin Fillrate[i]:=Fillrate[i]/apotheek; Fillrate[i]:=Fillrate[i]/tijd; end; Servicegraad:= Servicegraad/apotheek; Servicegraad:=Servicegraad/pro; // Servicegraad:=DirectGeleverd/Totalevraag; totalekn[0]:=inf; for t:=1 to tijd do Bepaling_kosten; t:=1; Repeat verschil:=(totalekn[t] - totalekn[t-1])/totalekn[t]; t:=t+1; Until verschil < 0.10; Begintijd:=t; for t:=begintijd to tijd do begin Totkosten:=Totkosten + totalekn[t]; VoorKnGH:=VoorknGh + VoorraadknGh[t]; VoorknAp:=VoorknAp + VoorraadknAp[t]; HandknGh:=HandknGh + HandlingknGh[t]; HandknAp:=HandknAp + HandlingknAp[t]; Transportkn:=Transportkn + TransknGH[t]; Kostendag.items.add(FloattostrF(totalekn[t], ffcurrency, 10,2)); end; Gemkosten.Text:=FloattoStrF(totkosten/(tijd-begintijd),ffcurrency,10,2); Totalekosten.text:=FloattostrF(totkosten, ffcurrency,15,2); VrknGh.text:=FloatToStrF(VoorknGh/(tijd-begintijd), ffcurrency, 10,2); VrknAp.text:=FloatToStrF(VoorknAp/(tijd-begintijd), ffcurrency, 10, 2); HaknGh.text:=FloatToStrF(HandknGh/(tijd-begintijd), ffcurrency, 10, 2); HaknAp.text:=FloatToStrF(HandknAp/(tijd-begintijd), ffcurrency, 10, 2); Transport.Text:=FloatToStrF( Transportkn/ (tijd-begintijd), ffcurrency, 10,2); Servicegr.text:=FloattoStrF(Servicegraad/ (tijd-begintijd), ffgeneral,4,2); volgende:=volgende+1; until Volgende = 2; end; procedure TSimulatieForm.BestellingenClick(Sender: TObject); begin Wegschrijven; end; procedure TSimulatieForm.StopClick(Sender: TObject); begin Close; end; Procedure drempel_apotheek; Var x,z:integer; Ikn: array[1..pro] of real; Somvraag, Periode, bestelgrootte: array[1..pro] of array [1..apotheek] of integer; mulev, sigma,L, kappa: array[1..pro] of array[1..apotheek] of real; minkosten: array[1..tijd] of real; begin Inlezen_verlies; for k:=1 to apotheek do for i:=1 to pro do Begin MuA[i,k]:= InkvrP[i]*MuA[i,k]; SigmatweeA[i,k]:=InkvrP[i]*SigmatweeA[i,k]; Sigma[i,k]:=SQRT(sigmatweeA[i,k]); Ikn[i]:=RuimteknA* AIP[i]; if (MuA[i,k]> 0) or (sigma[i,k] > 0) then Begin
87
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ Periode[i,k]:= Round(SQRT((2*BestelknA)/(Ikn[i]*muA[i,k]))); if periode[i,k] < 1 then periode[i,k]:=1; if periode[i,k]>1 then begin for x:=periode[i,k]-1 to periode[i,k]+1 do Begin minkosten[x]:=0; Minkosten[x]:=muA[i,k]+ (BestelknA/x)+Ikn[i]*(x*muA[i,k]/2); end; if minkosten[periode[i,k]-1] < minkosten[periode[i,k]] then periode[i,k]:=periode[i,k]-1; if minkosten[periode[i,k]+1] < minkosten[periode[i,k]] then periode[i,k]:=periode[i,k]+1; end; Bestelgrootte[i,k]:= ROUND(periode[i,k]*MuA[i,k]); L[i,k]:=((1-Fillrate[i])*Bestelgrootte[i,k])/Sigma[i,k]; Kappa[i,k]:=0.00000001; for z:=1 to 310 do begin if (Interwaa[z]> L[i,k]) and (Interwaa[z+1]< L[i,k])then Kappa[i,k]:=Interver[z]; end; DrempelAp[i,k]:= ROUND(muA[i,k]+ kappa[i,k]*sigma[i,k]); end else begin drempelap[i,k]:=0; bestelgrootte[i,k]:=0; end; AanvulAp[i,k]:=DrempelAp[i,k]+ bestelgrootte[i,k]; MinIA[i,k]:=DrempelAp[i,k]; MaxIA[i,k]:=AanvulAp[i,k]; end; end; procedure TSimulatieForm.Multi_echelonClick(Sender: TObject); begin Randomize; kostendag.items.clear; Inlezen; // Inlezen kosten apotheek RuimteknA:=StrToFloat(RuimteAp.text)/365; InslagknA:=StrToFloat(InslagAp.text); BestelknA:=StrToFloat(BestelAp.text); //Inlezen kosten apotheek //Inlezen kosten Groothandel RuimteknAdam:=StrToFloat(RuimteAdam.text)/365; RuimteknDev:=StrToFloat(RuimteDev.text)/365; RisicoknDC:=StrToFloat(RisicoGH.text)/365; RenteknDC:=StrToFloat(RenteGH.text)/365; UitslagknDC:=StrToFloat(UitslagGH.text); InslagknDC:=StrToFloat(InslagGH.Text); BestelknDC:=StrToFloat(BesteLDC.text); TransknAdam:=StrTofloat(TransAd.text)/365; TransknDev:=StrToFloat(TransDev.text)/365; //Inlezen kosten groothandel Servicegraad:=0; Teller:=0; Totkosten:=0; VoorknGh:=0; VoorknAp:=0; HandknGh:=0; HandknAp:=0; TransportKn:=0; drempel_apotheek; For t:=1 to tijd do begin Totalekn[t]:=0; HandlingknAp[t]:=0;
88
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ VoorraadknAp[t]:=0; HandlingknGh[t]:=0; VoorraadknGh[t]:=0; TransknGH[t]:=0; for i:=1 to pro do Begin SomVraagA[i]:=0; SomvraagD[i]:=0; For k:=1 to apotheek do Begin genereer_gamma; // genereer_negabino; VraagA[i,k,t]:=VraagP[i]; Bestelling_apotheek; totvraagp[i,k,t]:=VraagP[i]; end; randseed:=vraagP[i]; end; end; for t:=1 to tijd do for i:= 1 to pro do Begin SomvraagA[i]:=0; SomvraagD[i]:=0; for k:=1 to 3 do SomVraagA[i]:= SomvraagA[i] + TotvraagP[i,k,t]; for k:=4 to apotheek do SomvraagD[i]:=SomvraagD[i] + TotvraagP[i,k,t]; VraagDC[i,1,t]:=Round(SomvraagA[i]/InkVrDC[i]); VraagDC[i,2,t]:=Round(SomvraagD[i]/InkVrDC[i]); end; for i:=1 to pro do for d:=1 to DC do Ltijd[i,d]:=Ltijd[i,d] + 1; Besteldrempel; Bestelling_DC; for t:=1 to tijd do for i:=1 to pro do begin Bepaling_Servicegraad; SomvraagA[i]:=0; SomvraagD[i]:=0; for k:=1 to 3 do SomVraagA[i]:=SomvraagA[i] + BestelA[i,k,t]; for k:=4 to apotheek do SomvraagD[i]:= SomvraagD[i] + BestelA[i,k,t]; VraagDC[i,1,t]:=Round(SomvraagA[i]/InkVrDC[i]); VraagDC[i,2,t]:=Round(SomvraagD[i]/InkVrDC[i]); end; Servicegraad:= Servicegraad/apotheek; Servicegraad:=Servicegraad/pro; totalekn[0]:=inf; for t:=1 to tijd do Bepaling_kosten; t:=1; Repeat verschil:=(totalekn[t] - totalekn[t-1])/totalekn[t]; t:=t+1; Until verschil < 0.10; Begintijd:=t; for t:=begintijd to tijd do begin Totkosten:=Totkosten + totalekn[t]; VoorKnGH:=VoorknGh + VoorraadknGh[t]; VoorknAp:=VoorknAp + VoorraadknAp[t]; HandknGh:=HandknGh + HandlingknGh[t]; HandknAp:=HandknAp + HandlingknAp[t]; Transportkn:=Transportkn + TransknGH[t]; Kostendag.items.add(FloattostrF(totalekn[t], ffcurrency, 10,2)); end; Gemkosten.Text:=FloattoStrF(totkosten/(tijd-begintijd),ffcurrency,10,2); Totalekosten.text:=FloattostrF(totkosten, ffcurrency,15,2); VrknGh.text:=FloatToStrF(VoorknGh/(tijd-begintijd), ffcurrency, 10,2);
89
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ VrknAp.text:=FloatToStrF(VoorknAp/(tijd-begintijd), ffcurrency, 10, 2); HaknGh.text:=FloatToStrF(HandknGh/(tijd-begintijd), ffcurrency, 10, 2); HaknAp.text:=FloatToStrF(HandknAp/(tijd-begintijd), ffcurrency, 10, 2); Transport.Text:=FloatToStrF( Transportkn/ (tijd-begintijd), ffcurrency, 10,2); Servicegr.text:=FloattoStrF(Servicegraad/(tijd-begintijd), ffgeneral,4,2); getal:=getal+1; end;
procedure TSimulatieForm.AanvulstrategieClick(Sender: TObject); begin Randomize; kostendag.items.clear; Inlezen; // Inlezen kosten apotheek RuimteknA:=StrToFloat(RuimteAp.text)/365; InslagknA:=StrToFloat(InslagAp.text); BestelknA:=StrToFloat(BestelAp.text); //Inlezen kosten apotheek //Inlezen kosten Groothandel RuimteknAdam:=StrToFloat(RuimteAdam.text)/365; RuimteknDev:=StrToFloat(RuimteDev.text)/365; RisicoknDC:=StrToFloat(RisicoGH.text)/365; RenteknDC:=StrToFloat(RenteGH.text)/365; UitslagknDC:=StrToFloat(UitslagGH.text); InslagknDC:=StrToFloat(InslagGH.Text); BestelknDC:=StrToFloat(BesteLDC.text); TransknAdam:=StrTofloat(TransAd.text)/365; TransknDev:=StrToFloat(TransDev.text)/365; //Inlezen kosten groothandel Servicegraad:=0; Teller:=0; Totkosten:=0; VoorknGh:=0; VoorknAp:=0; HandknGh:=0; HandknAp:=0; TransportKn:=0; Drempel_apotheek; For t:=1 to tijd do begin Totalekn[t]:=0; HandlingknAp[t]:=0; VoorraadknAp[t]:=0; HandlingknGh[t]:=0; VoorraadknGh[t]:=0; TransknGH[t]:=0; for i:=1 to pro do Begin SomVraagA[i]:=0; SomvraagD[i]:=0; For k:=1 to apotheek do Begin genereer_gamma; // Genereer_negabino; VraagA[i,k,t]:=VraagP[i]; totvraagp[i,k,t]:=VraagP[i]; Bestelling_apotheek; end; randseed:=vraagP[i]; end; end; for t:=1 to tijd do for i:= 1 to pro do Begin SomvraagA[i]:=0; SomvraagD[i]:=0; for k:=1 to 3 do SomVraagA[i]:=SomvraagA[i] + BestelA[i,k,t]; for k:= 4 to apotheek do
90
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ SomvraagD[i]:=SomvraagD[i] + BestelA[i,k,t]; VraagDC[i,1,t]:=Round(SomvraagA[i]/InkVrDC[i]); VraagDC[i,2,t]:=Round(SomvraagD[i]/InkVrDC[i]); end; Besteldrempel; Bestelling_DC; for t:=1 to tijd do for i:=1 to pro do Bepaling_Servicegraad; for i:=1 to pro do begin Fillrate[i]:=Fillrate[i]/apotheek; Fillrate[i]:=Fillrate[i]/tijd; end; Servicegraad:= Servicegraad/apotheek; Servicegraad:=Servicegraad/pro; totalekn[0]:=inf; for t:=1 to tijd do Bepaling_kosten; t:=1; Repeat verschil:=(totalekn[t] - totalekn[t-1])/totalekn[t]; t:=t+1; Until verschil < 0.10; Begintijd:=t; for t:=begintijd to tijd do begin Totkosten:=Totkosten + totalekn[t]; VoorKnGH:=VoorknGh + VoorraadknGh[t]; VoorknAp:=VoorknAp + VoorraadknAp[t]; HandknGh:=HandknGh + HandlingknGh[t]; HandknAp:=HandknAp + HandlingknAp[t]; Transportkn:=Transportkn + TransknGH[t]; Kostendag.items.add(FloattostrF(totalekn[t], ffcurrency, 10,2)); end; Gemkosten.Text:=FloattoStrF(totkosten/(tijd-begintijd),ffcurrency,10,2); Totalekosten.text:=FloattostrF(totkosten, ffcurrency,15,2); VrknGh.text:=FloatToStrF(VoorknGh/(tijd-begintijd), ffcurrency, 10,2); VrknAp.text:=FloatToStrF(VoorknAp/(tijd-begintijd), ffcurrency, 10, 2); HaknGh.text:=FloatToStrF(HandknGh/(tijd-begintijd), ffcurrency, 10, 2); HaknAp.text:=FloatToStrF(HandknAp/(tijd-begintijd), ffcurrency, 10, 2); Transport.Text:=FloatToStrF( Transportkn/ (tijd-begintijd), ffcurrency, 10,2); Servicegr.text:=FloattoStrF(Servicegraad/(tijd-begintijd), ffgeneral,4,2); getal:=getal+1; end; end.
91
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________
Figuur B5.1: Invoerscherm simulatiemodel
Deze handleiding is geschreven om een duidelijke instructie te geven aan de eindgebruikers van het model. De eindgebruikers zullen vooral uitgaan van het scherm waar de invoerparameters worden ingevuld en waar de resultaten worden weergegeven. Aan het einde van bijlage 6 staat een afbeelding van het invoerscherm. De gebruiksaanwijzing van het invoerscherm staat ook in bijlage 6 beschreven. Daarnaast kunnen sommige parameters alleen gewijzigd worden in de code van het model. Hierna volgt kort een beschrijving van de wijziging van deze parameters. Het aantal tijdseenheden wordt in de code als de constante ‘tijd’ gezien. Deze tijd staat standaard ingesteld op 30 dagen. Als men een langere of juist kortere simulatie wil, kan deze constante gewijzigd worden. Het voorafgaande geldt ook voor het aantal patiënten, producten en apotheken dat meegenomen wordt in het model. Deze aantallen staan ook als constanten ingevoerd in het model en kunnen handmatig in de code worden gewijzigd. Gebruiksaanwijzing Invoerscherm Het invoerscherm is in twee stukken op te delen. Het linker gedeelte is de invoerzijde, waar alle parameters ingevoerd kunnen worden. Het rechtergedeelte is het toepassings- en uitvoergedeelte.
92
Bijlage 5 - Code Simulatiemodel ____________________________________________________________________________________ Het linkergedeelte bevat een vier invoerboxjes waar de gebruikte datafiles ingevoerd kunnen worden. Daarna volgen twee invoerkolommen voor de kostenparameters. Als laatste volgt de verdeling van de apotheken. In deze verdeling kan aangegeven worden wat het percentage grote apotheken en kleine apotheken is. Bij deze verdeling wordt na simulatie de gemiddelde totale vraag per dag (in termen van de omzet) voor de grote en kleine apotheken gegeven.
Het toepassinggedeelte bestaat uit 3 knoppen. De simulatieknop start de simulatie. Als deze knop is geactiveerd worden de totale kosten, kosten per dag, de gemiddelde kosten per dag en de servicegraad berekent. Deze worden onder de knop weergegeven. Daaronder wordt een uitsplitsing van de kosten naar voorraadkosten en handlingkosten voor de groothandel en de apotheken gegeven.
De knop ‘overzicht bestellingen’ maakt een tekstfile met daarin de bestellingen per product per tijdseenheid van alle apotheken en distributiecentra (DC’s). Deze tekstfile wordt ‘output.txt’ genoemd en is te vinden in dezelfde directory als het simulatiemodel.
De ‘stop’ knop beëindigt het programma en sluit het invoerscherm af.
Naast dit eindrapport zal een handleiding geschreven worden voor het gebruik van dit model.
93
Bijlage 6: Algoritmes simulatie strategie 1 en strategie 2 ____________________________________________________________________________________
Bijlage 6: Algoritmes simulatie strategie 1 en strategie 2 De bijbehorende notaties van de algoritmes worden gegeven in hoofdstuk 4 in tabel 4.2 en 4.3.
Strategie 1: berekening besteldrempels en aanvulniveaus apotheken 0.
Initialisatie Voor ieder product p en voor iedere apotheek k: Inlezen gemiddelde patiëntvraag µpk en variantie van de patiëntvraag s
2 pk .
Bepaal voor ieder product i de besteldrempels s’ik en aanvulniveaus S’ik voor de apotheken. s'pk := µpk (gedurende de levertijd) + ? * s pk (gedurende de levertijd) ? opzoeken in een tabel met behulp van de functie
L(κ ) :=
(1 − fillrate) * Q pk σ pk
*
Qpk := T * µpk
T := *
2 * BCAp VCAp * µ pk
Bepaling T* door K(T) te minimaliseren.
K (T * ) := µ pk +
T * * µ pk BCA + VCA * p * T 2
S’pk := s’pk + Qpk Voor ieder product i en voor ieder DC dc: Inlezen Levertijden Ltijdid. 1.
dag t = 1
2.
Genereer voor dag t de patiëntvraag Ppkt ~GAMMA(a pk , ßpk ) waarbij:
α pk :=
µ 2pk σ 2pk
en
β pk :=
σ 2pk µ pk
t:=t + 1; 3.
Apotheek k bepaalt de grootte van haar bestelling QApkt voor product p op basis van de patiëntvraag Ppkt, de besteldrempel s’pk en de economische voorraad EIA pkt. Als EIA pkt-1 – Ppkt = s’pk dan plaats bestelling QApkt := S’ pk – EIA pkt + Ppkt Anders QApkt := 0; FIA pkt := FIA pkt-1 + QApkt-1 – Ppkt EIA pkt := EIA pkt-1 + QApkt – Ppkt Bepaal voor ieder DC de binnenkomende totale vraag Apdt vanuit de apotheken op dag t. Ap1t := Sk QApkt voor k = 1,2,3 ( k = 1: Het Groene Hart, k=2 : Henri Dunant, k =3: Nieuwkoop) Ap2t := Sk QApkt voor k =4,5,6 (k = 4: Wyborgh, k = 5 : Geerlings, k = 6: Kerschoten)
94
Bijlage 6: Algoritmes simulatie strategie 1 en strategie 2 ____________________________________________________________________________________ 4.
Bepaal de fillrate en de kosten op dag t met behulp van de fysieke voorraad FIA pkt. Voor kostenberekening en bepaling fillrate zie 4.4. t := t +1.
5.
Als t = T (T = gewenste gesimuleerde aantal dagen) dan herhaal stap 2, 3 en 4. Anders ga naar stap 6.
6.
Bepaal de gemiddelde vraag Apd bij de DC’s en de variantie van de vraag VarA pd over de totale tijd T.
Apd :=
1 * ∑ Apdt T t
VarApd := 7.
1 * ∑ ( Apdt − Aid ) 2 T
Bepaal voor ieder product i de “berekende” besteldrempels s’pd en aanvulniveaus S’pd voor de DC’s. s'pd := Apd (gedurende de levertijd) +
κ * VarApd (gedurende de levertijd)
? opzoeken in een tabel met behulp van de functie
L(κ ) :=
(1 − GemFD) * Qpd
, waarbij
VarApd
VarApd (gedurende de levertijd) *
Qpd := T * Apd
2 * BCD voorCD* Apd
T * :=
Bepaling T* door K(T*) te minimaliseren.
T * * A pd BCD K (T ) := Apd + * + voorCD* 2 T *
S’pd:= s’pd + Qpd 1.
Dag t = 1
2.
Bepaal voor ieder DC de bestelling QDCpdt voor product p op dag t op basis van de vraag van haar afnemers Aidct, de besteldrempel s’id en de economische voorraad EIDCpdt . Als EIDCpdt-1 – Apdt (gedurende de levertijd) = s’pd dan QDCpdt := S’ pd – EIDCpkt-1 + Apdt Anders QDCpdt := 0; FIDCpdt := FIDCpdt-1 + QDCpdt-Ltijd – Apdt EIDCpdt := EIDCpdt-1 + QDCpdt – Apdt
3.
Bepaal de fillrate en de kosten op dag t met behulp van de fysieke voorraad FIDCpdt . t:= t + 1;
95
Bijlage 6: Algoritmes simulatie strategie 1 en strategie 2 ____________________________________________________________________________________ 11. Als t = T (T = gewenste aantal gesimuleerde dagen) dan herhaal stap 9 en 10. Anders ga naar stap 12. 12. Bepaal de gemiddelde kosten per dag en bepaal de gemiddelde fillrate per dag bij de apotheken en de groothandel, zoals gedefinieerd in 4.5 en 4.6.
Strategie 2: Optimalisatie van het multi-echelon systeem A. Besteldrempels en aanvulniveaus apotheken uit beschikbare data 0.
Initialisatie Voor ieder product p en voor iedere apotheek k: Inlezen van de huidige besteldrempels s pk en aanvulniveaus Spk . Inlezen gemiddelde patiëntvraag µpk en variantie van de patiëntvraag s
2 pk .
Bepaal voor ieder product p de besteldrempels s’pd en aanvulniveaus S’pd voor de DC’s op basis van de gemiddelde patiëntvraag µpk en variantie van de patiëntvraag s
2 pk
van de
apotheken waaraan de DC’s leveren met behulp van de definitie zoals in het algoritme van de huidige situatie en strategie 1 wordt aangegeven (4.4 en bijlage 6). Voor ieder product i en voor ieder DC dc: Inlezen Levertijden Ltijdpd. 1.
dag t = 1
2.
Genereer voor dag t de patiëntvraag Ppkt ~GAMMA(a pk , ßpk ) waarbij:
3.
Apotheek k bepaalt de grootte van haar bestelling QApkt voor product p op basis van de patiëntvraag Ppkt, de besteldrempel s pk en de economische voorraad EIA pkt. Als EIA pkt-1 – Ppkt = s pk dan plaats bestelling QApkt := Spk – EIA pkt + Ppkt Anders QApkt := 0; FIA pkt := FIA pkt-1 + QApkt-1 – Ppkt EIA pkt := EIA pkt-1 + QApkt – Ppkt Bepaal voor ieder DC de binnenkomende totale vraag Apdt vanuit de apotheken op dag t. Ap1t := Sk QApkt voor k = 1,2,3 ( k = 1: Het Groene Hart, k=2 : Henri Dunant, k =3: Nieuwkoop) Ap2t := Sk QApkt voor k =4,5,6 (k = 4: Wyborgh, k = 5 : Geerlings, k = 6: Kerschoten)
4.
Bepaal voor ieder DC de bestelling QDCpdt voor product p op dag t op basis van de vraag van haar afnemers Apdt , de besteldrempel s’pd en de economische voorraad EIDCpdt . Als EIDCpdt-1 - Apdt (gedurende de levertijd) = s’pd dan QDCpdt := S’ pd – EIDCpdt-1 + Apdt Anders QDCpdt := 0; FIDCpdt := FIDCpdt-1 + QDCpdt-Ltijd – Apdt EIDCpdt := EIDCpdt-1 + QDCpdt – Apdt
5.
Bepaal de fillrate en de kosten op dag t. t:= t + 1;
96
Bijlage 6: Algoritmes simulatie strategie 1 en strategie 2 ____________________________________________________________________________________ 6.
Als t = T (T = gewenste aantal gesimuleerde dagen) dan herhaal stap 2 tot en met 5. Anders ga naar stap 7.
7.
Bepaal de gemiddelde kosten per dag en bepaal de gemiddelde fillrate per dag bij de apotheken en de groothandel.
B. Besteldrempels en aanvulniveaus apotheken berekend in het model Deze strategie is een samenvoeging van strategie 1 en strategie 2A.
97
Bijlage 7- Verificatie simulatiemodel ____________________________________________________________________________________
Bijlage 7- Verificatie simulatiemodel Tabel B7.1 geeft de werkelijke totale patiëntvraag en de gesimuleerde patiëntvraag voor ieder product i voor drie van de zes referentie apotheken weer, geaggregeerd naar het aantal dagen in de beschikbare gegevens. Dit is voor apotheek Het Groene Hart 198 dagen, voor apotheek Henri Dunant 365 dagen en voor apotheek Wyborgh 151 dagen. Voor ieder product is bepaald hoeveel dagen de simulatie moet runnen, zodanig dat de gesimuleerde vraag binnen een betrouwbaarheidsinterval van 99% valt.
Product Carbasal Dextrometh Miconazol Microgynon Stederil Trachitol VSM Spiroflor
Het Groene hart Werkelijk 1706 2100 2460 31332 3507 1000 4000
Henri Dunant
Wyborgh
Simulatie Verschil Werkelijk Simulatie Verschil Werkelijk Simulatie 1710 0.234% 1150 1152 0.174% 2905 2904 2098 0.095% 1500 1506 0.400% 300 301 2462 0.081% 4020 4031 0.274% 5400 5348 31385 0.169% 39669 39615 0.136% 90720 84586 3496 0.314% 5733 5714 0.331% 20811 20842 999 0.10% 1260 1262 0.159% 220 221 3995 0.125% 9840 9841 0.010% 1760 1755 Tabel B7.1: Vergelijking werkelijke patiëntvraag met gesimuleerde patiëntvraag
Verschil 0.034% 0.333% 0.963% 6.761% 0.149% 0.455% 0.284%
Uit tabel B7.1 is af te lezen dat de gesimuleerde patiëntvraag in de buurt van de werkelijke vraag ligt. Voor het verifiëren dat de patiëntvraag volgens een gammaverdeling loopt, is voor het product Carbasal de patiëntvraag voor apotheek Het Groene Hart weergegeven in een grafiek. Deze grafiek wordt weergegeven in figuur B7.1.
0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 66
39
30
25
20
15
10
Carbasal GF 600 Sachet
5
0
Aantal keer
Carbasal GF 600 Sachet (n = 198 dagen)
Vraag Figuur B7.1: Verloop van de gesimuleerde patiëntvraag voor Carbasal voor apotheek het Groene Hart
Figuur B7.1 toont aan dat de vraag grafische weergegeven redelijk volgens de gammaverdeling verloopt. Dit geeft aan (samen met tabel B7.1) dat de vraaggeneratie in het simulatiemodel overeenkomt met de werkelijke patiëntvraag.
98
Bijlage 7- Verificatie simulatiemodel ____________________________________________________________________________________ Tabel B7.2 geeft voor iedere apotheek de bestellingen per product voor dezelfde periode waarin de vraag gegenereerd is.
Product Carbasal Dextrometh Miconazol Microgynon Stederil Trachitol VSM Spiroflor
Het Groene hart Vraag 1710 2098 2462 31385 3496 999 3995
Henri Dunant Bestelling 1706 2331 2520 32662 3663 1043 5345
Vraag 1152 1506 4031 39615 5714 1262 9841
Wyborgh
Bestelling 1164 1454 3745 40748 6128 1264 10467
Vraag 2904 301 5384 84586 20842 221 1755
Bestelling 2902 408 5331 84799 21145 255 1999
Tabel B 7.2: Vergelijking patiëntvraag met bestelling voor de referentie apotheken
Uit tabel B7.2 blijkt dat de bestellingen van de apotheken per product dicht bij de vraag van deze producten ligt. Dit geeft aan dat het bestelproces in het simulatiemodel goed verloopt.
99