Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
1
Operasjonsanalytiske emner
Del 19 Simulering Modeller med stokastiske variabler BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
2
Introduksjon til simulering
I mange regneark kan verdien i en eller flere celler som representerer uavhengige variabler (X1, X2, …, Xk) være ukjent eller usikker. Som resultat blir også verdien til den avhengige variabelen usikker: Y = f(X1, X2, …, Xk) Simulering kan benyttes til å analysere slike modeller. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
3
Stokastiske variabler & Risiko
En stokastisk variabel (random variable) er en hvilken som helst variabel der verdien ikke kan predikeres eller fastslås med sikkerhet. Mange “input cells” i regnearkmodeller er egentlig stokastiske variabler. Framtidige råmaterialkostnader Framtidige rentesatser Framtidig antall ansatte i et firma Framtidig forventet etterspørsel etter et produkt Beslutninger basert på usikker informasjon medfører som regel risiko. “Risiko” impliserer også en viss mulighet for tap. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
4
Hvorfor analysere risiko ?
Å sette inn forventede verdier for usikre celler sier oss ingen ting om variasjonen i resultatmålet vi baserer beslutningene på. Anta at en investering på $1,000 vil gi en forventet avkastning på $10,000 om to år. Vil du investere hvis... Resultatet kan variere fra $9,000 til $11,000? Resultatet kan variere fra -$30,000 til $50,000? Alternativer med samme forventet verdi kan ha forskjellig grad av risiko. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
5
Metoder for risiko-analyse
Best-Case/Worst-Case Analyse What-if Analyse Simulering BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
6
Best-Case/Worst-Case Analyse
Best case – sett inn de mest gunstige verdiene for hver av de usikre input-cellene. Worst case - sett inn de mest ugunstige verdiene for hver av de usikre input-cellene. Dette er lett å gjøre, men sier oss ingen ting om fordelingen av mulige utfall mellom best-case og worst-case grensene. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
7
Mulige resultatfordelinger
worst case best case worst case best case worst case best case worst case best case BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
8
What-If Analyse Sett inn forskjellige mulige verdier for de usikre input-cellene og se hva som skjer. Dette er enkelt å gjøre i regneark. Problemer: Verdier kan bli valgt på en ”skjev” måte. Flere hundre eller tusener av scenarios kan være nødvendige for å gjengi en representativ fordeling. Gir ikke håndfaste bevis (facts and figures) som er nødvendige for å forsvare beslutninger overfor ledelsen. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
9
Simulering Minner om automatiserte What-If analyser.
Verdier for usikre input-celler velges på en ”nøytral” (ikke ”skjev”) måte. Datamaskinen genererer flere hundre (eller tusener) av scenarier. Vi kan analysere resultatene fra disse scenariene for bedre å forstå usikkerheten i resultatmålet, og foreta beslutninger basert på solide empiriske beregninger. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
10
Eksempel: Hungry Dawg Restaurants
Hungry Dawg er en voksende restaurantkjede med en selv- forsikret sykelønnsordning. Inkluderte ansatte betaler $125 pr. måned til ordningen, Hungry Dawg betaler resten. Antall ansatte inkludert i ordningen endres fra måned til måned. Antall ansatte var 18,533 forrige måned og dette forventes å øke med 2% pr. måned. Gjennomsnittlig kostnad pr. ansatt var $250 forrige måned og forventes å øke med 1% pr. måned. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
11
Implementere modellen
BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
12
Spørsmål vedrørende modellen
Vil antall ansatte faktisk øke med nøyaktig 2% hver måned ? Vil gjennomsnittlig sykelønnskostnad pr. ansatt faktisk øke med nøyaktig 1% hver måned ? Hvor sannsynlig er det at de totale kostnadene for selskapet vil bli nøyaktig $ neste år ? Hva er sannsynligheten for at selskapets totale sykelønnskostnader vil overstige f.eks. $ ? BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
13
Simulering For å kunne ta forsvarlig hensyn til risikoen innebygd i modellen, må vi benytte simulering. Simulering er en 4 trinns prosess: Identifiser de usikre input-cellene i modellen. Benytt dekkende sannsynlighetsfordelinger for hver usikker celle. Kjør modellen n ganger, og registrer verdien til resultatmålet hver gang. Analyser det utvalget av mulige verdier for resultatmålet som simuleringen har skapt. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
14
Random Number Generators (RNG)
En RNG (slumptall generator) er en matematisk funksjon som på slump skaper (genererer) en verdi fra en bestemt sannsynlighetsfordeling. Vi kan benytte RNGs for usikre celler (stokastiske variabler), slik at vi trekker (simulerer) verdier fra sannsynlighetsfordelingene for de forskjellige usikre inputcellene. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
15
Random Number Generators
BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
16
Eksempler på Diskrete sannsynlighetsfordelinger
BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
17
Eksempler Kontinuerlige sannsynlighetsfordelinger
BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
18
Diskrete kontra kontinuerlige stokastiske variabler
En diskret stokastisk variabel kan anta verdier fra en gitt, tellbar mengde mulige verdier (vanligvis heltall). Eksempel: Antall defekte dekk på en ny bil kan være: 0, 1, 2, 3, eller 4 (5 hvis den har reservehjul). En kontinuerlig stokastisk variabel kan anta verdier fra en uendelig mengde innenfor et gitt intervall. Eksempel: Mengden av drivstoff i en ny bil kan være en hvilken som helst verdi mellom 0 og maksimal kapasitet på drivstofftanken. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
19
Klargjøre modellen for simulering
Anta at vi har analysert historiske data, og funnet at: Endringen i antall ansatte (som dekkes av sykelønnsordningen) hver måned er fordelt likt fra 3% reduksjon til 7% økning. Gjennomsnittlig kostnad (ved sykelønnsordningen) pr. ansatt er normalfordelt med en gjennomsnittlig økning på 1% pr. måned og et standardavvik på $3. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
20
Revidering og simulering
Skriv inn formelen direkte Eller velg fra menyene i Distributions BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
21
Definere RNG BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
22
Definere output Eller legg til: + PsiOutput() i cellen
2. Velg Results – Output – In Cell 1. Aktiver cellen du vil analysere BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
23
Risk Solver Pæren lyser = Interactive Simulation On
BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
24
Simuleringsresultat Dobbeltklikk på cellen du vil ha resultat for
BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
25
Mange ulike plot og tabeller
BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
26
Mangler ved begrensede utvalg
Gjennomkjøringene av vår modell representerer et utvalg fra (den uendelige) populasjonen av alle mulige gjennomkjøringer. Anta at vi repeterte en simulering med samme antall gjennomkjøringer. Q: Ville vi få de samme statistiske resultatene ? A: NEI (Bare hvis vi benytter SEED-funksjonen) Etter hvert som utvalgsstørrelsen (antall gjennomkjøringer) øker, vil de statistiske egenskapene konvergere mot de sanne verdiene til hele populasjonen. Vi kan også lage konfidensintervall for en rekke statistiske egenskaper for utvalget ... BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
27
Konfidensintervall for populasjonens sanne gjennomsnitt
der: Merk at etter hvert som n øker, innsnevres konfidensintervallet. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
28
Konfidensintervall for populasjonens virkelige andel
der: Merk at etter hvert som n øker, innsnevres konfidensintervallet. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
29
Konfidensintervall i Excel
Verdiene fra standard normalfordelingen kan finnes direkte i Excel med funksjonen =NORMSINV(1-α/2) Et 95% konfidensnivå tilsvarer 5% signifikansnivå. Normalfordelingen er symmetrisk, og 5% tilsvarer 2,5% i hver hale. NORMSINV(1-5%/2) ≈ 1,96 BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
30
Annen bruk av simulering
Simulering brukes for å beskrive utviklingen, fordelingen og andre karakteristika for et resultatmål, når verdier til en eller flere inputvariabler er usikre. Ofte er enkelte inputvariabler kontrollert av beslutningstakeren. Vi kan benytte simulering til å finne verdier på kontrollerbare variabler som medfører at ”systemet” opereres optimalt. Følgende eksempel illustrerer prosessen. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
31
Eksempel på et reservasjonproblem: Piedmont Commuter Airlines
PCA Flight 343 flyr mellom en liten regional flyplass og en stamruteplass. Flyet har 19 seter, mange er ofte tomme. Flybilletten koster $150 per sete. Det er 10% sannsynlighet for at et solgt sete står tomt. Hvis PCA overbook’er, så må de i gjennomsnitt betale $325 for hver passasjer som blir stående igjen. Etterspørselen etter seter er stokastisk, som følger: Hva er det optimale antall seter som bør selges? Etterspørsel Sannsynlighet BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
32
Implementere & Simulere modellen
Multiple simuleringer: Alternative mengder billetter for salg: Celle C7 =PsiSimParam(E9:E15) BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
33
Resultat fra alle simuleringene
Lag en tabell for alle 7 simuleringer: Kolonne med standradavvik: =PsiStdDev($C$15;G9) Kolonne med gjennomsnitt:=PsiMean($C$15;G9) Kolonne med max:=PsiMax($C$15;G9) Kolonne med min:=PsiMin($C$15;G9) Lag et plott for forventning og risiko: Velg kolonnene for standardavvik og gjennomsnitt Sett inn et plott/scatterdiagram. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
34
Valg av mengde overbooking
Valget vil avhenge av graden av risikoaversjon BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
35
Eksempel med lagerkontroll: Millennium Computer Corporation (MCC)
MCC er en forhandler av datamaskiner – i hard konkurranse. Stock Out (utsolgt) forekommer på en populær skjerm. Dagens etterbestillingspunkt er 28. Nåværende ordrestørrelse er 50. Daglig etterspørsel og leveringstid varierer som følger: Etterspørsel: Sannsynlighet: Leveringstid: 3 4 5 Sannsynlighet: MCC’s eiere ønsker å bestemme etterbestillingspunktet og ordrestørrelsen som gir 98% service grad, og samtidig holde gjennomsnittslageret så lite som mulig. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
36
Implementere& Simulere Modellen
BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
37
Simulerings -resultater
Servicenivå Gjennomsnittslager Vi har simulert første måned 1000 ganger – ikke 1000 påfølgende måneder. Statisk optimering Burde laget en dynamisk modell ? (Kø-modeller er typisk dynamiske.) BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
38
Stokastisk optimering
Målsetting: Minimere gjennomsnittslager. Variabler: bestillingspunkt og bestillingskvantum. Restriksjon: Gjennomsnittlig servicenivå minst 98%. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
39
Optimering & Simulering
Viser utfallet for en av de 1000 løsningene fra en simulering. Hver av disse PsiOut cellene inneholder egentlig en vektor med 1000 ulike verdier. Viser gjennomsnittsverdien av de 1000 ulike løsningene. Hver gang Solver velger nye verdier på beslutningsvaiablene kjøres en ny simulering med 1000 verdier, og nye gjennomsnitt blir beregnet. Solver forsøker å finne de verdiene på beslutningsvaiablene som gir lavest gjennomsnittsverdi på lageret, samtidig som gjennomsnittlig servicenivå er minst 98%. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
40
Husk Seed opsjonen BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
41
God løsning BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
42
Lagerbeholdning opprinnelig strategi
BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
43
Lagerbeholdning ny strategi
Mer stabilt lagernivå. Volatiliteten er redusert. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
44
Stor variasjon i Servicenivå
Det er 39,3% av utfallene som har et servicenivå mindre enn 98%, noen ganger så lavt som 89%. Med et bestillingspunkt på 36 og ordrekvantum på 7, er det nesten 40% sjanse for at servicenivået blir mindre enn 98%. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
45
Nye typer restriksjoner
Value at risk constraint (VaR): Kan spesifisere hvor stor andel av utfallene i en simulering som må tilfredstille en restriksjon. For eksempel 90% av utfallene må ha en gjennomsnittlig servicegrad på 98%. Conditional Value at risk constraint (CVaR) Legger restriksjon på gjennomsnittlig størrelse på avviket fra restriksjonen for de ulike utfallene i en simulering. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
46
Max 10% av utfallene mindre enn 98% servicenivå
BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
47
Et prosjektvalgsproblem: TRC Technologies
TRC har $2 million til investering i følgende nye R&D prosjekter. Inntektspotensiale Investering Sannsynlighet ($1000) Prosjekt Suksess Min Forventet Max 1 250 0,9 600 750 900 2 650 0,7 1250 1500 1600 3 0,6 500 4 0,4 1800 1900 5 700 0,8 1150 1200 1400 6 30 150 180 7 350 1000 8 70 220 320 TRC ønsker å velge de prosjektene som maksimerer selskapets forventede profitt. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
48
Implementere & Simulere Modellen
Unngå bruk av IF funksjoner Ett av de 1000 ulike forsøkene Gjenneomsnittet av 1000 verdier Hvordan kan en stokastisk modell bli LP Convex? BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
49
Stokastisk Transformasjon
Solver har transformert en stokastisk modell til en deterministisk ekvivalent modell. Denne modellen er her lineær. Den kan dermed løses av en lineær solver, som raskt finner globalt optimum. BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
50
Størst forventet profitt
Men 9,9% sjanse for tap Husk å bruke Seed opsjonen! BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
51
Maksimere sjansen for profitt tilsvarende minst 1000
Minimere sjansen for at profitten blir mindre enn 1000 Nå er modellen stokastisk, og må løses med Evolutionary Solver BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
52
Risikostyring Løsningen som maksimerer forventet profitt har også en stor mulighet for å gå med tap (10%). Anta at TRC foretrekker en løsning som maksimerer sannsynligheten for å tjene minst $1 million samtidig som det ikke er mer enn 5% sannsynlighet for å gå med tap. Vi kan benytte Risk Solver Platform for å finne slike løsninger... BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
53
Hvordan RNGs virker RAND() funksjonen returnerer uniformt (lik) fordelte slumptall mellom 0,0 og 0, Anta at vi ønsker å simulere resultatet av å foreta myntkast. La 1 representere “krone” og 2 representere “mynt”. Vurdér følgende RNG: =IF(RAND()<0,5;1;2) BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
54
Simulere Terningkast Vi ønsker at verdiene 1, 2, 3, 4, 5 & 6 skal opptre tilfeldig med lik sannsynlighet. Bruk følgende RNG: =INT(6*RAND())+1 Hvis 6*RAND( ) ender INT(6*RAND( ))+1 i intervallet: vil returnere verdien: 0.0 to 1.0 to 2.0 to 3.0 to 4.0 to 5.0 to BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
55
Generere slumptall BØK710 OPERASJONSANALYTISKE EMNER Rasmus Rasmussen
56
Slutt på kapittel 19 BØK710 OPERASJONSANALYTISKE EMNER
Rasmus Rasmussen
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.