Solving Blocking Flowshop Scheduling Problem with ...

1 downloads 0 Views 931KB Size Report
Abstract—In this paper a branch and bound algorithm is presented for solving blocking flowshop scheduling problem. We consider the total completion time and ...
Solving Blocking Flowshop Scheduling Problem with Branch and Bound Algorithm Sa¨ıd Toumi

Bassem Jarboui

Mansour Eddaly and Abdelwaheb Reba¨ı

Research Laboratory: MODILS Faculty of Economic Sciences and Management Airport Road Km 4, Sfax, Tunisia Email: [email protected]

Faculty of Economic Sciences and Management Email: bassem [email protected]

Faculty of Economic Sciences and Management Email: [email protected] [email protected]

Abstract—In this paper a branch and bound algorithm is presented for solving blocking flowshop scheduling problem. We consider the total completion time and total weighted completion time as objective function. Our proposed algorithm is the first one that addressed to these criteria. Besides, new machine based lower bounds are derived. Computational experiments show the effectiveness of the branch and bound algorithm to solve large scale instances.

I. I NTRODUCTION In the classical permutation flowshop scheduling problem, it is assumed infinite capacity of intermediate buffers between consecutive machines. Therefore, a job can be stored with untlimited amount of time in the buffers. In many real-world situations, this assumption is not occurred because the capacity of buffers may be limited and a job has an exact amount of time that cannot be exceeded between machines. In other industrial companies, the storage is never allowed for example in chemical or pharmaceutical industries. This framework of shop is called blocking where a completed job on a machine blocks it until the next machine downstream become available. By introducing this constraint in the permutation flowshop scheduling problem where all jobs follows the same routing in all machine the problem become permutation flowshop scheduling problem with blocking constraints. In this paper we develop a branch and bound algorithm for solving blocking flowshop scheduling problem where the objective is to find the permutation of jobs who gives the minimum total completion criterion. Following the three field notation of [1], this P problem is denoted byP either Fm |blocking, perm| cj or Fm |blocking, perm| wj cj which indicate the problem with total unweighted and total weighted completion time, respectively. The total completion time measures the time a job stays in the system. This objective function aims at reducing the work in process or in process inventory and leads to a more stable utilisation of machines. In the single machine case, the well known SP T rule provides an optimal solution for the problem with unweighted objective. To the best of our knowledge, the works which addressed to these objective functions in 978-1-4799-0313-9/13/$31.00 ©2013 IEEE

this problem are missed for exact approaches. Even, in the case of classical permutation flowshop scheduling few studies have considered these criteria by exact approaches ( [2];P[3]; [4]; [5]). In terms of complexity Fm |blocking, perm| cj P and Fm |blocking, perm| wj cj are both N P -complete even for the two machine problem. We find the paper of [6] where a new metaheuristic called harmony search algorithm is developed for solving the blocking flowshop scheduling problem with the total completion time criterion. We develop a branch and bound procedure to solve the unweighted m machine version. Then, we extend our algorithm to the weighted version. The rest of the paper is organized as follows: section 2 reports the description of the considered problem. In section 3, a machine based lower bound is derived for the total completion time objective function. An extension to the proposed lower bound to the weighted objective function is presented in section 4. The outline of the branch and bound procedure is described in section 5. The computational results are provided in section 6. Finally, section 7 gives the concluding remarks. II. P ROBLEM D ESCRIPTION In a permutation blocking flowshop problem, there is a set of n jobs to be processed on a set of m machines following the same routing. The blocking constraints imply no intermediate buffers between consecutive machines. Thus, a job j (j = 1, 2, ..., n) cannot pass from machine k to machine k +1 while the latter is busy. Let pk,i denotes the processing time of the job in the ith position in the sequence σ = {1, 2, ..., n} on the machine k and Dk,i denotes its departure time from the machine k. Based on the recursive expression of the departure time given by to [7], the total completion time (T CT ) can be found as follows: D0,1 = 0; (1) Dk,1 =

k X

pj,1 ; k = 1, 2, ..., m − 1;

(2)

j=1

D0,i = D1,i−1 ; i = 2, 3, ..., n;

(3) 411

Dk,i = max{Dk−1,i + pk,i ; Dk+1,i−1 };

(4)

k = 1, 2, ..., m − 1; i = 2, 3, ..., n; Dm,i = Dm−1,i + pm,i ; i = 2, 3, ..., n; T CT =

n X

(5)

pm+1,i = 0, Dm+1,i = 0 ∀i = 1, 2, ..., n. So, the total completion time of the jobs in σ ¯s can be computed as follows: X T CT (¯ σs ) = Dm,i (10) i∈¯ σs

Dm,i

(6)

i=1

III. L OWER BOUND FOR TOTAL COMPLETION TIME In this section we derive a machine based lower bound for the total completion time criterion. We consider the following notations: σ = {σ 1 , σ 2 , ..., σ n } a sequence of n jobs to be processed on m machines with respect to the blocking constraints. σs = {σs1 , σs2 , ..., σss } The partial schedule until position s. Ck,i : The completion time of the job sequenced on position i on the machine k. Cˆk,i : The earliest completion time of the job sequenced on position i on the machine k. σ ¯s :  The set of unscheduled job until position s; ¯sn−s . ¯s2 , ..., σ σ ¯s = σ ¯s1 , σ Dk,i : The departure time of the job sequenced on position i from machine k. T CT (σs ) : the total completion time of the jobs in σs . ˆ k,i : The earliest departure time of the job sequenced on D position  i from Pk machine k. 0 if 1 ≤ k ≤ k ≤ m k h=k0 ph,j rk0 ,j = ∀j ∈ σ ¯s is 0 otherwise the partial sums of processing times of unscheduled job j 0 over adjacent machines between k and k. For a given sequence σ, the departure time of the job sequenced in position i(i = 1, 2, ..., n) from machine k is computed following the recursive expression given in section 2. For a given sequence of the jobs π ¯s in σ ¯s , the departure time of the job to be located on position i > s on machine k is given by:   Dk,i = max Dk,s + pk,s+1 , Dk+1,s ; (7) k = 1, 2, ..., m, i = s + 1;   Dk,i = max Dk,s + pk,s+1 , Dk+1,s

(8)

  Pi + l=s+2 max pk,l , pk+1,l−1 ; (8)

This value of departure time is computed for a given sequence of jobs in σ ¯s . However the order of processing of jobs of this set is unknown. In what follows we consider the case of any sequence of jobs. Let {pk,[1] , pk,[2] , ..., pk,[n] } is a permutation of {pk,1 , pk,2 , ..., pk,n } where pk,[1] ≤ pk,[2] ≤ ... ≤ pk,[n] (1 ≤ k ≤ m). Theorem 1: A valid lower bound on the total completion time can be obtained by: "  # n i X X LB1 (k) = Dk,s + max ak,[l] , bk+1,[l−1] i=s+1

l=s+1

(11) P m + j∈¯σs rk+1,j (11)   LB1 = T CT (σs ) + max LB1 (k) 1≤k≤m

Where ak = {pk,[1] , pk,[2] , ..., pk,[n] } and bk+1,[l] is the lth smallest value among the value Dk+1,s − Dk,s and the processing times of jobs in σ ¯s on machine k + 1. Proof: By using the Lemma of Ronconi and Armentano (2001) [8]: Let A = a1 , a2 , ..., at and B = b1 , b2 , ..., bt sequences of integer positive numbers and define S(A, B) = Pt max(a l , bl ). Then, S(A, B) is minimized if the sel=1 quences A and B are ordered in such a way that for each pair (al , bl ) there is k ∈ {1, 2, ..., t} such that al and bl correspond to the k th smallest elements of sequences A and B, respectively. The earliest departure time of the job to be sequenced in position i > s from σ ¯s is given by:   i X ˆ k,i = Dk,s + D max ak,[l] , bk+1,[l−1] (13) l=s+1

Where ak = {pk,[1] , pk,[2] , ..., pk,[n] } and bk+1,[l] is the lth smallest value among the value Dk+1,s − Dk,s and the processing times of jobs in σ ¯s on machine k + 1. Therefore: n X X m ˆ k,i + LB1 (k) = D rk+1,j (14) i=s+1

k = 1, 2, ..., m, i = π ¯s,2 , π ¯s,3 , ..., π ¯s,n−s pm+1,i = 0, Dm+1,i = 0 ∀i = 1, 2, ..., n

j∈¯ σs

  LB1 = T CT (σs ) + max LB1 (k) 1≤k≤m

Similarly Dk,i may be written as:   Dk,i = Dk,s + max pk,s+1 , Dk+1,s − Dk,s   Pi + l=s+2 max pk,l , pk+1,l−1 ; (9) k = 1, 2, ..., m, i = {¯ πs,2 , π ¯s,3 , ..., π ¯s,n−s }

(12)

(15) 

(9)

Proposition 1: the lower bound on the total completion time at node σs on machine k can be improved by: (   n i X X LB2 (k) = max Dk,s + max ak,[l] , bk+1,[l] ; i=s+1

l=s+1

(16) 412

) ˆ k+1,i−1 D

+

at node σs on machine k can be improved by:

m rk+1,j (16)

P

j∈¯ σs

LB3 (k) =

  LB2 = T CT (σs ) + max LB2 (k)

(17)

1≤k≤m

Proof: According to the blocking constraints, for any position i, a job cannot leave the machine k before the finish of the job located in the position i − 1 on machine k + 1. Thus, ˆ k+1,i−1 then Dk,i ≥ Dk+1,i−1 We know that Dk+1,i−1 ≥ D ˆ k+1,i−1 . Dk,i ≥ D Dk,i ≥ Dk,s +

i X

  max ak,[l] , bk+1,[l] ;

k = 1, 2, ..., m, i = s + 1, s + 2, ...n and bm+1,i = 0, ∀i = 1, 2, ..., n.

˜ k,i = max Dk,s + D

i X

i=s+1

ˆ k+1,i−1 D

min

j∈¯ σs

m (21) rk+1,j n X

˜ k,i + D

X

m rk+1,j

(22)

j∈¯ σs

i=s+1

  LB2 = T CT (σs ) + max LB2 (k) 1≤k≤m

(23)

We denote by Ek,i,j the earliest departure time of a job j if it is assumed that this job is scheduled in position i > s on the machine k. Ek,i,j is computed according to the following recursive expression:

Ek,i,j

ˆ 1,i−1,j ; E0,i,j = D   ˜ = max Ek−1,i + pk,j , Dk,i , Ek+1,i−1 ;

(24) (25)

∀1 ≤ k ≤ m, s + 1 ≤i ≤ n.(25)  And Ek,i = minj s

Ek,i,j

wj Em,i,j xi,j

j∈¯ σs i=s+1

S.t :

X

xi,j = 1

j∈¯ σs n X

(20)

l=s+1

LB2 (k) =

n X X

xi,j = 1

f or i = s + 1, ..., n; f or j ∈ σ ¯s ;

i=s+1

(21) +

(27)

The lower bound on the total weighted completion time objective is derived by using a linear assignment relaxation based on an underestimate of the completion time of assigning a job to a given position in the schedule.

(19) = 0, ∀i =

Therefore the first lower bound on the total completion time at node σs on machine k can be improved by: (   n i X X LB2 (k) = max Dk,s + max ak,[l] , bk+1,[l] ;

P

(26)

j∈¯ σs

IV. L OWER BOUND FOR TOTAL WEIGHTED COMPLETION



i=s+1

m rk+1,j ;

1≤k≤m

l=s+1

)

X

k = 1, 2, ..., m. where bm+1,[i] = 0, ∀i = 1, 2, ..., n.   LB3 = T CT (σs ) + max LB3 (k)

)   ˆ k+1,i−1 ; max ak,[l] , bk+1,[l] ; D

k = 1, 2, ..., m, i = s + 1, s + 2, ...n and bm+1,i 1, 2, ..., n. ) ( ˆ k,i ; D ˆ k+1,i−1 ; ˜ k,i = max D D

Ek,i +

TIME

(18)

l=s+1

(

n X

is the earliest departure time

of any job j ∈ σ ¯ in position i. Theorem 2: The lower bound on the total completion time

xi,j =

1 0

xi,j ∈ {0, 1} f or j ∈ σ ¯s and i = s + 1, ..., n. if the job j is scheduled in position i otherwise

V. O UTLINE OF THE BRANCH AND BOUND PROCEDURE This section outlines the branch and bound bound algorithm to solve the permutation flowshop scheduling problem with blocking under the total completion time criterion. The depthfirst strategy is used to search the tree. The root of the tree is an empty node at level 0 denoting no job scheduling. Each node at level s > 0 corresponds to a partial sequence σs . The lower bound at this node would be given by the sum of the objective function value of the sequence σs and the value of the lower bound on the subproblem induced by the node reachable from node s, after removing all the jobs already selected in the partial sequence. Initially, the value of the upper bound is set to the infinity and is updated whenever a feasible schedule is obtained which has a lower total completion time. For each new node of the tree, the lower bound is computed according to eqution (27). During the search, any incomplete branch that has a lower bound which is greater than or equal to the current upper bound is fathomed i.e. eliminated from further consideration. VI. C OMPUTATIONAL RESULTS The proposed branch and bound algorithm was coded in C++. All experiments were carried out on a Windows XP on a personal PC with Intel Pentium IV, 3.2 GHz processor and 512 MB memory. In order to evaluate the performance of our proposed branch and bound algorithm we consider 30 combinations of (m, n): (2,10), (3,10), (4,10), (5,10), (7,10), 413

(10,10), (2,12), (3,12), (4,12), (5,12), (7,12), (10,12), (2,14), (3,14), (4,14), (5,14), (7,14), (10,14), (2,16), (3,16), (4,16), (5,16), (2,18), (3,18), (4,18), (5,18), (2,20), (3,20), (4,20) and (5,20). Each combination contains 20 instance problems where the processing times are generated randomly following the uniform distribution in [1, 99]. In total, 600 instances are generated. Table I displays the computational results for the total completion time criterion. In column (1), the size of instances is given. N N indicates the number of node of the obtained solution in column (2). The column (3) dispalys the total number of nodes created by the branch and bound algorithm. U P denotes the number of unsolved problems (column (4)). The column (5) displays the relative percentage deviation between the obtained solution and the best lower bound. Finally, t and tmax denote the CP U time of the obtainedsolution and the last node create by the algorithm respectively. The algorithm enables to solve with up 20 jobs and 3 machines. We can see that, as the number of machine increases, the average number of node increases. It should be noted that, the number of unsolved problems is relatively weak. Five instances remains unsolved after one hour CP U time, two instances for (4, 20) class and three instances for (5, 20). The classes containing up to (5, 14), the CP U time of obtained an optimal solutions may be considered as negligible(less than 1s). Moreover, the CP U time begins to increase significantly from the class (2, 18), especially from (3, 20). Therefore, the most difficult instances belong to the last three classes. In the weighted case, the number of tested instances is reduced since we have removed the last two classes (4, 20) and (5, 20). The experiments show that, the proposed algorithm appears unable to solve them optimally at one hour. It is shown that the number of unsolved problems is equal to zero until (4, 18) class. Then, this number increases surprisingly, for the two remaining classes. By comparing the results of the two tables, we observe that all parameters of weighted problems are greater than those of unweighted problems. Therefore, the weighted problem is more difficult than unweighted problem. Table II provides the upper bounds on the total completion time obtained on 110 taillard’s benchmark problems [9] by our proposed algorithm. Even, for these instances, we consider the CP U time limit of 1 hour. The values marked in bold face are solved at the optimality. According to the obtained results, in the small size instances (5,20), 80% of instances are solved optimally (8 instances among 10).

respect to unweighted criteria. Although, the same lower bound is employed for the weighted case, the algorithm finds some difficulties to reach the optimality for several instances. These results are very encouraging to extend the derived lower bound to other criteria such that total tardiness or total weighted tardiness. R EFERENCES [1] R. L. Graham and E. L. Lawler and J. K. Lenstra and A. H. G. Rinnooy Kan, Optimization and approximation in deterministic sequencing and scheduling: a survey, Annals of Discrete Mathematics, 5: 287-326, 1979. [2] S. P. Bansal, Minimizing the sum of completion times of n jobs over m machines in a flowshop: A branch and bound approach, AIIE Transactions, 9: 306-311, 1977. [3] R. H. Ahmadi and U. Bagchi, Improved lower bounds for minimizing the sum of completion times of n jobs over m machines in a flowshop, European Journal of Operational Research, 44: 331-336, 1990. [4] C. S. Chung and J. James Flynn and O. Kirca, A branch and bound algorithm to minimize the total flowtime for m-machine permutation flowshop problems, Int. J. Production Economics, 79: 185-196, 2002. [5] N. Madhushini and C. Rajendran, and Y. Deepa, Branch and bound algorithms for scheduling in permutation flowshops to minimize the sum of weighted flowtime/ sum of weighted tardiness/ sum of weighted flowtime and weighted tardiness/ sum of weighted flowtime, weighted tardiness and weighted earliness of jobs, Journal of the Operational Research Society, 60: 991-1004, 2009. [6] L. Wang and Q. Pan and M. F. Tasgetiren, Minimizing the total flowtime in a flow shop with blocking by using hybrid harmony search algorithms, Expert Syst Appl, 37 : 7929-7936, 2010. [7] D. P. Ronconi, A note on constructive heuristics for the flowshop problem with blocking, International Journal of Production Research, 87: 3948, 2004. [8] D. P. Ronconi and V. A. Armentano, Lower Bounding Schemes for Flowshops with Blocking In-Process, The Journal of the Operational Research Society, 52: 1289-1297, 2001. [9] E. Taillard, Benchmarks for basic scheduling problems. European Journal of Operational Research, 64: 278285, 1993.

VII. C ONCLUSION We have developed a branch and bound algorithm using a new machine based lower bounding scheme for solving the scheduling of a permutation flowshop scheduling problem with blocking constraints under the total completion time and total weighted completion time criteria. The computational results have showed the effectiveness of our proposed algorithm in finding optimal solutions even for large size instances with 414

TABLE I C OMPUTAIONAL RESULTS FOR UNWEIGHTED CASE Instances 2*10 3*10 4*10 5*10 7*10 10*10 2*12 3*12 4*12 5*12 7*12 10*12 2*14 3*14 4*14 5*14 7*14 10*14 2*16 3*16 4*16 5*16 2*18 3*18 4*18 5*18 2*20 3*20 4*20 5*20

NN 969 822,85 950,7 1523,65 2034,95 1928,15 6455,3 7985,75 8462,85 12335,75 11440,65 20932,3 69925 74158,3 85581,45 86372,95 134591,05 146129,6 830212,8 421037,05 1186407,65 1664014,1 5406948,65 6740481 6255487,45 10201824,75 52347568,55 110230271,1 136262632,3 171264844,5

NNmax 2588,9 3209,5 3655,1 3908,6 4733,45 5532,4 22964,1 26927,3 30866 35012,4 42964,6 57232,65 214030,9 258968,05 294156,3 326812,65 408216,3 524853,75 2254711,95 2378548,65 2690621,5 3446861 20610721,45 22605186,55 29410521,3 35220663,45 281873813,2 295887047,9 376698892,8 416177672,5

Mean

16782811

49717396,5

UP 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3

gap 8,17 11,45 13,74 12,93 13,12 14,57 8,48 12,41 13,65 14,67 13,87 15,92 8,75 13,64 14,41 13,94 14,53 16,26 10,21 11,97 14,17 15,35 9,21 13,37 16,03 15,33 10,57 11,92 16,3 15,95

t 0 0 0 0,01 0,01 0,02 0,02 0,04 0,05 0,08 0,09 0,21 0,26 0,34 0,45 0,53 1,01 1,37 2,67 1,65 5,95 10,08 18,35 28,95 30,41 66,9 176,91 478,13 708,67 1044,32

tmax 0,01 0,02 0,02 0,03 0,04 0,06 0,08 0,13 0,18 0,23 0,35 0,62 0,79 1,2 1,58 2,07 3,27 5,33 7,22 9,6 13,65 21,32 69,67 98,81 146,62 231,45 953,23 1320,01 2027,09 2567,71

13,16

85,92

249,41

TABLE II C OMPUTAIONAL RESULTS FOR WEIGHTED

Instances 2*10 3*10 4*10 5*10 7*10 10*10 2*12 3*12 4*12 5*12 7*12 10*12 2*14 3*14 4*14 5*14 7*14 10*14 2*16 3*16 4*16 2*18 3*18 4*18 2*20 3*20 Mean

NN 1033,5 899,85 1222,45 1165,5 1844,05 1244 10904,55 15260,35 11190,9 13257,85 18482,45 16289,85 159853,1 131235,9 167594,55 146528,25 169867,95 296481,95 3522603,7 1881474,55 2594004,45 23841407,85 33015581,5 23841407,85 266433431,7 195153053,3

NNmax UP gap 2874,65 0 15,96 2958,05 0 15,71 3563,05 0 17,08 4042,25 0 16,25 4954 0 14,05 5482,4 0 13,96 32396,35 0 17,5 37333,8 0 19,25 41142,5 0 18,29 40939,4 0 18,47 49299,1 0 15,03 64023,55 0 15,75 689432,65 0 22,18 553194,85 0 22,71 576865,45 0 20,34 499244,55 0 19,53 670852,1 0 18,45 795320,4 0 18,79 9477115,35 0 26,52 6459229,05 0 22,48 6221053,85 0 21,83 84568909,4 0 24,04 108255607,3 0 24,75 84568909,4 0 22,94 620529353,4 17 27,14 545646436,8 19 25,63

21209512,38 56530789,76

19,99

CASE

t 0,01 0,02 0,02 0,02 0,03 0,03 0,12 0,17 0,15 0,18 0,28 0,27 1,59 1,18 1,14 1,12 1,53 4,17 28,41 11,98 23,44 142,73 177,62 142,73 1549,36 1213,97

tmax 0,03 0,04 0,05 0,06 0,08 0,11 0,36 0,45 0,55 0,6 0,75 1,16 7,2 4,95 4,12 4,08 6,38 11,68 80,41 45,21 57,99 490,05 601,74 490,05 3535,32 3582,29

127,01

343,3

415

TABLE III R ESULTS FOR TAILLARD ’ S INSTANCES AFTER CPU TIME OF ONE HOUR LB UB 20jobs 5machines 13043 14953 12874 16349 11340 14335 13469 16483 12660 14212 11369 14624 11651 14936 12582 15226 12646 15555 11424 14392 20jobs 10 machines 18140 22361 19455 23881 17393 20874 15583 19916 15178 20196 16216 20126 15619 19516 17315 21330 17217 21585 18683 22582 20 jobs 20 machines 29067 35040 25450 34147 27931 34986 27139 33006 29529 35783 26659 33822 27443 34366 26940 33388 27530 35677 26968 33723 50jobs 5machines 58120 77969 61477 83117 53453 79431 59868 82093 61337 84714 60627 82402 58374 79656 57571 78412 53810 75479 61953 83194

LB UB 50jobs 10machines 71734 109920 71636 100867 69050 97394 74319 105085 73961 105498 75840 103474 77713 108599 72281 103969 69569 105128 76547 108278 50 jobs 20 machines 105128 146180 96199 136560 96839 135189 97575 138376 96424 141051 98776 136939 99654 142849 100989 141525 101889 141013 103184 146260 100 jobs 5 machines 225114 313645 202612 293598 199129 294605 193426 275146 201367 302353 196869 295565 198841 296568 196703 287511 208312 308720 202592 300184 100 jobs 10 machines 247179 391981 231164 365300 238368 379896 254116 394509 240388 380106 222118 365565 237832 373655 242997 370977 263745 401245 243527 391675

LB UB 100jobs 20machines 302366 481696 311000 478257 313274 476763 307379 487219 312176 471907 303537 469896 300673 490966 314924 499388 304868 481591 325239 488546 200jobs 10machines 900197 1408645 866441 1391595 877715 1437751 850411 1397437 872844 1404196 838536 1370595 857016 1435951 853337 1431169 852495 1372194 829010 1430665 200 jobs 20 machines 1000983 1714586 1029618 1751232 1060270 1707523 1034992 1728878 1026859 1739923 1011659 1770189 1051588 1694398 1048832 1724583 1015333 1698844 1041561 1711522

416