# CSE 471/571 Simulation (3 credits)

## Catalog description:

Use of digital computer program to simulate operating characteristics of stochastic dynamic system. Topics: problems encountered in construction of simulation programs, random number generation, random variant sampling, programming in simulation and compiler languages, problems in design of successful simulation investigations, design of simulation experiments, interpretations of simulated output, and verification and validation. Case studies and projects used.

## Prerequisites:

For CSE 471: CSE 174 , and either STA 401 or STA 368

For CSE 571: A course in programming and a course in statistics

## Required topics (approximate weeks allocated):

- Introduction to simulation and comparison with analytic models (1)
- Problem formulation (includes presentation on entities, events, activities) (1)
- Developing simulation models with different world views (.5)
- Model verification and validation (.5)
- Introduce basic concepts of a general purpose simulation language (2)
- Data collection and analysis (2)
- data analysis using descriptive statistics
- data analysis using inferential statistics-Goodness of Fit tests
- Chi-square test
- Kolmogorov-Smirnov test

- theoretical discrete distributions
- theoretical continuous distributions
- parameter estimation of theoretical distributions

- Random numbers and random variate generation (2)
- generating random numbers - linear congruential method
- statistical tests of pseudorandom numbers
- methods of generating random variates
- inverse method
- acceptance/rejection method

- generating discrete random variates
- generating continuous random variates

- Advanced features of a general purpose simulation language (2)
- Output analysis of a single system (1)
- Comparing output of two systems (1)
- Introduce basic concepts of simulators or parameter-driven simulation environments (1)
- Exams/Review (1)

## Graduate students:

Students enrolled in CSA 571 will be given additional readings and/or assignments

## Learning Outcomes:

- Apply previous knowledge of probability theory to construct stochastic models of random systems
- Use the probability theory to compute event probabilities, expected values, and variances in random environments
- Use empirical and theoretical distributions to represent random components of a system

- Write simulation programs to model systems
- Write discrete event simulation programs in a general purpose programming language
- Write simulation programs in a special purpose simulation language
- Use pseudorandom number generators to generate random variables from empirical and theoretical probability distributions
- Describe the operation of pseudorandom number generators and perform some elementary random number testing

- Apply previous knowledge of statistics to analyze data representing the inputs to and outputs from a simulation model
- Collect and analyze input data on a random component of a system and use appropriate estimators and statistical tests to fit this data to known theoretical distributions or use empirical distributions
- Design a simulation program to collect output data on a wide variety of performance measures
- Analyze output data from a simulation experiment using batch means and replication methods
- Compute confidence intervals on system performance measures and perform mean comparison tests

- Use quantitative models in decision making
- Create simulation models for a wide variety of application areas
- Explain differences between simulation and analytic modeling approaches
- Formulate a decision problem in terms of controllable variables, modeling assumptions, constraints, and objectives
- Explain model verification and validation
- Explain how the components of this course go together to conduct a complete simulation study