Project 2b, March 20 (22), due April 3 (5)

Simulation of a traffic intersection

Teams: in some sections students may be reassigned to groups different from their project 2a groups. Reassignments will be made in lab, the week of March 20.


Build a simulation of highway traffic at an intersection. Your simulation should keep track of the number of cars arriving from each direction and traveling in each direction. Different categories of cars will form different queues. For example, at an intersection of two 2-lane roads without turn lanes, a simulation could have 4 queues, each containing 3 types of cars (left turn, straight, and right turn). If the roads have left-turn lanes, the simulation might have 8 queues instead.

Collect the data you need for your model (traffic arrival rates, etc.). Run your simulation long enough to ``debug'' it, illustrate how it works, and get past start-up behavior into the long term or ``steady-state'' behavior. You can run your simulation by hand, with a spreadsheet, with spreadsheet add-ons, with a C or Pascal or JAVA program, or even with a simulation language if you know one. Your documentation should be clear and detailed enough that the reader could replicate your simulation (with the right pseudo-random number stream). You should also evaluate your model for basic ``face valdity.'' Is its overall behavior fairly realistic, or does it show gross errors such as: no car ever successfully makes a left turn; no car ever stops and waits at the intersection.

You will have to make some compromises with reality. Make them intelligently; that is what good modeling is all about. If your intersection has multiple lanes and you have trouble dealing with lane-changing, ask me or one of the T.A.s for hints.

In addition to a written report, prepare an oral presentation to make in lab.

Note: This project continues project 2a. Keep a copy of your report and work when you turn in this project, because you will be assigned a follow-up project to validate your simulation. The validation in project 2c will be different from the face validity check in this project 2b. In 2c, you will compare the actual system performance with the performance of your model.