16. Voorraadbeheermvmaele/SLIDES/voorraad.pdf · 16.1.1. Krantenjongenprobleem met e´en product´...
Transcript of 16. Voorraadbeheermvmaele/SLIDES/voorraad.pdf · 16.1.1. Krantenjongenprobleem met e´en product´...
16. Voorraadbeheer16.1. Stochastische voorraadmodellen met eenperiode
• eenvoudigste voorraadmodel met stochastischevraag: krantenjongenmodel
• keuze beginvoorraad om optimaal te voldoen aanstochastische vraag in 1 periode
• aan eind van periode⟨ alle voorraad verkocht
overschot⟨
weggooienonder kostprijs verkopen
• toepassingen:
(1) krantenjongen aan begin van elke dag beslis-sen hoeveel kranten inkopen
(2) verkoper van kerstbomen beslist hoeveel bo-men hij begin december in voorraad moet ne-men
(3) inkoper van een warenhuis beslist hoeveelproducten van verschillende types kleding inte kopen voor komend seizoen
• een-periode model: seizoensgebonden of beder-felijke goederen
– Typeset by FoilTEX – 21
16.1.1. Krantenjongenprobleem met een product⇒ basisformule voor optimale bestelgrootte
• hypothesen:
1. een enkele tijdsperiode2. alleen bestellen aan begin van periode ⇒
geen tussentijdse bijbestellingen3. vraag is stochastisch met kansdichtheid f(x)
voor totale vraag in die periode cdf = F (x)4. kosten- en winststructuur
v = inkoopprijs (in EUR/stuk)p = verkoopprijs (in EUR/stuk)s = restwaarde van overgebleven producten
(in EUR/stuk)b = boetekosten voor tekorten (in EUR/stuk)v > s en s < p+ b
• Methode 1:
P (Q) = verwachte nettowinst bij bestelgrootte Q
STELLING: ∀Q > 0
P (Q) = −vQ+ sQ
∫ Q
0
f(x)dx+ (p+ b)Q∫ ∞Q
f(x)dx
+(p− s)∫ Q
0
xf(x)dx− b∫ ∞Q
xf(x)dx
– Typeset by FoilTEX – 22
De functie P (Q) is maximaal voor Q∗ die voldoetaan
F (Q∗) =p− v + b
p− s+ b.
Bewijs
• Methode 2: marginale analyse
maximaliseren van winstfunctie P (Q)
⇔ minimaliseren van kostenfunctie c(Q)
met:
• c(Q) = verwachte kosten bij bestelgrootte Q• overschotkosten c0 = v − s per niet-verkocht
product• tekortkosten ct = p− v + b per eenheid tekort
marginale analyse gebruikt niet formule voorc(Q) maar enkel dat afgeleide van c(Q) inQ∗ (op-timale bestelgrootte) nul moet zijn:
lim4Q→0
c(Q∗ +4Q)− c(Q∗)4Q
= 0
Q∗ +4Q met 4Q > 0 ⇒ c0 ↑ en ct ↓
P{vraag > Q∗} = 1− F (Q∗)
P{vraag ≤ Q∗} = F (Q∗)
– Typeset by FoilTEX – 23
⇒ verwachte stijging in overschotkosten≈ c04QF (Q∗)verwachte daling in tekortkosten≈ ct4Q (1− F (Q∗))
voor 4Q voldoende klein
c(Q∗ +4Q)− C(Q∗)
≈ c04F (Q∗)− ct4Q(1− F (Q∗))
⇒ lim4Q→0
c(Q∗ +4Q)− c(Q∗)4Q
= c0F (Q∗)− ct(1− F (Q∗)) = 0
⇒ F (Q∗) =ct
c0 + ct=p− v + b
p− s+ b.
• Normaal verdeelde vraagstochastische variabele X = totale vraag in een
periodeX ∼ N(µ, σ)
⇒ F (Q∗) = P{X ≤ Q∗}
⇒ P
{X − µσ
≤ Q∗ − µσ
}=
ctc0 + ct
StelQ∗ − µσ
= k ⇔ Q∗ = µ+ kσ
met k = veiligheidsfactor
– Typeset by FoilTEX – 24
dan Φ(k) =ct
c0 + ctmet Φ cdf van standaard normale verdeling
• voorbeeld
E[(Q∗ −X)+] =∫ Q∗
0
(Q∗ − x)f(x)dx
= Q∗ − µ+ σI(Q∗ − µσ
)
met
I(k) =1√2π
∫ +∞
k
(z − k)e−z2
2 dz
= ϕ(k)− k{1− Φ(k)}
normale verliesfunctie
16.1.2. Het krantenjongenprobleem voor meerdereproducten
• meerdere producten in te slaan voor een periode
• inkoopbeslissingen beperkt door budgetrestrictie
• Hoe budget verdelen over verschillende produc-ten zodat totale verwachte nettowinst maximaalis?
– Typeset by FoilTEX – 25
• notaties:
– n producten– winsten/kosten parameters van product i: vi,pi, si en bi
– fi(x) en Fi(x): kansdichtheid resp. cdf van to-tale vraag naar product i
– beschikbare budget: B– optimale bestelgroottes Q1, Q2, . . . , Qn
• optimaliseringsprobleem:
maxn∑i=1
Pi(Qi)
restrictiesn∑i=1
viQi ≤ B
Qi ≥ 0, i = 1, . . . , n
met Pi(Qi) = verwachte nettowinst bij bestelgrootte Qi= −viQi + siQi
RQi0 fi(x)dx
+(p+ b)QiR+∞Qi
fi(x)dx
+(p− s)RQi
0 fi(x)dx− bR+∞Qi
xfi(x)dx
impliciete onderstelling: vragen naar de verschil-lende producten zijn onafhankelijk van elkaar
• niet-lineair programmeringsprobleem metongelijkheidsrestricties⇒ Lagrange-functie en Kuhn-Tucker voorwaar-
– Typeset by FoilTEX – 26
denL(Q1, . . . , Qn, λ) =
n∑i=1
Pi(Qi)− λ(n∑i=1
viQi −B)Qi
∂L
∂Qi= 0 Qi ≥ 0
∂L
∂Qi≤ 0 i = 1, . . . , n
λ∂L
∂λ= 0 λ ≥ 0
∂L
∂λ≥ 0
benaming: λ heet de multiplicator van Langrange
1ste geval
∂L
∂λ= −(
n∑i=1
viQi −B) > 0 ⇔n∑i=1
viQi ≤ B
dan λ = 0 en ongebonden extremumvraagstuk
Qi(0), i = 1, . . . , n: oplossingen van het stelsel{∂
∂Qi
n∑i=1
Pi(Qi) = 0 i = 1, . . . , n
⇔ {P ′i(Qi) = 0 i = 1, . . . , n
⇔{F (Qi) =
pi − vi + bipi − si + bi
i = 1, . . . , n
– Typeset by FoilTEX – 27
2de geval
λ > 0 dan∂L
∂λ= 0 ⇔
n∑i=1
viQi = B
– NOTATIE: voor vaste waarde λ(> 0) zijn Qi(λ),i = 1, . . . , n, de waarden van de Qi’s waarvoorde functie van Lagrange maximaal is
– STELLING: Stel dat het getal λ∗ > 0 zodanig is
datn∑i=1
viQi(λ∗) = B dan vormen de
Qi(λ∗)’s een optimale oplossing van het oor-spronkelijke probleem.Bewijs
– economische interpretaties van de Lagrange-multiplicator:
(1) de optimale waarde λ∗ is een maat voorde gevoeligheid van de totale maximale netto-winst als het beschikbare budget B wijzigt
(2) “schaduwprijs”: prijs voor het budget
– berekening van Qi(λ)’s die L(Q1, . . . , Qn, λ)maximaliseren
Qi = 0 ofwel∂L
∂Qi= 0
– Typeset by FoilTEX – 28
∂L
∂Qi= P ′i(Qi)− λvi = 0
⇔ pi − (1 + λ)vi + bi − (pi − si + bi)F (Qi) = 0
⇔ F (Qi) =pi + (1 + λ)vi + bi
pi − si + bi(∗)
i = 1, . . . , n
Opmerking
L(Q1, . . . , Qn, λ) =n∑i=1
Pi(Qi, λ) + λB
met Pi(Qi, λ) de uitdrukking Pi(Qi) waarin vivervangen werd door vi(1 + λ)
⇒ ∂L
∂Qi=∂Pi∂Qi
(Qi, λ) = 0 i = 1, . . . , n
• algoritme
Stap 1 : Bereken Qi(0)’s (zie 1ste geval)
Alsn∑i=1
viQi(0) < B dan optimale oplossing.
Anders kies λ > 0 en ga naar stap 2.
Stap 2 : Bereken voor huidige waarde van λ,Qi(λ)’s uit (*) waarbij Qi(λ) = 0als (*) geen positieve oplossing heeft.
– Typeset by FoilTEX – 29
Stap 3 : Vergelijkn∑i=1
viQi(λ) met B.
AlsnPi=1
viQi(λ) = B dan optimale oplossing.
AlsnPi=1
viQi < B, naar stap 2 met lagere waarde van λ.
AlsnPi=1
viQi > B, naar stap 2 met hogere waarde van λ.
Methode om λ aan te passen: bissectiemethode
kies λ0(= 0) en λ1 :n∑i=1
viQi(λ0) > B enn∑i=1
viQi(λ1) < B
probeer λ2 =λ0 + λ1
2is
n∑i=1
viQi(λ2) < B dan λ0 < λ∗ < λ2
n∑i=1
viQi(λ2) > B dan λ2 < λ∗ < λ1
deze stap herhalen
snelle convergentie!
16.2. Een stochastisch (s,Q) voorraadmodel
• voorraad te beheren over zeer lange tijdsperiode
• hypothesen
– Typeset by FoilTEX – 30
– parameters van model nagenoeg constant ge-durende deze tijdsperiode
– stochastische vraag
– positieve levertijden
– tekorten kunnen optreden als vraag gedu-rende levertijd groter is dan voorraad op mo-ment van bestellen
• Wanneer bestellen? (bestelpunt)Hoeveel bestellen? (bestelgrootte)
• – voorraad op niveau bestelpunt⇒ nieuwe voor-raad bestellen
– bestelpunt > verwachte vraag gedurende le-vertijd
– verschil = veiligheidsvoorraad= buffer tegen stochastische fluctuaties
van de vraag gedurende levertijd– hoger bestelpunt⇒ lagere kans op uitverkocht
⇒ hoger gemiddeld voorraad-niveau
• terminologie
– vraag tijdens voorraadtekort:1. nalevering: vraag wordt nageleverd zodra
voldoende voorraad aanwezig
– Typeset by FoilTEX – 31
2. verloren vraag: vraag gaat verloren– voorraadconcepten:
1. voorraad op de planken: voorraad die fysiekaanwezig is (≥ 0)
2. netto voorraad = (voorraad op de planken) −(na te leveren orders)
3. economische voorraad = (netto voorraad) +(orders in bestelling)
• voorraadbeheer op basis van eoconomischevoorraad
• hypothesen
1. voorraadpositie continu bijgehoudenaanvulorder op elk moment te plaatsen
2. individuele vraagtransacties zo klein⇒ voorraadniveau continue variabele
3. aanvulorder Q geplaatst als economischevoorraad gedaald tot bestelpunt s
4. levertijd van een bestelling: L∗ > 0 constant5. gevraagde hoeveelheden in disjuncte tijdsin-
tervallen: onafhankelijke stochastische varia-belen
• Notaties
– Typeset by FoilTEX – 32
XL = totale vraag gedurende de levertijdfL(x) = kansdichtheid van de vraag gedurende de levertijdµL = verwachte waarde van de vraag gedurende de levertijdσL = standaardafwijking van de vraag gedurende de levertijd
• Bepaling van µL en σL in praktijk aan de handvan verzamelde data over de vraag
– µ1 en Q1: gemiddelde en standaardafwijkingvan de vraag over standaard tijdsduur
– levertijd = L standaard tijdsduren– µL = Lµ1 en σL =
√Lσ1
16.2.1. Het (s,Q) naleveringsmodel
• exacte analyse: gecompliceerd en praktisch nietbruikbare resultaten
• heuristische analyse
• s > 0 benaderingen voor
– gemiddelde voorraad op de planken– gemiddelde achterstand in levering– kans op voorraadtekort gedurende levertijd– fractie van de vraag die direct uit voorraad ge-
leverd wordt
• langetermijngemiddelden bepalen uit gedrag ge-durende een cyclus
– Typeset by FoilTEX – 33
• een cyclus = tijdsinterval tussen twee opeenvol-gende tijdstippen waarop een aanvulorder toe-komt
•
I1 = E[voorraad op de planken aan einde van een cyclus]I2 = E[voorraad op de planken aan begin van een cyclus]S1 = E[tekort aan einde van een cyclus]S2 = E[tekort aan begin van een cyclus]
s−XL = netto voorraad vlak voordat aanvulorder binnenkomt
• I1 = E[(s−XL)+] S1 = E[(XL − s)+]
I2 = E[(s+Q−XL)+] S2 = E[(XL − s−Q)+]
⇔ I1 =∫ s
0
(s− x)fL(x)dx
I2 =∫ s+Q
0
(s+Q− x)fL(x)dx
S1 =∫ +∞
s
(x− s)fL(x)dx
S2 =∫ +∞
0
(x− s−Q)fL(x)dx
– Typeset by FoilTEX – 34
•∫ a
0
(a− x)fL(x)dx =∫ +∞
0
(a− x)fL(x)dx
−∫ +∞
a
(a− x)fL(x)dx
= a− µL +∫ +∞
a
(a− x)fL(x)dx
⇒ I1 = s− µL + S1, I2 = s+Q− µL + S2
• Gemiddelde voorraad op de planken
≈12
(I1 + I2)
≈ s− µL +12Q+
12
(S1 + S2)
• Gemiddelde achterstand in levering
≈12
(S1 + S2)
in praktijk als tekorten zelden optreden is S2 zeerklein t.o.v. S1 en dus te verwaarlozen
• Kans op voorraadtekort
≈ P{XL > s} =∫ +∞
s
fL(x)dx
– Typeset by FoilTEX – 35
• Fractie direct geleverde vraag
– stochastische variabelen:
D(t) = totale hoeveelheid vraag in (0, t)
V (t) = totale hoeveelheid vraag in (0, t), waar-aan niet direct voldaan wordt
– op lange termijn limt→+∞
V (t)D(t)
is fractie van vraag
NIET direct voldaan uit voorraad
=E[hoeveelheid vraag per cyclus die niet direct leverbaar is]
E[totale vraag in een cyclus]
met teller = S1 − S2
noemer = Q (wegens naleveringen)
⇒teller
noemer=
1
Q
(Z +∞
s(x− s)fL(x)dx−
Z +∞
s+Q(x− s−Q)fL(x)dx
)
• Minimalisering van kosten onder service-eis
– K = vaste kosten verbonden aan aanvulorderr = voorraadkosten per in voorraad geınvesteerde
euros per tijdseenheidv = inkoopkosten per eenheid
– praktijk: voorraadtekortkosten moeilijk tekwantificerenin de plaats ervan service-eisen:
– Typeset by FoilTEX – 36
P1: kans op GEEN tekort gedurende levertijdvan een aanvulorder ≥ α met 0 < α < 1
P2: fractie vraag die direct uit voorraadgeleverd wordt ≥ β met 0 < β < 1
Opmerking: P2 betere servicemaat
– som van gemiddelde voorraadkosten en be-stelkosten minimaliseren onder P1 ofwel onderP2
– stel µ1 = gemiddelde vraag per tijdseenheid
⇒ µ1
Q= gemiddelde aantal aanvulorders per tijds-
eenheid– bestelkosten = K
µ1
Q+ µ1v
voorraadkosten =(
12Q+ s− µL +
12
(S1 + S2))vr
– theorie: Q en s simultaan berekenenpraktijk: eerst Q dan s
• Sequenti ele benadering
1. bestelgrootte Q uit EOQ-formule
Q0 =
√2µ1K
vr
– Typeset by FoilTEX – 37
2. s op basis van service-eis
geval P1:∫ +∞
s
fL(x)dx = 1− α
geval P2:1Q0
{∫ +∞
s
(x− s)fL(x)dx
−∫ +∞
s+Q0
(x− s−Q0)fL(x)dx}
= 1 −
β
Opmerking
1. sequentiele aanpak goed als Q0 > σL
2. tweede integraal (S2) in geval P2 niet verwaar-lozen als
σLµL
> 0.5 en β < 0.9
3. geval P2 niet eenvoudig op te lossen
• Normaal verdeelde vraag– motivatie: vraag van groot aantal onafhanke-
lijke afnemers, limietstelling
– XL ∼ N(µL, σL) metσLµL≤ 0.5
(anders significante kans op negatieve vraag)
– stel s = µL + kσL met k: veiligheidsfactor⇒ kσL = s− µL: veiligheidsvoorraad
– Typeset by FoilTEX – 38
– P{XL > s} = P
{XL − µL
σL> k
}= 1− Φ(k)
⇒ geval P2: 1− Φ(k) = 1− α
– normale verliesfunctie
I(z) =1√2π
∫ +∞
z
(z − z)e−12x
2dx
= ϕ(z)− z(1− Φ(z))
= E[(X − z)+] X ∼ N(0, 1)
en
∫ +∞
a
(x− a)fL(x)dx = E[(XL − a)+]
= σLE
[(XL − µL
σL− a− µL
σL
)+]
= σLI
(a− µLσL
)
⇒ S1 = σLI
(s− µLσL
), S2 = σLI
(s+Q− µL
σL
)⇒ geval P2: σLI
(s− µLσL
)−σLI
(s+Q0 − µL
σL
)= (1− β)Q0
– Typeset by FoilTEX – 39
praktisch: voor β ≥ 0.9 tweede term te ver-waarlozen
⇒ σLI
(s− µLσL
)= (1− β)Q0
• voorbeeldµ1 = 2600 σ1 = 200
L = 3 weken =352
jaarK = 225v = 200r = 0.15β = 0.99? (s,Q)
16.2.2. Het (s,Q) model met verloren vraag
• exacte analyse: moeilijk
• heuristische analyse: benaderingen
• – netto voorraad vlak voor binnenkomst van eenaanvulorde ≈ (s−XL)+
– gemiddelde voorraad op de planken
≈12
(I1 + I2)
– Typeset by FoilTEX – 40
met
I1 ≈ E[(s−XL)+]
= s− µL +∫ +∞
s
(x− s)fL(x)dx
I2 = I1 +Q
⇒ ≈ s− µL +12Q+
∫ +∞
s
(x− s)fL(x)dx
– kans op voorraadtekort gedurende levertijd
≈ P{XL > s} =∫ +∞
s
fL(x)dx
– fractie vraag die verloren gaat
=E[hoeveelheid vraag per cyclus waaraan niet voldaan]
E[totale vraag per cyclus]
teller ≈ E[(XL − s)+]
noemer = E[verloren hoeveelheid vraag per cyclus]
+E[geleverde hoeveelheid vraag per cyclus]
≈ E[(XL − s)+] +Q
fractie ≈
R+∞s (x− s)fL(x)dx
R+∞s (x− s)fL(x)dx+Q
– bestelgrootte Q0 gegevenbestelpunt s gevraagd onder service-eis:
– Typeset by FoilTEX – 41
tenminste fractie β van de vraag direct uit voor-raad te leveren 0 < β < 1
s oplossen uit
∫ +∞
s
(x− s)fL(x)dx =1− ββ
Q
geval normaal verdeelde vraag:
σLI
(s− µLσL
)=
1− ββ
Q0
Opmerkingβ ≈ 1 bestelpunt hetzelfde voor model metverloren vraag als naleveringsmodel
– Typeset by FoilTEX – 42