Job Shop Scheduling

Todd Sullivan, Harry Robertson, Pavani Vantimitta
Stanford's Reasoning Methods in Artificial Intelligence Course
Project 3 of 4
Stanford Department of Computer Science

In this project we created a job shop scheduler. Our scheduler exhibited scorching performance. Although the TA and instructor's feedback did not provide a comparison between the various teams, after talking with many teams we are confident that our scheduler was #1 (just as in our SAT solvers and CSP solvers) or #2/3 at worst. As the contribution section details, Harry implemented all optimizations for the temporal reasoner while I implemented all optimizations and provided all code for the rest of the scheduler.

We were given no starter code for the assignment. We were only given plain text files containing the problem descriptions (as described in the project description).

Technical Report

Member Contributions

The following list details all group contributions. These contributions were not the original tasks assigned to each group member, but were the end result due to each member's abilities and other issues.

  • Harry implemented the temporal reasoner (Bellman-Ford).
  • I implemented all optimizations (except for the temporal reasoner) and all other portions of the code base.
  • I performed all experiments, collected all data, and organized all results.
  • Pavani wrote the introduction and algorithm descriptions for the report (Sections 1 and 2).
  • I wrote the optimizations and experimental method sections of the report (Sections 3 and 4) except Section 3.5 (the temporal reasoner optimizations).
  • Harry and I discussed the results while Harry wrote the results analysis section of the report (Sections 5 and 6).
  • Harry edited Pavani's portion of the report (Sections 1 and 2) and my portion of the report (Sections 3 and 4).
  • I edited Harry's portion of the report (Sections 5 and 6).
  • Pavani converted the Excel-based results tables to a Word document and I formatted the Word document and included comments (the Annex).
  • I applied all formatting and presentation features to the report and annex.

Source Code

Since this assignment will be used in future versions of the reasoning methods course, I am not releasing the code at this time.