/simulation

Primary LanguageJupyter Notebook

Recitations on Simulation using Python and Simpy

This repo contains recitations (hands-on lectures) on simulation. These were originally created for IEOR4404 Simulation at Columbia University in Fall 2021.

Some of these lectures do not make much sense without the accompanying recordings. Feel free to contact me and I'll be happy to send you links to those recordings.

Recitation 1: some sampling methods

  • Accept-reject sampling
  • Simple Monte-Carlo integration
  • The Box-Muller method for sampling normal RVs

Recitation 2: introduction to Python for Simulation

  • Variables, flow control, data structures
  • External libraries, numpy, matplotlib

Recitation 3: diving into randomness

  • 2D Monte Carlo integration
  • Three ways to sample from Homogeneous Poisson processes

Recitation 4: more Poisson processes and intro to queueing systems

  • Sampling from 1D and 2D Poisson processes
  • Simulating single-server queueing systems from scratch

Recitation 5: non-homogeneous Poisson processes

  • Sampling from non-homogeneous Poisson processes
  • Revision for the mid-term exam

Recitation 6: systems simulation with simpy

  • Life sim

Recitation 7: more systems simulation

  • Simulation of a web app

Recitation 8: antithetic systems simulation

  • Simulating a cafĂ© with antithetic variance reduction

Recitation 9: variance reduction

  • When the antithetic method fails
  • Contorl variates
  • Importance sampling

Recitation 10: hyperparameter optimization

  • An example of hyperparameter optimization with hyperopt