CPSC 531: Systems Modeling and Simulation

Professor Carey Williamson

Fall 2017

Assignment 4: ICT Elevators (40 marks)

Due: Friday, December 1, 2017 (4:00pm)

Learning Objectives

The purpose of this assignment is to learn about discrete-event simulation, event-list management, statistical output, and experimental design.

Background

The ICT building has F = 7 floors and normally has N = 3 functional elevators. People arrive to the building at random times and enter on the ground floor (Floor 1) according to a Poisson arrival process with an average aggregate arrival rate of lambda (e.g., lambda = 0.5 people per minute). They request an elevator, enter it, ride upwards, and get off at a floor that is chosen uniformly at random from the remaining (F - 1) floors. They stay at work on that chosen floor for a randomly chosen amount of time (Exponential distribution, with mean 60.0 minutes), before returning to the elevators, requesting one, riding down to Floor 1, and departing from the building. The performance metric of interest is the user-perceived response time, which is the elapsed time between requesting an elevator and getting off at the desired floor (i.e., once on the way up, and once on the way down).

There are many possible variations that can be made to the configuration and operation of elevators: number, speed, capacity, scheduling. Your goal is to explore a small subset of these possibilities, and understand the impact on user-perceived response time.

The "performance" of an elevator depends greatly on its scheduling algorithm. In particular, there are several choices for what an elevator can do when multiple user requests are pending. One choice is to serve requests strictly in timestamp order, called First-Come-First-Serve (FCFS). Another is to service the "closest" request, regardless of the direction being traveled. This is called Shortest-Seek-Time-First (SSTF). Another choice is to only service requests that are in the same vertical direction as is currently being traveled. This is called Linear Scan. The choice among these policies is especially important when load is high.

Another factor affecting elevator performance is its idling policy. That is, there are several choices for what an elevator should do when it is empty: stay where it is, go to the bottom floor, go to the top floor, or go to the "middle" floor. This policy is especially important at light(er) loads, but is less important at higher loads, when the elevator rarely empties.

Your initial simulation experiments will have just a single elevator (N = 1). In terms of other parameter settings, you can assume that F = 7, and that the movement time between adjacent floors of the building is always exactly 10.0 seconds, regardless of occupancy, distance, or direction traveled by the elevator. You can assume that the elevator can hold an unlimited number of people.

Technical Requirements

Write a discrete-event simulation that models the operation of the elevator(s) in the ICT building. Specifically, do 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 with N = 3 elevators, showing the impact, if any, on user-perceived response time. Summarize your key observations. Justify any additional assumptions or design decisions that you make.

Tips