Job Shop Problem algorithm


“Tell me and I forget. Teach me and I remember. Involve me and I learn.” Benjamin Franklin

This university project is part of an Advanced Data Structures and Algorithms course, designed to deepen understanding and proficiency in utilizing data structures effectively.

The project comprises two milestones:

  1. The first milestone involves implementing the Job Shop Problem using linked lists.
  2. For the second milestone, I opted for a Circular list to manage operations and a tree structure to represent machines. Each node in the tree points to operations it can execute. A critical constraint is ensuring operations are scheduled sequentially without preempting operations already in progress on a machine.

This project not only challenges comprehension of data structures but also emphasizes their practical application in optimizing job scheduling and resource utilization in complex manufacturing scenarios. Explore the developed solution on GitHub.

Additionally, a simple JavaScript page was developed to visualize the optimized scheduling solutions. The page displays the scheduling sequences generated by the C implementation, providing a visual representation of how jobs are allocated to machines over time.

This project not only demonstrates proficiency in C programming and algorithm design but also showcases practical application through interactive visualization using JavaScript.

Proposed Schedule by the Algorithm

Technologies