CPSC 531: Systems Modeling and Simulation

Professor Carey Williamson

Fall 2017

Assignment 2: Banff Road Trip (40 marks)

Due: Friday, October 20, 2017 (4:00pm)

Learning Objectives

The purpose of this assignment is to learn about trace-driven simulation, random variate generation, statistics, and correlation.

Background

The year 2017 has been a special one for Canada, marking our country's 150th birthday. As part of the celebration, the Government of Canada has granted free entry to all national parks in 2017. One consequence of this decree has been a 30% increase in the number of tourists visiting Banff. This is a good thing in terms of tourism revenue, but a bad thing in terms of the congestion (and queueing delay!) to see some of our favourite tourist sites in Banff and Lake Louise.

On the highway from Calgary to Banff, there is a park entry gate/booth, at which a driver can obtain a free park pass if they do not already have one. (In fact, there are four such booths in parallel, but we will be modeling only one such booth, since its statistical behaviour should be representative of the others.) Cars arrive at random according to a Poisson arrival process, with a mean arrival rate of lambda cars per minute. Cars spend some time waiting in the queue until they get to the booth at the front. Once they are at the booth, they obtain their park pass, and possibly some maps, plus answers to any other questions that they may have about Banff. This "service time" may vary for each driver.

Your task is to build a trace-driven discrete-event simulation model of this system in order to understand the impacts of an increased arrival rate on the expected queueing delay to enter Banff National Park. You will also study the sensitivity to correlations (if any) in the service times and/or arrival times in the system.

Technical Requirements

In this assignment, you will implement a trace-driven simulation (in either C, C++, or Java) to evaluate the average queueing delay for the Banff park entry process, under a variety of workload assumptions. All of your simulation runs should be for 10,000 cars. In all of these experiments, you can assume that the vehicle arrivals follow a Poisson arrival process, with a mean rate of lambda cars per minute. You will vary lambda from 0.5 to 0.65 in steps of 0.05 (i.e., you will have 4 different trace files to use for arrival times when doing your trace-driven simulations). You will also have four different trace files for your service times (see below).

The specific workload models to consider for the service times are the following:

When you are finished, please submit your solution in electronic form to your TA. Your submission should include the source code for your simulation program, a brief user manual describing how to compile and use your simulator, and a description of the results generated using your program. Please remember that assignments are to be done individually, and submitted to your TA on or before the stated deadline. The penalty for late submissions is 4 marks per day (or portion thereof) beyond the deadline.

Grading Rubric

The grading scheme for the assignment is as follows:

Up to 4 bonus marks will be awarded for additional simulation experiments that add a small positive correlation to the arrival process (without changing the mean arrival rate), which clearly show whether the queueing delay is more sensitive, equally sensitive, or less sensitive to correlation in the arrival process than correlation in the service time process. (For this bonus work, it suffices to use only the iid Exponential service time model and the lambda=0.5 assumption.)

Tips