Final Project: implementing a cyclic algorithm

To be handed in by March 5, 2001.
(May be put in Yoni's inbox at the Statistics dept.)

The aim of the project is to implement a cyclic scheduling algorithm for a multiple route job-shop with identical processing times for each job on each route. It was shown in class that this algorithm is asymptotically efficient (asymptotic with respect to the number of jobs).
You are not required to handle scheduling of the initial cycles (during which safety stocks are built). The problem is given to you with safety stocks already in place.
The following file is the jobs file for the example discussed in class: pipeline.job. And this file is the machines file: pipeline.mch.
The job file has identical processing times for all steps of all jobs of all routes. After you implement the algorithm and test that it works well with Lekin. Change these processing times. First change the times such that all of the jobs on each of the two routes have identical times. Then change the times such that jobs have different times. Analyze your results (explaining what happens).

In addition, create another network featuring a different topology and check that your algorithm schedules jobs on this network as needed.

Note that this algorithm is not intended to run on any job shop. It is intended for shops with distinct routes and many jobs on each route. In your implementation, the program does not have to check that the jobs and machines file match the algorithm, they can assume that the data is "kosher". Nevertheless, you should specify in the documentation of the algorithm class that you generate, what is the required specification from the jobs and machines files.

Each of the two groups should hand in a well formatted report featuring both the source code and the results. It is recommended that you place the executable file and any other files on the web. If this is a problem, hand them in on a floppy.

Good luck