Eindhoven, 13 augustus 2012
Modellen voor productielijnen: Discreet versus Vloeistof
Oriane Dierikx (0655047)
Onder begeleiding van: Dr. Ir. Marcel van Vuuren Prof. Dr. Ir. Ivo Adan
Bachelor Eind Project
Oriane Dierikx
Samenvatting Bij een gegeven productielijn kan het wenselijk zijn om een model te maken dat deze lijn kan nabootsen en het prestaties voorspellen. Dit wordt gedaan met een simulatiemodel. Een simulatie is een methode om het gedrag na te bootsen dat in de werkelijkheid voorkomt en kan op een computer berekend worden. Er zijn twee soorten modellen die het gedrag van een productielijn kunnen beschrijven. Een discreet model en een vloeistofmodel. Hierbij beschrijft een discreet model de productielijn per product en wordt er over die producten informatie bijgehouden. In een discrete productielijn wordt de servicetijd van een product op een machine beschreven door een kansverdeling een gemiddelde servicetijd en een standaard deviatie die alle schommelingen opvangt. Bij een vloeistofmodel wordt er niet gekeken naar de losse producten, maar wordt er uitgegaan van een bepaalde snelheid waarmee een stroom producten door het proces heen lopen. Bij een vloeistofmodel wordt er naast een snelheid ook het storingsgedrag van de machines beschreven door een kansverdeling, met een gemiddelde en een standaarddeviatie, voor de tijd tot een storing en hetzelfde voor de reparatietijd. In de simulaties wordt aangenomen dat elke productielijn begint met een oneindige buffer. En eindigt met een oneindige buffer. Hierdoor kan het proces nooit vast lopen door in en uitgaande producten. De groottes van de buffers tussen de machines is aan te passen, net als alle variabelen van de machines. De gemiddelde doorzet van de producten is waar uiteindelijk de interesse ligt bij het simuleren van de productielijn. Dit is omdat er meer winst gemaakt kan worden als er meer producten per tijdseenheid de lijn verlaten. Om een praktijkvoorbeeld met vloeistof parameters ook te kunnen benaderen alsof het een discreet model is, moet een omrekening tussen de verschillende parameters gemaakt worden ook is dit mogelijk van een discreet model dat benaderd wordt als een vloeistofmodel. Dit wordt gedaan door gebruik te maken van de kans dat een bepaald gedrag optreedt. Zo is het onwaarschijnlijk dat als de tijd tussen twee storingen veel groter is dan de servicetijd per product, twee momenten in de servicetijd zullen plaatsvinden dat de machine stil komt te liggen. De omrekening is met behulp van een aantal aannames ook om te keren, zodat een discreet model omzet kan worden naar vloeistofparameters. De twee praktijkvoorbeelden, van Heineken en NXP, mogen beide gezien worden als vloeistofmodellen, omdat de snelheden van de machines zeer hoog liggen ten opzicht van de tijd tussen twee storingen en de reparatietijden. Verder mag aangenomen worden dat de transportbanden tussen de machines dienen als buffer, maar dat het geen tijd kost bij een lege buffer om het product naar de volgende machine te brengen. Ook kan een machine alleen een storing krijgen of stil komen te liggen als de machine in bedrijf is. De procestijden van de machines kan ook beïnvloed worden door de staat van de buffers. Een volle buffer achter een machine zorgt ervoor dat de machine de servicetijden aanneemt van de machine achter de volle buffer. In dat tempo gaat de volle buffer leeg en kunnen nieuwe producten in de buffer gestopt worden. Een lege buffer voor de machine zorgt voor het tegenovergestelde. Deze buffer kan meteen de producten doorgeven aan de machine die niet in bedrijf is en zo kan deze machine de servicetijden aannemen van de machine voor de lege buffer.
2
Bachelor Eind Project
Oriane Dierikx
De productielijn van Heineken maakt gebruik van zes machines in totaal. NXP heeft een lijn met acht machines. Voor al deze machines zijn variabelen beschikbaar en kan er een simulatie gemaakt worden. Omdat een discrete simulatie uit zichzelf veel langzamer is dan een vloeistofsimulatie, omdat voor een discrete simulatie meer gegevens opgeslagen en bijgehouden moeten worden, is het gewenst de simulatietijd terug te brengen, zonder de betrouwbaarheid van de simulatie te beïnvloeden. Dit kan gedaan worden door het samenpakken van producten. Dit houdt in dat er voor wordt gezorgd dat de discrete simulatie niet meer per product gegevens gaat bijhouden, maar een groepje producten gaat zien als één product en daarvan de gegevens bijhoudt. De variabelen van het discrete model moeten dan aangepast worden en natuurlijk moeten ook de buffergroottes aangepast worden op de samengepakte producten. Het gebruikte simulatiemodel klopt met de waardes uit de bron (Bierbooms, 2012). Hierbij is maar een kleine afwijking aanwezig. Met de omzetting naar het discrete model wordt de doorzet wel een stuk kleiner dan bij het vloeistofmodel. Het kan zijn dat er nog een compensatie moet worden toegevoegd aan de vorm van de verdeling of dat die verdelingen niet overeen komen. Ook wordt er in de parameters van het discrete model geen rekening gehouden met het feit dat de kans erg klein is dat in opeenvolgende servicetijden er een storing plaatsvindt en dus een reparatietijd nodig is. Voor het discrete model lijkt het samenpakken van ongeveer een duizendste van het aantal producten van de doorzet van het vloeistofmodel de beste waardes te geven. Hierbij is de simulatietijd voor het discrete model een stuk afgenomen en de doorzet nauwelijks veranderd. Verder is het betrouwbaarheidsinterval enorm verkleind. Bij deze hoeveelheden samengepakte producten is de omschakeling tussen de twee modellen makkelijker te maken, omdat er nog maar weinig tijdsverschil zit in de simulaties. Deze aanname is gedaan op de twee behandelde praktijkgevallen, hiervoor zal verder onderzoek gedaan moeten worden.
3
Bachelor Eind Project
Oriane Dierikx
Inhoudsopgave Samenvatting
2
Inhoudsopgave
4
1
Inleiding: Discreet model versus Vloeistofmodel 1.1 Discreet model 5 1.2 Vloeistofmodel 6 1.3 Vergelijking 6 1.4 Gebruikte praktijkvoorbeelden 6 1.5 Verslagopbouw 7
5
2
Simulatie 2.1 Discreet model 2.2 Vloeistofmodel
8
3
4
5
6
9 10
Omrekenen van de modellen 3.1 Vloeistofmodel naar discreet model 3.2 Discreet model naar vloeistofmodel
12 12 13
Opzet experimenten 4.1 Heineken 4.2 NXP 4.3 Samenpakken van producten
15 15 17 19
Resultaten 5.1 Heineken 5.2 NXP 5.3 Algemeen
20 20 23 25
Discussie
26
Bibliografie
28
Bijlage Het maken van een discreet simulatie model
29
4
Bachelor Eind Project
1
Oriane Dierikx
Inleiding : Discreet model versus Vloeistofmodel
In de praktijk zijn er veel verschillende fabricageprocessen. Alle processen hebben met elkaar gemeen dat er productie plaats vindt, maar wat deze productieprocessen precies doen en op welke manier ze hun eindresultaat behalen kan zeer verschillend zijn. Toch zijn er een aantal dingen die in elk proces terugkomen. Zo heeft elk productieproces een gemiddelde tijd waarin het bezig is met een voorgeschreven taak. Ook is het voor elk processtap aannemelijk dat er iets kapot kan gaan of dat er onderhoud moet worden gepleegd. Dit zorgt voor een variatie in de tijdsduur van het desbetreffende productieproces. Het gedrag kan worden beschreven met de wachtrijtheorie (Dieker, 2006). Deze theorie beschrijft de aankomst van een taak, product of klant bij een wachtrij. Hier is het mogelijk dat het product moet wachten of dat het meteen door kan naar de verwerkingseenheid. Zie tevens figuur 1.1.
Figuur 1.1 Beschrijving van de wachtrijtheorie (LimeWreck, 2005)
Hoe het proces kan worden beschreven hangt ook af van de grootte en de hoeveelheid van de producten die moeten worden verwerkt. Als de producten relatief groot zijn of de servicetijd van een product relatief lang is, kan elk product apart beschreven worden. Dit kan gedaan worden aan de hand van een zo geheten discreet model. Hierin zijn de producten nog duidelijk te onderscheiden van elkaar. Als deze producten daarentegen zeer klein zijn en een de verwerkingstijd kort is dan is het vaak voor de hand liggend om de productie als een vloeistofmodel te beschouwen. Dit houdt in dat de pakketten/producten dan niet meer afzonderlijk van elkaar worden gezien, maar als een vloeistofstroom kunnen worden beschouwd. 1.1 Discreet model Een discreet model is een model dat een fabricagelijn beschrijft waarin een duidelijk onderscheid te maken is tussen de verschillende producten die de lijn moeten doorlopen. Hierin worden alle productieprocessen op elk product toegepast. De verschillende productieprocessen zijn allemaal voorzien van gemiddelde servicetijden. Dit is de tijd dat een machine er per product gemiddeld over doet om de productiestap te voltooien. Als het proces wordt uitgevoerd op batches van producten, dan is de gemiddelde servicetijd de tijd per batch producten. Er moet ook rekening gehouden worden met een variatie coëfficiënt van de servicetijd. Deze variaties kunnen worden veroorzaakt doordat een machine ook een tijd stil kan komen te staan. Dit kan als oorzaak hebben dat de machine kapot is, of dat er onderhoud gepleegd moet worden aan de machine, waardoor hij tijdelijk niet in werking is. Het is ook
5
Bachelor Eind Project
Oriane Dierikx
mogelijk dat verschillende producten verschillende bewerkingstijden hebben, zodat hierdoor ook een variaties ontstaan in de servicetijd. 1.2 Vloeistofmodel In een vloeistofmodel wordt er geen onderscheid gemaakt tussen losse producten die worden verwerkt, maar alles kan worden beschouwd als een continu proces. Er wordt niet gerekend in een tijdseenheid per verwerkt product maar in een snelheid van aantal producten per tijdseenheid. Naast de snelheid die zorgt voor de stroming moet ook in dit model rekening gehouden worden met het feit dat de machines tijdelijk onbruikbaar kunnen zijn omdat ze kapot gaan, of omdat er onderhoud moet worden gepleegd. Ook in dit model heb je dus een gemiddelde tijd tussen twee periodes dat een machine niet werkt. Dit wordt de ‘breakdown’ tijd, ook wel genoemd. Bij een gemiddelde hoort natuurlijk ook een variatie. Ook het repareren/herstel van een machine, de ‘repair’ tijd, kost een bepaalde gemiddelde tijd, met een variatie. 1.3 Vergelijking Alle productieprocessen zijn dus te beschrijven met ofwel een discreet model ofwel een vloeistofmodel. Bij sommige processen is het duidelijk welk beschrijvend model gebruikt moet worden. Bij andere processen hoeft dit niet meteen duidelijk te zijn en kan het mogelijk zijn om het proces met beide modellen te beschrijven. Het kiezen voor een minder voor de hand liggende methode kan zorgen voor een sterke vermindering van het rekengeheugen en/of tijd. Hieronder zal gekeken worden onder welke omstandigheden de twee modellen toegepast mogen worden en of en wanneer deze modellen inwisselbaar zijn met elkaar. Als ze voor elkaar ingewisseld kunnen worden zal het nodig zijn randvoorwaarden te bepalen. Ook zullen simulatiemodellen nodig zijn om deze modellen met elkaar te vergelijken. De parameters van de verschillende modellen kunnen in elkaar worden omgeschreven, al zijn hier soms randvoorwaarden voor nodig om de uitkomsten van de modellen met elkaar te kunnen vergelijken. Deze vergelijking is nodig om antwoord te geven op een aantal vragen. De vraag is of het discrete model sneller gemaakt kan worden zonder dat de gegevens gaan afwijken. Onderzocht zal worden tot op welke factor dit gedaan kan worden. Ook zal er gekeken worden naar de verschillen in de uitkomsten van de modellen en zal er een verklaring worden gezocht. Daarnaast is het gewenst om het mogelijk te maken om de verschillende modellen voor elkaar te kunnen inwisselen. Het is dus de vraag of dit zomaar mag. Waar het uiteindelijk om gaat, is in de vergelijking van het discrete model met het vloeistofmodel, waarbij het vloeistofmodel van nature sneller werkt. De wens is om het discrete model zodanig aan te passen zodat ook dit model binnen een redelijke tijd juiste waardes kan produceren. Om dit te realiseren wordt het discrete model doorgerekend met producten die worden samengepakt en gezien als één product. Het gevolg hiervan is dat de simulatie minder gegevens zal opslaan, waardoor er sneller een resultaat bereikt zal worden. 1.4 Gebruikte praktijkvoorbeelden De voorbeelden uit de praktijk die worden gebruikt zijn die van Heineken en NXP (Bierbooms, 2012). Deze twee praktijkvoorbeelden kunnen worden beschreven als vloeistofmodellen omdat de 6
Bachelor Eind Project
Oriane Dierikx
geproduceerde aantallen heel groot zijn per tijdseenheid, vergeleken met de lengte van de aan en uittijden. Daarnaast is de simulatie voor een vloeistofmodel vele malen korter dan de simulatie van een discreet model, omdat voor een discreet model meer gegevens moeten worden opgeslagen voor de verschillende producten, wat dus veel rekengeheugen in beslag kan nemen bij grote simulaties. Heineken is een biermerk waar in het proces vele verschillende productiestappen nodig zijn om tot een goed en compleet eindproduct te komen. De afdeling waar naar gekeken wordt, is de verpakkingsafdeling. Deze zorgt voor het vullen van de flesjes en blikjes met bier en het aanbrengen van het juiste label op het juiste flesje. Tussen de verschillende machines worden de flesjes en blikjes over een lopende band vervoerd. Deze band dient tevens als opslag voor het geval dat de machines niet werken. Hierdoor zijn de banden langer dan nodig is voor het transport. NXP Semiconductors verzorgt kleine elektronische componenten. De gegevens die gebruikt zijn, komen van de productielijn uit China. In deze productielijn wordt een band door de productielijn heen gehaald waar negen machines zorgen voor het aanbrengen van kleine componenten. De gebruikte voorbeelden zijn, zoals eerder vermeld, beide van een vloeistof model, hierdoor is het dus van belang dat deze gegevens die hierbij bekend zijn omgezet kunnen worden in die voor een discreet model, zodat de uitkomsten vergeleken kunnen worden. Voor de beide gevallen zal dit voor elke machine apart gedaan moeten worden. 1.5 Verslagopbouw Om antwoord te kunnen geven op de onderzoeksvragen moet naar een aantal zaken gekeken worden. Ten eerste zal moeten worden uitgelegd wat een simulatie is en wat daarbij het modelmatige verschil is tussen een discrete simulatie en een vloeistof simulatie. Om van de ene simulatie om te kunnen schakelen naar de andere, zal een manier van omrekenen worden gegeven in hoofdstuk 3: Omrekenen van de modellen. Hierbij zal een manier worden gepresenteerd om de modellen allebei de kanten op te kunnen omzetten in elkaar. In hoofdstuk 4 zal gekeken worden naar de opzet van de experimenten. Er zal gekeken worden naar het soort bedrijven waarvan de gegevens komen en wat de keuze van de experimenten tot gevolg heeft voor de simulatie. Voor zowel Heineken als NXP zal een uitgebreide beschrijving worden gegeven van de data die hiervan beschikbaar zijn. De resultaten van de experimenten en de gerunde simulaties zullen in hoofdstuk 5 worden gegeven. Hierin wordt per productielijn een vergelijking gemaakt tussen het vloeistofmodel en het discrete model. De conclusie van de gemaakte vergelijking is te lezen in hoofdstuk 6 en zal aanduiden waar nog vervolgonderzoek mogelijk is of waar nog dieper op in gegaan kan worden.
7
Bachelor Eind Project
2
Oriane Dierikx
Simulatie
Tijdens het produceren van producten wordt vaak een aantal machines gebruikt die in een vaste volgorde afgegaan worden, voordat het product klaar is. De producten worden tussen deze machines verplaatst en eventueel opgeslagen in een zogenaamde buffer. Een simulatie is een manier om het werkelijke gedrag te imiteren zodat het met een computer kan worden doorgerekend. Voor een productielijn worden hiervoor de gegevens gebruikt die ook in de werkelijkheid op de lijn toepasbaar zijn. Dit geeft een snel en betrouwbaar resultaat, dat gebruikt kan worden voor het analyseren, verbeteren en ontwikkelen van processen. Vandaag de dag wordt deze methode steeds vaker toegepast (De opmars van simulatie in logistiek, 2007). De belangrijkste reden om een simulatie uit te voeren van een productielijn, is om te kijken of er ergens nog winst behaald kan worden door meer producten in dezelfde tijd geproduceerd te krijgen. Meer producten per tijdeenheid staat natuurlijk gelijk aan meer omzet, wat economisch gezien wenselijk is. Bij een simulatie kunnen grootte van een buffer of servicetijd van een machine eenvoudig worden aangepast, waardoor er gekeken kan worden naar de efficiëntie van de huidige lijn en waar eventueel nog winst te behalen valt. Zo kan een verandering in de huidige productielijn worden overwogen zonder al te veel risico te lopen. Er kan op voorhand worden geredeneerd of een extra machine ook extra omzet zal betekenen en of een extra ruimte in een buffer ook daadwerkelijk gebruikt zal worden. Een simulatiemodel zal gebruikt worden om de gegevens van een discreet model en van een vloeistofmodel te verwerken. Het simulatiemodel voor een discreet geval is hierbij speciaal ontworpen en geschikt gemaakt om aan alle vragen te voldoen, zie bijlage 1. Voor het vloeistofmodel is gebruik gemaakt van een al bestaand simulatie model. In beide simulatiemodellen zal worden uitgegaan van een fabriekslijn met een aanpasbaar aantal machines, waar buffers tussen worden geplaatst met een gelimiteerde capaciteit. Dit is geïllustreerd in figuur 2.1.
M1
B2
M2
B3
M3
Figuur 2.1 Een fabriekslijn met Machines en Buffers
Er wordt aangenomen dat zich vóór de eerste machine een oneindig grote buffer bevindt, die ervoor zorgt dat er een product in de lijn wordt gestuurd zodra machine 1 er een kan ontvangen. In de simulatie kan dit worden weergegeven door een grote buffer waarin het totaal aantal producten zich bevindt dat gesimuleerd moeten worden. Er bevindt zich ook een oneindig grote buffer achter de laatste machine die altijd een product kan ontvangen als de laatste machine er klaar mee is. Naast het kunnen opleggen van de variabele waarden van de machines, zoals de servicetijden, is het ook nodig de buffergroottes aan te kunnen passen. Dit kan worden gedaan door een apart bestand in te lezen, waarin deze waardes staan. In dit bestand zal ook het aantal gebruikte machines af te lezen zijn. Dit is om het eenvoudiger te maken om met andere waardes te simuleren. Het zorgt ervoor dat het niet 8
Bachelor Eind Project
Oriane Dierikx
nodig is om in het programma zelf te gaan zoeken om daar de juiste waardes aan te passen. Deze methode heeft als voordeel dat ze veel gebruiksvriendelijker is. De waardes die het programma moet kunnen produceren, zijn de gemiddelde doorlooptijd , het gemiddelde WIP level en de gemiddelde doorzet . Het WIP level geeft het aantal producten weer dat zich op een bepaald punt in de tijd in de productielijn bevindt. Hiervan zijn twee van de drie genoeg, omdat deze in elkaar om te rekenen zijn (Rooda & Vervoort, 2007) door middel van de formule van Little, zoals besproken wordt hieronder. De doorlooptijd is de tijd die een product er over doet om de hele lijn te doorlopen. Dus vanaf het moment dat een product machine 1 ingaat totdat het product de laatste machine verlaat. Bij het bijhouden van het WIP level moet rekening gehouden worden dat de productielijn wel eerst een steady state moet hebben bereikt, dit is als alle opstarteffecten weg zijn en geen veranderingen in de tijd meer optreden in de tijd. Dit kan worden gedaan door te zorgen dat er pas een gemiddelde WIP level wordt bijgehouden zodra het eerste product de laatste machine heeft verlaten en dat het berekenen van het gemiddelde WIP level stopt zodra het laatste product de eerste machine in gaat. De doorzet is te berekenen in de simulatie en is afhankelijk van de doorlooptijd en het WIP level. Deze is te berekenen met formule (2.1) die ook bekend staat als Little’s law (Rooda & Vervoort, 2007). (2.1) Daarnaast moet het programma ook rekening houden met de eindigheid van de buffercapaciteit. Dit houdt in dat als de buffer achter de betreffende machine zijn maximum heeft bereikt het product in de machine zal moeten wachten totdat er in de buffer weer een lege plaats is. Om het programma zo efficiënt mogelijk te maken zullen alleen de gemiddelde waardes van de doorlooptijd, het WIP level en de doorzet worden opgeslagen. Verder zullen alleen de starttijden van de aanwezige producten in de lijn worden bijgehouden om de doorlooptijd hieruit te kunnen berekenen. Het WIP level wordt berekend door bij elke tijdstap te controleren wat het aantal producten in de productielijn is tussen de eerste en de laatste machine. Dit wordt dan verrekend met het al bestaande gemiddelde van het WIP level. 2.1 Discreet model De gemaakte simulatie voor een discreet model houd rekening met het feit dat alle machines van een discreet model een gemiddelde servicetijd en een variatie hebben. In deze variatie wordt ook de kans op het stilliggen van de machine, door defecten of onderhoud, meegenomen. De waardes van de gemiddelde servicetijd en de variatie worden gebruikt om te bepalen hoe lang een machine er over doet om het product te verwerken. Hiervoor wordt een gamma distributie gebruikt, zodat het niet mogelijk is om een negatieve servicetijd te krijgen. De parameters die nodig zijn voor het berekenen van de gamma distributie zijn een vorm parameter en een schaal parameter . Dit houdt in dat deze parameters moeten worden omgerekend naar de bekende waardes van de gemiddelde servicetijd en de variatie . Dit kan met behulp van de volgende formules (Gamma distribution, 2012). 9
Bachelor Eind Project
Oriane Dierikx (2.2) (2.3)
Het gemiddelde kan worden beschreven met formule (2.2) en de variatie is gelijk aan formule (2.3). In formule (2.4) en formule (2.5) zijn deze waardes omgeschreven en ingevuld. (2.4) (2.5) Met formule (2.4) en formule (2.5) kan de gamma distributie worden toegepast. Bij de eerste en bij de laatste machine moeten er dus specifieke processen plaats vinden, daarom zijn deze los gesimuleerd, alle tussenliggende machines kunnen worden beschreven door middel van een meer algemene functie en kunnen zodoende onder een functie worden gestopt. 2.2 Vloeistofmodel De machines van een vloeistofmodel hebben meer variabelen dan die van een discreet model. Dit maakt dat de verkregen simulatie voor een vloeistofmodel anders moet worden opgezet dan dat van een discreet model. Bij een vloeistofmodel worden de producten niet als losse voorwerpen gezien maar gaat het meer om de doorstroming van deze producten. Zo wordt er gebruikt gemaakt van een gemiddelde snelheid van producten per tijdseenheid die door de machines heen gaan. Daarnaast wordt er gebruik gemaakt van een gemiddelde en standaard afwijking van tijden dat een machine werkt en van de reparatietijden die een machine nodig heeft. Zo zijn er dus vijf variabelen die nodig zijn om een vloeistofmodel te beschrijven. Met een verdeling wordt bepaald hoe lang een machine blijft werken. Hiervoor worden de coëfficiënten gebruikt van de zogenaamde ‘breakdown’ tijden. Dit zijn de tijden dat een machine aan één stuk door werkt en worden beschreven door een gemiddelde, , en een standaard deviatie, . Als de machine een storing ondergaat dan moet er met een verdeling ook een reparatietijd gevonden worden. Deze tijd bestaat ook uit een gemiddelde tijd, , en een standaard deviatie, . Zolang de machine werkt zal de snelheid waarmee de producten door de machine gaan een rol spelen. Met deze snelheid zal de buffer voor de machine worden geleegd en de buffer achter de machine worden gevuld. Als de machine niet werkzaam is, dan zal de buffer voor de machine vol lopen en de buffer achter de machine zou leeg kunnen raken als de machines verderop in de productielijn nog wel in werking zijn. Het is ook mogelijk dat de buffer voor een machine geen producten meer bezit. In dit geval doet de machine niets, maar kan hij direct aan het werk als er producten in de buffer komen en de machine niet in de tussentijd uit is gegaan vanwege defecten of onderhoud. De status van de buffers rondom een machine is dus deels bepalend voor de snelheid waarmee de producten door de machine kunnen worden gehaald. Dit zit ingebakken in de manier waarop de simulatie gedefinieerd is. Als de buffer voor de machine leeg is zal deze machine de snelheid aannemen 10
Bachelor Eind Project
Oriane Dierikx
waarop de producten aankomen. Dit houdt in dat deze machine de snelheid van de voorgaande machine aanneemt. Als de buffer achter de machine vol is houdt dit in dat de snelheid van de machine zich zal aanpassen aan de snelheid van de machine achter de desbetreffende machine, want in die snelheid kan de machine zijn producten kwijt aan de achterliggende buffer.
11
Bachelor Eind Project
3
Oriane Dierikx
Omrekenen van de modellen
Om twee modellen te kunnen vergelijken zullen de gegevens die in de modellen gaan vergelijkbaar moeten zijn. Om hiervoor te zorgen is het van belang dat de gegevens van een specifiek model omgezet kunnen worden naar gegevens van het andere model. De variabelen gegeven bij een discreet model of een vloeistof model zijn zeer verschillend. Toch zal het nodig zijn een manier te vinden om deze variabelen in elkaar te kunnen omschrijven. Hiervoor zullen een aantal formules en aannames gemaakt worden. De variabelen die bij de verschillende modellen horen zijn te zien in tabel 1. Tabel 3.1: De verschillende variabele die worden gebruikt voor de verschillende modellen
Discreet model Aantal machines [ uur/product ] [ uur/product ] Buffergrootte (int)
Vloeistofmodel Aantal machines voor de gemiddelde tijd [ uur/eenheid ] voor breakdown tijd [ uur ] voor reparatietijd [ uur ] Buffergrootte (reëel )
3.1 Vloeistofmodel naar discreet model De variabelen voor het vloeistof model zullen dus zo moeten worden omgeschreven dat er een gemiddelde en een variatie uitkomt voor een discreet model. Dit kan gedaan worden door de kansen uit te rekenen dat er bepaalde gebeurtenissen plaatsvinden in het vloeistof model. Met deze kansen kan dan een omrekening gemaakt worden. De variatie van het discreet model bevat ook de variatie die wordt veroorzaakt door het kapot gaan van de machines. Deze wordt in het vloeistofmodel apart gedefinieerd. De kans dat in een servicetijd de machine kapot gaat is te bepalen met formule (3.1). (3.1) De verwachtingswaarde van de gemiddelde servicetijd voor een discreet model is dan te berekenen met de volgende formule. Dit is de servicetijd van een product waarbij de tijd opgeteld is die het duurt om de machine te maken als de machine faalt, vermenigvuldigd met de kans dat er een reparatie nodig is. (3.2) De variatie kan worden weergegeven met de volgende formule. (3.3) Dit is tevens om te schrijven in de volgende vorm. (3.4)
12
Bachelor Eind Project
Oriane Dierikx
De verschillende variaties, van de servicetijd en de reparatietijd, zijn op te tellen dit is weergegeven in formule (3.5). (3.5) De variatie in de servicetijd, , is gelijk aan nul. Verder is het mogelijk om het tweede moment op te tellen met behulp van de kans op het voorkomen van het tweede moment. Dit is te zien in formule (3.6). (3.6) Met formule (3.4) zijn
, wat het tweede moment is bij de optelling van de reparatietijd met de
servicetijd, en , het tweede moment bij de servicetijd, om te schrijven naar formule (3.7) en formule (3.8). Ook hierbij moet rekening gehouden worden dan de variatie in snelheid kan worden weggelaten. (3.7) (3.8) Dit maakt dat formule (3.6), met behulp van formule (3.7) en formule (3.8), om te schrijven is tevens gebruikmakend van formule (3.1) naar formule (3.9) (3.9) Hiermee is de standaarddeviatie, , te berekenen, zie formule (3.10). Dit is te doen door het omschrijven van formule (3.9). Dit houdt ook in dat het kwadraat van de standaarddeviatie van het discrete model weggewerkt zal moeten worden. (3.10) 3.2 Discreet model naar vloeistofmodel De twee variabelen van het discrete model zullen zodanig omgezet moeten worden dat de vijf variabelen van het vloeistofmodel naar voren komen. In het kader van dit werkstuk zal deze mothode niet gebruikt worden, maar dient als achtergrond informatie en is noodzakelijk als er een discreet model beschikbaar is en daar een vloeistofmodel van gemaakt moet worden. In deze omrekening moeten alle tijden in seconden worden ingevuld. Het gevolg van het bovenstaande is dat een aantal aannames gemaakt moeten worden, als er geen gegevens beschikbaar zijn die hierbij kunnen bijdragen. Hierbij is het van belang dat als de standaarddeviatie van de servicetijd van het discrete model gelijk is aan nul, de tijd tussen twee storingen gelijk is aan oneindig, omdat er geen variatie is, dus de servicetijd altijd gelijk is en er geen onderbrekingen ontstaan. Hieruit volgt aanname 1 gegeven in formule (3.11). (3.11)
13
Bachelor Eind Project
Oriane Dierikx
Een andere aanname die gemaakt kan worden is dat de gemiddelde reparatietijd gelijk is aan de standaarddeviatie van het discrete model. Dit omdat een groot deel van de standaarddeviatie van het discrete model voortvloeit uit het feit dat er een reparatietijd is. Dit is tevens de grootste factor die zorgt voor variatie. Dit maakt aanname 2 gelijk aan formule (3.12). (3.12) De derde en laatste aanname die gedaan wordt, heeft te maken met de standaarddeviatie van de tijd tussen twee storingen. Deze achten we gelijk aan het gemiddelde die tijd. En kan daardoor gelijk worden gesteld aan formule (3.13). (3.13) Met deze aannames kunnen de gevonden formules in paragraaf 3.1 gebruikt worden om de gemiddelde tijdsduur, , van een product te vinden en de standaard deviatie van de reparatietijd, . Zo kan door formule (3.2) om te schrijven en daarbij formule (3.11) en (3.12) in te vullen een formule worden gevonden voor de gemiddelde tijdsduur per product. (3.14)
Door de aannames, formule (3.11), formule (3.12) en formule (3.13) in te vullen in formule (3.10) en deze om te schrijven, kan de formule voor de standaard deviatie in reparatietijd worden gevonden. Deze wordt beschreven in de volgende formule.
(3.15)
14
Bachelor Eind Project
4
Oriane Dierikx
Opzet experimenten
Om te kijken bij realistische waardes zijn er twee voorbeelden uit de praktijk die naar voren komen: het productieproces van Heineken en het productieproces dat gebruikt wordt bij NXP. De gegevens van deze praktijkvoorbeelden komen uit ‘Performance Analyses of Production Lines’ (Bierbooms, 2012). Deze beide processen worden neergezet als vloeistofmodellen. Deze aanname mag worden gemaakt, omdat de snelheden van de machines heel hoog zijn in verhouding met de tijden tussen twee momenten dat de machines niet werken en de reparatietijden. De productielijn is bij beide voorbeelden zo gemaakt dat de eerste machine nooit zonder aanvoer zit van nieuwe producten en dat de laatste machine altijd zijn producten kwijt kan aan een buffer achter deze machine. Er wordt ook aangenomen dat er geen transporttijden zijn tussen de verschillende machines, maar dat zich tussen deze machines wel een buffer bevindt waar de producten worden opgeslagen als dit nodig blijkt te zijn. Dit houdt in dat als de buffer leeg is – en zo ook de eerstvolgende machine – het product direct verder geproduceerd kan worden. Een andere aanname is dat een machine alleen een storing kan krijgen of stil komen te liggen als de machine daadwerkelijk in gebruik is. De tijden tussen de twee storingen en de reparatietijden zijn onafhankelijk van elkaar, net als de tijden van de machines onderling. Buffers tussen de machines in kunnen helemaal leeg raken en vol. Dit houdt in dat de machines die eromheen liggen worden beïnvloed door de status van de buffer. Als de buffer vol zit, dan zal de machine voor de buffer geblokkeerd raken, omdat deze zijn producten niet meer door kan voeren naar de buffer. Als de buffer leeg is, dan zal de snelheid van de doorstroom in de machine na de buffer worden beïnvloed. Deze zal lager worden dan de machine aan kan, omdat alleen de producten die de buffer inkomen meteen kunnen worden verwerkt. Dit kan ook effect hebben verderop in de fabricagelijn. 4.1 Heineken Van de verpakkingsafdeling van Heineken in ’s-Hertogenbosch zijn gegevens verzameld. Dit is de laatste stap van het productieproces van deze bierbrouwer. In deze fase worden de flesjes of blikjes met bier gevuld en zo geproduceerd dat ze klaar zijn voor de verkoop. De flesjes worden eerst langs de uitpakmachine gestuurd, waar de lege flesjes worden verplaatst vanaf pallets naar een transportband. Hierna gaan de flesjes door naar de vulmachine. Deze pakt de flesjes, vult ze met bier en plaatst de dop op de fles, waarna de flesjes op de volgende transportband worden gezet. Deze transportband vervoert de flesjes naar de pasteuriseermachine, waar de flesjes worden verhit en gekoeld. Dit is belangrijk voor de conservatie. Hierna komen de flesjes aan bij een machine die de flesjes van het juiste label voorziet en ze doorstuurt naar een verpakmachine. Deze verpakmachine verpakt de flesjes als sixpack of laadt de flesjes in een krat. De laatste machine zorgt ervoor dat de sixpacks of kratten worden gestapeld op een pallet, zodat ze naar de consument kunnen worden vervoerd.
15
Bachelor Eind Project
Oriane Dierikx
De transportbanden die tussen de machines in zitten dienen tevens als buffer om variatie in verschillende snelheden van de machines op te vangen. Dit zorgt ervoor dat de transportbanden soms langer zijn dan noodzakelijk en uitgerust zijn met bochten en hoeken. Om een correcte simulatie te kunnen bewerkstelligen zijn er voor elke machine een aantal gegevens nodig. Voor elke machine is het nodig om te weten hoeveel tijd er gemiddeld tussen twee defecten zit en wat daarvan de standaard deviatie is. Daarnaast is het nodig om een gemiddelde van de reparatietijd te hebben met natuurlijk ook een standaard deviatie. Het is tevens van belang om te weten met welke snelheid een machine producten kan verwerken en hoeveel producten er in de buffers passen, die zich voor en achter de machine bevinden. De snelheid van de productielijn hangt af van een aantal dingen. Deze kan afhankelijk zijn van innerlijke verliezen in een machine zelf. Dit kan te maken hebben met het feit dat sommige producten meer of minder tijd eisen om een handeling gedaan te krijgen. Het kan ook dat de buffers om de machine zorgen voor een aanpassing in de productiesnelheid, omdat deze leeg zijn, of juist vol. Omdat het simulatiemodel al met dit laatste rekening houdt, zal de machinesnelheid alleen moeten worden aangepast op variaties door interne redenen. De benodigde data zijn te vinden in tabel 4.1. De buffergrootte is gegeven in natuurlijke getallen. De snelheid is gegeven in flesjes per uur en de rest van de waardes is gegeven in seconden. Hierbij staat ‘ ’ voor de gekwadrateerde coëfficiënt van de variatie. De Buffer achter de inpakmachine hoeft geen opgegeven grootte te hebben, omdat aangenomen is dat deze buffer nooit vol zal raken en op elk moment beschikbaar is om producten af te nemen van de inpakmachine. Tabel 4.1: Bekende waardes voor de machines van Heineken
Tijd tussen twee defecten
Reparatietijd
Machine
Gemiddelde [s]
Gemiddelde [s]
Uitpakmachine Vuller Pasteurisator Labeller Verpakkingsmachine Inpakmachine
8700 1524 5702 352 651
3,65 3,00 1,03 6,60 3,17
165 118 167 70 67
13906
4,62
177
Snelheid [prod./ uur]
Buffergrootte
36,79 6,38 4,34 36,99 11,06
56000 45120 46000 47250 48960
8540 4722 8041 7558 6039
3,06
56000
-
Om de juiste waardes uit deze gegevens te halen zijn wat omrekeningen nodig. Zo is het noodzakelijk om alle gegevens die nodig zijn voor het vloeistofmodel in te vullen in uren. Dit betekent dat de gemiddelde tijden een deling moeten ondergaan. Voor het omrekenen van de gekwadrateerde coëfficiënt van de variatie naar de standaard deviatie is formule (4.1) nodig. Waar gelijk is aan de gekwadrateerde coëfficiënt van de variatie, gelijk is aan de variatie en gelijk is aan het kwadraat van het gemiddelde. 16
Bachelor Eind Project
Oriane Dierikx
(4.1) Formule (4.1) is zodanig om te schrijven dat de standaard deviatie te vinden is, zie formule (4.2). De standaard deviatie is nodig om in het simulatiemodel voor het vloeistofmodel te gebruiken. (4.2) De buffergrootte blijft uiteraard wel gelijk, net als de snelheid, omdat deze al in de juiste eenheden gegeven is. De rest van de gegevens kunnen gevonden worden in tabel 4.2. Dit zijn de waardes die van toepassing zijn als de invoer voor het simulatiemodel gemaakt wordt. Tabel 4.2: Omgeschreven waardes van de machines van Heineken
Tijd tussen twee defecten
Reparatietijd
Snelheid [prod./ uur]
Buffergrootte
Machine
Gemiddelde [uur]
Standaard deviatie
Gemiddelde [uur]
Standaard deviatie
Uitpakmachine Vuller Pasteurisator Labeller Verpakkingsmachine Inpakmachine
2,416 0,423 1,583 0,097 0,181
4,617 0,733 1,607 0,251 0,322
0,056 0,033 0,046 0,019 0,019
0,288 0,083 0,097 0,118 0,062
56000 45120 46000 47250 48960
8540 4722 8041 7558 6039
3,863
8,302
0,049
0,086
56000
-
Om deze waardes te kunnen vergelijken met het discrete model zullen de waardes van het vloeistofmodel moeten worden omgezet aan de hand van hoofdstuk 3. Voor het discrete model moeten de waardes juist in seconden worden ingevuld, dit houdt in dat tabel 4.2 moeten worden omgezet. Hierbij moeten het gemiddelde en de standaard deviaties vermenigvuldigd worden met 3600 en de snelheid zal gedeeld moeten worden door 3600. De buffergroottes zijn gelijk voor het discrete model. Als de waardes voor het discrete model berekend zijn, dan kan dit model gerund worden. Deze waardes zullen idealiter zo veel mogelijk overeen komen. 4.2 NXP NXP Semiconductors produceert kleine elektrische componenten in Guangdong, China. Van deze productielijn zijn ook gegevens beschikbaar. Het gaat hier om een productielijn met negen opeenvolgende machines waarbij kleine componenten worden gemonteerd op een band die op hoge snelheid door de machines heen loopt. De negen machines die gepasseerd worden, voeren drie verschillende operaties uit. De eerste vier machines voeren een ‘die bonding’ uit. Deze machines zetten een geïntegreerde schakeling op een onderlegger. Deze handeling wordt gedaan door een ADAT machine, de processen van deze machine zullen dan ook A-machines genoemd worden. Hierna gaan de producten door naar een opeenvolging van vier machines die zorgt voor gouden draden die een verbinding leggen tussen de geïntegreerde 17
Bachelor Eind Project
Oriane Dierikx
schakeling en de basis. Dit gebeurt op de zogenaamde Phicom machine, vandaar dat deze machines aangeduid worden met P-machines. De laatste machine is de Multi-Plunger, een gietmachine die alles voorziet van een beschermlaag van plastic. Over deze machine zijn geen gegevens, dus deze zal in de simulatie worden verwaarloosd en niet meegenomen. De volgorde van de machines zal dan als volgt zijn: A1, A2, A3, A4, dan P1, P2, P3 en als laatst P4. P4 zal in dit geval dienen als afsluitende machine en de doorzet zal berekend worden met deze machine als laatste. De gegevens die bij deze machines horen zijn te vinden in tabel 4.3. De buffergrootte is gegeven in natuurlijke getallen, de snelheid is gegeven in producten per uur en de rest van de waardes is gegeven in seconden. Tabel 4.3: Bekende waardes voor de machines van NXP
Tijd tussen twee defecten
Reparatietijd
Machine
Gemiddelde [s]
Gemiddelde [s]
A1 A2 A3 A4 P1 P2 P3 P4
1289 1616 1844 1539 2764 2719 1933 1549
2,30 2,10 2,03 1,74 2,14 2,45 2,56 2,61
193 221 171 157 231 211 211 178
8,45 22,40 11,60 14,27 5,81 4,57 5,06 5,61
Snelheid [prod./ uur]
Buffergrootte
17225 17270 16885 16795 16446 16559 16708 16785
2250 2250 2250 2250 2250 5750 5750 -
Weer is de buffer na de laatste machine er een waar geen limiet op zit en die op elk moment producten kan ontvangen. Op dezelfde manier als bij Heineken kunnen de waardes uit tabel 4.3 worden omgerekend naar waardes die ingevoerd moeten worden voor de simulatie van het vloeistofmodel. Dit lijdt tot tabel 4.4. Tabel 4.4: Omgeschreven waardes van de machines van NXP
Tijd tussen twee defecten
Reparatietijd
Machine
Gemiddelde [uur]
Standaard deviatie
Gemiddelde [uur]
Standaard deviatie
A1 A2 A3 A4 P1 P2 P3 P4
0,358 0,449 0,512 0,428 0,768 0,755 0,537 0,430
0,543 0,651 0,730 0,564 1,123 1,182 0,859 0,695
0,054 0,061 0,048 0,044 0,064 0,059 0,059 0,049
0,156 0,291 0,162 0,165 0,155 0,125 0,132 0,117
18
Snelheid [prod./ uur]
Buffergrootte
17225 17270 16885 16795 16446 16559 16708 16785
2250 2250 2250 2250 2250 5750 5750 -
Bachelor Eind Project
Oriane Dierikx
Ook voor NXP zullen er waardes moeten worden omgerekend van het vloeistofmodel naar het discrete model. Net als bij Heineken zullen de waardes uit tabel 4.4 aangepast moeten worden om deze vervolgens te kunnen omrekenen naar waardes voor het discrete model. Hierbij wordt gebruik gemaakt van de theorie die beschreven staat in hoofdstuk 3. 4.3 Samenpakken van producten Omdat een discreet model veel meer data bijhoudt van de producten in het systeem, duurt de simulatie van een discreet model langer dan dat van een vloeistofmodel. Om het verschil in tijdsduur te verminderen, is de vraag of producten kunnen worden samengepakt in een discreet model. Dit houdt in dat het discrete model niet per product de stappen gaat berekenen, maar dat de simulatie gaat kijken naar een aantal producten tegelijk. Daarbij moet gekeken worden naar de grootte van de samenpak van producten. Een samenpak is een aantal producten dat in de simulatie niet langer gezien wordt als losse producten, maar deze groep producten wordt behandeld alsof het één product is. Er moet een vergelijking komen tussen de hoeveelheid geaggregeerde producten en de precisie van de doorzet ten opzichte van het vloeistofmodel. Wat verder ook interessant is, is de tijdswinst die wordt behaald door het samenpakken van producten. Dit samenpakken wordt gedaan door in het vloeistofmodel de snelheid aan te passen naar de hoeveelheid samengepakte producten. Als bijvoorbeeld er n producten worden samengepakt en aangeboden aan het discrete model als één product, dan moet de snelheid van het vloeistofmodel worden gedeeld door n. Dit is alleen noodzakelijk bij het omrekenen van de variabelen, voor het omrekenen wordt namelijk gebruik gemaakt van de waardes van het vloeistofmodel. Dit wordt gedaan als er geen sprake is van een samenpak van producten, dus als er wel producten worden samengepakt moeten de waardes van de variabelen alsnog berekend worden vanuit de variabelen van het vloeistofmodel. De tijden van de reparatietijd en die van de tijden tussen twee defecten blijven gelijk, omdat deze tijden niets te maken hebben met het aantal producten dat door de lijn loopt, maar met de machines. De machines blijven natuurlijk gelijk, dus de tijden die daarbij horen ook. Voor alle machines moet dit gedaan worden. De formules die daarbij gebruikt kunnen worden staan in paragraaf 3.1. De buffergroottes moeten bij de input van het discrete model ook aangepast worden. Er moet ook hier gedeeld worden door het aantal producten dat wordt samengepakt. Als dit niet wordt gedaan, zou de buffer groeien naarmate er meer producten tegelijk worden behandeld. Dit is natuurlijk onmogelijk, vandaar dat deze waarde aangepast moet worden. De waarden voor de doorzet die uit de simulatie komen moeten nog wel aangepast worden. Dit is namelijk de doorzet voor het aantal samengepakte producten. Om ze te kunnen vergelijken moet deze doorzet nog vermenigvuldigd worden met het aantal producten dat is samengepakt. Tevens is deze doorzet gegeven in producten per seconde en zal dus ook omgerekend moeten worden naar producten per uur.
19
Bachelor Eind Project
5
Oriane Dierikx
Resultaten
De resultaten van de simulaties zullen in dit hoofdstuk worden besproken. Hierbij worden de twee praktijkvoorbeelden apart van elkaar behandeld. Omdat de werkwijze bij beide voorbeelden vaak hetzelfde is, zal dit alleen bij het Heineken voorbeeld worden toegelicht. 5.1 Heineken Als eerste is een controle nodig of het simulatiemodel ook daadwerkelijk de juiste waardes geeft. Dit wordt gedaan door het vergelijken van waardes van de doorzet die worden gegeven bij de praktijkvoorbeelden (Bierbooms, 2012) en de doorzet van de eigen simulatiewaardes. Hiervoor is het nodig dat alle tijden die voorkomen in de vloeistofparameters worden weergegeven in uren en dat de buffergroottes allen op nul producten wordt gezet. Dit houdt in dat er zich geen buffers tussen de machines in bevinden. Hiermee kan de doorzet worden berekend en een gemiddelde worden bepaald uit 5 gerunde simulatiewaardes. Het gemiddelde van deze doorzet kan worden vergeleken met de waardes uit de bron. Zie tabel 5.1. Tabel 5.1: Gesimuleerde waardes zonder buffers van Heineken voor het vloeistofmodel
Simulatie nummer 1 2 3 4 5 Gemiddelde Gegeven gesimuleerde waarde Gegeven theoretische doorzet
Doorzet (producten/uur) 31275,8 31324,5 31353 31373,2 31329,7 31331,24 31340 31353
De gemiddelde waarde van de simulatie heeft een afwijking van 0,02795 procent ten opzicht van de simulatiewaarde uit de bron. In de bron (Bierbooms, 2012) zijn ook doorzetwaardes te vinden bij buffers die oneindig groot zijn, dit houdt in dat de buffers nooit vol kunnen raken. Om nog een extra controlestap uit te voeren zijn deze waardes ook vergeleken met de gebruikte simulatie. Dit is te zien in tabel 5.2. Tabel 5.2: Gesimuleerde waardes met oneindige buffers van Heineken voor het vloeistofmodel
Simulatie nummer 1 2 3 4 5 Gemiddelde Gegeven gesimuleerde waarde Gegeven theoretische waarde
Doorzet (producten/uur) 39450,8 39346,1 39395,8 39378,6 39421,1 39398,48 39439 39441
20
Bachelor Eind Project
Oriane Dierikx
De simulatiewaarde met de oneindige buffers heeft een afwijking van 0,1027 procent ten opzichte van de gesimuleerde waarde uit de bron. In tabel 5.1 en tabel 5.2 is te zien dat het simulatie model goed overeenkomt met de waardes uit de bron (Bierbooms, 2012). Er mag dus aangenomen worden dat het model goed functioneert. Om te bepalen hoe groot de doorzet is bij de echte productielijn, zal er gebruik gemaakt moeten worden van de gegevens uit tabel 4.2. Omdat aangenomen is dat het vloeistofmodel klopt, kan het gemiddelde van een aantal simulaties worden bepaald en daarmee kan het discrete model worden vergeleken. De waardes voor de doorzet die horen bij de input voor het vloeistofmodel zijn te vinden in tabel 5.3. Hierin is de gemiddelde doorzet te vinden van 36874 producten per uur. Met deze waarde van de doorzet zal het discrete model vergeleken worden. Tabel 5.3: Gesimuleerde waardes met werkelijke buffergrootte van Heineken voor het vloeistofmodel
Simulatie nummer 1 2 3 4 5 Gemiddelde
Doorzet (producten/uur) 36835,2 36936,6 36878,6 36819,7 36899,1 36873,84
Uit het discrete model komt een doorzet van 8,982740 producten per seconde, zie tabel 5.4. Dit is gelijk aan 32338 producten per uur. Dit is een verschil van 12,3 procent ten opzichte van het vloeistofmodel. Zoals gezien kan worden, zit er een redelijk groot verschil tussen de waarde van de doorzet van het vloeistofmodel en de doorzet van het discrete model. Dit verschil kan afkomstig zijn uit een verschil in de vorm van de verdeling van de tijden die worden gegenereerd. Ook kan het liggen aan een compensatie die moet worden toegepast op het discrete model. Het kan ook te maken hebben met de kans dat twee opeenvolgende servicetijden een storing zal meemaken erg klein is. In het vloeistofmodel zit deze kleine kans ingebakken, omdat de snelheid van de producten – en daarmee ook de tijd per product – erg veel hoger ligt dan de tijd tussen twee storingen. Voor het discrete model wordt dit niet meegenomen. Hierbij wordt voor elk product de tijd die het kost om een storing te repareren meegenomen, zelfs als er net een storing geweest is. Als we producten gaan samenpakken zullen de waardes van de doorzet veranderen. Aan de hand van de mate van verandering kan er een aanname gemaakt worden van hoeveel producten er samengepakt kunnen worden zonder dat de betrouwbaarheid van het discrete model vermindert. De betrouwbaarheid is de kans dat de waarde voor de doorzet daadwerkelijk rond het berekende gemiddelde ligt. Bij een procentueel kleine betrouwbaarheid is de waarschijnlijkheid dat de berekende doorzet klopt groter. Er is gekozen voor een aantal stappen in het samenpakken van producten. In eerste instantie is gekeken bij de verschillen tussen 1, 10, 100 en 1000 samengepakte producten. Deze verschillen waren significant. Om meer inzicht te krijgen is er tevens voor gekozen ook 50 en 500 producten samen te pakken. Hieruit blijkt dat vooral de kleine hoeveelheden samengepakte producten interessant zijn. Om nog meer in detail te treden is verder gekozen om ook 20, 32 en 37 producten 21
Bachelor Eind Project
Oriane Dierikx
samen te pakken. De samenpak van 32 en 37 producten is afgeleid uit een mogelijke afhankelijkheid tussen de doorzet in producten per uur en het aantal samengepakte producten. Er is gekozen om een duizendste van de doorzet van het discrete model (32338 producten per uur) mee te nemen en een duizendste van de doorzet van het vloeistofmodel (36874 producten per uur). Tabel 5.4: De doorzet van de producten na samenpakken van de producten van Heineken bij een discreet model
Aantal producten samengepakt 1 10 20 32 37 50 100 500 1000
Doorzet Doorzet Benodigde simulatietijd Betrouwbaarheid (producten/seconde) (producten/uur) (seconde) (%) 8,982740 8,99247 9,14770 9,06465 8.985191 9,0100 8,9731 9,000 9,129
32338 32373 32932 32568 32347 32436 31310 32400 32864
+/- 1260 144,6 14,2 13,0 13,4 13,0 13,3 14,5 16,4
5,3601 0,496137 0,020667 0,354447 0,137976 0,008577 0,022102 0,004621 0,004000
Om de gegevens uit tabel 5.4 goed te kunnen vergelijken, is figuur 5.1 gemaakt. Hierin is de gemiddelde doorzet te zien in producten per uur met het bijbehorende betrouwbaarheidsinterval. Ook is de tijd dat de simulatie erover doet weergegeven in seconde. 3.6
4 x 10 De doorzet en de tijd uitgezet tegen samengepakte producten
1500
3.4
1000
3.2
500
Tijd [sec]
Doorzet [producten/uur]
betrouwbaarheidsinterval gemiddeld tijd
3 0 10
1
2
10 10 aantal samengepakte producten
0 3 10
Figuur 5.1: Doorzet en simulatietijd tegen het aantal samengepakte producten van Heineken van het discrete model
22
Bachelor Eind Project
Oriane Dierikx
Het is gewenst dat de simulatietijd zo klein mogelijk is, maar dat de waarde van de doorzet ook betrouwbaar is en niet te veel zal afwijken van de doorzet bij een product. Dit omdat de doorzet bij een product van het discrete model het meest zou moeten lijken op de doorzet van een vloeistof model. In het geval van Heineken is te zien in figuur 5.1 dat de simulatietijd niet meer significant zal verminderen en ongeveer gelijk zal blijven vanaf 20 producten. Op die grens is ook het betrouwbaarheidsinterval zeer klein. Wel is er een redelijk verschil in de doorzet als die vergeleken wordt met de doorzet bij een product. Beter kan gekeken worden naar een samenpak van 37 producten. Hierbij lijkt de doorzet zeer veel op de doorzet zonder samenpak. De simulatietijd is hierbij nog steeds laag en het betrouwbaarheidsinterval klein. Hieruit kan geconcludeerd worden dat in het geval van Heineken voor een discreet model het beste 37 producten samengepakt kunnen worden. Als er meer producten samengepakt gaan worden wordt het betrouwbaarheidsinterval zeer klein, maar kan er niet meer van uit worden gegaan dat de doorzet een realistische waarde aanneemt. Nog kost deze simulatie meer tijd dan het vloeistofmodel, dat in een paar seconden klaar is. 5.2 NXP Ook voor NXP zal gekeken moeten worden of de waardes van de doorzet van het vloeistofmodel overeenkomen met de waardes van de doorzet uit de bron. In dit geval nemen we hiervoor de buffergroottes die in de daadwerkelijke productielijn voorkomen. Tabel 5.5: Gesimuleerde met buffers van NXP voor het vloeistofmodel
Simulatie nummer 1 2 3 4 5 Gemiddelde Gegeven gesimuleerde waarde Gegeven theoretische waarde
Doorzet (producten/uur) 12075,8 12078,9 12063,7 12115,3 12088,5 12084,44 12184 12638
De afwijking van het simulatiemodel ten opzichte van de bron is in dit geval 0,81714 procent. Ook voor de waardes van NXP kan dus worden aangenomen dat het simulatiemodel klopt. Bij het omrekenen van het vloeistofmodel naar het discrete model komt de doorzet van het discrete model uit op 9506 producten per uur. Dit is een verschil van 21,4 procent ten opzichte van de doorzet van het vloeistofmodel. Voor de herkomst van deze verschillen kan gekeken worden naar de mogelijke oorzaken gegeven in paragraaf 5.1. Van de gegevens in tabel 5.6 is een figuur gemaakt die de gemiddelde doorzet geeft met de bijbehorende betrouwbaarheid. De simulatietijd is eveneens weergegeven. Beide zijn uitgezet tegen het aantal samengepakt producten.
23
Bachelor Eind Project
Oriane Dierikx
Tabel 5.6: Doorzet van de producten na samenpakken van de producten van NXP bij een discreet model
Aantal producten samengepakt 1 9 10 11 12 50 100 500 1000
Doorzet Doorzet Benodigde simulatietijd Betrouwbaarheid (producten/seconde) (producten/uur) (seconde) (%) 2,640593 2,6349561 2,64957 2,629616 2,621976 2,71575 2,6612 2,741 2,734
9506 9486 9538 9467 9439 9777 9580 9868 9842
+/- 2280 18,3 19,4 18,6 19,0 19,3 19,1 21,0 22,6
0,8211 0.418090 0,123725 0,027788 0,281016 0,003979 0,013336 0,000230 0,000265
In figuur 5.2 is te zien dat er geen significante tijdwinst meer behaald wordt nadat 9 producten zijn samengepakt. Ook is te zien dat de gemiddelde doorzet sterk verandert als er meer dan 9 producten worden samengepakt. De betrouwbaarheid wordt wel steeds nauwkeuriger, tot ongeveer 50 samengepakte producten. Hierna is daarin geen significant verschil meer te herkennen. Voor NXP kan dus aangenomen worden dat het beste resultaat in de kortste tijd wordt behaald bij het samenpakken van 11 producten. De doorzet en de tijd uitgezet tegen samengepakte producten 9900
2500 betrouwbaarheidsinterval gemiddeld tijd
2000
9700
1500
9600
1000
9500
500
Tijd [sec]
Doorzet [producten/uur]
9800
9400 0 10
1
2
10 10 aantal samengepakte producten
0 3 10
Figuur 5.2: Doorzet en simulatietijd tegen het aantal samengepakte producten van NXP van het discrete model
24
Bachelor Eind Project
Oriane Dierikx
5.3 Algemeen Bij Heineken blijkt dat voor een discrete simulatie het beste 37 producten samengepakt kunnen worden, voor NXP blijkt 11 producten een betere waarde te leveren. Wat deze twee praktijkvoorbeelden gemeen hebben, is dat het gaat om relatief klein aantallen producten dat samengepakt is ten opzichte van de doorzet per uur. Ook is te zien dat het betrouwbaarheidsinterval op de gemiddelde doorzet sterk verbeterd wordt naar mate er meer producten samengepakt worden. De benodigde tijd voor simulaties is zeer veel korter als er producten worden samengepakt, dan wanneer dit niet gedaan wordt. Dit is een significant en gewenst resultaat. Het maakt het mogelijk om de modellen voor elkaar in te wisselen. Een en ander lijkt erop te wijzen dat een samenpak van ongeveer een duizendste van de doorzet van het vloeistofmodel de beste resultaten geeft, als gekeken wordt naar simulatietijd, doorzet en het betrouwbaarheidsinterval. Bij ongeveer een duizendste van de doorzet van het vloeistofmodel komt de doorzet in het discrete model van de samengepakte producten zeer sterk overeen met de doorzet zonder samenpak bij het discrete model. Ook de betrouwbaarheid is sterk toegenomen en de simulatietijd zit rond de minimale simulatietijd. Zoals in de plaatjes te zien zal de simulatietijd rond een bepaalde waarde blijven schommelen en niet verder dalen als er meer producten worden samengepakt. Dit is de minimale simulatietijd.
25
Bachelor Eind Project
6
Oriane Dierikx
Discussie
Bij het vergelijken van een discreet model met een vloeistof model moet er op een aantal zaken gelet worden: er moet een omrekenmodel gemaakt worden en er moeten praktijkvoorbeelden gevonden en gebruikt worden. Na dit gedaan te hebben kunnen de resultaten met elkaar vergeleken worden. Het is van belang dat een discreet model een vergelijkbare simulatietijd krijgt als het vloeistofmodel dat uit zichzelf zeer snel werkt. Een discreet model is logger en kost meer tijd, omdat dit van alle producten apart een aantal gegevens bijhoudt. Om toch gebruik te kunnen maken van een discreet model is het dus gewenst om het model zo aan te passen dat het sneller werkt. Omdat er niets veranderd kan worden aan de structuur van het opslaan van de gegevens, moet er gekozen worden om op een andere manier voordeel een tijdsvoordeel te bewerkstelligen. Dit kan gedaan worden door de producten die door de simulatielijn heen gaan niet langer te zien per product, maar ze samen te pakken en ze als groep te behandelen alsof er maar één product is. Deze methode zorgt ervoor dat de simulatietijd van het discrete model drastisch verminderd kan worden tot van een paar duizend seconden tot een factor honderd kleiner. Hiermee is het discrete model nog steeds langzamer en minder tijdsefficiënt als het vloeistofmodel dat in een paar seconden klaar is, maar het verschil is zeer veel kleiner geworden. De tijdsduur van de simulatie hoeft niet langer een belemmering te zijn om de keuze tussen de twee op aan te passen. Waar nog wel naar gekeken moet worden, is of de waardes van de doorzet met elkaar vergeleken kunnen worden. Dit blijkt nog problemen te geven. De doorzet van het discrete model is in beide bekeken praktijkgevallen lager dan de doorzet van het vloeistofmodel. Voor Heineken was dit verschil 12,3 procent en voor NXP zelfs 21,4 procent. Deze verschillen kunnen voortkomen uit de mogelijkheid dat de vorm van de gebruikte verdelingen niet overeenkomt. Hierbij is het tevens mogelijk dat in het discrete model een compensatie nodig is. Ook zit er een verband tussen de opeenvolgende procestijden. Dit wordt niet meegenomen in het discrete model. Zo is het niet erg waarschijnlijk dat in de servicetijd van opeenvolgende producten er twee storingen zullen plaatsvinden. Dit omdat de servicetijd ten opzichte van de tijd tussen twee storingen zeer klein is. Dit verband wordt niet meegenomen in het discrete model, hierdoor wordt op elk moment een deel van de reparatietijd meegenomen. Om een beter beeld te krijgen over de mogelijkheid of het inwisselen van de modellen toegestaan is in alle omstandigheden zal er meer onderzoek gedaan moeten worden naar de herkomst van dit verschil. Pas dan kan er echt sprake zijn van een goedgerichte keuze tussen de twee modellen. Eerder is al gesproken over de mogelijkheid om producten samen te pakken en in een discreet model te laten behandelen als ware het een product. Naast de verbeterde simulatietijd is het van belang dat ook de doorzet betrouwbaar blijft en dat het betrouwbaarheidsinterval klein wordt. Voor het geval van Heineken werd duidelijk dat een samenpak van 37 producten zorgde voor een doorzet die veel leek op de doorzet als er geen sprake was van samenpak. Voor NXP lag dit op 11 producten die moeten worden samengepakt. Deze waarde zijn ongeveer een duizendste van de doorzet 26
Bachelor Eind Project
Oriane Dierikx
die wordt behaald bij een vloeistofmodel. Mocht er vraag zijn van een omzetting van een vloeistofmodel naar een discreet model, dan is het een samenpakken van producten in het discrete model aan te raden. Er kan dan begonnen worden om te kijken naar een samenpak van een duizendste van de doorzet van het vloeistofmodel. Als de omzetting van de parameters van een vloeistofmodel naar een discreet model correct is berekend, is het zeer aannemelijk dat de waarde van de doorzet van het discrete model bij de samenpak van een duizendste van de doorzet van een vloeistofmodel goed zullen lijken op de doorzet van het vloeistofmodel. Daarnaast is de tijd die het kost om een discrete simulatie te gebruiken geen terughoudende factor meer. Dit zou een goed uitgangspositie zijn voor extra onderzoek. Uit een onderzoek met enkel twee praktijkvoorbeelden kan alleen een correlatie kan worden opgemaakt, maar kunnen nog geen goed onderbouwde theorieën voortkomen. Het zou dus interessant zijn om te zien of dit verband stand houdt bij andere willekeurige praktijkvoorbeelden. Het is ook mogelijk om te gaan kijken hoe de variabelen van een discreet model zodanig aangepast kunnen worden dat het samenpakken van producten ook mogelijk is als er alleen sprake is van een discreet model. Als dit bekend is, zou het namelijk mogelijk zijn om veel simulaties van processen te versnellen en aantrekkelijker te maken om het als discreet model door te rekenen.
27
Bachelor Eind Project
Oriane Dierikx
Bibliografie Bierbooms, R. (2012). Performance Analysis of Production Lines. In R. Bierbooms, Performance Analysis of Production Lines; Discrete and Continuous Flow Models (pp. 83-98). Eindhoven: Ridderprint. De opmars van simulatie in logistiek. (2007, September 17). Opgeroepen juli 2012, van Logistiek: http://www.logistiek.nl/Supply-Chain/erp/2007/9/De-opmars-van-simulatie-in-logistiekLOGDOS101044W/ Dieker, A. (2006, Maart 09). Extremes and fluid queues. Opgeroepen juli 2012, van Universiteit van Amsterdam: http://www.uva.nl/actueel/object.cfm/objectid=8458A81D-E6FC-4649901BA414B00236B1 Gamma distribution. (2012). Opgeroepen juni 2012, van Wikipedia: http://en.wikipedia.org/wiki/Gamma_distribution LimeWreck. (2005, November 14). Wachtrijsysteem. Opgeroepen juli 2012, van Wikimedia Commons: http://commons.wikimedia.org/wiki/File:Wachtlijnsysteem.png Rooda, J., & Vervoort, J. (2007). Analysis of Manufacturing Systems. In J. Rooda, & J. Vervoort, Analysis of Manufacturing Systems (pp. 7-12). Eindhoven: TU/e faculteteit Werktuigbouwkunde.
28
Bachelor Eind Project
Bijlage
Oriane Dierikx
Het maken van een discreet simulatie model
Voor het maken van een discreet model heb ik gekozen om te werken met Matlab. Om een discreet model op te zetten, moet nagedacht worden over wat we willen bereiken en welke gegevens we uit een simulatie willen halen. Een belangrijk aspect van de simulatie is het verkrijgen van de doorzet van de productielijn. Om deze doorzet te verkrijgen is gekozen voor het bijhouden van de doorlooptijd van de producten en daar een gemiddelde van te nemen en het bijhouden van het WIP level. Deze twee gegevens zijn om te rekenen door middel van formule (2.1) uit hoofdstuk 2 naar de doorzet. Dat is wat uiteindelijk van belang is. De opzet is gemaakt door een proces te laten lopen van 0 tot een bepaalde waarde van de Ordersize, het aantal producten dat de lijn moet verwerken. Hierbij wordt een product verwerkt door een minimaal aantal machines van 2. Dit omdat de eerste een speciale actie moet ondergaan om de begintijd van het product op te slaan. Deze begintijd is nodig om te kunnen bepalen hoe lang het product er over doet om de productielijn te doorlopen. De laatste machine moet bepalen hoe lang het product erover gedaan heeft door de begintijd, opgeslagen in de eerste machine, af te trekken van de huidige tijd. Deze doorlooptijd wordt dan gebruikt om de gemiddelde doorlooptijd bij te werken. De tijden die de machines erover doen om een product te verwerken wordt berekend met een gamma distributie. Hiervoor zijn de formules (2.4) en (2.5) nodig voor de omzetting van de variabelen, omdat hier niet gewerkt kan worden met en . Het WIP level wordt ook elke tijdstap bijgewerkt. Dan wordt gekeken van hoeveel producten een begintijd is opgeslagen, omdat dit gelijk staat aan het aantal producten in het systeem. Dan wordt dit aantal verwerkt in het gemiddelde WIP level. De tijd is opgezet in ‘eventtijden’. Dit houdt in dat de tijd alleen wordt aangepast als iets in de simulatiewaardes veranderd is, dit voorkomt onnodig rekenen wat het model alleen maar vertraagd en niets toevoegt. Verder zijn alle variabelen aan te passen in een apart bestand, waardoor niet per ongeluk iets verandert kan worden in het simulatiemodel en waardoor het beter toegankelijk wordt, omdat men niet de code hoeft te kunnen lezen om met het model te kunnen werken. Zo zijn het aantal machines dat gebruikt wordt aan te passen, het gemiddelde en de standaarddeviatie van die machines en de grootte van de tussenliggende buffers.
29