Two-machine flow shop total tardiness scheduling problem with deteriorating jobs

Two-machine flow shop total tardiness scheduling problem with deteriorating jobs

Applied Mathematical Modelling 36 (2012) 5418–5426 Contents lists available at SciVerse ScienceDirect Applied Mathematical Modelling journal homepag...

261KB Sizes 0 Downloads 50 Views

Applied Mathematical Modelling 36 (2012) 5418–5426

Contents lists available at SciVerse ScienceDirect

Applied Mathematical Modelling journal homepage: www.elsevier.com/locate/apm

Two-machine flow shop total tardiness scheduling problem with deteriorating jobs M. Bank a, S.M.T. Fatemi Ghomi a,⇑, F. Jolai b, J. Behnamian a a b

Department of Industrial Engineering, Amirkabir University of Technology, 424 Hafez Avenue, 1591634311 Tehran, Iran Department of Industrial Engineering, College of Engineering, University of Tehran, Tehran, Iran

a r t i c l e

i n f o

Article history: Received 15 November 2010 Received in revised form 28 November 2011 Accepted 3 December 2011 Available online 5 January 2012 Keywords: Flow shop Scheduling Deteriorating job Branch and bound algorithm Heuristic algorithm

a b s t r a c t This paper studies a two-machine scheduling problem with deteriorating jobs which their processing times depend on their waiting time. We develop a branch and bound algorithm to minimize the total tardiness criteria. A lower bound, several dominance properties and an initial upper bound derived from a heuristic algorithm are used to increase the speed of branch and bound algorithm and decrease its required memory space. Computational results are presented to evaluate effectiveness and efficiency of the algorithms. Ó 2011 Elsevier Inc. All rights reserved.

1. Introduction In traditional scheduling systems, it is assumed that processing time of the jobs is constant. However, in the real world there are a lot of factors that influence the processing time and cause it to vary. One of these factors is the waiting time of job before it is processed which can increase the processing time, e.g., in steel rolling or maintenance jobs, any delay in starting time of the job may cause an increase in its processing time. Gupta and Gupta [1] introduced this kind of jobs for the first time. They considered a monotonically increasing function as the deterioration function. For more information about the scheduling problems in which processing time depends on start time see [2,3]. This paper addresses a two-machine flow shop scheduling problem with deteriorating jobs to minimize total tardiness criteria. There are several studies on the flow shop scheduling problem under deterioration in literature. Mosheiov [4] studied multi machine scheduling problem with simple linear deterioration to minimize makespan. He proved that this problem is NP-hard for two-machine. Kononov and Gawiejnowicz [5] also showed that the two-machine flow shop under simple linear deterioration is strongly NP-hard and in three machine flow shop there not exists a polynomial-time approximation algorithm with the worst case ratio bounded by a constant. They also showed that optimal schedule in two and three machine flow shop with proportional processing times of jobs (Pij(t) = cij(a + bt)) is the permutation schedule. Zhao et al. [6] proposed some optimal algorithms for single machine problem under simple linear deterioration. For two-machine flow shop scheduling problem they proved that the optimal schedule can be obtained by Johnson’s rule. Wang and Xia [7] studied a no-wait no-idle flow shop scheduling problem under simple linear deterioration. In their problem, some dominating relationships between machines are satisfied. They showed that for the makespan and weighted sum of completion time minimization, the polynomial algorithm exists. Shiau et al. [8] and Wu and Lee [9] considered a two-machine flow shop where the objective ⇑ Corresponding author. Tel.: +98 21 64545381; fax: +98 21 66954569. E-mail address: [email protected] (S.M.T. Fatemi Ghomi). 0307-904X/$ - see front matter Ó 2011 Elsevier Inc. All rights reserved. doi:10.1016/j.apm.2011.12.010

M. Bank et al. / Applied Mathematical Modelling 36 (2012) 5418–5426

5419

is to minimize mean flow time. They proposed some lower bound, dominance rules and a branch and bound algorithm to solve the problem. Wang et al. [10] investigated a two-machine flow shop scheduling problem under simple linear deterioration to minimize total completion time. They developed a branch and bound algorithm for the general case and obtained optimal solutions for some special cases. Lee et al. [11] considered a makespan flow shop problem with deteriorating jobs. They proposed an exact algorithm to solve most of the problems up to 32 jobs and a heuristic algorithm to derive the nearoptimal solution. Ng et al. [12] studied a flow shop problem with an assumption of existing deteriorating jobs to minimize total completion time. They applied lower bounds and dominance properties to speed up the proposed branch and bound algorithm. Wang et al. [13] considers single-machine scheduling problems with deteriorating jobs. To minimize makespan with the general linear problem or total weighted completion time with the proportional linear problem, they showed that polynomial algorithms exist in general linear problem. Wang and Xia [14] considered no-wait flow shop scheduling problem with deteriorating jobs. Since this problem is more complicated than the classical one, they showed that polynomial algorithms exist to minimize the makespan. In this paper it is also shown that for the proportional linear problem of minimization of the weighted sum of completion, polynomial algorithms exist, too. The authors also showed when the objective is to minimize maximum lateness or maximum tardiness, the solutions of a classical version may not hold. Wang and Cheng [15] dealt with the machine scheduling problems with the effects of deterioration and learning in single machine problems and flow shop problems. In this model, the processing times of the jobs are defined as functions of their starting times and positions in a sequence. They proposed polynomial solutions for performance measures makespan, total completion time, total weighted completion time, and maximum lateness. Wang et al. [16] investigated single-machine scheduling problems. They showed that this problem is solvable in polynomial time when deterioration and group technology are considered simultaneously. Sun et al. [17] gave some corrections on Cheng et al. [18] for flow shop scheduling problems with deteriorating jobs on noidle dominant machines. Wang et al. [19] considered the single-machine scheduling problems with a time-dependent deterioration. They developed a mixed integer programming formulation to minimize the total completion time for the problem. In addition to analyze the smallest normal processing time (SPT) worst-case error bound, they proposed two heuristic algorithms. Yang and Wang [20] considered a two-machine flow shop scheduling problem when processing time of a job is a simple linear function of its execution start time. In this study, to minimize total weighted completion time, several dominance properties and two lower bounds for branch-and-bound algorithm are proposed. Huang and Wang [21] showed the parallel identical machines scheduling problems remains polynomially solvable when deteriorating jobs assumption is considered and objective function are the total absolute differences in completion times and the total absolute differences in waiting times. Wei and Wang [22] provided polynomial time algorithms to solve single machine scheduling problems with group technology (GT) and deteriorating jobs. The two objectives of scheduling problems are to minimize the weighted sum of squared completion times and the weighted sum of squared waiting times, respectively. Wang [23] considered a flow shop scheduling problem with deteriorating jobs. They also showed that the makespan minimization problem can be solved in polynomial time for this problem. Wang and Wang [24] show that the single-machine common due- window assignment scheduling problem with learning effect and deteriorating jobs is polynomially solvable. The real-world application of two-machine scheduling has been investigated by researchers. Lin et al. [25] found that the object ordering problem actually can be formulated as a two-machine flowshop problem. Another real-world application is in the multimedia data object (MDO) scheduling problem. The scheduling of information management systems is becoming an important area of research as pointed out by Pinedo and Chao [26]. Allahverdi et al. [27] showed that a potential model for the MDO scheduling problem is the two-machine flowshop. According to literature, flow shop scheduling problem with deteriorating jobs and total tardiness minimization has not been studied before and in this paper is going to consider this problem in following sections. Next section is problem definition in which the notations and formulation are described. In Section 3 some dominance properties to eliminate nodes in branch and bound algorithm are proposed. In two subsequent sections, a lower bound is developed and a heuristic algorithm is presented to obtain an initial upper bound for our algorithm. In Sections 6 and 7 solution procedure is presented and the results of the algorithm are evaluated, respectively. Finally, Section 8 is devoted to conclusions and recommendation for future studies. 2. Problem definition Traditional scheduling problems usually involve jobs with constant, independent processing times. In practice, however, we often encounter settings in which the job processing times vary with time. Hence, there is a growing interest in the literature to study scheduling problems involving start time-dependent processing times (deteriorating jobs), i.e., jobs whose processing times are increasing functions of their starting times. Job deterioration appears, e.g., in scheduling maintenance jobs, steel production, national defense, emergency medicine or cleaning assignments, where any delay in processing a job is penalized by incurring additional time for accomplishing the job [16]. There is a set of n jobs {J1, J2, . . . , JN} which are going to be processed on two flow shop machines {M1, M2}. Job’s processing time on each machine depends on its starting time by a linear increasing function considered by Kononov and Gawiejnowicz [5] and Ng et al. [12]:

Pij ðtÞ ¼ cij ða þ btÞ;

ð1Þ

5420

M. Bank et al. / Applied Mathematical Modelling 36 (2012) 5418–5426

where t is the time when the job Jj starts processing on machine Mi, acij stands in place of its normal processing time and bcij makes the deterioration rate of that job where a, b P 0. It is assumed that there is an unlimited storage space between two machines, all jobs are available for processing at time zero, each machine can handle only one job at a time and a job can be processed only on one machine at a time. No breakdown is allowed in the machines and there is no precedence among jobs. All of the parameters are known and deterministic. The objective is to find the optimal sequence that minimizes total tardiness in this permutation flow shop scheduling problem. The notations that used in this paper are as follows: T[j](S) Ci[j](S)

a0j

Tardiness value of job placed in position j in schedule S Completion time of job placed in position j on machine Mi in schedule S Completion time of job placed in position j in schedule S Due date of job j Due date of the job placed in jth position cij value of job Jj on machine M1 cij value of job Jj on machine M2 Set of unscheduled job An earliest due date schedule of unscheduled jobs (r0 ) The jth smallest value of {aj : j 2 r0 }

b0j

The jth smallest value of {bj : j 2 r0 }.

C[j](S) dj d[j]

aj bj

r0 S1

3. Dominance properties Since Garry et al. [28] showed that flow shop scheduling problem with total tardiness objective function is NP-hard even without considering the deterioration; it can be concluded that our defined problem is NP-hard. Implicit enumeration methods such as the branch and bound algorithm or dynamic programming can be used to find the optimal solution in such problems. In this paper, several dominance properties are used to eliminate some nodes in search procedure and speed up our proposed algorithm. Theorem 1. For any two jobs Ji and Jj, if (a) bi 6 bj, (b) Ci(S) P Cj(S0 ), (c) ai P aj and (d) a(bi  bj) 6 di  dj, Then there exists an optimal schedule such that Ji is processed after Jj. Proof. Consider schedule S where Ji and Jj are in the first and sth position. And let S0 be a schedule identical to S except Ji and Jj are interchanged. It will be shown that schedule S0 dominates S. It means that its total tardiness is not more and may even less than the total tardiness of schedule S. For this purpose firstly, it will be necessary to show that:

T i ðS0 Þ þ T j ðS0 Þ 6 T i ðSÞ þ T j ðSÞ

ð2Þ

According to [5], the completion time of the jth job on machine M1 can be written as follows:

C 1;½j ¼ ðt 0 þ a=bÞ

j Y

ð1 þ ba½k Þ  a=b for b > 0;

j ¼ 1; 2; . . . ; n:

ð3Þ

k¼1

Thus, the completion time of the sth job in schedule S(Jj) and S0 (Ji) is: s1  a Y C 1;½s ðSÞ ¼ C 1;½s ðS0 Þ ¼ t0 þ ð1 þ ba½k Þð1 þ bai Þð1 þ baj Þ  a=b: b k¼2

ð4Þ

Consider CT = Ci(S) and CT0 = Cj(S0 ). So condition (b) can be written as CT P CT0 . Let I0i and Ij symbolize the idle times on machine 2 before processing Ji and Jj in schedule S0 and S. Let A(A0 ) and B(B0 ) represent the total processing time of jobs on machine 1 and sum of the job processing times and idle times on machine 2 between Ji and Jj under S (S0 ), respectively.

    C i ðS0 Þ  C j ðSÞ ¼ CT 0 þ B0 þ I0i þ a=b ð1 þ bbi Þ  a=b  ðCT þ B þ Ij þ a=bÞð1 þ bbj Þ  a=b    ¼ aðbi  bj Þ þ B0 þ I0i þ CT 0 ð1 þ bbi Þ  ðCT þ B þ Ij Þð1 þ bbj Þ :

Because of condition (a) the first part of the above phrase is negative. According to conditions (b) and (c) and what is known about the increasing deterioration function, it can be concluded that the completion time of the jobs between Ji and Jj on M1 and M2 in schedule S is more than schedule S0 . Therefore, (5) is true as illustrated in Fig. 1:

B þ CT P B0 þ CT 0 :

ð5Þ

M. Bank et al. / Applied Mathematical Modelling 36 (2012) 5418–5426

5421

Fig. 1. Schedule S and S0 when Ij > 0.

Considering (4) and (5):

CT þ B þ Ij P CT 0 þ B0 þ I0i : Consequently,



   B0 þ I0i þ CT 0  ðB þ Ij þ CTÞ 6 0 ) B0 þ I0i þ CT 0 ð1 þ bbi Þ  ðB þ Ij þ CTÞð1 þ bbj Þ þ aðbi  bj Þ 6 aðbi  bj Þ ðaÞ

) C i ðS0 Þ  C j ðSÞ 6 aðbi  bj Þ:

ð6Þ

Adding (dj  di) to both sides of (6), and paying attention to condition (d),

ðC i ðS0 Þ  di Þ  ðC j ðSÞ  dj Þ 6 aðbi  bj Þ þ dj  di 6 0 ) T i ðS0 Þ 6 T j ðSÞ: 0

ð7Þ

0

According to (7) if Tj(S ) 6 Ti(S) then (2) holds. Otherwise, Ti(S) < Tj(S ); the following two cases would be considered: (i) Ti(S) = 0 ) Tj(S0 ) > 0, Tj(S) > Tj(S0 ) ) Tj(S) > 0 Assuming Ti(S0 ) > 0, from Ti(S) = 0, CT P CT0 it is clear that CT0 6 di and from condition (a) and (6) it can be concluded that Ci (S0 ) 6 Cj(S). By gathering these two conclusions it will be concluded that:

C i ðS0 Þ  di 6 C j ðSÞ  CT 0

)

T i ðS0 Þ>0

T i ðS0 Þ 6 C j ðSÞ  C j ðS0 Þ

)

T i ðSÞ¼0

T j ðSÞ P T i ðS0 Þ þ T j ðS0 Þ

And if Ti(S0 ) = 0 clearly (2) holds. (ii) Ti(S) > 0 so it is obvious that Ji and Jj in both S and S0 are tardy jobs. And considering conditions (a), (b) and (6) it can be written:

T j ðS0 Þ þ T i ðS0 Þ  T i ðSÞ  T j ðSÞ ¼ ðC j ðS0 Þ  C i ðSÞÞ þ ðC i ðS0 Þ  C j ðSÞÞ 6 0: Thus, (2) holds. And according to condition (c) starting time of the jobs between Ji and Jj in S0 is less than S. And considering what was discussed above about the relationship between Cj(S) and Ci(S0 ) and condition (a), starting time of the jobs on M2 after Ji in S0 is less than the starting time of the jobs on the same machine after Jj in S. Thus, the tardiness of each job would not be increased under S0 relative to S. h In special case it is true to say: For job Ji, if there is a job Jj satisfying (a) bi 6 bj, (b) a(bi  bj) 6 di  dj and (c) (1 + bbi)(1 + bai) P (1 + bbj)(1 + baj), then there exists an optimal schedule such that Ji is not the first job of that sequence. Theorem 2. For any two jobs Ji and Jj, if (a) bi 6 bj, (b) Ci(S) P Cj (S0 ), (c) ai P aj and (d) Ci(S)  di P 0, Cj(S0 )  dj P 0, then there exists an optimal schedule such that Jiis processed after Jj. Proof. Condition (d) implies that Ji and Jj are tardy jobs under S and S0 . Thus, it is efficient to prove:

C j ðS0 Þ þ C i ðS0 Þ 6 C j ðSÞ þ C i ðSÞ

5422

M. Bank et al. / Applied Mathematical Modelling 36 (2012) 5418–5426

By combining conditions (a) and (b) and Eq. (6), above inequality will be proved. Clearly, the tardiness of the jobs that come before or follow Ji in S0 will not gain worse after the interchange, since their starting processing times are not delayed. Thus, it can be concluded that the total tardiness may remain the same, or even be reduced. h Theorem 3. For any two adjacent jobs Jj and Ji if (a) Min{ai, bj} P aj, (b) bi P bj and (c) di P dj, then there exists an optimal schedule such that Jj does not immediately follow Ji. Proof. Conditions (a) and (b) finish in bi P aj. Thus there is no idle time before job Jj in schedule S as shown in Fig. 2. (Ij = 0). So the completion time of job Jj in schedule S and Ji in schedule S0 can be written as follows:

(

C j ðSÞ

  ðM þ a=bÞð1 þ bbi Þð1 þ bbj Þ  a=b if M P t 0 þ ab ð1 þ bai Þ  a=b ðt 0 þ a=bÞð1 þ bai Þð1 þ bbi Þð1 þ bbj Þ  a=b Otherwise

8 ðt 0 þ a=bÞð1 þ baj Þð1 þ bai Þð1 þ bbi Þ  a=b I0i > 0 > <   C i ðS Þ ðM þ a=bÞð1 þ bbi Þð1 þ bbj Þ  a=b M P t 0 þ ba ð1 þ baj Þ  a=b; > : ðt 0 þ a=bÞð1 þ baj Þð1 þ bbi Þð1 þ bbj Þ  a=b Otherwise 0

I0i ¼ 0

For investigating the relationship between Ci (S0 ) and Cj(S) the following four cases would be considered: (i) When I0i > 0, according to conditions (a) and (b), Ci (S0 ) 6 Cj(S) can be concluded easily. (ii) When the idle time of job Ji in S0 is zero and M6(t0 + a/b)(1 + baj)  a/b, because of condition (a), it can be concluded that Ci(S0 ) 6 Cj(S). (iii) When the idle time of job Ji in S0 is zero and (t0 + a/b)(1 + baj)  a/b 6 M 6 (t0 + a/b)(1 + bai)  a/b, obviously Ci(S0 ) 6 Cj(S) (iv) When the idle time of job Ji in S0 is zero and M P (t0 + a/b)(1 + bai)  a/b it is clear that Ci(S0 ) = Cj(S). According to the above results and condition (c)

ðC i ðS0 Þ  di Þ 6 ðC j ðSÞ  dj Þ ) T i ðS0 Þ 6 T j ðSÞ Considering the above phrase, if Tj(S0 ) 6 Ti(S) then (2) holds. Otherwise, Ti(S) < Tj(S0 ); it can be considered in two cases 0

(i) T i ðSÞ ¼ 0 ) T j ðS Þ > 0;

T j ðSÞ P T j ðS0 Þ ) T j ðSÞ > 0

Assuming Ti(S0 ) > 0, from Ti(S) = 0, and conditions (a) and (b) (these two conditions represent Cj (S0 ) 6 Ci(S)) it is clear that Cj(S0 ) 6 di and as it was proved Ci(S0 ) 6 Cj(S) it can be concluded that:

C i ðS0 Þ  di 6 C j ðSÞ  C j ðS0 Þ

)

T i ðS0 Þ>0

T i ðS0 Þ 6 C j ðSÞ  C j ðS0 Þ

)

T i ðSÞ¼0

T j ðSÞ P T i ðS0 Þ þ T j ðS0 Þ

And if Ti(S0 ) = 0 clearly (2) holds.

Fig. 2. Schedule S and S0 with interchange of two adjacent jobs.

M. Bank et al. / Applied Mathematical Modelling 36 (2012) 5418–5426

5423

(ii) Ti(S) > 0 it can be concluded that Ji and Jj in both S and S0 are tardy jobs. And considering conditions (a), (b) and Ci(S0 ) 6 Cj(S) it can be writen:

T j ðS0 Þ þ T i ðS0 Þ  T i ðSÞ  T j ðSÞ ¼ ðC j ðS0 Þ  C i ðSÞÞ þ ðC i ðS0 Þ  C j ðSÞÞ 6 0 As it is known that Ci(S0 ) 6 Cj(S) all of the jobs which place after Ji in schedule S0 can be processed sooner after this interchange. Suppose that r  1 smallest a[k] make G as bellow.

G ¼ ðt 0 þ a=bÞ

r1 Y 

 1 þ ba½k  a=b

k¼1

when job Ji is in the rth position in schedule S.

h

  Theorem 4. For any two adjacent jobs Jj and Ji if (a) Min{ai, bj} P aj, (b) bi P bj and (c) G þ ab ð1 þ bbi Þð1 þ bai Þ > di ; ðG þ a=bÞð1 þ bbj Þð1 þ baj Þ > dj , then there exists an optimal schedule such that Jj does not immediately follow Ji. Proof. Again, it is necessary to show that:

T i ðS0 Þ þ T j ðS0 Þ 6 T i ðSÞ þ T j ðSÞ According to G definition it can be concluded that (G + a/b)(1 + bbi)(1 + bai) is the minimum of Ci(S). So by condition (C) it is clear that job Ji in schedule S is a tardy job. As a result, job Ji in schedule S0 is a tardy job too. Similarly as, dj < (G + a/b)(1 + bbj)(1 + baj) 6 Cj(S0 ), therefore job Jj in schedules S0 and S is the tardy job. So it is necessary to prove:

C i ðS0 Þ þ C j ðS0 Þ 6 C j ðSÞ þ C i ðSÞ From conditions (a) and (b) and Theorem 3, it can be concluded that Ci(S0 ) 6 Cj(S) and Cj(S0 ) 6 Ci(S). Theorem 5 proposed by Pan et al. [29] is also true in our case. h Theorem 5. For any two adjacent jobs Ji and Jj, if (a) Ci(S0 )  di 6 0, Cj(S)  dj 6 0 and (b) Ci(S0 ) 6 Cj(S) then there exists an optimal schedule such that Ji is not in the position immediately following Jj. 4. Lower bound Each node in branch and bound algorithm needs a lower bound to estimate function value of the problem in which the processing orders of some of the jobs have been defined up to that node. A good lower bound can help the algorithm to speed up and use less memory. In the following theory, a lower bound to increase the algorithm’s efficiency is established. Theorem 6. In a two-machine flow shop with deterioration jobs, the sum of tardiness of all jobs is not less than: k X 

n þ X  þ C ½i ðSÞ  d½i ðSÞ þ Pi ðSÞ  d½i ðS1 Þ

i¼1

i¼k

Proof. Consider the processing order of k number of jobs is determined. Using Eq. (3), the completion of a set of n deteriorating jobs in a two-machine flow shop problem is:

( C ½i ðSÞ ¼

Max ðt0 þ a=bÞ

i Y 

  1 þ ba½j  a=b ; C ½i1

)

! þ a=b

  1 þ bb½i  a=b

j¼1

To find a lower bound for C[i](S), suppose that there is no idle time between processing of the jobs on machine 2. i ik       Y  Y C ½i ðSÞ P C ½k ðSÞ þ a=b 1 þ bb½j  a=b P C ½k ðSÞ þ a=b 1 þ bb0½j  a=b: j¼kþ1

ð8Þ

j¼1

Similarly, if the condition in which the i-th job has no waiting time is considered, it can be written:

C ½i ðSÞ P ðt0 þ a=bÞ

i Y  j¼1

1 þ ba½j

ik     Y  1 þ ba0½j 1 þ bb0½1  a=b: 1 þ bb½i  a=b P ðt0 þ a=bÞ j¼1

ð9Þ

5424

M. Bank et al. / Applied Mathematical Modelling 36 (2012) 5418–5426

Thus

( 

C ½i ðSÞ P Pi ðSÞ ¼ Max

C ½k ðSÞ þ a=b

ik  Y

 1 þ bb0½j  a=b;

ðt0 þ a=bÞ

j¼1

) ik    Y 1 þ ba0½j 1 þ bb0½1  a=b : j¼1

Consequently; n X

T ½i ðSÞ ¼

i¼1

n X 

C ½i ðSÞ  d½i ðSÞ



k X 

P

i¼1

C ½i ðSÞ  d½i ðSÞ



þ

i¼1

n X 

þ Pi ðSÞ  d½i ðSÞ :

i¼kþ1

According to [30], for any sequence it is true to say: n X

þ

ðRi  di ðSÞÞ P

i¼1

n X

þ

ðRi  di ðS1 ÞÞ

i¼1

where Ri is sorted in nondecreasing order. Since an increase in i causes an increase in Eqs. (8) and (9), it can be concluded that:

P1 ðSÞ 6 P2 ðSÞ 6    6 Pn ðSÞ Therefore n X i¼1

T ½i ðSÞ P

k n X  þ X  þ C ½i ðSÞ  d½i ðSÞ þ Pi ðSÞ  d½i ðS1 Þ i¼1



i¼kþ1

5. Initial upper bound This section develops a two phase heuristic algorithm to make an initial upper bound for the branch and bound algorithm. The first phase of this algorithm uses an algorithm similar to a well-known and common dispatching rule called SLACK to obtain an initial schedule. The second phase uses the schedule obtained from phase I and tries to find a better schedule by moving the jobs to forward position as Wang et al. [10] and Ng. et al. [12] have done in their heuristic algorithm. The algorithm can be summarized as follows: Phase I: Step 1: Set k = 1, t0 = 0 and consider a set of unscheduled jobs {J1, J2, . . . , JN}; Step 2: Search the unscheduled job set and find the job Ji which has the smallest value of di  (t0 + a/ b)(1 + bai)(1 + bbi)  a/b. Then put it in the kth position and delete Ji from the unscheduled jobs. Step 3: Set t0 = (t0 + a/b)(1 + bai)(1 + bbi)  a/b and k = k + 1; Step 4: If k 6 n go to step 2. Otherwise stop the algorithm and calculate tardiness value of obtained schedule. Phase II: Step 1: S is the schedule obtained from the previous phase and k = 1. Step 2: Let i = k + 1. Step 3: Replace jobs jk and ji in schedule S and make a new schedule named S0 . If the total tardiness of schedule S0 is less than S, put S0 in the position of S. Step 4: If i 6 n, i = i + 1 and go to step 3. Step 5: If k 6 n  1, k = k + 1 and go to step 2. Otherwise stop the algorithm and report schedule S and its total tardiness. 6. Branch and bound algorithm As mentioned earlier, a branch and bound algorithm to solve the proposed scheduling problem is developed. In the algorithm depth-first strategy is used because of its speed in reaching to the bottom of the tree and updating the upper bound. The steps of the algorithm are as follows: Step 1: Obtain an initial upper bound using the heuristic algorithm proposed in the previous section. Step 2: Apply Theorem 1 to see if any job cannot be processed in the first position. Step 3: Apply Theorems 1–5 to find the priority relationship between jobs and fathom the nodes according to these theories. Step 4: Assign jobs and calculate the lower bound of the nodes. If the lower bound is more than the upper bound, fathom the node. Update the upper bound if a complete sequence is found. Step 5: If there is any open node, go to step 3 otherwise stop.

5425

M. Bank et al. / Applied Mathematical Modelling 36 (2012) 5418–5426

7. Computational results For the purpose of evaluating the effectiveness of the branch and bound and heuristic algorithms, computational experiments are conducted. The algorithms were coded in VC++6.0. The branch and bound algorithm was checked with seven different number of jobs n = 9, 10, 11, 12, 13, 14 and 15. Job processing times on M1 and M2 were generated from (0, 1) uniform distribution. It is considered that a = 1, t0=0 and three different values for b; b = 0.1, 2, 5. Thus, 21 test problems with different parameters are produced. 20 instances were tested for every 21 problems. Total 420 instances were generated randomly and average and maximum CPU times (in second) and numbers of created nodes were reported in Table 1. The table indicates that the branch and bound algorithm can solve the problem in a reasonable time. However, CPU time directly depends on the number of jobs and b value. For the heuristic algorithm, Table 2 shows the average and maximum amount of error percentage of the heuristic algorithm. The error percentage of the algorithm can be calculated as:

ðH  OÞ=O; where H is the total tardiness obtained from the heuristic algorithm and O stands for the optimal solution obtained from branch and bound algorithm. From the reported error percentages, it can be concluded that the heuristic algorithm works well. To evaluate the efficiency of the dominance properties, the effect of using two important theories (Theorems 1 and 2) is examined in several problems with different values for parameter b. Table 3 reports the increase percentage in the number of

Table 1 Results of branch and bound algorithm. n

b

Branch and bound algorithm Created nodes

CPU time

Average

Max

Average

Max

9

0.1 2 5

2285.05 14236.75 15706.5

15751 45186 69726

0.01405 0.089 0.06155

0.062 0.249 0.249

10

0.1 2 5

2225.05 97617.8 133519.4

18573 509209 469814

0.0203 0.5678 0.7925

0.14 2.948 2.823

11

0.1 2 5

16759.55 801720.4 570789.5

82321 2267168 2575893

0.1262 6.0871 3.56225

0.592 26.005 15.538

12

0.1 2 5

68237.85 4283727 7878445

437521 10187159 17793577

0.36405 19.60128 38.942

2.246 46.628 98.935

13

0.1 2 5

1114962 40876567 65243890

3.14965 176.34 345.123

9.672 342.67 579.671

14

0.1 2 5

1905713 137812065 253498768

16240781 201378965 387654091

11.1174 987.45 2154.678

15

0.1 2 5

4018201 678243087 935218954

18374186 973459873 1490876543

26.5417 8241.77 24876.99

359931.6 23568543 34876098

92.555 1503.23 7895.26 121.27 12295.09 45786.12

Table 2 Error percentage of heuristic algorithm. Error percentage Heuristic algorithm n

Average

Max

9 10 11 12 13 14 15

0.025 0.021 0.0342 0.0412 0.0478 0.0431 0.0625

0.084435 0.058307 0.096989 0.084438 0.123891 0.09 0.07

5426

M. Bank et al. / Applied Mathematical Modelling 36 (2012) 5418–5426 Table 3 Effect of dominance properties. Increase percentage in number of created nodes without using theories

Theory 1 Theory 2

B = 0.1

B=2

B=5

0.527502 0.242635

0.397435 0.608219

0.631448 0.249774

created nodes, when the branch and bound algorithm is performed without these dominance properties. The table shows that applying these theories can decrease number of created nodes and memory usage in an effective way. 8. Conclusions This paper considered a two-machine flow shop scheduling problem under proportional linear deterioration with the objective of total tardiness minimization. Several dominance properties, a lower bound and a heuristic algorithm are derived and applied to speed up the proposed branch and bound algorithm. Computational results were presented to evaluate effectiveness and efficiency of the algorithms and showed that the branch and bound algorithm can solve the problem in a reasonable time and the heuristic algorithm works performs effectively. These results indicate when the branch and bound algorithm is performed without these dominance properties, the number of created nodes’ percentage is increased. The results also showed that applying the proposed theories in this paper can be decreased number of created nodes and memory usage in an effective way. For the future works, developing exact methods, meta-heuristic and heuristic algorithms for m-machine flow shop scheduling problem with different objective functions and various deterioration functions can be considered. References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30]

J.N.D. Gupta, S.K. Gupta, Single facility scheduling with nonlinear processing times, Comput. Ind. Eng. 14 (1998) 387–393. B. Alidaee, N.K. Womer, Scheduling with time dependent processing times: Review and extensions, J. Oper. Res. Soc. 50 (1999) 711–720. T.C.E. Cheng, Q. Ding, B.M.T. Lin, A concise survey of scheduling with time-dependent processing times, Eur. J. Oper. Res. 152 (2004) 1–13. G. Mosheiov, Multi-machine scheduling with linear deterioration, INFOR 36 (1998) 205–214. A. Kononov, S. Gawiejnowicz, NP-hard cases in scheduling deteriorating jobs on dedicated machines, J. Oper. Res. Soc. 52 (2001) 708–717. C.L. Zhao, Q.L. Zhang, H.Y. Tang, Scheduling problems under linear deterioration, Acta. Autom. Sin. 29 (2003) 531–535. J.B. Wang, Z.Q. Xia, Flow shop scheduling with deteriorating jobs under dominating machines, Omega 34 (2006) 327–336. Y.R. Shiau, W.C. Lee, C.C. Wu, C.M. Chang, Two-machine flow shop scheduling to minimize mean flow time under simple linear deterioration, Int. J. Adv. Manu. Technol. 34 (2007) 774–782. C.C. Wu, W.C. Lee, Two-machine flow shop scheduling to minimize mean flow time under linear deterioration, Int. J. Prod. Econ. 103 (2006) 572–584. J.B. Wang, C.T. Ng, T.C.E. Cheng, L.L. Liu, Minimizing total completion time in a two-machine flow shop with deteriorating jobs, Appl. Math. Comput. 180 (2006) 185–193. W.C. Lee, C.C. Wu, C.C. Wen, Y.H. Chung, A two-machine flow shop makespan scheduling problem with deteriorating jobs, Comput. Ind. Eng. 54 (2008) 737–749. C.T. Ng, J.B. Wang, T.C.E. Cheng, L.L. Liu, A branch-and-bound algorithm for solving a two-machine flow shop problem with deteriorating jobs, Comput. Oper. Res. 37 (2010) 83–90. J.-B. Wang, C.T. Ng, T.C.E. Cheng, Single-machine scheduling with deteriorating jobs under a series-parallel graph constraint, Comput. Oper. Res. 35 (2008) 2684–2693. J.-B. Wang, Z.-Q. Xia, Flow shop scheduling with deteriorating jobs under dominating machines, Omega 34 (2006) 327–336. J.-B. Wang, T.C.E. Cheng, Scheduling problems with the effects of deterioration and learning, Asia-Pacific J. Oper. Res. 24 (2) (2007) 245–261. J.-B. Wang, L. Lin, F. Shan, Single machine group scheduling problems with deteriorating jobs, Int. J. Adv. Manufact, Tech. 39 (2008) 808–812. L.-H. Sun, L.-Y. Sun, K. Cui, J.-B. Wang, A note on flow shop scheduling problems with deteriorating jobs on no-idle dominant machines, Euro. J. Oper Res. 200 (2010) 309–311. M. Cheng, S. Sun, L. He, Flow shop scheduling problems with deteriorating jobs on no-idle dominant machines, Euro. J. Oper. Res. 183 (2007) 115–124. J.-B. Wang, L.-H. Sun, L.-Y. Sun, Single-machine total completion time scheduling with a time-dependent deterioration, Appl. Math. Model. 35 (2011) 1506–1511. S.-H. Yang, J.-B. Wang, Minimizing total weighted completion time in a two-machine flow shop scheduling under simple linear deterioration, Appl. Math. Comput. 217 (2011) 4819–4826. X. Huang, M.-Z. Wang, Parallel identical machines scheduling with deteriorating jobs and total absolute differences penalties, Appl. Math. Model. 35 (2011) 1349–1353. C.-M. Wei, J.-B. Wang, Single machine quadratic penalty function scheduling with deteriorating jobs and group technology, Appl. Math. Model. 34 (2010) 3642–3647. J.-B. Wang, Flow shop scheduling with deteriorating jobs under dominating machines to minimize makespan, Int. J. Adv. Manufact. Tech. 48 (2010) 719–723. J.-B. Wang, C. Wang, Single-machine due-window assignment problem with learning effect and deteriorating jobs, Appl. Math. Model. 35 (2011) 4017– 4022. F.-C. Lin, J.-S. Hong, Bertrand M.T. Lin, A two-machine flowshop problem with processing time-dependent buffer constraints—an application in multimedia presentations, Comput. Oper. Res. 36 (4) (2009) 1158–1175. M. Pinedo, X. Chao, Operations Scheduling with Applications in Manufacturing and Services, Irwing McGraw-Hill, Boston, 1999. Ali Allahverdi, Fawaz S. Al-Anzi, Using two-machine flowshop with maximum lateness objective to model multimedia data objects scheduling problem for www applications, Comput. Oper. Res. 29 (8) (2002) 971–994. M.R. Garey, D.S. Johnson, R. Sethi, The complexity of flow shop and job shop scheduling, Math. Oper. Res. 1 (1976) 117–129. J.C.H. Pan, J.H. Chen, C.M. Chao, Minimizing tardiness in a two-machine flow shop, Comput. Oper. Res. 29 (2002) 869–885. Y. Kim, A new branch and bound algorithm for minimizing mean tardiness in two-machine flow shops, Comput. Oper. Res. 20 (1993) 391–401.