Open-shop scheduling is an optimization problem and a variant of optimal job scheduling. In a general job-scheduling problem, we are given n jobs J1,J2,....,Jn of varying processing times which need to be scheduled on m machines with varying processing power, while trying to minimize the makespan - the total length of the schedule. In open-shop scheduling specifically, each of n jobs consists of a set of operations O1,O2,...,Om which need to be processed in an arbitrary order on m given machines.
In this project, we implemented three optimization techniques for this problem: Simulated Annealing, Tabu Search and Permutation Genetic Algorithm