Archive of the autumn 2025 course. This course has ended. The template projects described on this site (RiskCalc, PyMort, EconGames, QSim, SimCLT) are not offered in 2026. The 2026 course is Data Science and Advanced Programming.

QSIM: Discrete-Event Queue Simulator

Simulation Operations Research Queueing Theory Performance Analysis

Overview

Build a high-performance discrete-event simulation framework for analyzing complex queueing systems. From simple queues to intricate network topologies, create tools for performance analysis and optimization.

What You’ll Build

A comprehensive simulation framework that:

  • Models various queueing systems and networks
  • Implements discrete-event simulation principles
  • Provides statistical analysis and visualization
  • Offers optimization and capacity planning tools

Key Learning Objectives

  • Simulation Programming: Master discrete-event simulation concepts
  • Queueing Theory: Apply mathematical models to real systems
  • Performance Analysis: Measure and optimize system performance
  • Systems Thinking: Understand complex system interactions

Core Features to Implement

Queueing Models

  • Single and multi-server queues
  • Priority queues and scheduling disciplines
  • Network topologies and routing
  • Finite capacity and blocking systems

Simulation Engine

  • Event-driven architecture
  • Statistical data collection
  • Confidence interval estimation
  • Warm-up period detection

Analysis Tools

  • Performance metrics calculation
  • Bottleneck identification
  • Capacity planning optimization
  • Real-time visualization

Technical Challenges

  • Event Management: Efficient event scheduling and processing
  • Statistical Validity: Proper handling of simulation output
  • Scalability: Large-scale network simulation
  • Validation: Verify against analytical results

Domain Knowledge Required

  • Basic probability and statistics
  • Queueing theory fundamentals
  • Systems analysis concepts
  • No prior simulation experience needed

Assessment Focus

  • Simulation Accuracy: Correct implementation of queueing models
  • Performance: Efficient simulation execution
  • Statistical Rigor: Proper analysis of simulation results
  • Practical Value: Tools useful for real-world applications

Getting Started

  1. Learn queueing theory basics and common models
  2. Explore discrete-event simulation principles
  3. Study the template and SimPy framework
  4. Identify application domains of interest

Resources

  • Queueing theory textbooks and references
  • Discrete-event simulation literature
  • SimPy documentation and examples
  • Real-world case studies for validation

Model and optimize complex systems with this practical operations research project.

Technologies Used

Python 3.10+ SimPy framework Discrete-event simulation Queueing theory