r1 r2 r3 l1 l2 s0 x ms x ms d0 s1 s2 d1 d2boucherierj/onderwijs/... · r1 r2 r3 x ms x ms 240 ms 10...

31
Stochastische Modellen in Operations Management (153088) Richard Boucherie Stochastische Operations Research – TW, Ravelijn H 219 http://wwwhome.math.utwente.nl/~boucherierj/onderwijs/153088/153088.html Ack Internet

Upload: ngohanh

Post on 21-Sep-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

Stochastische Modellen in Operations Management (153088)

Richard Boucherie Stochastische Operations Research – TW, Ravelijn H 219

http://wwwhome.math.utwente.nl/~boucherierj/onderwijs/153088/153088.html

Ack

Internet

S0

S1

D1

S2

D2

D0

R1 R2 R3

X ms X ms

10 ms 10 ms240 ms

L1 L2

Page 2: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

Geluidbelasting Schiphol

Page 3: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

3

Dynamische Programmering

•  Aard van de problemen/ wanneer pas je dit toe: –  beslissingsproblemen over een eindige horizon waarbij

de beslismomenten geordend zijn (doorgaans in de tijd) •  Toepassingen

–  voorraadbeheer –  produktieplanning –  vervanging & onderhoud –  portfolio management

•  Probleemstructuur –  optimale strategie m.b.v. recursie

Page 4: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

Today on SMOM:

•  Newsboy probleem: beslissen onder onzekerheid, een periode

•  Meerdere perioden: voorbeeld deterministische DP

•  Meerdere perioden: gemiddelde kosten

•  Stochastische dynamische programmering: onzekerheid

Page 5: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

5 Voorbeeld: newsboy probleem

•  Krantenverkoper moet aan begin van de dag besluiten hoe veel kranten hij mee neemt.

•  De vraag naar kranten op een dag is onzeker. •  Doel:

Optimaliseer aantal mee te nemen kranten, zo dat winst maximaal is.

•  Model: D stochastische vraag naar kranten op willekeurige dag q het aantal mee te nemen kranten k de aanschafprijs van een krant v de verkoopprijs van een krant

•  Gevraagd: Bepaal q zdd verwachte winst W maximaal

Page 6: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

6 Voorbeeld: newsboy probleem

•  D stochastische vraag naar kranten op willekeurige dag q het aantal mee te nemen kranten k de aanschafprijs van een krant v de verkoopprijs van een krant

•  Bepaal q zdd verwachte verlies W minimaal •  Kosten bij beslissing q

d≤q koop q kranten tegen k kosten kq verkoop d kranten tegen v opbrengst vd

kosten c(q,d)=kq-vd d≥q+1 koop q kranten tegen kosten k kosten kq

verkoop q kranten tegen v opbrengst vq kosten c(q,d)=kq-vq

P(D=d) kans vraag op willekeurige dag is d

Page 7: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

7

Marginal analysis

•  Veelal is EW(q) een convexe functie

•  Bepaal q* als kleinste waarde zo dat

•  Begin bij q=0, en ga door tot ongelijkheid omklapt

•  Marginal analysis

Page 8: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

8

•  Neem aan dat kostenstructuur is

c(d,q) = coq + (termen zonder q) (d ≤ q) c(d,q) = -cuq + (termen zonder q) (d ≥ q+1)

•  co overstocking kosten and cu understocking kosten. •  Bepaal nu EW(q+1)-EW(q) •  d ≤ q : extra order geeft extra overstocking kosten co

kans op overstocking P(D≤ q) d ≥ q+1 :extra order geeft minder understocking kosten cu

kans op understocking P(D ≥ q+1)

•  Kosten voor extra eenheid q : co P(D≤ q)- cu[1-P(D≤ q)]

Marginal analysis

Page 9: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

9

Marginal analysis

•  Dus

•  en

als

dus als

Marginal analysis : optimale q* is kleinste q* waarvoor deze ongelijkheid geldig is

NB: P(D≤q) stijgend, dus voor c0+cu≥0 stijgt EW(q+1)- EW(q) dus EW(q) convex

Page 10: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

10

Voorbeeld: newsboy probleem

•  d≤q kosten c(q,d)=kq-vd c0=k d≥q+1 kosten c(q,d)=kq-vq cu=v-k

•  Dus neem mee kleinste q zo dat

Page 11: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

Today on SMOM:

•  Newsboy probleem: beslissen onder onzekerheid, een periode

•  Meerdere perioden: voorbeeld deterministische DP

•  Meerdere perioden: gemiddelde kosten

•  Stochastische dynamische programmering: onzekerheid

Page 12: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

12 Voorbeeld: W 18.2.3

•  Wijkt af van boek: reistijd ipv kilometers •  Doelstelling

–  Miminaliseer reistijd

Page 13: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

13 Voorbeeld: W 18.2.3

•  Doelstelling –  Miminaliseer reistijd

Page 14: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

14

Voorbeeld: W 18.2.3

Page 15: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

15 Voorbeeld: W 18.2.3

Stap voor stap optimaal pad 1-2-5-8-10 uit deeloplossingen

Page 16: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

16

Deterministische Dynamische Programmering

•  Toepassingen –  beslissingsproblemen over een eindige horizon waarbij de

beslismomenten geordend zijn (doorgaans in de tijd)

•  Bedrijfskundige toepassingen –  voorraadbeheer –  produktieplanning –  vervanging & onderhoud –  portfolio management

•  Probleemstructuur –  optimale strategie m.b.v. recursie fase n

toestand in ∈ Sn

beslissing dn ∈ Dn ( in )

directe resultaat rn ( in , dn )

overgang in+1 in , dn

Page 17: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

17

Verklaring der variabelen •  Fasen n

–  aantal opeenvolgende momenten waarop beslissingen moeten worden genomen

•  Toestandsruimte Sn –  verzameling van mogelijke toestanden i die kunnen optreden in fase n

•  Beslissingsruimte Dn (i) –  verzameling van mogelijk acties d die beschikbaar zijn bij toestand i

in fase n

•  Directe resultaat rn (i,d) –  opbrengst gedurende fase n als gevolg van beslissing d in toestand i

•  Overgang j i,d –  toestand j als gevolg van beslissing d bij toestand i in fase n

nb in deze setting is d=j

Page 18: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

18

Optimalisatie •  Doelstelling

– Maximaliseer / minimaliseer de verwachte resultaten over de gehele planningshorizon :

•  Optimale waardefunctie –  definieer fn(i) als het maximale resultaat vanaf fase

n vanuit toestand i ∈ Sn

•  Recurrente betrekkingen

•  Stopcriterium –  aan het eind van de planningshorizon ligt alles vast,

d.w.z. fN (i) moet gegeven zijn voor alle i ∈ SN

Page 19: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

19

Algemene werkwijze

fN (i) en dN (i) voor alle i ∈ SN

fN-1 (i) en dN-1 (i) voor alle i ∈ SN-1

f0 (i) en d0 (i) voor alle i ∈ S0

f1 (i) en d1 (i) voor alle i ∈ S1

Page 20: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

Today on SMOM:

•  Newsboy probleem: beslissen onder onzekerheid, een periode

•  Meerdere perioden: voorbeeld deterministische DP

•  Meerdere perioden: gemiddelde kosten

•  Stochastische dynamische programmering: onzekerheid

Page 21: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

21 Voorbeeld: stochastische afstand

•  Doelstelling –  Miminaliseer de verwachte reistijd

Page 22: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

22

Verklaring der variabelen •  Fasen n

–  aantal opeenvolgende momenten waarop beslissingen moeten worden genomen

•  Toestandsruimte Sn –  verzameling van mogelijke toestanden i die kunnen optreden in

fase n

•  Beslissingsruimte Dn (i) –  verzameling van mogelijk acties d die beschikbaar zijn bij

toestand i in fase n

•  Directe resultaat rn (i,d) –  verwachte opbrengst gedurende fase n als gevolg van beslissing

d in toestand i

•  Overgang j i,d –  toestand j als gevolg van beslissing d bij toestand i in fase n

Page 23: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

23

Voorbeeld:

•  Distributie systeem met K locaties •  pi (n) kans op vraag ter grootte n bij locatie i •  i stock-out kosten per eenheid product bij locatie i

•  Gevraagd: verdeling R eenheden over de locaties zo dat verwachte stock-out kosten minimaal zijn

•  Di vraag locatie i •  xi beslisvariabele: aantal eenheden voorraad op locatie i •  Zi # eenheden te kort : Zi =max{0, Di - xi }

π

Page 24: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

24

Page 25: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

25

Page 26: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

26

Page 27: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

27

Page 28: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

28

Optimale toewijzing in eerste fase bekend: er zijn 5 eenheden beschikbaar voor K=3 locaties

Optimale beslissing x1(5)=1, met waarde doelfunctie 3.5 Dan 4 eenheden beschikbaar voor fase 2 (locaties 2 en 3) x2(4)=2 x3(2)=2 Dus optimale beslissing x*1=1, x*2=2, x*3=2

Page 29: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

Today on SMOM:

•  Newsboy probleem: beslissen onder onzekerheid, een periode

•  Meerdere perioden: voorbeeld deterministische DP

•  Meerdere perioden: gemiddelde kosten

•  Stochastische dynamische programmering: onzekerheid

Page 30: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

30

Karakteristieken Dynamische Programmering

•  Probleem kan worden opgedeeld in fasen •  Elke fase is geassocieerd met een aantal toestanden •  Actie / beslissing in toestand legt volgende toestand vast •  Gegeven huidige toestand mag beslissing voor volgende

fasen niet afhangen van eerdere fasen (principe van optimaliteit, Bellman)

•  Er is een recursie die kosten / opbrengst van fasen t, t+1, …, T relateert aan kosten van fasen t+1, …, T

Page 31: R1 R2 R3 L1 L2 S0 X ms X ms D0 S1 S2 D1 D2boucherierj/onderwijs/... · R1 R2 R3 X ms X ms 240 ms 10 ms 10 ms L1 L2. Geluidbelasting Schiphol . 3 Dynamische Programmering • Aard

31

fn (i) = maxd ∈Dn ( i)

rn (i,d) + pn ( j | i,d) ⋅ fn+1( j)j∈Sn+1

Karakteristieken Dynamische Programmering

•  Probleem kan worden opgedeeld in fasen •  Elke fase is geassocieerd met een aantal toestanden •  Actie / beslissing in toestand legt volgende toestand vast •  Gegeven huidige toestand mag beslissing voor volgende

fasen niet afhangen van eerdere fasen (principe van optimaliteit, Bellman)

•  Er is een recursie die kosten / opbrengst van fasen t, t+1, …, T relateert aan kosten van fasen t+1, …, T