praca_magisterska/pytania/questions/pytanie_18.md

219 lines
9.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## PYTANIE 18: Zarządzanie zapasami w łańcuchu dostaw
**Problemy i przykładowy model.**
---
### Tło pojęciowe — słowniczek
**Łańcuch dostaw (supply chain)** — sieć organizacji od surowca do klienta końcowego: dostawcy → producenci → dystrybutorzy → detaliści → klienci. Zarządzanie zapasami na każdym ogniwie ma ogromny wpływ na koszty i poziom obsługi.
Dostawca → [Magazyn] → Producent → [Magazyn] → Dystrybutor → [Magazyn] → Sklep → Klient
zapasy na każdym etapie!
**Zapasy (inventory)** — produkty/materiały przechowywane „na wszelki wypadek" lub w oczekiwaniu na sprzedaż/produkcję. Za dużo = zamrożony kapitał, koszty magazynowania, ryzyko przeterminowania. Za mało = brak towaru (stockout), utrata klientów.
---
**Bullwhip Effect (efekt byczego bicza)** — zjawisko amplifikacji wahań popytu w górę łańcucha dostaw. Mała zmiana popytu u detalisty (np. +5%) powoduje coraz większe wahania zamówień u dystrybutorów (+10%), producentów (+20%), dostawców (+40%).
Klient: popyt +5% → Detalista zamawia +10% → Dystrybutor +20% → Producent +40%
Jak bicz: mały ruch ręki → ogromny ruch na końcu
Przyczyny: prognozowanie (forecasting), zamawianie partiami (batching), promocje cenowe, racjonowanie przy niedoborach.
**Stockout (brak towaru)** — sytuacja gdy produkt jest niedostępny. Koszt: utrata sprzedaży, utrata klienta, kary umowne.
**Overstock (nadmiar zapasów)** — za dużo towaru. Koszt: magazynowanie, zamrożony kapitał, obsolescence (przeterminowanie/utrata aktualności).
---
**Koszty zapasów — trzy kategorie:**
**Koszt utrzymania (holding cost, h)** — koszt przechowywania towaru per jednostka per rok. Obejmuje: magazyn, ubezpieczenie, koszt kapitału, utrata wartości. Typowo: 15-30% wartości towaru rocznie.
**Koszt zamawiania (ordering cost, K)** — stały koszt złożenia jednego zamówienia. Obejmuje: transport, administracja, kontrola jakości. Niezależny od ilości zamówionej.
**Koszt braku (shortage cost, p)** — koszt gdy nie mamy towaru: utrata sprzedaży, ekspresowe dostawy, kary.
---
**EOQ (Economic Order Quantity)** — model Harrisa-Wilsona (1913). Najstarszy i najważniejszy model zarządzania zapasami. Odpowiada na pytanie: **ile sztuk zamawiać jednorazowo**, żeby suma kosztów zamawiania i utrzymania była minimalna.
**Intuicja — analogia z zakupami papieru toaletowego:**
Strategia A: kupujesz 1 paczkę co tydzień
→ dużo wizyt w sklepie (wysoki koszt zamawiania)
→ mało miejsca w domu (niski koszt utrzymania)
Strategia B: kupujesz 100 paczek raz na 2 lata
→ rzadko chodzisz do sklepu (niski koszt zamawiania)
→ potrzebujesz magazynu (wysoki koszt utrzymania)
EOQ: ile paczek kupować, żeby SUMA obu kosztów była najniższa?
**Założenia EOQ (ważne — na obronie mogą zapytać o ograniczenia!):**
1. Popyt stały i znany: D sztuk/rok (np. sprzedaż jest przewidywalna)
2. Lead time = 0 (dostawa natychmiastowa)
3. Brak braków (nie dopuszczamy stockoutów)
4. Zamówienie przychodzi w całości (nie częściami)
5. Koszt zamówienia K — stały, niezależny od wielkości
6. Koszt utrzymania h — liniowo zależy od ilości w magazynie
---
**Wyprowadzenie wzoru EOQ krok po kroku:**
Krok 1 — Funkcja kosztu całkowitego:
TC(Q) = K · D/Q + h · Q/2
↑ ↑
ile zamówień średni zapas
rocznie? w magazynie
(D/Q sztuk) (Q/2 sztuk)
Dlaczego D/Q? Bo potrzebujemy D sztuk rocznie, zamawiamy po Q → robimy D/Q zamówień.
Dlaczego Q/2? Zapas waha się od Q (tuż po dostawie) do 0 (tuż przed następną) → średnio Q/2.
![Model EOQ — piłokształtny przebieg zapasu](../img/q18_eoq_sawtooth.png)
Krok 2 — Szukamy minimum (pochodna = 0):
dTC/dQ = -K·D/Q² + h/2 = 0
h/2 = K·D/Q²
Q² = 2·K·D / h
Q* = √(2KD/h) ← wzór EOQ!
Krok 3 — Weryfikacja: druga pochodna d²TC/dQ² = 2KD/Q³ > 0 → to jest minimum (nie maksimum).
**Dlaczego √?** Bo rozwiązujemy równanie kwadratowe — punkt, w którym malejąca hiperbola (koszt zamawiania K·D/Q) przecina rosnącą prostą (koszt utrzymania h·Q/2).
![Model EOQ — krzywe kosztów](../img/q18_eoq_cost_curves.png)
---
**Przykład liczbowy (krok po kroku):**
Dane:
D = 10 000 szt/rok (popyt roczny)
K = 100 PLN/zamówienie (koszt złożenia zamówienia)
h = 2 PLN/szt/rok (koszt trzymania jednej sztuki przez rok)
Q* = √(2 × 100 × 10000 / 2)
= √(2 000 000 / 2)
= √1 000 000
= 1000 szt ← zamawiaj po 1000 sztuk
Ile zamówień rocznie? D/Q* = 10000/1000 = 10 zamówień
Co ile? 365/10 ≈ co 36-37 dni
Średni zapas: Q*/2 = 500 szt
Koszt roczny:
Zamawianie: K·D/Q* = 100 × 10 = 1000 PLN
Utrzymanie: h·Q*/2 = 2 × 500 = 1000 PLN ← ZAWSZE równe!
Suma: TC* = 2000 PLN/rok
**Kluczowa własność:** w punkcie optymalnym koszt zamawiania = koszt utrzymania. To wynika z matematyki i jest świetnym testem kontrolnym.
TC* = √(2KDh) = √(2 × 100 × 10000 × 2) = √4 000 000 = 2000 PLN
---
**Analiza wrażliwości — co jeśli Q nie jest optymalne?**
EOQ jest odporny na błędy (robustness) — nawet 20% błąd w Q daje tylko ~2% wzrost kosztu:
Q TC(Q) vs TC*=2000 % wzrost
─────────────────────────────────────────────
500 2500 +500 +25%
800 2050 +50 +2.5%
1000 2000 ±0 optimum
1200 2033 +33 +1.7%
1500 2117 +117 +5.8%
2000 2500 +500 +25%
Wniosek: lepiej zaokrąglić Q* do wygodnej liczby (np. do pełnej palety) niż trzymać się dokładnej wartości. Koszty rosną powoli wokół optimum.
---
**Ograniczenia EOQ (częste pytanie na obronie: „kiedy model NIE działa?"):**
Założenie EOQ Rzeczywistość
──────────────────────────────────────────────────
Popyt stały Popyt zmienny/sezonowy
Lead time = 0 Lead time > 0 i zmienny
Brak braków Braki się zdarzają
Jeden produkt Wiele produktów konkuruje o magazyn
Brak rabatów Rabaty ilościowe (za większe partie)
Koszt h stały h zależy od ilości (schodkowo)
Dlatego EOQ jest punktem startowym — w praktyce stosuje się jego rozszerzenia (EOQ z rabatami, EOQ z backorders, dynamiczny lot sizing).
---
**Lead time (czas realizacji, L)** — czas od złożenia zamówienia do otrzymania dostawy. Np. 5 dni. Kluczowy dla punktu zamawiania.
**ROP (Reorder Point / punkt zamawiania)** — poziom zapasu, przy którym składamy nowe zamówienie:
ROP = d × L + SS
d = popyt dzienny, L = lead time, SS = safety stock
**Safety stock (zapas bezpieczeństwa, SS)** — dodatkowy bufor na wypadek wahań popytu lub opóźnień dostawy:
SS = z × σ_L
z = kwantyl rozkładu normalnego (np. 1.65 dla 95% poziomu obsługi)
σ_L = odchylenie standardowe popytu w lead time
Przykład: d=30 szt/dzień, L=5 dni, SS=50 szt
ROP = 30×5 + 50 = 200 szt
Gdy stan spada do 200 → zamawiaj!
---
**Modele zaawansowane:**
- **(s, Q)** — gdy stan spadnie do s, zamów dokładnie Q sztuk. (s = ROP, Q = EOQ)
- **(s, S)** — gdy stan spadnie do s, zamów „do poziomu S" (order-up-to). Wielkość zamówienia zmienna.
- **(R, S)** — co R dni (stały cykl) zamów „do poziomu S". Prostsze administracyjnie.
- **VMI (Vendor Managed Inventory)** — dostawca zarządza zapasami klienta (np. Walmart + P&G). Dostawca widzi dane sprzedażowe i sam decyduje kiedy dostarczyć.
---
### Problemy
- **Bullwhip Effect** — amplifikacja wahań popytu w górę łańcucha (detaliści → dystrybutorzy → producenci → dostawcy). Przyczyny: forecasting, batching, promocje.
- Stockouts vs Overstock, obsolescence, lead time variability, demand uncertainty
### Koszty: Utrzymania (h) + Zamawiania (K) + Braku (p)
### Model EOQ (Economic Order Quantity) — Harris-Wilson
**Założenia:** popyt stały D, lead time = 0, koszt zamówienia K, koszt utrzymania h.
TC(Q) = K·D/Q + h·Q/2
Optymalna wielkość: Q* = √(2KD/h)
Opt. koszt: TC* = √(2KDh)
**Przykład:** D=10000, K=100, h=2 → Q*=1000, TC*=2000 PLN/rok
### Punkt zamawiania (ROP)
ROP = d × L + SS (popyt dzienny × lead time + safety stock)
SS = z × σ_L (z z tablic normalnych, np. 1.65 dla 95%)
### Modele zaawansowane: (s,Q), (s,S), (R,S), VMI (Vendor Managed Inventory)
### Etymologia
**EOQ** — Economic Order Quantity; Ford W. Harris (1913, „How Many Parts To Make At Once") — jedno z najstarszych zastosowań badań operacyjnych. **Bullwhip Effect** — Procter & Gamble (1990s) nadali nazwę; Jay Forrester (MIT, 1961) pierwszy opisał jako „demand amplification"; „bullwhip" = bicz pasterski. **ROP** — Reorder Point. **VMI** — Vendor Managed Inventory (Walmart + P&G, lata 80.). **Safety stock** — zapas bezpieczeństwa na wypadek wahań popytu/dostaw.
### Jak zapamiętać
- **EOQ = √(2KD/h)** — zapamiętaj formułę!
- **ROP = d×L + SS** — kiedy zamawiać
- **Bullwhip = bicz** — małe wahania na końcu → duże na początku łańcucha