fbpx

FIFO: Určení velikosti FIFO fronty

FIFO je velmi důležitým nástrojem k nastolení PULL výrobního systému. A často je tento přístup kombinován s Kanbanem. Pro výpočet Kanban karet můžete najít velkou soustu informací, ale pro určení velikosti FIFO front už tak moc informací nenajdete. V tomto příspěvku vám sdělím, jak určíte velikost FIFO front.

(Přeloženo z originálu “Determining the Size of Your FiFo Lane – The FiFo Formula”, autorem je Christoph Roser na blogu www.allaboutlean.com)

Velikosti front (Image by Christoph Roser with permission on AllAboutLean.com)

Matematicky správné, ale prakticky nepoužitelné řešení

Nejprve vás chci seznámit s matematicky správným přístupem, který je v praxi ale absolutně nepoužitelný. Matematický přístup využívá pravděpodobností funkci. Předpokládejme, že máte dva procesy – A a B, které jsou náhodně rozděleny dle obrázku níže.

FIFO fronta mezi dvěma procesy (Image by Christoph Roser with permission on AllAboutLean.com)

Na dalším obrázku máte příklad dvou pravděpodobnostních funkcí těchto procesů. Jedná se funkce vykazující normální rozdělení. Není úplně ideální, když procesní časy vypadají jako ty níže uvedené, jelikož začínají v minus nekonečnu, takže mohou nabývat záporných hodnot. Nicméně se jedná o nejznámější funkce, které jsou v našem případě především ilustrativní, takže je možné je použít pro toto vysvětlení principu.

Pravděpodobnostní funkce procesů (Image by Christoph Roser with permission on AllAboutLean.com)

Matematicky to lze vyjádřit pomocí dvou funkcí hustoty pravděpodobnosti, které jsou zde uvedeny pro normální rozdělení:

První proces (A) má průměrný čas 5 sekund a směrodatnou odchylku 1 sekundu. Druhý proces (B) je sice o něco pomalejší, s průměrným časem 5,5 sekundy, ale vykazuje menší směrodatnou odchylku o hodnotě 0,5 sekundy. Znamená to, že proces B je úzkým místem. Občas však může dojít k situaci, kdy bude proces A tím pomalejším, čímž se bude dočasně dostávat do pozice úzkého místa.

Zpomalování procesů se snažíme předejít s pomocí zásob. Čím více zásob budeme mít, tím je méně pravděpodobné, že by proces B byl ještě více zpomalen procesem A. V důsledku toho dojde k navýšení celkového výstupu systému. Musíte si ale uvědomit a zapamatovat, že ať už uděláte se zásobami cokoliv, systém nebude nikdy rychlejší než proces B.

„Jednoduchý“ případ bez zásob

V tom nejjednodušším případě nebudeme mít žádné zásoby mezi procesy. Z hlediska matematického použijeme k výpočtu pravděpodobnost, že proces A bude pomalejší než proces B. Vypočítat to lze pomocí níže uvedeného vzorce.

Každý součet či rozdíl nezávislých proměnných bude mít téměř ve všech případech za následek normální rozdělení. Vzhledem k tomu můžeme výše uvedený vzorec upravit pro normální rozdělení, kde průměr a směrodatná odchylka mohou být vypočítány již celkem lehce.

Výpočet můžeme vizualizovat na níže uvedeném grafu. Opět jsou v něm uvedeny naše výchozí distribuční funkce. Je zde ovšem navíc vyobrazena i šedá křivka, která představuje distribuční funkci rozdílu procesů A a B. Pravděpodobnost, že proces A bude rychlejší než proces B, je pravděpodobnost, že rozdíl A a B bude větší než nula.

Pravděpodobnostní funkce procesů (Image by Christoph Roser with permission on AllAboutLean.com)

V našem případě tedy zjistíme, že na 32,7 % bude proces A pomalejší než proces B. Přibližně ve 33 % případů bude proces B zpomalen procesem A, i když je proces B průměrně nejpomalejším procesem. To samozřejmě znamená, že se náš výrobní systém zpomaluje. Místo produkce s procesním časem 5,5 sekund budeme produkovat výrobek každých 5,75 sekund. A bude to ještě horší při růstu směrodatné odchylky.

Zapojení bufferu pro zrychlení

Přidáním bufferu mezi procesy snížíte pravděpodobnost, že za normálních okolností rychlý proces A bude zpomalovat úzké místo (B). Znamená to, že součet dvou náhodných časů procesu A musí být větší než součet dvou náhodných časů procesu B. Distribuční funkci lze vypočítat následovně.

Naštěstí můžeme tuto situaci zjednodušit vypočtením průměru a směrodatné odchylky normálního rozdělení, jak je uvedeno níže.

A dokonce ještě obecněji můžeme použít i tento vzorec pro výpočet součtu několika náhodných časů.

Průměrná hodnota v takovém případě roste s rostoucím počtem časů, které jsou do výpočtu zahrnuty. Směrodatná odchylka však roste pouze s druhou odmocninou počtu časů! Níže jsou uvedeny distribuční funkce pro součet deseti procesních časů procesu A a deseti procesních časů procesu B. V porovnání s grafem uvedeným nahoře se relativní vzdálenost průměrů nijak výrazně nezměnila. Proces B je stále o 10 % pomalejší než proces A. Došlo však k výraznému zúžení křivek. Proces A má směrodatnou odchylku 1 sekundu pro cyklový čas 5 sekund. Při vynásobení 10 kusy výrobku došlo k součtu cyklových časů na 50 sekund, ale u směrodatné odchylky k nárůstu pouze na 3,16 sekundy.

Pravděpodobnostní funkce procesů (Image by Christoph Roser with permission on AllAboutLean.com)

Vztah mezi velikostí bufferu a zpomalováním primárního úzkého místa

S těmito matematickými vztahy můžete snadno vypočítat vliv procesu A na normálně pomalejší proces B v závislosti na velikosti bufferu. Níže uvedený graf znázorňuje pravděpodobnost, že proces B je zpomalován procesem A v závislosti na velikosti bufferu mezi těmito dvěma procesy.

Je na první pohled patrné, že bez bufferu je situace velmi špatná a z 33 % bude docházet ke zpomalování procesu B a tedy k růstu procesního času vlivem procesu A a neexistencí bufferu. Když však přidáte buffer a i když jeho kapacita bude relativně malá (v tomto případě pouze 10 kusů), tak vám to opravdu výrazně pomůže. Toto výrazné zlepšení se však v průběhu času zmenší. A pokud byste přidali buffer s větší kapacitou (např. 20 až 50 kusů), nedojde až takovým způsobem k zásadní změně, oproti menšímu bufferu.

Pravděpodobnost, že proces B je zpomalován procesem A (Image by Christoph Roser with permission on AllAboutLean.com)

Buďte si prosím vědomi toho, že všechny uvedené informace jsou vztaženy pouze k jednomu konkrétnímu případu. Ve vašem případě budou výsledné hodnoty určitě odlišné a budou tedy odlišné i grafy, pokud vaše procesy nevykazují opravdu totožné hodnoty, jako jsou hodnoty těchto dvou vzorových procesů. Obecný předpoklad o tom, že malý buffer způsobuje výraznou změnu a naopak velkým bufferem nedojde k nijak výrazné změně, je však správný. Velikosti bufferů se však budou lišit podnik od podniku, výrobní systém od výrobního systému. Nyní byste teoreticky mohli udělat nákladovou analýzu, abyste našli ideální velikost bufferu při srovnání nákladů a výhod z daného řešení pro celkovou výkonnost systému.

Matematicky pěkné, ale jak mi to pomůže ve výrobě?

Upřímně řečeno vám to bohužel ve výrobě nepomůže. Matematický princip jsem výše uvedl ze dvou důvodů. Zaprvé jsem se chtěl předvést a ukázat vám, že matematiku ovládám. A zadruhé, což je mnohem důležitější, jsem vám chtěl ukázat vztah mezi velikosti bufferu (kapacitou FIFO fronty) nelineárním rozdělováním procesů. Hlavně jsem se chtěl dostat k závěru, že malý buffer je téměř vždy rozumným řešením, ale velký buffer nepřinese zase tolik výhod, jak by se mohlo zdát.

Z praktického hlediska vám tyto teoretické výpočty moc nepomohou. Velmi zřídka totiž budete mít povědomí o typu rozdělení a distribuční funkci vašich procesů. Skutečný svět je mnohem složitější. A co hlavně, ve skutečných výrobních systémech nebudete mít jen dva procesy, ale vícero procesů, které se budou navzájem ovlivňovat. Výhody z těchto teoretických a detailních výpočtů zpravidla nestačí k pokrytí úsilí, které bylo vynaloženo k jejich zpracování. A pokud máte zájem o tuto oblast, ale matematika vám nic neříká, zkuste využít moji kalkulačku.

Určování velikosti FIFO front ve výrobě

Několik praktických tipů

Jak tedy určit velikost FIFO fronty? Popravdě řečeno neexistuje žádné pravidlo. Z pozice konzultantů je možné použít metodu expertních odhadů. Jedná se však pouze o to, že vám někdo, kdo dané problematice rozumí (expert), řekne svůj názor v dané situaci (odhad). Tudíž se v takovém případě obraťte na někoho, kdo se ve vašem výrobním systému vyzná a zeptejte se ho na jeho názor. FIFO by mělo být schopné se vypořádat s problémy, změnami a dalšími jinými komplikacemi a okolnostmi, které zpomalují procesy. Současně by však nemělo mít výrazně velkou (zbytečnou) kapacitu a nemělo by být těžkopádné. A samozřejmě nesmíte zapomenout všechno potřebné přenastavit, když v reálné situaci nebudou naplňována vaše očekávání.

Trochu zklamání, ne? Když vám po všech těch vzorcích a výpočtech řeknu, že se prostě máte někoho zeptat a dostat z něj potřebné informace. A přesto se to takovým způsobem běžně praktikuje. Přesto vám však poradím ještě několik mouder:

  • Je důležitější umístit buffer před a za úzké místo než okolo jiných procesů, které úzkým místem nejsou. Zabezpečit úzké místo bufferem je celkem rozumné řešení.
  • Mezi procesy umístěte buffery s kapacitou alespoň jednoho kusu, pokud je to možné (pokud tedy nemáte všechny procesy se stejným procesním časem anebo nemáte procesy přímo spojeny dopravníkem, protože v takovém případě není buffer nutný). Váš materiálový tok tak bude mnohem hladší.

Jsou i neužitečná, kterými byste se neměli řídit!

Existuje několik pravidel, která si na matematiku jen hrají. Něco s nimi vypočítáte, dostanete výsledky, ale mají jen minimální vztah k původnímu problému, který se snažíte vyřešit. Jedno z takových pravidel říká, že FIFO fronta je založena na požadovaném čase dodání zakázky (lead time). Pokud tedy potřebujete mít delší čas dodání, mějte vytvořeny FIFO fronty s větší kapacitou. Proč by ale někdo chtěl mít delší čas dodání?!?!

Jiné pravidlo definuje velikost FIFO front pro procesy, které vyžadují vytvrzování, schnutí nebo ochlazování apod. Kapacita by měla být tak velká, aby díl mohl projít celým tímto dlouhotrvajícím procesem, a to včetně nějakého bezpečnostního času. Něco pravdy na tom je. Samozřejmě je potřeba, aby byla kapacita dostatečná, jinak by se do bufferu nevlezly všechny díly. Musíte však zohlednit, že samotný proces není jen bufferem, ale činností. Nemůžete jen tak z takové činnosti udělat buffer a doufat, že to bude fungovat. Minimálně musíte mít nastaven alespoň nějaký časovač, který vám bude kontrolovat čas zpracování vložených dílů, aby všechny vyjímané díly strávily v procesu potřebný čas.

A další pravidlo se zaměřuje na dobu trvanlivosti či použitelnosti dílů. FIFO fronta nesmí mí tak velkou kapacitu, aby v ní došlo k expiraci produktů, dokud jsou ještě uvnitř. Teoreticky je to samozřejmě správně, ale prakticky je to absolutně nepoužitelná rada. Nebo jste snad někdy někde viděli nějaký tak velký buffer, aby produkty v něm uložené stihly projít dobou trvanlivosti nebo použitelnosti?

Celkově vzato je určování velikosti FIFO front založeno především na zkušenostech. Jako obvykle doufám, že pro vás byl tento příspěvek zajímavý a přínosný. Teď již můžete jít a zlepšovat vaše procesy!

Přeloženo z příspěvku: Determining the Size of Your FiFo Lane – The FiFo Formula
Autor: Prof. Dr. Christoph Roser

Přeložil: Pavel Ondra