570 likes | 807 Views
Managerial Decision Modeling. A Practical Introduction to Management Science , 5ed by Cliff Ragsdale. Chapter 12. Simulation. Introduksjon til simulering.
E N D
Managerial Decision Modeling A Practical Introduction to Management Science , 5ed by Cliff Ragsdale
Chapter 12 Simulation LOG350 Operasjonsanalyse
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. LOG350 Operasjonsanalyse
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. LOG350 Operasjonsanalyse
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 eninvestering 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. LOG350 Operasjonsanalyse
Metoder for risiko-analyse • Best-Case/Worst-Case Analyse • What-if Analyse • Simulering LOG350 Operasjonsanalyse
Best-Case/Worst-Case Analyse • Best case – sett inn de mestgunstigeverdiene for hver av de usikre input-cellene. • Worst case - sett inn de mestugunstigeverdiene 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. LOG350 Operasjonsanalyse
worst case best case worst case best case worst case best case worst case best case Mulige resultatfordelingerinnenfor et område LOG350 Operasjonsanalyse
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 scenarioskan 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. LOG350 Operasjonsanalyse
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. LOG350 Operasjonsanalyse
Eksempel: Hungry Dawg Restaurants • Hungry Dawg er en voksende restaurantkjede med en selv-forsikret sykelønnsordning. • Inkluderte ansattebetaler $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ånedog 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. LOG350 Operasjonsanalyse
Implementere modellen LOG350 Operasjonsanalyse
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 $36.125.850 neste år ? • Hva er sannsynligheten for at selskapets totale sykelønnskostnader vil overstige f.eks. $38.000.000 ? LOG350 Operasjonsanalyse
Simulering • For å kunne ta forsvarlig hensyn til risikoen innebygd i modellen, må vi benytte simulering. • Simuleringer en 4 trinnsprosess: • Identifiser de usikre input-cellene i modellen. • Benytt dekkende sannsynlighetsfordelinger for hver usikker celle. • Kjør modellennganger, og registrer verdien til resultatmålet hver gang. • Analyser det utvalget av mulige verdier for resultatmålet som simuleringen har skapt. LOG350 Operasjonsanalyse
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 sannsynlighets-fordelingene for de forskjellige usikre input-cellene. LOG350 Operasjonsanalyse
Random Number Generators LOG350 Operasjonsanalyse
Eksempler på Diskrete sannsynlighetsfordelinger Rasmus Rasmussen LOG350 Operasjonsanalyse 17
Eksempler Kontinuerlige sannsynlighetsfordelinger Rasmus Rasmussen LOG350 Operasjonsanalyse 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. LOG350 Operasjonsanalyse
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ønns-ordningen) pr. ansatt er normalfordelt med en gjennomsnittlig økning på 1% pr. måned og et standardavvik på $3. LOG350 Operasjonsanalyse
Revidering og simulering Skriv inn formelen direkte Eller velg fra menyene i Distributions LOG350 Operasjonsanalyse
Definere RNG LOG350 Operasjonsanalyse
Definere output Eller legg til: + PsiOutput() i cellen 2. Velg Results – Output – In Cell 1. Aktiver cellen du vil analysere LOG350 Operasjonsanalyse
Risk Solver Pæren lyser = Interactive Simulation On LOG350 Operasjonsanalyse
Simuleringsresultat Dobbeltklikk på cellen du vil ha resultat for LOG350 Operasjonsanalyse
Mange ulike plot og tabeller LOG350 Operasjonsanalyse
Mangler ved begrensede utvalg • Gjennomkjøringene av vår modellrepresentereret utvalgfra (den uendelige) populasjonenav 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 gjennom-kjø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 ... LOG350 Operasjonsanalyse
Konfidensintervall for populasjonens sanne gjennomsnitt der: Merk at etter hvert somnøker, innsnevres konfidensintervallet. LOG350 Operasjonsanalyse
Konfidensintervall forpopulasjonens virkelige andel der: Merk at etter hvert somnøker, innsnevres konfidensintervallet. LOG350 Operasjonsanalyse
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 symetrisk, og 5% tilsvarer 2,5% i hver hale. • NORMSINV(1-5%/2) ≈ 1,96 LOG350 Operasjonsanalyse
Annen bruk av simulering • Simulering brukes for å beskrive utviklingen, fordelingen og andre karakteristika for et resultatmål, når verdier til en eller flere input-variabler er usikre. • Ofte er enkelte input-variabler 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. LOG350 Operasjonsanalyse
Etterspørsel 14 15 16 17 18 19 20 21 22 23 24 25 Sannsynlighet .03 .05 .07 .09 .11 .15 .18 .14 .08 .05 .03 .02 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? LOG350 Operasjonsanalyse
Implementere & Simulere modellen Multiple simuleringer: Alternative mengder billetter for salg: Celle C7 =PsiSimParam(E9:E15) LOG350 Operasjonsanalyse
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. LOG350 Operasjonsanalyse
Valg av mengde overbooking Valget vil avhenge av graden av risikoaversjon LOG350 Operasjonsanalyse
Etterspørsel: 0 1 2 3 4 5 6 7 8 9 10 Sannsynlighet: 0.01 0.02 0.04 0.06 0.09 0.14 0.18 0.22 0.16 0.06 0.02 Leveringstid: 3 4 5 Sannsynlighet: 0.2 0.6 0.2 Eksempel med lagerkontroll:Millennium Computer Corporation (MCC) • MCC er en forhandler av datamaskiner – der konkurransen er meget hard. • 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: • MCC’s eiere ønsker å bestemme etterbestillingspunktet og ordrestørrelsen som gir 98% service grad, og samtidig holde gjennomsnittslageret så lite som mulig. LOG350 Operasjonsanalyse
Implementere& Simulere Modellen LOG350 Operasjonsanalyse
Simulerings-resultater LOG350 Operasjonsanalyse
Stokastisk optimering Målsetting: Minimere gjennomsnittslager. Variabler:bestillingspunkt og bestillingskvantum. Restriksjon: Gjennomsnittlig servicenivå minst 98%. LOG350 Operasjonsanalyse
Optimering & Simulering 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. Viser utfallet for enav de 1000 løsningene fra en simulering. Hver av disse PsiOut cellene inneholder egentlig en vektor med 1000 ulike verdier. Solver forsøker å finne de verdiene på beslutningsvaiablene som gir lavest gjennomsnittsverdi på lageret, samtidig som gjennomsnittlig servicenivå er minst 98%. LOG350 Operasjonsanalyse
Husk Seed opsjonen LOG350 Operasjonsanalyse
God løsning LOG350 Operasjonsanalyse
Lagerbeholdning opprinnelig strategi LOG350 Operasjonsanalyse
Lagerbeholdning ny strategi Mer stabilt lagernivå. Volatiliteten er redusert. LOG350 Operasjonsanalyse
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%. LOG350 Operasjonsanalyse
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. LOG350 Operasjonsanalyse
Max 10% av utfallene mindre enn 98% servicenivå LOG350 Operasjonsanalyse
Inntektspotensiale Investering Sannsynlighet ($1,000s) Prosjekt ($1,000s) suksess Min Forventet Max 1 $250 0.9 $600 $750 $900 2 $650 0.7 $1250 $1500 $1600 3 $250 0.6 $500 $600 $750 4 $500 0.4 $1600 $1800 $1900 5 $700 0.8 $1150 $1200 $1400 6 $30 0.6 $150 $180 $250 7 $350 0.7 $750 $900 $1000 8 $70 0.9 $220 $250 $320 Et prosjektvalgsproblem:TRC Technologies • TRC har $2 million til investering i følgende nye R&D prosjekter. • TRC ønsker å velge de prosjektene som maksimerer selskapets forventede profitt. LOG350 Operasjonsanalyse
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? LOG350 Operasjonsanalyse
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. LOG350 Operasjonsanalyse