CS 590M: Introduction to Simulation

How can we use computers to design systems and, more generally, make decisions, in the face of complexity and uncertainty?

Simulation techniques apply the power of the computer to study complex stochastic systems when analytical or numerical techniques do not suffice. It is the most frequently used methodology for the design and evaluation of computer, telecommunication, manufacturing, healthcare, financial, and transportation systems, to name just a few application areas. Simulation is an interdisciplinary subject, incorporating ideas and techniques from computer science, probability, statistics, optimization, and number theory. Simulation models, which embody deep domain expertise, can effectively complement machine-learning approaches.

This course will provide the student with a hands-on introduction into this fascinating and useful subject.

Course Goals: The emphasis will be on understanding the underlying principles and basic techniques of simulation modeling and analysis, so that students can apply simulation in a flexible and intelligent manner to real-world problems, and become educated consumers of simulation studies and simulation packages. Students will learn to appreciate the power and scope of simulation in applications drawn from a variety of domains.

Course Objectives:  Students will be able to
  • Formulate a mathematically precise stochastic simulation model from a description of an existing or proposed real-world system.
  • Use existing data or theoretical guidance to determine appropriate input distributions for the random components of a simulation model.
  • Determine appropriate algorithms for generating realizations of a simulation model
  • Efficiently implement the algorithms on a computer in Python
  • Statistically analyze the output of the simulation program to estimate system properties of interest, and to identify optimal systems designs and operating policies.
  • Demonstrate understanding of the mathematical principles underlying simulation methodology.
  • Critique someone else’s simulation results.
Class materials for registered students can be found on the course Moodle site.