The no-wait job shop is an extension of the well-known job shop scheduling subject to the constraint that the operations of any job, once started, must be processed immediately, one after the other, until the completion of the job. The problem is NP-hard and exact methods can only solve small instances. In the last two decades of advances on this problem, one aspect became central for the success of metaheuristics to tackle it, namely the decomposition of solution into two parts: sequencing and timetabling. Most of these metaheuristics use a permutation to represent the sequencing part, while the timetabling part uses specific rules that differentiate one approach from the other. The main contribution of this work is the proposal of a cooperative coevolutionary algorithm where the sequencing and the timetabling parts interact with each other to evolve quasi-optimal sequencing and timetabling decisions. To this aim, the algorithm co-evolves a population of permutations with a population of binary chains. The permutation decides the sequencing while each bit in the binary chain decides whether or not a job is shifted to the left-most position on its corresponding machine. Therefore, the whole binary chain defines a timetabling rule that is automatically optimized during the evolution process. The algorithm also includes one-step perturbation mechanisms that help improve the solution quality. The proposed algorithm is tested on a set of benchmark instances to compare it with seven state-of-the-art methods. Computational experiments show that the proposed algorithm produces competitive results, furthermore, new best values for four instances are obtained.
Read full abstract