A Parallel Distributed Algorithm for the Permutation Flow Shop Scheduling Problem Samia Kouki1, Talel Ladhari2, and Mohamed Jemni1 1
Ecole Supérieure des Sciences et Techniques de Tunis, Research Laboratory UTIC. Tunis, Tunisia
[email protected],
[email protected] 2 Ecole Supérieure des Sciences Economiques et Commerciales, Tunis, Tunisia
[email protected]
Abstract. This paper describes a new parallel Branch-and-Bound algorithm for solving the classical permutation flow shop scheduling problem as well as its implementation on a cluster of six computers. The experimental study of our distributed parallel algorithm gives promising results and shows clearly the benefit of the parallel paradigm to solve large-scale instances in moderate CPU time.
1 Introduction A Permutation Flow Shop Problem (PFSP) is one of the most widely studied scheduling problems in literature. It is commonly used as a benchmark for testing new exact and heuristic algorithms and has became one of the most intensively investigated topics in combinatorial optimization and scheduling theory. This interest is not only motivated by its practical relevance, but also by its deceptive simplicity and challenging hardness. Though, the PFSP is still considered as a very hard nut to crack. The PFSP can be defined as follows. Each job from the job set J = {1, 2, …, n} has to be processed no preemptively on m machines M1, M2, …, Mm in that order. The processing time of job j on machine Mi is pij. At any time, each machine can process at most one job and each job can be processed on at most one machine. The problem is to find a processing order of the n jobs, the same for each machine (i.e. passing is not allowed), such that the time Cmax at which all the jobs are completed (makespan) is minimized. Using the notation specified in Pinedo [1], this problem is denoted F | prmu |Cmax. The PFSP attracted attentions of many research since the discovery of the wellknown polynomial time solution for the F2||Cmax. Particularly, during the last 30 years, computational complexity of the combinatorial optimization problem has been made clear based on the theory of NP-completeness, and it has been verified that PFSP with three or more machines are NP-hard. This complexity result strongly suggests, however, that an enumerative solution approach is essentially unavoidable in this case. The Branch and Bound (B&B) technique proved to be one of the most powerful methods for solving exactly NP-hard combinatorial problems and specially scheduling ones. Interestingly, one can notice that the PFSP has been one of the first C.-H. Hsu et al. (Eds.): ICA3PP 2010, LNCS 6082, Part II , pp. 328–337, 2010. © Springer-Verlag Berlin Heidelberg 2010
A Parallel Distributed Algorithm
329
combinatorial optimization problems to which the B&B technique has been applied shortly after its development, in 1960, by Land and Doig [2]. Following this pioneering work, several authors proposed sequential B&B algorithms. The first B&B algorithms for the F|prmu|Cmax were developed simultaneously, but independently, by Ignall and Schrage in [9] and Lomnicki [38]. The most significant contributions include McMahon and Burton [12], Carlier and Rebai [13], Cheng et al. [37] and Ladhari and Haouari [30]. All these algorithms, except the latter, can solve only instances of very limited size. In this context, and in connection to the previous work presented in [30], we propose in this paper a new parallel distributed version of PFSP algorithm.
2 Notation of the PFSP In this paper, we use the following traditional assumptions: • • • • •
All jobs are ready for processing at time zero. The machines are continuously available from time zero onwards. No pre-emption is allowed (that is, once the processing of a job on a machine has started, it must be completed without interruption). At any time, each machine can process at most one job, and each job can be processed on at most one machine. Only permutation schedules are allowed (i.e. all jobs have the same ordering sequence on all machines).
Using the notation specified in [22], this problem is denoted F|prmu |Cmax. For a given job sequence, we define the makespan as the time to complete the schedule. The PFSP is to find a job sequence with minimum makespan. More precisely, the PFSP can be stated mathematically as follows: if we have a permutation (sequence) σ=(σ(1), σ(2),…, σ(n)) of the set J of jobs, then we define the completion time, Ciσ( j) of job σ( j) on machine Mi as follows: C1σ(1) = p1σ(1) Ciσ(1)= Ci_1,σ(1)+ piσ(1), i= 2, . . . ,m C1σ (j)= C1σj_1+ p1σ( j), j = 2, . . . , n Ciσ( j)= max(Ciσ(j-1), Ci-1,σ(j)) + piσ( j), i= 2, . . . ,m and J= 2, . . . ,n The makespan is defined as Cmax(σ) = Cmσ(n) The PFSP is to find a permutation s* in the set S of all permutations of the set {1, 2, …, n} such that Cmax(σ*) =
C
The first study of the PFSP goes back to 1954 when Johnson published his seminal paper [28] showing that, for the two-machine case, the following property holds: Job i precedes job j in an optimal sequence if: min{p1i, p2j} ≤ min{p1j , p2i}
330
S. Kouki, T. Ladhari, and M. Jemni
A nice consequence of this result is that the two-machine flow shop problem can be solved in polynomial time [29]. However, for m≥3, the PFSP is NP-hard. In this work, we consider the mono-objective case, which aims to minimize the overall completion time of all jobs, i.e. the makespan. The PFSP can be solved by two broad classes of methods: Exact methods and Heuristic methods. In this paper we are interested only on the exact methods to solve the PFSP with makespan criterion using parallel B&B algorithm.
3 The B&B Algorithm Solving the PFSP with Makespan Criterion The PFSP attracted attentions of many research since the discovery of the well-known polynomial time solution for the F2||Cmax. Particularly, during the last 30 years computational complexity of the combinatorial optimization problem has been made clear based on the theory of NP-completeness, and it has been verified that PFSP with 3 or more machines are NP-hard. This complexity result strongly suggests, however, that an enumerative solution approach is essentially unavoidable in this case. The B&B technique proved to be one of the most powerful methods for solving exactly NP-hard combinatorial problems and specially scheduling ones. Interestingly, one can notice that the PFSP has been one of the first combinatorial optimization problems to which the B&B technique has been applied shortly after its development, in 1960, by Land and Doig [2]. Following this pioneering work, several authors proposed sequential B&B algorithms. The first B&B algorithms for the F|prmu|Cmax were developed simultaneously, but independently, by Ignall and Schrage in [9] and Lomnicki [38]. Following this pioneering work, several additional branch-and-bound algorithms have been published. The most significant contributions include McMahon and Burton [12], Carlier and Rebai [13], Cheng et al. [37] and Ladhari and Haouari [30]. All these algorithms, except the latter, can solve only instances of very limited size. The B&B method is presently the only way to solve the PFSP and to give optimal solutions [9, 39]. Furthermore, as heuristics do not usually produce optimal solutions, the goal of the B&B algorithm is to solve a constrained optimization problem [17]. The principle of B&B is to make an implicit search through the space of all possible feasible solutions of the problem. Indeed, it is an intelligent search algorithm for finding a global optimum of problems of the form min f(x), x X. B&B is characterized by the three following basic components:
∈
¾ A branching rule ¾ A lower bounding ¾ A search strategy. The following algorithm describes the ideas presented above: 1. LIST={S}; 2. UB: value of some heuristic solutions. CurrentBest: heuristic solution 3. While LIST≠ Ø Do 4. Choose a branching node k from LIST
A Parallel Distributed Algorithm
331
5. Remove k from LIST 6. Generate children child(i) for i=1,…,nk and compute the corresponding lower bounds LBi. 7. For i=1 To nk DO 8. IF LBi