CS 2390 Sp'96 Programming Assignment #2

Simulation of a Plant

The Story

Your team of Industrial Designers has been placed in charge of laying out the new plant producing Widget1's and Widget2's. Widget1's are made up of three pieces: a polished Nibble, a drilled Bobble, and a drilled Nibble. Widget2's are made up of two pieces: a polished Quibble and a drilled Bobble. Widget2's are worth more to your company: Widget1's earn about $1 each in revenue, and Widget2's earn about $1.10. But you do have to create at least one Widget1 and one Widget2 per hour. Your goal is to arrange the plant so as to maximize the (potential) revenue manufactured per hour.

You have several pieces of factory equipment available to you:

One potential factory configuration appears below:

This factory configuration doesn't use all of the splitters, polishers, and drills. Can we add those to increase throughput? Maybe (for example) split the load to one of the polishers or drillers and add a second one?

There are some constraints on the input of Nibbles, Bobbles, and Quibbles. Nibbles come in on a uniform distribution of 30-40 components every 10 minutes. Bobbles come in on a uniform distribution of 10-20 components every 20 minutes. Quibbles come in on a uniform distribution of 10-20 components every 15 minutes.

The Assignment

You are to work in teams of two to three persons to complete this assigment by May 14. You will need to write a simulation that has all of the components described above, making sure that you don't break the rules in terms of the number of each component, their maximum throughput, and the constraints on input to your system. Each team will get one set of the chapters from Goldberg & Robson that document the Simulation Package that we'll be using for this problem. All members of a team will get the same grade for the assignment. Each team are encouraged to police themselves and make sure that (a) work is shared equitably and (b) all members complete their work.

Your design documentation will be a little different than last time for this assignment. Hand in the usual OOA, OOD, and code sections (be sure to email it to your TA (or TAs if teams cross lab sections)!), but you do not need to hand in a reuse section. Rather, run TWO different factory configurations, and hand in for each configuration (a) a description of the factory configuration you tried (a sketch of the layout would be handy) and (b) the bottom line of the produced (potential) revenue of your factory configuration for a one hour (60 minute) simulation run. (That's simulation time one hour. You really don't have to stare at the screen for one real hour.) This implies that your simulation must produce the scalar value of revenue produced.

Extra Credit: An additional five points will be awarded to the top revenue producing configurations in each section. If several teams tie at about the same level, each time gets the five points.

In trying to produce optimal configurations, you are welcome to change any single constant by up to 20%. Thus, you can increase the frequency of deliveries (i.e., reduce the time between deliveries) by up to 20% of a given component, or perhaps increase the maximum product delivered at a delivery by up to 20%, or perhaps increase the minimum product delivered at a delivery up to 20%.

DISCUSSION SPACE FOR P2