An Iterated Greedy Metaheuristic for the Blocking Job Shop Scheduling Problem
Total Page:16
File Type:pdf, Size:1020Kb
Dipartimento di Ingegneria Via della Vasca Navale, 79 00146 Roma, Italy An Iterated Greedy Metaheuristic for the Blocking Job Shop Scheduling Problem Marco Pranzo1, Dario Pacciarelli2 RT-DIA-208-2013 Novembre 2013 (1) Universit`adegli Studi Roma Tre, Via della Vasca Navale, 79 00146 Roma, Italy (2) Universit`adegli Studi di Siena Via Roma 56 53100 Siena, Italy. ABSTRACT In this paper we consider a job shop scheduling problem with blocking (zero buffer) con- straints. Blocking constraints model the absence of buffers, whereas in the traditional job shop scheduling model buffers have infinite capacity. There are two known variants of this problem, namely the blocking job shop scheduling (BJSS) with swap allowed and the BJSS with no-swap. A swap is needed when there is a cycle of two or more jobs each waiting for the machine occupied by the next job in the cycle. Such a cycle represents a deadlock in no-swap BJSS, while with a swap all the jobs in the cycle move simulta- neously to their subsequent machine. This scheduling problem is receiving an increasing interest in the recent literature, and we propose an Iterated Greedy (IG) algorithm to solve both variants of the problem. The IG is a metaheuristic based on the repetition of a destruction phase, which removes part of the solution, and a construction phase, in which a new solution is obtained by applying an underlying greedy algorithm starting from the partial solution. Comparison with recent published results shows that the iterated greedy outperforms other state-of-the-art algorithms on benchmark instances. Moreover it is conceptually easy to implement and has a broad applicability to other constrained scheduling problems. Keywords: Job shop scheduling problem, blocking, swap, iterated greedy, alternative graph. 2 1 Introduction The job shop scheduling problem is one of the most studied problems in combinatorial optimization. In this problem, a set of jobs must be processed on a set of machines and the sequence of machines for each job is prescribed. The processing of a job on a machine is called an operation and cannot be interrupted. Each machine can host only one job at a time, and whenever two jobs require the same machine, a processing order must be defined between the incompatible operations. The problem consists of scheduling all operations on all machines to minimize the completion time of all jobs. The classical version of the problem assumes that jobs can be stored in a buffer of infinite capacity between consecutive operations. However, there are many practical situations in which the buffer capacity has to be taken into account [8, 26, 15, 22, 28, 5]. This is the case, for example, when there is no buffer to store work-in-progress [4] or it is not convenient to store jobs due to economic considerations [27]. The blocking constraint models the complete absence of storage capacity between consecutive machines [11]. In this setting, a machine is released by a job only when the subsequent machine is available for processing it. When the subsequent machine is unavailable the job remains on the current machine, thus blocking it, even after its operation is completed. Two versions of the job shop scheduling problems with blocking can be distinguished: the blocking with swaps (BWS) and the blocking no-swap (BNS) versions. In order to define a swap, let us introduce a deadlock as a cycle of two or more jobs each waiting for the machine occupied by the next job in the cycle. A swap occurs whenever a deadlock is solved by simultaneously moving every operation in the cycle to the subsequent machine. If the swap is not allowed (BSN) a deadlock is infeasible. Mascis and Pacciarelli [18] show that the problem of finding a feasible extension of a partial solution is polynomially solvable for the BWS case and it is NP-complete for the BNS version. Despite the practical relevance of the problem, only in the last years few algorithmic contributions on job shop scheduling problems with blockings have been proposed in the literature. One successful approach is based on the alternative graph formulation [18], which allows to model the BJSS problem in both variants, with and without swaps. In [18] a branch and bound algorithm is proposed to sove the problem exploiting the generaliza- tion to the blocking case of some properties holding for the traditional JSS problem with infinite buffer capacity. In [29] a family of heuristics (AGH) extending the ones introduced in [18] has been proposed and tested. Based on the AGH heuristics, in [23] a rollout algo- rithm is proposed for solving four variants of the job shop scheduling problem including, among the others, the BWS and the BNS versions. In [16], a constructive algorithm with local search improvement is proposed for solving the blocking job shop scheduling problem with parallel-machines and applied to solve a train scheduling problem. Computational results for the BWS case are also reported. The literature on the blocking job shop scheduling problem includes several recent algorithmic contributions specially tailored for the BWS version of the problem. Gr¨oflin and Klinkert [10] propose a tabu search algorithm in which the solution feasibility is recov- ered after every move. In [9], the neighborhood is enlarged to take into account machine flexibility and improved results are presented. A complete local search with memory is proposed by [37] which compares favourably with the greedy heuristic algorithms pre- sented in [18]. Recently, Oddi et al. [25] presented an iterative flattening search for the BWS problem obtaining state-of-the-art results. 3 The literature for the BNS case experienced a smaller number of contributions. Mati et al. [19, 20] study a flexible manufacturing system and model the production scheduling problem as a BNS job shop scheduling problem in which each operation may require more than a resource at a time to be executed. They develop a geometric approach to optimally solve the BNS problem with two jobs. Mati and Xie [21] extend the previous works to include resource flexibility. They propose an insertion heuristic based on the geometric approach for the problem with two jobs and incorporate this algorithm in a tabu search framework to produce deadlock-free schedules for the problem with n jobs. In this paper, we discuss and apply a conceptually very simple technique, known as Iterated Greedy (IG), which aims at improving the performance of a greedy constructive heuristic procedure in short computation times. The paper is organized as follows. In Section 2 we formulate job shop scheduling problems with blocking constraints using the alternative graph formulation. In Section 3 we present our iterated greedy algorithm for solving the problem modeled by means of the alternative graph formulation. Computational results on a set of benchmark instances are presented in Section 4, and finally some conclusions follow. 2 The job shop scheduling problem with blocking constraints In the job shop scheduling problem a set of jobs J must be processed on a set of machines M, each processing at most one job at a time. The processing of a job on a machine is called an operation and cannot be interrupted. We let fo1; : : : ; ong be the set of all operations. The sequence of operations for each job is prescribed, while the sequence of operations for each machine has to be determined in such a way that the time needed to complete all operations, called the makespan, is minimum. More formally, the scheduling problem consists in assigning a starting times ti to operation oi, i = 1; : : : ; n, such that: (i) precedence constraints between consecutive operations of the same job are satisfied; (ii) each machine hosts at most one job at a time; and (iii) the makespan is minimized. In the blocking job shop scheduling problem no intermediate storage is allowed between two consecutive machines. Hence, once a job completes processing on machine Mh it either moves to the subsequent machine Mk (if it is available) or it remains on Mh, thus blocking it (if Mk is not available). The blocking job shop scheduling problem can be modeled by using the alternative graph model of Mascis and Pacciarelli [18]. An alternative graph is a triple G = (N; F; A). N = f0; 1; : : : ; n + 1g is a set of nodes, and each node i 2 N is associated to operation oi. Two additional nodes start 0 and finish n + 1 (dummy operations o0 and on+1) model the beginning and the completion of the schedule, i.e., o0 precedes all other operations while on+1 follows all other operations. F is a set of fixed directed arcs and fij is the length of the fixed arc (i; j) 2 F . A fixed arc (i; j) represents a precedence constraint on the starting time of operation oj, which is constrained to start at least fij time units after oi, i.e., tj ≥ ti +fij. Finally, A is a set of m pairs of alternative directed arcs, and aij is the length of the alternative arc (i; j). If ((i; k); (h; j)) 2 A, then arcs (i; k) and (h; j) form an alternative pair. Alternative pairs are used to model precedence relations between pairs of operations to be processed on the same machine. Let oi and oj be two operations to be processed on the same machine, and let oh and ok be the operations immediately following oi and oj in their respective jobs (see Figure 1). 4 The blocking constraint states that if oi is processed before oj, operation oj can start the processing only after the starting time of oh (i.e., when oi leaves the machine).