Programming Assignment 2 - Queue Jumping

Simulation, Spring 2005


Due Date

This assignment is due by 2:00 p.m. on Wednesday, 15 February at 2:00 p.m..

See the assignment turn-in page (last modified on 9 February 2004) for instructions on turning in your assignment.

Background

Suppose you are waiting in line for checkout at a store with multiple cash registers. You queue jump when you move from the line you're currently waiting in to a new line. There are several reasons for queue jumping, but the main one is to move to a line that you perceive is faster, which will get you checked out more quickly than you would have if you had stayed in the old line.

The Problem

Develop a simulation to answer the following questions:
    OLI() Under which circumstances does queue jumping result in faster checkouts than not queue jumping. OLI() Assuming successful queue jumps (that is, queue jumps that reduce checkout times), how much faster is queue jumping than not queue jumping?

Input

There are no required inputs for this simulation (which is not to say that your simulation can't use input; it's just that there are no requirements on the input your simulation may need).

Output

There are no required outputs for this simulation (which is not to say that your simulation can't produce output; it's just that there are no requirements on the output your simulation may produce, other than it be clearly labeled).

Grading

Each simulation will be graded independently of all other simulations for this assignment; there is no grade rationing.

Turn-In

You should turn-in your simulation code. You should also turn-in a brief three- or four-page report describing about your simulation. The report should describe

This report will be the basis for your presentation. The report should be in a generic format, such as plain text, PostScript, or Portable Document Format (pdf). Get in touch with me if you want to use something else.

You should include a makefile among the files you turn in, either for testing or to turn-in. Your makefile should understand two targets: go and clean. The go target should build your assignment. The clean target should delete all unnecessary files. Unnecessary files are any files generated by the makefile itself; such files include the .o files for C++, class files for Java, and any executables built by the makefile.

When you test or turn-in your project, the turn-in script runs (among other things) the following commands:

$ make clean

$ make go

You should make sure this works correctly.

There's an example makefile) you can use in the assignment directory. If anybody feels the need to use ant or some other build mechanism, they should get in touch with me (essentially, what I'll tell you to put it in a makefile, but we'll have to work that out together).

See the assignment turn-in page (last modified on 9 February 2004) for instructions on turning in your assignment.


This page last modified on 15 February 2005.