logolog1
LogForum


>Elektroniczne czasopismo naukowe z dziedziny logistyki<
ISSN 1734-459X
2005
Vol.1
Issue 3
No 3
 


WSPOMAGANA KOMPUTEROWO SYMULACJA PROCESU STEROWANIA ZAPASAMI

Bartłomiej Rodawski
Akademia Ekonomiczna we Wrocławiu, Jelenia Góra, Polska



STRESZCZENIE

Sterowanie zapasami stało się skomplikowanym procesem logistycznym, szczególnie w warunkach niewielkiej przewidywalności zmiennych decyzyjnych, takich jak na przykład wielkość i struktura popytu lub czas realizacji zamówienia. W związku z tym, aby udzielić optymalnej lub przynajmniej racjonalnej odpowiedzi na pytania co, kiedy i ile zamówić należy stosować zaawansowane w wielu wypadkach modele ilościowe. Celem artykułu jest prezentacja symulacji komputerowej jako efektywnego i stosunkowo prostego w implementacji narzędzia wspierającego decyzje menedżerów, odpowiedzialnych za proces sterowania zapasami. Zademonstrowano ponadto mało skomplikowany przykład analizy Monte Carlo, przeprowadzony przy użyciu aplikacji Crystal Ball.

Słowa kluczowe: symulacja komputerowa, sterowanie zapasami, parametry statystyczne, analiza Monte Carlo, oprogramowanie Crystal Ball.



WSTĘP

Proces sterowania zapasami, stanowiący jeden z podstawowych obszarów logistyki, daje się stosunkowo łatwo opisać. Zdaniem Sarjusza-Wolskiego [2000], sterowanie zapasami to podejmowanie decyzji: co, kiedy oraz ile kupić, aby przy minimalnych kosztach zapasów dotrzymać założony poziom obsługi klienta. Silver [1998] dodaje, że kolejną istotną kwestią jest tutaj ustalenie, jak często należy monitorować poziom zapasów.

Mimo, że sformułowane wyżej pytania, wypełniające zagadnienie sterowania zapasami wydają się trywialne, racjonalna odpowiedź na nie może przysporzyć poważnych problemów. Decyduje o tym wiele uwarunkowań, w ramach których podejmowane są decyzje dotyczące zapasów. Wśród podstawowych uwarunkowań wymienia się najczęściej:

  1. Rodzaj zapasów - zapasy o relatywnie wysokiej bądź niskiej wartości, zapasy szybko lub wolno rotujące, pojedyncze zapasy, grupy zapasów.
  2. Charakter popytu - popyt stabilny bądź zmienny, popyt przewidywalny i popyt małoprzewidywalny.
  3. Rodzaj systemu logistycznego - jedno- lub wieloszczeblowe systemy logistyczne.

Zestawione wyżej determinanty powodują, że proces sterowania zapasami staje się skomplikowanym zagadnieniem. Stąd też aby ustalać odpowiedzi na pytania: co, kiedy i ile zamawiać opracowano wiele modeli ilościowych. Obecnie menedżerowie podejmujący decyzje dotyczące zapasów dysponują arsenałem metod, począwszy od najprostszej ekonomicznej wielkości partii (EOQ), której stosowanie zaleca się dla pojedynczej pozycji zapasu, w warunkach stabilnego i przewidywalnego popytu, skończywszy na stochastycznych modelach wykorzystywanych w wieloszczeblowych systemach logistycznych.

Swobodne posługiwanie się modelami sterowania zapasami, szczególnie tymi skomplikowanymi, rodzi konieczność posiadania głębokiej wiedzy z zakresu statystyki, ekonometrii czy badań operacyjnych oraz dysponowania zaawansowanymi systemami informatycznymi z wbudowanymi odpowiednimi algorytmami. Jedynie w takich warunkach istnieje gwarancja, że przyjęta metoda będzie właściwie opisywała rzeczywisty system logistyczny i jego otoczenie, pozwoli na uzyskanie wyników prowadzących do przyjęcia optymalnej bądź dobrej w danych warunkach decyzji, a w efekcie doprowadzi do ograniczenia poziomu zapasów. W związku z tym logistycy sterujący zapasami, szczególnie w małych i średnich przedsiębiorstwach, ograniczają się często do implementacji podstawowych modeli ilościowych, podejmując w wielu przypadkach decyzje w oparciu o zdroworozsądkowe przesłanki.



SYMULACJA STEROWANIA ZAPASAMI ZA POMOCĄ CRYSTAL BALL

Wydaje się, że proces sterowania zapasami nie musi sprowadzać się do dwóch skrajnych stanów, tzn. opierania się na zdrowym rozsądku z jednej strony lub przeprowadzaniu skomplikowanych obliczeń, wykonywanych najczęściej w oparciu o zaawansowane informatyczne systemy planowania i harmonogramowania. Interesujące rozwiązanie stanowią nakładki na popularnie wykorzystywany w planowaniu arkusz kalkulacyjny Excel, które pozwalają na prowadzenie symulacji, a nawet optymalizacji procesu sterowania zapasami w warunkach niepewności.

Tradycyjnie uwzględnianie niepewności w procesie sterowania zapasami (tworzenie modeli stochastycznych) wiąże się z koniecznością implementacji skomplikowanych algorytmów, które i tak w większości pozycji literatury z dziedziny sterowania zapasami opisywane były jedynie dla zjawisk, które można scharakteryzować za pomocą rozkładu normalnego. Natomiast zastosowanie programów takich jak Cristal Ball czy @Risk pozwala na opisanie, symulację, a nawet optymalizację za pomocą stosunkowo prostych modeli ilościowych, procesów logistycznych przebiegających w warunkach niepewności (chodzi tutaj głównie o niepewność popytu i/lub czasu dostawy). Kolejną zaletą wyżej wymienionych aplikacji jest relatywnie niski koszt zakupu, jak również łatwość stosowania. Ostatnia cecha wynika z faktu, że użytkownik pracuje w środowisku Excel, uzupełnionym jedynie o dodatkowy pasek zadań; ponadto do stworzenia modelu i interpretacji jego wyników wystarcza podstawowa wiedza z zakresu statystyki.

Programy typu Crystal Ball wykorzystują do analizy zjawisk gospodarczych symulację Monte Carlo (istnieje możliwość darmowej instalacji próbnej wersji programu Crystal Ball ze strony www.decisioneering.com). Aby ją przeprowadzić należy w pierwszej kolejności stworzyć model rzeczywistego procesu w arkuszu kalkulacyjnym. Następnie wybrane lub wszystkie dane wejściowe modelu (szczególnie te, z którymi związana jest niepewność) trzeba opisać za pomocą rozkładów prawdopodobieństwa bądź też wskazać wartości, jakie mogą przyjmować (zmienne decyzyjne) (Informacje na temat rozkładów prawdopodobieństwa i ich zastosowań czytelnik znajdzie w książce autorstwa Mun. J, Applied Risk Management. Moving Beyond Uncertainty In Business, Wiley, New York 2004). Dodatkowo niezbędne jest zdefiniowanie podstawowych parametrów symulacji, takich jak liczba powtórzeń czy związana z nią, wiarygodność otrzymanych wyników symulacji. Następnie program losowo pobiera z wprowadzonych rozkładów prawdopodobieństwa wartości danych wejściowych i oblicza ich wpływ na kształtowanie się wyniku, czyli wyjścia modelu. Procedura trwa do momentu, w którym zostanie osiągnięta założona liczba powtórzeń lub poziom wiarygodności. Otrzymane wyniki prezentowane są za pomocą parametrów statystycznych (rys. 1).



  figC1
  Źródło: Mun J, Applied Risk Management. Moving Beyond Uncertainty In Business, Wiley, New York 2004, s. 91
 


Rys. 1. Procedura symulacji procesu sterowania zapasami za pomocą aplikacji Crystal Ball
Fig. 1. Steps in inventory control simulation with Crystal Ball




PRZYKŁAD LICZBOWY

Poniższy przykład stanowi uzupełnienie syntetycznie przedstawionych zagadnień teoretycznych, pozwalając sformułować podstawowe zalety procesu symulacji sterowania zapasami przy wykorzystaniu aplikacji Crystal Ball (jest to zmodyfikowana wersja przykładu opracowanego przez E. Turbana i J. Mereditha, wykorzystana przez Z. Sarjusza-Wolskiego w książkach "Sterowanie zapasami w przedsiębiorstwie", PWE, Warszawa 2000 oraz "Strategia zarządzania dystrybucją. Praktyka logistyki biznesu", Placet, Warszawa 1996).

Przedsiębiorca zamierza otworzyć stację benzynową. W tym celu musi m.in. określić wielkość cysterny, w której będzie składowane paliwo oraz wielkość dostaw paliwa. Na podstawie przeprowadzonych analiz zgromadzono już poniższe dane.
Plik do pobrania dla własnych wyliczeń w Excelu.

Tabela 1. Założenia modelu
Table 1. Assumptions of the model


Dostawca paliwa Stacja benzynowa Rynek
1.dostawa na początku każdego tygodnia
2.stałe wielkości dostaw w półrocznym okresie






1.tygodniowy koszt dzierżawy cysterny (c):
  pojemność 3500 litrów - 10 j.p.
  pojemność 4500 litrów - 11 j.p.
  pojemność 5500 litrów - 12 j.p.
2. tygodniowy koszt trzymywania zapasów
  (u) - 0,01 j.p./litr
3. koszt zwrotu paliwa*
  (z) - 0,05 j.p./litr
4. koszt braku zapasów
  (b) - 0,12 j.p./ litr
Popyt tygodniowy
1000-2000
2001-3000
3001-4000
4001-5000






Wartość prawdopodobieństwa
0,12
0,23
0,48
0,17







* przedsiębiorca jest zmuszony zwrócić paliwo, wówczas gdy ilość dostarczona na początku tygodnia nie mieści się w dzierżawionej cysternie.


Przedsiębiorca chce tak dobrać pojemność cysterny oraz wielkość dostaw, aby koszt zapasów był jak najniższy.

Rozwiązanie

Najprostszym sposobem rozwiązania zadania jest obliczenie średniego popytu, której kalkulację umożliwia zastosowanie poniższego wzoru [Stasiewicz, Rusnak, Siedlecka 1995]:

figC11

gdzie:
   figC11 - średni tygodniowy popyt
   figC11 - środek przedziału klasowego,
   k - liczba klas,
   pi - prawdopodobieństwo, z jakim wielkość popytu znajdzie się w i-tym przedziale klasowym.

Stąd średni tygodniowy popyt d wynosi 3200 litrów. Na tej podstawie należy przyjąć, że wielkość dostawy powinna wynosi dokładnie 3200 litrów, a pojemność cysterny nie powinna przekraczać 3500 litrów. Pozwoli to zminimalizować całkowite tygodniowe koszty zapasów, które można wyrazić wzorem (2). Koszty te wyniosą 26 j.p. i będą obejmowały jedynie koszty dzierżawy cysterny (10 j.p.) oraz utrzymywania zapasów (16 j.p.). Nie wystąpią natomiast koszty niedoboru i zwrotu paliwa.

figC11

gdzie:
   ctkz - całkowite tygodniowe koszty zapasów,
   kd - tygodniowe koszty dzierżawy cysterny,
   zp - zapas na początku tygodnia,
   zk - zapas na końcu tygodnia,
   jku - jednostkowy koszt utrzymania zapasu,
   zw - wielkość zwrotu,
   jkzw - jednostkowy koszt zwrotu paliwa,
   br - wielkość niezaspokojonego popytu
   jkbr - jednostkowy koszt braku paliwa.

Aby sprawdzić za pomocą symulacji poprawność przyjętych zdroworozsądkowo parametrów, należy postępować zgodnie z procedurą przedstawioną na rys. 1. Po pierwsze należy więc skonstruować odpowiedni model w arkuszu kalkulacyjnym (rys. 2).

Opracowany model będzie symulował tygodniowe koszty zapasów w okresie 26 tygodni. Należy dodać, iż poszczególne pozycje kosztów zapasów, w tym koszty całkowite zostały zaprogramowane zgodnie z formułą nr 2. Po drugie, należy wprowadzić do modelu rozkłady prawdopodobieństwa popytu oraz wskazać wyjście modelu (miernik poprawności decyzji). Wykorzystuje się do tego okna dialogowe, które można aktywizować po uruchomieniu programu Crystal Ball (rys. 3, 4).

Po ustaleniu, w kroku trzecim, parametrów symulacji (w analizowanym przykładzie jest to 1000 powtórzeń i wiarygodności 95%), należy ją uruchomić, by po kilkudziesięciu sekundach przejść do analizy otrzymanych rezultatów. Te ostatnie prezentowane są zarówno w formie graficznej jak i tabelarycznej (rys. 5, 6).



  figC2
  Źródło: opracowanie własne
 


Rys. 2. Stacja benzynowa - model sterowania zapasami
Fig. 2. Gas station - inventory control model






  figC3
  Źródło: opracowanie własne
 


Rys. 3. Rozkład prawdopodobieństwa popytu na paliwo
Fig. 3. Probability distribution for gas demand






  figC4
  Źródło: opracowanie własne
 


Rys. 4. Wyjście modelu
Fig. 4. Output of the model defined






  figC5
  Źródło: opracowanie własne przy użyciu Crystal Ball
 


Rys. 5. Graficzna prezentacja wyników symulacji
Fig. 5. Grafical presentation of simulation's output




Na podstawie otrzymanych danych można stwierdzić, iż:

  • tygodniowe koszty zapasów kształtują się w przedziale od 47 j.p. do 119 j.p. (ang. range minimum, range maximum),
  • średni oczekiwany tygodniowy koszt zapasów wynosi 81 j.p., (ang. mean), odchylając się przeciętnie od tej wartości o 10 j.p. (ang. standard deviation),
  • rozkład średnich kosztów zapasów ma kształt zbliżony do rozkładu normalnego wykazując niewielką prawostronną asymetrię (ang. skewness>0) - oznacza to, że z minimalnie większym prawdopodobieństwem koszty mogą wyższe od wartości średniej (oczekiwanej),
  • zestandaryzowany współczynnik ryzyka (ang. coefficient of variability) stanowiący iloraz wartości średniej i odchylenia standardowego wynosi 0,12, co oznacza, że ryzyko znacznego odchylenia wielkości kosztów od oczekiwanej wartości średniej jest niewielkie.

Wyniki symulacji pokazują, że podjęta decyzja, dotycząca wielkości cysterny i dostawy, nie była prawdopodobnie dobra. Oczekiwane koszty utrzymywania zapasów, uzyskane przy założeniu zmienności popytu, znacznie przewyższają bowiem te, których się można spodziewać, bazując na wartościach średnich. Przedstawione za pomocą analizowanego przykładu zjawisko jest zresztą dobrze znane i opisane w literaturze z zakresu zarządzania ryzykiem i nosi nazwę błędu średnich (ang. the flaw of avarages), zgodnie z którym prognozy oparte na uśrednionych założeniach nie sprawdzają się [Savage 2000].



  figC6
  Źródło: opracowanie własne przy użyciu Crystal Ball
 


Rys. 6. Wyniki symulacji - parametry statystyki
Fig. 6. Simulation output - statistics




Pozostaje zatem do ustalenia ostatnia kwestia - znalezienie optymalnej, lub dobrej w warunkach zmienności popytu wielkości cysterny oraz partii dostawy. Jak wyżej zostało zaznaczone, aplikacja Crystal Ball umożliwia wprowadzenie różnych wartości zmiennych decyzyjnych, symulując ich wpływ na poszukiwany wynik (symulacje takie prowadzone są za pomocą dodatkowej funkcji programu - decision tables).



  figC7
  Źródło: opracowanie własne przy użyciu Crystal Ball
 


Rys. 7. Definiowanie zmiennej decyzyjnej - wielkość dostawy
Fig. 7. Decision variable defined - delivery quantity




Aby przeprowadzić analizę co będzie jeżeli?, należy do skonstruowanego już modelu wprowadzić dodatkowo zmienne decyzyjne. Na potrzeby przykładu przyjęto trzy możliwe wielkości cysterny (3500, 4500 oraz 5500 l) oraz jedenaście wielkości dostaw w przedziale 3000-6000 l, pozwalając na ich zmiany co 200 litów (rys.7).

Wyniki analizy przedstawione są w formie tabelarycznej, która pozwala na porównanie kosztów zapasów związanych ze wszystkimi możliwymi opcjami, a w efekcie wybór najlepszej (rys. 8).



  figC8
  Źródło: opracowanie własne przy użyciu Crystal Ball
 


Rys. 8. Wyniki analizy co będzie jeżeli?
Fig. 8. What if analysis output




Odczytując dane zawarte w tabeli, należy stwierdzić, że najlepszym rozwiązaniem jest:

  1. ustalenie partii dostawy na 3200 lub 3400 litrów tygodniowo,
  2. wynajęcie cysterny o pojemności 5500 litrów.

Aby ostatecznie podjąć decyzję dotyczącą wielkości dostawy, można posłużyć się dodatkowymi parametrami statystycznymi charakteryzującymi dwa najlepsze warianty (rys. 9, 10).



  figC9
  Źródło: opracowanie własne przy użyciu Crystal Ball
 


Rys. 9. Parametry statystyczne dla decyzji 3,3
Fig. 9. Statistics for 3,3 decision




  figC10
  Źródło: opracowanie własne przy użyciu Crystal Ball
 


Rys. 10. Parametry statystyczne dla decyzji 2,3
Fig. 10. Statistics for 2,3 decision




Jeżeli dodatkowym kryterium (obok oczekiwanej wartości średniej kosztów zapasów) będzie wskaźnik ryzyka (reprezentowany przez odchylenie standardowe, bądź iloraz odchylenia standardowego i wartości średniej), bardziej pożądany jest wariant 3,3, a więc wielkość partii 3400 litrów. Oczywiście menedżer może dodatkowo uwzględniać inne parametry w zależności od specyficznych uwarunkowań, np.:

  • minimalnie większa wartość asymetrii prawostronnej (ang. skewness) rozkładu w wariancie 3,2 w stosunku do 3,3 oznacza, że koszty mogą z nieco większym prawdopodobieństwem przyjmować wartości wyższe od średniej właśnie w pierwszej opcji,
  • nieco większa wartość kurtozy (ang. kurtosis) w wariancie 3,3 oznacza, iż to on charakteryzuje się minimalnie większym prawdopodobieństwem wystąpienia wartości skrajnych.

Bazując na wynikach analizy przykładu, można sformułować następujące wnioski:

  • Decyzje dotyczące sterowania zapasami podejmowane na podstawie rozumowania zdroworozsądkowego, oparte na uśrednionych założeniach są często niesłuszne.
  • Przydatnym narzędziem służącym do wspomagania i weryfikacji podejmowanych w warunkach niepewności decyzji dotyczących zapasów jest symulacja Monte Carlo.
  • Aplikacja Crystal Ball pozwala na prowadzenie symulacji podjętych decyzji, eliminując konieczność prowadzenia czasochłonnych i często skomplikowanych kalkulacji.
  • Wyniki symulacji przedstawione są za pomocą parametrów statystycznych, co oznacza, że użytkownik uzyskuje nie tylko informacje dotyczące oczekiwanej wartości poszukiwanego parametru decyzyjnego, ale również statystyki pozwalające na charakterystykę ryzyka związanego z daną decyzją.
  • Crystal Ball umożliwia również prowadzenie analiz: co będzie jeżeli?, umożliwiając tym samym porównanie różnych wariantów decyzji i wybór najlepszej z grupy rozpatrywanych.


LITERATURA

Mun J., 2004, Applied Risk Management. Moving Beyond Uncertainty In Business, Wiley, New York.

Sarjusz- Wolski Z., 2000, Sterowanie zapasami w przedsiębiorstwie, PWE, Warszawa.

Savage S., 2000, The flaw of averages, www.stanford.edu/~savage/flaw.

Silver E.A., Pike D.F., Petterson R., 1998, Inventory Mangement and Production Planning and Scheduling, Wiley, New York.

Stasiewicz S., Rusnak Z., Siedlecka U., 1995, Statystyka. Elementy teorii i zadania, Wyd. AE Wrocław, Wrocław.





COMPUTER AIDED SIMULATION OF INVENTORY CONTROL PROCESS



ABSTRACT Inventory control has become a tricky logistical process, especially due to prevailing randomness of decision variables such as demand quantity and structure or lead time. Hence, to be able to give an optimal or reasonable answer to the vital questions: what, how much and when to order, it is inevitable to use sophisticated quantitative models. The paper aims at presenting computer based simulation, as an effective and relatively easy to implement tool aiding inventory control decisions. Additionally rather simplistic Monte Carlo simulation performed by the means of Crystal Ball software has been demonstrated.

Key words: computer aided simulation, inventory control, statistical parameters, Monte Carlo analysis, Crystal Ball software






COMPUTERGESTÜTZTE PROZESS-SIMULATION IN DER BESTANDSKONTROLLE



ZUSAMMENFASSUNG. Bestandskontrolle hat sich zu einem schwierigen Logistik-Prozess entwickelt, besonders auf Grund der üblichen Zufälligkeit von Variablen in Entscheidungen, wie zum Beispiel Menge, Struktur oder Durchlaufzeit. Damit eine optimale bzw. vernünftige Antwort auf grundlegende Fragen wie zum Beispiel: Was, wie viel und wann bestellen, gegeben werden kann, ist es unvermeidbar, ausgeklügelte, quantitative Modelle zu benutzen. Dieser Artikel beschäftigt sich mit der computerbasierten Simulation als effektives und relativ einfach zu implementierendes Werkzeug, um die Entscheidungsfindung in der Bestandskontrolle zu unterstützen. Zusätzlich wird die ehr einfache Monte Carlo Simulation demonstriert, die auf Crystal Ball Software beruht.

Codewörter: Computerunterstütze Simulation, Bestandskontrolle, statistische Parameter, Monte Carlo Analyse, Crystal Ball Software




dr Bartłomiej Rodawski
Akademia Ekonomiczna we Wrocławiu
Wydział Gospodarki Reginalnej i Turystyki w Jeleniej Górze
ul. Nowowiejska 3
58-500 Jelenia Góra, Polska
e-mail: rodawski@wp.pl


       Copyright © 2005 LogForum, Wyższa Szkoła Logistyki, ul.E.Estkowskiego 6, tel. 061 852 95 55, 851 06 04, tel./fax. 061 851 06 03