
COSC 6375: Computer System Performance Evaluation
Second Programming Assignment: Bus scheduling
(Due April 29, 2008 at 11:59:59 PM)
OBJECTIVE
The goal of this assignment is to have you playing with a simple model of a real world system,
studying various management strategies and evaluating them.
SPECIFICATIONS
The system we will consider consists of one bus line. It can be modeled as a circular list of stops at
which the bus loads and unloads passengers. One of these stops will be the one at which all buses
originate. In order to keep the model simple, we have made the following simplifying assumptions:
1. Passengers’ arrivals at the bus stops are exponentially distributed with a constant arrival
rate λ.
2. Buses are never full and unloading times are negligible.
Under these assumptions, a bus route can be described by:
1. the number of its stations,
2. for each station, the minimum and maximum times (in minutes) a bus will take to arrive
from the previous station and a customer arrival rate (in customers per minute).
You may assume a fixed passenger loading time of 5 seconds.
Your problem will be to find a bus scheduling procedure maximizing the quality of customer
service. One of the most important indicators of this quality of service is the composite histogram
of the interarrival times of buses for all stops. More precisely, you may take the 90 percentile of
this histogram as your performance indicator. You should try various numbers (between one and
seven) of buses assigned to the route and various scheduling strategies.
HINTS
1. The most important part of the assignment will be your report. It should detail the various
strategies you have tried.
2. The most interesting cases to test your simulation are when there is a wide variation in
travel times between stops and significant passenger loading time at the stops.
3. I expect you to use reasonable figures in your simulation and propose reasonable policies.
For instance, I would downgrade a project proposing that buses s running behind schedule
refuse to pick up passengers.
4. Learn to use I/O redirection, as in mysim < input > mysim.out, if you do not know
it yet.
These specifications were updated last on Tuesday, April 15, 2008.