Besliskunde College 3: Simulatie en Monte Carlo Methoden
Introductie tot Simulatie
Definitie van Simulatie: Simulatie is het nabootsen van werkelijke processen met behulp van een computer. Dit gebeurt vaak door middel van statistische kansberekeningen (stochastiek).
Toepassingsgebied: Het wordt vooral ingezet bij grote en complexe systemen waar directe experimenten in de werkelijkheid te duur, gevaarlijk of tijdrovend zouden zijn.
Status als Tool: Simulatie is een van de meest gebruikte kwantitatieve instrumenten voor systeemanalyse.
Software: Het is relatief eenvoudig te implementeren met moderne softwarepakketten zoals Excel, ARENA en PowerSim.
Voordeel t.o.v. Analytische Modellen: Simulatie is vaak veel makkelijker uit te voeren dan een puur wiskundige (analytische) analyse van een complex systeem.
Voorbeelden en Vergelijkingen
Wiskundig Raadsel (Oppervlakte): In het college wordt de vraag gesteld welke optie de meeste pizza oplevert:
Optie 1: Eén pizza met een diameter van en één pizza met een diameter van .
Optie 2: Twee pizza's met een diameter van .
Context: Dit illustreert hoe kwantitatieve keuzes soms contra-intuïtief kunnen zijn.
Praktijkvoorbeelden:
Verkeerssimulatie (Traffic Simulation): Het tellen van voertuigen per cyclus om verkeersstromen te optimaliseren.
Windtunnels: Het testen van aerodynamica zonder een fysiek voertuig op de weg te hoeven testen.
Bedrijfsprocessen: Het simuleren van lopende banden (conveyors) en logistieke systemen.
Voor- en Nadelen van Simulatie
Voordelen:
Biedt een veilige omgeving om oplossingen te testen zonder werkelijke implementatie.
Geschikt voor gevoeligheidsanalyse (het effect van veranderende variabelen).
Kan zeer grote en complexe systemen aan waarvoor geen simpele formules bestaan.
Flexibel; er zijn minder strikte wiskundige aannames nodig.
Maakt uitgebreide "What-if"-analyses mogelijk.
Nadelen:
Het bouwen van een accuraat model voor een complex systeem kan moeilijk en kostbaar zijn.
Simulatie levert geen "optimale" oplossing (zoals lineair programmeren), maar is een proces van trial-and-error.
Elke simulatie is uniek; de resultaten van het ene probleem zijn niet zomaar overdraagbaar naar een ander probleem.
De "Flaw of Averages"
Concept: Het is een veelgemaakte fout om de verwachte uitkomst te berekenen door simpelweg gemiddelden in een formule in te vullen.
Voorbeeld Beslisprobleem:
Verwachte vraag = .
Voorraad = .
Prijs = .
Formule Totale opbrengst = .
Foutieve berekening: .
Correcte berekening via kansverdeling:
Kansen: bij vraag , bij vraag , bij vraag , bij vraag .
Opbrengsten: , , , .
Verwachte Monetaire Waarde (EMV): .
Conclusie: De prijs vermenigvuldigd met de gemiddelde vraag is niet gelijk aan de verwachte opbrengst (). Gemiddelden verhullen de impact van variabiliteit.
Het Simulatieproces in 7 Stappen
Definieer het probleem: Wat willen we onderzoeken?
Introduceer variabelen: Maak onderscheid tussen beïnvloedbare variabelen (beslissingen) en niet-beïnvloedbare variabelen (onzekerheden).
Construeer het simulatiemodel: Bepaal de logische samenhang.
Specificeer input variabelen: Welke waarden en kansverdelingen gebruiken we?
Voer de simulatie uit: Gebruik methoden zoals Monte Carlo.
Analyseer resultaten: Bekijk de gemiddelden en de spreiding (risico).
Selecteer de beste beslissing: Kies op basis van de analyse de optimale strategie.
Monte Carlo Simulatie
Kern: Een stochastische variabele wordt gesimuleerd door een willekeurige trekking uit een kansverdeling.
Toepassingen:
Aantal studenten in een collegezaal.
Servicetijd van monteurs.
Tussenkomsttijd tussen twee klantbezoeken.
Aantal zieke of afwezige werknemers.
Willekeurige Getallen: Willekeurig betekent dat er geen voorspelbaar patroon is.
Pseudo-willekeurige getallen: Volgens John von Neumann (1951) is het gebruik van rekenkundige methoden voor willekeur "zondig". Pseudo-random getallen worden gegenereerd via formules. Ze zijn herhaalbaar (periodiek), wat handig is voor "What-if"-analyses omdat je dezelfde scenario's met verschillende beslissingen kunt testen.
Monte Carlo Simulatie: Het 4-stappenplan
Bepaal de kansverdeling: Identificeer hoe vaak elke uitkomst voorkomt.
Bouw de cumulatieve kansverdeling: Tel de individuele kansen bij elkaar op.
Kies intervallen: Koppel specifieke reeksen willekeurige getallen aan de uitkomsten.
Genereer getallen: Voer de simulatie uit aan de hand van de gekozen intervallen.
Oefenopgave: Nederlandse Spoorwegen (NS)
Casus: Bepaal het verwachte aantal reizigers zonder zitplaats op een traject waar een trein met zitplaatsen rijdt.
Gegevens:
Reizigers (Kans ), (Kans ), (Kans ), (Kans ).
Trekkingen: , , , , .
Intervallen (01-00):
reizigers:
reizigers:
reizigers:
reizigers:
Resultaten:
reizigers (tekort )
reizigers (tekort )
reizigers (tekort )
reizigers (tekort )
reizigers (tekort )
Gemiddelden over 5 simulaties:
Verwacht aantal reizigers:
Verwacht tekort:
Casus: Voorraadanalyse
Variabelen:
Onzeker (niet-beïnvloedbaar): Vraag per dag, Lead time (levertijd).
Beslissingen (beïnvloedbaar): Bestelgrootte (), Bestelmoment ().
Doelstelling: Minimaliseren van de totale kosten (bestelkosten + voorraadkosten + nee-verkoopkosten).
Modeldetails:
Kosten eindvoorraad: per eenheid per dag.
Boete nee-verkoop: per eenheid.
Leveringskosten: per order.
Input kansverdelingen (Vraag):
(kans ), (), (), (), (), ().
Input kansverdelingen (Lead time):
dag (kans ), dagen (), dagen ().
Analyse van 10 Dagen Simulatie:
Gemiddelde eindvoorraad: per dag.
Gemiddelde nee-verkoop: per dag.
Gemiddeld aantal orders: per dag.
Totale gemiddelde kosten per dag: .
Verificatie versus Validatie
Verificatie: Gaat over de technische correctheid van het model. Is het model correct geïmplementeerd volgens de specificaties? "Did we build the model right?"
Validatie: Gaat over de aansluiting bij de werkelijkheid. Komt de output van het model overeen met wat we in de echte wereld zien? "Did we build the right model?"
Methode: Vergelijk de resultaten van het model met historische data waarbij de inputs hetzelfde waren.
Opmerkingen over computer-simulaties
Een simulatie van 10 dagen is veel te kort voor een betrouwbaar beeld.
In Excel kunnen met functies als
=RAND()(of=ASELECT()) eenvoudig duizenden dagen worden gesimuleerd om een stabiel gemiddelde en een risicoprofiel te krijgen.Verschillende bestelgrootten en bestelmomenten kunnen worden getest om de kosten te optimaliseren via een trial-and-error methode.