a branch-and-bound algorithm to minimize total weighted completion time on identical parallel...

15
Computers & Operations Research 35 (2008) 1176 – 1190 www.elsevier.com/locate/cor A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates Rabia Nessah , Farouk Yalaoui, Chengbin Chu Institut Charles Delaunay - OSI (CNRS FRE 2848), Université de Technologie de Troyes, 12 rue Marie Curie, BP 2060, 10010 Troyes Cedex, France Available online 23 August 2006 Abstract In this paper, we consider an identical parallel machine scheduling problem with release dates. The objective is to minimize the total weighted completion time. This problem is known to be strongly NP-hard. We propose some dominance properties and two lower bounds. We also present an efficient heuristic. A branch-and-bound algorithm, in which the heuristic, the lower bounds and the dominance properties are incorporated, is proposed and tested on a large set of randomly generated instances. 2006 Elsevier Ltd. All rights reserved. Keywords: Identical parallel machine; Scheduling; Release dates; Lower bound; Dominance properties; Branch and bound 1. Introduction In this paper, we consider the scheduling of n jobs with release dates on m identical parallel machines in order to minimize the total weighted completion time. More precisely, denote N ={1,...,n} as the set of jobs and M={1,...,m} the set of machines. Each job i has a positive processing time p i , a nonnegative release date r i and a positive weight w i . Given a schedule S of jobs, the completion time C i (S) for each job i can be computed. Without loss of generality, we assume that the jobs are numbered in nondecreasing order of their release dates. The objective is to find a schedule to minimize the total weighted completion time w i C i . According to the standard machine scheduling classification, this problem is denoted as Pm|r i | w i C i [1]. Several of the simplest average completion time scheduling problems can be solved in polynomial time. The problem 1|| w i C i can be solved with shortest weighted processing time (SWPT) rule: schedule the jobs in nondecreasing order of p j /w j [2]. The problem R|| C i can be solved by matching techniques [3]. The problem P || C i can be solved by putting the jobs into a list in the SPT order and their applying a list-scheduling approach. However, Bruno et al. [4] proved that the P 2|| w i C i problem is NP-hard, Lenstra et al. [5] proved that 1|r i | w i C i is a strongly NP-hard problem. This allows to conclude that the problem Pm|r i | w i C i , which is more general than 1|r i | w i C i problem, is also NP-hard in the strong sense. Corresponding author. Tel.: +333 25 71 80 92; fax: +333 25 71 56 49. E-mail addresses: [email protected] (R. Nessah), [email protected] (F. Yalaoui), [email protected] (C. Chu). 0305-0548/$ - see front matter 2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2006.07.010

Upload: rabia-nessah

Post on 26-Jun-2016

217 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

Computers & Operations Research 35 (2008) 1176–1190www.elsevier.com/locate/cor

A branch-and-bound algorithm to minimize total weightedcompletion time on identical parallel machines with

job release datesRabia Nessah∗, Farouk Yalaoui, Chengbin Chu

Institut Charles Delaunay - OSI (CNRS FRE 2848), Université de Technologie de Troyes, 12 rue Marie Curie, BP 2060,10010 Troyes Cedex, France

Available online 23 August 2006

Abstract

In this paper, we consider an identical parallel machine scheduling problem with release dates. The objective is to minimize thetotal weighted completion time. This problem is known to be strongly NP-hard. We propose some dominance properties and twolower bounds. We also present an efficient heuristic. A branch-and-bound algorithm, in which the heuristic, the lower bounds andthe dominance properties are incorporated, is proposed and tested on a large set of randomly generated instances.� 2006 Elsevier Ltd. All rights reserved.

Keywords: Identical parallel machine; Scheduling; Release dates; Lower bound; Dominance properties; Branch and bound

1. Introduction

In this paper, we consider the scheduling of n jobs with release dates on m identical parallel machines in order tominimize the total weighted completion time. More precisely, denote N={1, . . . , n} as the set of jobs andM={1, . . . , m}the set of machines. Each job i has a positive processing time pi , a nonnegative release date ri and a positive weightwi . Given a schedule S of jobs, the completion time Ci(S) for each job i can be computed. Without loss of generality,we assume that the jobs are numbered in nondecreasing order of their release dates. The objective is to find a scheduleto minimize the total weighted completion time

∑wiCi . According to the standard machine scheduling classification,

this problem is denoted as Pm|ri | ∑ wiCi [1].Several of the simplest average completion time scheduling problems can be solved in polynomial time. The problem

1|| ∑ wiCi can be solved with shortest weighted processing time (SWPT) rule: schedule the jobs in nondecreasingorder of pj/wj [2]. The problem R|| ∑ Ci can be solved by matching techniques [3]. The problem P || ∑ Ci can besolved by putting the jobs into a list in the SPT order and their applying a list-scheduling approach. However, Brunoet al. [4] proved that the P 2|| ∑ wiCi problem is NP-hard, Lenstra et al. [5] proved that 1|ri | ∑ wiCi is a stronglyNP-hard problem. This allows to conclude that the problem Pm|ri | ∑ wiCi , which is more general than 1|ri | ∑ wiCi

problem, is also NP-hard in the strong sense.

∗ Corresponding author. Tel.: +333 25 71 80 92; fax: +333 25 71 56 49.E-mail addresses: [email protected] (R. Nessah), [email protected] (F. Yalaoui), [email protected] (C. Chu).

0305-0548/$ - see front matter � 2006 Elsevier Ltd. All rights reserved.doi:10.1016/j.cor.2006.07.010

Page 2: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190 1177

With release dates, no single rule yields optimal schedules, and almost all such problems in the set we considerare strongly NP-hard, except for Pm|ri, split | ∑ Ci , which can be solved via the shortest remaining processing time(SRPT) rule [6]. The problem Pm|ri, pi = p| ∑ wiCi can be polynomially solved by dynamic programming [7].The Pm|| ∑ wiCi problem has received many attention in the literature. It has been tackled using branch-and-boundmethods in various papers, including Elmaghraby and Park [8], Sarin et al. [9], Belouadah and Potts [10], Chen andPowell [11] and Azizoglu and Kirca [12]. Pseudo-polynomial dynamic programming algorithms were proposed forthis problem [13,14]. Lower bounds for this problem have been developed by Webster [15–17], Azizoglu and Kirca[12], and Belouadah and Potts [10]. The development of (1+ �)-approximate algorithms received much attention. Theyare polynomial algorithms and the performance in the worst case does not exceed 1 + �. Schulz and Skutella [18]developed a 2 + �-approximate algorithms for the problem P |ri | ∑ wiCi with or without preemption of jobs. Hall etal. [19] and Phillips et al. [20] developed a (3/2 + �) and (2 + �)-approximate algorithms for problems R|| ∑ wiCi

andP |pmtn| ∑ wiCi , respectively.

2. Dominance property

The problem considered in this paper is to schedule n jobs indexed from 1 to n on m identical parallel machinesindexed from 1 to m. Each job i has a release date ri , a processing time pi and a weight wi . The criterion is to minimizethe sum of weighted completion times.

In the branch-and-bound method we propose, a node of the search tree represents a partial schedule from time 0containing a subset of jobs, called scheduled jobs. If we can show that a partial schedule cannot lead to an optimalcomplete schedule, the corresponding node of the search tree can be pruned, hence to reduce the computation time.We note by F(�) = ∑n

i=1wiCi(�) the total weighted completion time of jobs in the partial schedule �, where Ci(�) isthe completion time of job i in schedule �. Let ��(�) be the completion time of the last job in � on machine �, �(�)

the schedule obtained by appending to � the optimal partial schedule of the remaining jobs, � ◦ i the new scheduleobtained by adding job i after � on the machine available the earliest. Ri(t) = max(t, ri) and Ei(t) = Ri(t) + pi are,respectively, the earliest starting time of job i at time t and the earliest completion time of job i at time t. J (�) and Jj (�)

are, respectively, the set of jobs scheduled in schedule � and the set of jobs scheduled on machine j in schedule �. �i (�)

is the completion time of the job immediately preceding job i in schedule �. If job i is the first in �, then �i (�) = 0.Denote by |J (�)| the number of elements in set J (�).

When there is no ambiguity, J (K), Jj (K), Ci(K), �i (K), F(K), ��(K), and �(K) are simplified into J, Jj , Ci ,�i , F, ��, and �, respectively.

Let �1 and �2 be two partial schedules. We say that �1 dominates �2 or �2 is dominated, if

F(�(�1))�F(�(�2)).

Remark 1. Yalaoui and Chu [6] showed that in any optimal schedule resulting from a partial schedule K, the numberof additional jobs on any machine j is at most Uj(K) = min(n − m + 1 − |Jj |, n − |J (K)|). We denote by U(K) themaximum over all Uj(K).

The following theorem develops conditions so that a partial schedule is dominated.

Theorem 1. Let �1 and �2 be two partial schedules for the same set of jobs K. If F(�1)�F(�2) and F(�1) −F(�2)�W�, then �2 dominates �1, where W = ∑

i∈N−Kwi and � = maxk∈{1,...,m}(�k(�2) − �k(�1)), �k(�1) and�k(�2) are the kth smallest machine finishing time in partial schedules �1 and �2, respectively.

Proof. Let us consider �(�2).1 Construct another schedule S from �(�2) so that for any machine k, the partial scheduleafter �k(�2) in �(�2) is replaced by the partial schedule after�k(�1) in �(�1) (see Fig. 1).

Let Ak , (respectively, Bk) be the set of jobs scheduled on machine k after �k(�1), (respectively, �k(�2)) in �(�1),(respectively, �(�2)).

1 �(�2) the schedule obtained by appending to �2, the optimal partial schedule of the remaining jobs.

Page 3: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

1178 R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190

Fig. 1. Illustration of Theorem 1.

By construction, S is constructed from partial schedule �2, for any k ∈ {1, . . . , m}. By the definition of �(�2), weconclude F(�(�2))�F(S).

Case 1: If ��0, then �k(�2)��k(�1). Hence, each job i scheduled after �k(�2) in S (i.e. ∀i ∈ Ak), we haveCi(S)�Ci(�(�1)), then F(S)−F(�(�1))�F(�2)−F(�1)�0. Thus, F(�(�2))−F(�(�1))�F(S)−F(�(�1))�0.Then, we conclude �2 dominates �1.

Case 2: If � > 0, let k = �k(�2) − �k(�1) for k = 1, . . . , m where � = maxk∈{1,...,m} k . Two subcases need to beexamined.

• If k > 0, then each job scheduled after �k(�2) (∀i ∈ Ak) on k in S, is delayed at most by k compared to �(�1), i.e.Ci(S) − Ci(�(�1))�k , for all job i in Ak .

• If k �0, then all jobs scheduled after �k(�2) (∀i ∈ Ak) on k in S, will not be delayed compared to �(�1), i.e.Ci(S)�Ci(�(�1)), for all job i in Ak .

We put L = {k such that k > 0}. Then, we have F(�(�2)) − F(�(�1))�F(S) − F(�(�1))�F(�2) − F(�1) +∑k∈L

∑i∈Ak

kwi �F(�2)−F(�1)+�∑

k∈L

∑i∈Ak

wi �F(�2)−F(�1)+W��0. We also conclude �2 dominates�1. �

The following dominance property compare two jobs unscheduled in a partial schedule.

Theorem 2. For any partial schedule � and any job i not scheduled in �, schedule �(� ◦ i) is dominated if there isanother unscheduled job j such that

1. wi �wj ,2. Ej(�h)�Ei(�h) and3. wjEj (�h) − wiEi(�h)�wjpj − wipi + (pj − pi)(maxx∈N−J (�)−{i,j}wx)U(�),

where h is the machine available the earliest in �.

Proof. Two cases must be examined.Case 1: If jobs i and j are both scheduled on machine h in schedule �(� ◦ i). Construct another schedule S identical

to �(� ◦ i) except that jobs i and j are interchanged (see Fig. 2).Since Ej(�h)�Ei(�h), the completion time of any job scheduled between i and j in schedule �(� ◦ i) does not

increase. Denote by B the set of jobs scheduled after j in �(� ◦ i). Let t be the starting time of job j in �(� ◦ i).

Page 4: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190 1179

Fig. 2. Illustration of Theorem 2—Case 1.

Fig. 3. Illustration of Theorem 2—Case 2 and Cj (�(� ◦ i)) − pj �Ri(�h).

Two subcases need to be examined.

• If pi −pj �0, then Ck(S)�Ck(�(�◦i), for all k ∈ B. Thus, F(S)−F(�(�◦i))�wjEj (�h)−wiEi(�h)+wi(t+pi)−wj(t +pi) 0 wjEj (�h)−wiEi(�h)+t (wi −wj)−(wjpj −wipi)�(pj −pi)(maxx∈N−J (�)−{i,j}wx)U(�)

�0.• If pi − pj > 0, then Ck(S)�Ck(�(� ◦ i) + (pi − pj ), for any k ∈ B. Thus, F(S) − F(�(� ◦ i))�wjEj (�h) −

wiEi(�h) + wi(t + pi) − wj(t + pi) + (pi − pj )∑

k∈Bwk �wjEj (�h) − wiEi(�h) − (wjpj − wipi) + (pi −pj )(maxx∈N−J (�)−{i,j}wx)U(�)�0.

Case 2: If job j is scheduled on another machine, say machine g. Two subcases need to be examined.

• If Cj (�(� ◦ i)) − pj �Ri(�h), then Rj (�g)�Ri(�h). Construct another schedule S identical to �(� ◦ i) exceptthat the jobs initially scheduled on machine g after job j (including j) are scheduled on machine h and jobs initiallyscheduled on machine h after job i (including i) are scheduled on machine g (see Fig. 3).

Since Rj (�g)�Ri(�h), then the completion time of no job is increased. Thus, F(S) − F(�(� ◦ i))�0.

• If Cj (�(� ◦ i)) − pj > Ri(�h), construct another schedule S identical to �(� ◦ i) except that the jobs i and j areinterchanged (see Fig. 4 ).Each of the jobs scheduled after job j on machine h in S are delayed by at most (pi − pj ) if pi �pj and can becompleted earlier if pi < pj . Let B the set of jobs scheduled after j in S where their completion time is delayed by at

Page 5: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

1180 R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190

Fig. 4. Illustration of Theorem 2—Case 2 and Cj (�(� ◦ i)) − pj > Ri(�h).

Fig. 5. Illustration of Theorem 3.

most (pi −pj ) if pi �pj . Then F(S)−F(�(�◦i))�wjEj (�h)−wiEi(�h)+ t (wi −wj)+wipi −wjpj +(pi −pj )

∑k∈Bwk �wjEj (�h) − wiEi(�h) + t (wi − wj) + wipi − wjpj + (pi − pj )(maxx∈N−J (�)−{i,j}wx)U(�).

We can conclude that schedule �(� ◦ i) is dominated. �

The following dominance property compares an unscheduled job with a job in the partial schedule.

Theorem 3. For any partial schedule � and any job i unscheduled in �, schedule �(� ◦ i) is dominated if there is ajob j scheduled in � on machine h such that

1. wj �wi ,2. Ei(�j )�Ej(�j ) and3. wiEi(�j ) − wjEj (�j )�wipi − wjpj + (pi − pj )(maxx∈N−J (�)−{i}wx)U(�).

Proof. Consider schedule �(� ◦ i). Note that in this schedule job i is scheduled on machine h. Construct anotherschedule S identical to �(� ◦ i) except the jobs i and j are interchanged (see Fig. 5).

Each of the jobs scheduled after job j on machine h in S are delayed by at most (pi − pj ) if pi �pj and can becompleted earlier if pi < pj . Let B the set of jobs scheduled after j in S where their completion time is delayed by atmost (pi − pj ) if pi �pj . Then F(S) − F(�(� ◦ i))�wiEi(�j ) − wjEj (�j ) + Ri(�h)(wj − wi) + wjpj − wipi +(pj − pi)

∑k∈Bwk �wiEi(�j ) − wjEj (�j ) + Ri(�h)(wj − wi) + wjpj − wipi + (pj − pi)(maxx∈N−J (�)−{i}wx)

U(�). �

Page 6: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190 1181

3. Lower bounds

In this section, we present two lower bounding schemes which can be useful to evaluate the quality of a feasibleschedule. The first bound is based on the lower bound developed by Belouadah et al. [21] on the problem 1|ri | ∑ wiCi .The second is based on a new splitting scheme which allows us to exploit the good property of the SRPT rule that canoptimally solve Pm|ri, split | ∑ Ci .

3.1. Lower bound LBGS based on the bound of Belouadah et al.

Belouadah et al. [21] developed two lower bounds based on job splitting technique. Bounding schemes based onsuch a principle can be described as follows. We suppose that all ri and pi are integers in this subsection (Only forLBGS).

A job i is split or broken into k pieces if it is replaced by new jobs i1, . . . , ik having positive processing timespi1 , . . . , pik and nonnegative weights wi1 , . . . , wik such that

∑kx=1pix =pi ,

∑kx=1wix =wi and rix = ri , x = 1, . . . , k.

If job i is broken so that pi1/wi1 = · · · = pik /wik = pi/wi , it is a Simple split; otherwise it is a general split (For moredetails, see [21]).

Let P denote the following problem: 1|ri | ∑ wiCi with no split jobs and let P1 be the corresponding problem inwhich job i is split into k pieces i1, . . . , ik where the pieces are constrained to be scheduled contiguously in the order(i1, . . . , ik). The set of jobs is denoted by N1. Let P2 be a relaxation of P1 is which the pieces i1, . . . , ik are not requiredto be scheduled contiguously, although they are still constrained to be scheduled so that ij−1 precedes ij , j = 2, . . . , k.

Theorem 4 (Belouadah et al. [21]). Let �∗ be an optimal schedule of the problem P and �∗1 be an optimal schedule of P1.

If �∗2 is an optimal schedule of problem P2, then

∑i∈N1

wiCi(�∗2)+CBRK �

∑i∈N1

wiCi(�∗1)+CBRK �

∑i∈NwiCi

(�∗) where CBRK = ∑k−1x=1wix

∑kj=x+1pij .

Procedure SP (splitting procedure) [21] generates two lower bounds. If we consider in this procedure “simple split”,then we obtain a first lower bound LBSS; otherwise with “general split”, we obtain a second lower bound LBGS. Theprocedure SP can be described as follows: let ix be the job with the smallest pix /wix among those available. If a job jbecomes available with pix /wix > pj/wj and ix is not completed at time rj , then ix is split into two pieces so that thefirst piece is completed at time rj and the second piece is placed in the list of unscheduled jobs.

Let us consider the following problems.P1: Pm|ri | ∑ wiCi ,P2: 1|ri, p′

i = pi/m| ∑ wiCi ,P3: 1|r ′

i = mri, pi |(1/m)∑

wiCi .We have the optimal value of the objective function of P2 is a lower bound of that of P1, and the problems P2 and

P3 are equivalent.Examine now problem P3, since p′

i = pi/m may be fractional. The Procedure SP of Belouadah et al. [21], cannotapply. However, since problems P2 and P3 are equivalent, this procedure is applicable the problem P3.

We have the following theorem.

Theorem 5. LBGS applied to the problem P3 is a lower bound of problem P1.

Proposition 1 (Belouadah et al. [21]). LBGS can be computed in O(n2) time complexity.

3.2. Lower bound LBNYC based on the SRPT rule

In this subsection, we propose another lower bound based on splitting of jobs and the SRPT2 rule. We assume thatall wi �1, for any i ∈ N .

2 A job among available jobs is simultaneously processed on all the available machine. The processing is interrupted if another job becomesavailable with a processing time strictly shorter than the remaining processing time of the job in process.

Page 7: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

1182 R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190

A job i is split into ki =�wi� pieces and replaced by new jobs i1, . . . , ikisuch that pih =pi/wi , for h=1, . . . , ki −1,

piki=pi(wi −�wi�+1)/wi and weights wih =1, for h=1, . . . , ki ; also ri1 = ri , rih = ri + (h−1)pi/wi , h=2, . . . , ki .

Let Q denote the following problem: Pm|ri | ∑ wiCi without job splitting and let Q1 be the corresponding problemin which job i is split into ki = �wi� pieces i1, . . . , iki

where the pieces of a same job are constrained to be scheduledcontiguously in the order (i1, . . . , iki

). Let N1 = {11, . . . , 1k1 , . . . , i1, . . . , iki, . . . , n1, . . . , nkn} be the set of jobs for

problem Q1. The following result is related to the total weighted completion times for these schedules.

Theorem 6. If � is a feasible schedule for Q and �1 is the corresponding schedule for Q1, then

i∈N

wiCi(�) =∑

i∈N1

Ci(�1) +∑

i∈N

iCi(�) + CBRK , (1)

where i = wi − �wi� and CBRK = ∑i∈N(pi/2wi)(�wi� − 1)(2wi − �wi�).

Proof. Let i be a job and ti is the starting time of job i in schedule �.

wiCi(�) = kiCi(�) + iCi(�)

=ki∑

x=1

(ti + pi) + iCi(�)

=ki−1∑

x=1

(ti + xpi/wi) + (ti + pi) +ki−1∑

x=1

(pi − xpi/wi) + iCi(�)

=ki∑

x=1

Cix (�1) + pi

2wi

(�wi� − 1)(2wi − �wi�) + iCi(�).

Then∑

i∈NwiCi(�)=∑i∈N1

Ci(�1)+∑i∈NiCi(�)+CBRK where CBRK =∑

i∈N(pi/2wi)(�wi�−1)(2wi −�wi�). �

Equality (1) breaks up the problem into two different problems: the first is Pm|ri′ , pi′ , i ∈ N1|∑i∈N1Ci and second

is Pm|ri, pi, i ∈ N |∑i∈NiCi .The quantity CBRK may be thought as the cost of splitting job i into ki=�wi� pieces. Let problem Q2 be the relaxation

of Q1 for which the pieces i1, . . . , ikiare not required to be scheduled contiguously although their completion time are

constrained to be greater than to their release date plus their processing time, (i.e. Cih �rih + pih ) and splitting3 jobsis allowed.

Step 1: Search a lower bound on the quantity∑

i∈N1Ci(�1), see (1). In this Step, we give a lower bound on the

problem Pm|ri′ , pi′ , i ∈ N1|∑i∈N1Ci (the quantity

∑i∈N1

Ci(�1)). This lower bound will be based on SRPT rule andon the following lemma.

Let us quote first of all the following lemma due to Chu [22].

Lemma 1. Let two series of numbers (x1, x2, . . . , xn), (y1, y2, . . . , yn) such that x1 �x2 � · · · �xn. If (y′1, y

′2, . . . , y

′n)

is the series obtained by sorting the series (y1, y2, . . . , yn) in nondecreasing order, the following relation holds:

n∑

i=1

max(xi, y′i )�

n∑

i=1

max(xi, yi).

We have the following proposition.

3 A job is simultaneously processed on all machines.

Page 8: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190 1183

Proposition 2. Let �2 be the schedule obtained by the SRPT rule applied to the problem Q2. For any feasible schedule� of problem Q2. we have

∀j = 1, . . . , W, C[j ](�2)�C[j ](�), (2)

where W = ∑i∈Nki .

This Proposition can be proved in a similar way to Theorem 6 of Chu [22].The lower bound of the quantity

∑i∈N1

Ci(�1) (see (1)) is obtained by the following theorem.

Theorem 7. Let aij =rij +pij , i=1, . . . , n, j =1, . . . , �wi�. Let (a[1], a[2], . . . , a[W ]) be the series obtained by sorting

the series (a1, a2, . . . , aW ) in nondecreasing order. Then∑W

i=1 max{C[i](�2), a[i]} is a lower bound on problem Q1,where �2 is the schedule obtained by the SRPT rule applied to the problem Q2.

Proof. Let � be the optimal schedule of the problem Q2. According to the Proposition 2, we have ∀j=1, . . ., W ,C[j ](�2)�C[j ](�). According to Lemma 1, we deduce

j=1

W max[C[j ](�2), a[j ]]�W∑

i=1

max[Ci(�), ai] =W∑

i=1

Ci(�). (3)

As the problem Q2 is a relaxation of the problem Q1, we then conclude∑W

j=1 max[C[j ](�2), a[j ]] is a lower bound onthe problem Q1. �

Step 2: Search a lower bound on the quantity∑

i∈NiCi(�), see (1). In this Step, we give a lower bound on theproblem Pm|ri, pi, i ∈ N |∑i∈NiCi (the quantity

∑i∈NiCi(�)). This lower bound will be based on SRPT rule and

on the following lemmas.Let us consider the following lemma.

Lemma 2. Let (x1, . . . , xq) and (y1, . . . , yq) be two series of numbers such that x1 � · · · �xq . The series (y′1, . . . , y

′q)

is obtained by sorting the series (y1, . . . , yq) in decreasing order. The following relation holds:

q∑

i=1

xiyi �q∑

i=1

xiy′i .

Lemma 3. Let (1, . . . , q) be a series of positive numbers in decreasing order, (x1, . . . , xq ) be a series of numbers innondecreasing order and (y1, . . . , yq) be a series of numbers. The series (y′

1, . . . , y′q) is obtained by sorting the series

(y1, . . . , yq) in nondecreasing order. The following relation holds:

q∑

i=1

i max(xi, yi)�q∑

i=1

i max(xi, y′i ).

Proof. We prove this lemma by induction.

1. The lemma is obvious if q = 1.2. We now prove if q = 2.

In this case, y′1 = min(y1, y2) and y′

2 = max(y1, y2), which implies y1 �y′1.

max(x1, y1) + max(x2, y2)� max(x1, y′1) + max(x2, y

′2) (By Lemma 1), then max(x2, y2) − max(x2, y

′2)�

max(x1, y′1) − max(x1, y1).

1{max(x1, y1) − max(x1, y′1)} + 2{max(x2, y2) − max(x2, y

′2)}

�1{max(x1, y1) − max(x1, y′1)} + 2{max(x1, y

′1) − max(x1, y1)}

�(1 − 2){max(x1, y1) − max(x1, y′1)}.

Page 9: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

1184 R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190

Since 1 �2 and y1 �y′1, then (1 − 2){max(x1, y1) − max(x1, y

′1)}�0. Thus, 1 max(x1, y1) + 2 max(x2, y2)

�1 max(x1, y′1) + 2 max(x2, y

′2).

3. Let us assume that the lemma is verified for q �k. We now prove the lemma for q = k + 1. Let (y′′1 , . . . , y′′

k ) be theseries obtained by sorting the series (y1, . . . , yk) in nondecreasing order, we have

k+1∑

i=1

i max(xi, yi) =k∑

i=1

i max(xi, yi) + k+1 max(xk+1, yk+1)

�k∑

i=1

i max(xi, y′′i ) + k+1 max(xk+1, yk+1) (lemma q = k)

�k−1∑

i=1

i max(xi, y′′i ) + k max(xk, y

′′k ) + k+1 max(xk+1, yk+1)

We consider z1 = y′′k , z2 = yk+1, z′

1 = min(y′′k , yk+1) and z′

2 = max(y′′k , yk+1). Then k max(xk, y

′′k ) + k+1

max(xk+1, yk+1)�k max(xk, z′1) + k+1 max(xk+1, z

′2).

We have y′′k =maxi=1,...,k(yi), y′

k+1=maxi=1,...,k+1(yi)=max(y′′k , yk+1)=z′

2, and {y′′1 , . . . , y′′

k−1, z′1}={y′

1, . . . , y′k}.

Thus, (y′1, . . . , y

′k) is the series obtained by sorting the series (y′′

1 , . . . , y′′k , z′

1) in nondecreasing order. Therefore,∑k+1i=1 i max(xi, yi)�

∑ki=1i max(xi, y

′i ) + k+1 max(xk+1, y

′k+1) = ∑k+1

i=1 i max(xi, y′i ). �

We denote R the identical problem with Q, without weights. Let � be the optimal schedule for Q and � be the scheduleobtained by the SRPT rule applied to the problem R.

The lower bound of the quantity∑

i∈NiCi(�) (see (1)) is obtained by the following theorem.

Theorem 8. Let bi = ri +pi , i = 1, . . . , n and (b[1], . . . , b[n]) be the series obtained by sorting the series (b1, . . . , bn)

in nondecreasing order. If ([1], . . . , [n]) is the series obtained by sorting the series (1, . . . , n) in decreasing order,then

∑ni=1[i] max(C[i](�), b[i]) is a lower bound on

∑i∈NiCi(�).

Proof. Let (b′1, . . . , b

′n) and (′

1, . . . , ′n) are the series associated to the sequence jobs in schedule �.

We have according to the Proposition 2, ∀j=1, . . . , n, C[j ](�)�C[j ](�). This implies ∀j = 1, . . . , n, max(C[j ](�),

b[j ]) � max(C[j ](�), b[j ]). Then

n∑

j=1

[j ] max[C[j ](�), b[j ]]�n∑

i=1

[j ] max[C[j ](�), b[j ]].

From Lemma 3, we deduce∑n

i=1[j ] max[C[j ](�), b[j ]]�∑ni=1[j ] max[C[j ](�), b′

j ] = ∑ni=1[j ]C[j ](�). According

Lemma 2, we obtain∑n

i=1[j ]C[j ](�)�∑n

i=1′jC[j ](�) = ∑n

i=1jCj (�).Therefore,

∑nj=1[j ] max[C[j ](�), b[j ]]�∑n

i=1jCj (�). �

Step 3: Lower bound on∑

i∈NwiCi(�), see (1). According Theorems 6,7,8, we deduce the following result.

Theorem 9. Let � be the schedule obtained by the SRPT rule applied to the problem Q2 and � be the schedule obtainedby SRPT rule applied to the problem R.

Let aij =rij +pij , i=1, . . . , n, j =1, . . . , �wi� and W =∑i∈N�wi�. Let (a[1], a[2], . . . , a[W ]) be the series obtained

by sorting the series (a1, a2, . . . , aW ) in nondecreasing order. Let bi = ri +pi , i = 1, . . . , n and (b[1], . . . , b[n]) be theseries obtained by sorting the series (b1, . . . , bn) in nondecreasing order. If ([1], . . . , [n]) be the series obtained bysorting the series (1, . . . , n) in decreasing order. Then the quantity

LBNYC =W∑

i=1

max[C[i](�), a[i]] +∑n

i=1[i] max(C[i](�), b[i]) +

∑n

i=1

pi

2wi

(�wi� − 1)(2wi − �wi�)

is a lower bound on problem Q : Pm|ri | ∑ wiCi .

Page 10: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190 1185

Table 1Data for the first example

i 1 2 3 4ri 1 2 12 20pi 23 12 3 89wi 3 6 8 6

Table 2Schedule generated by Procedure LBGS

i 11 2 12 3 13 4ri 2 4 2 24 2 40pi 2 12 8 3 13 89wi 0 6 0 8 3 6Ci 2 16 24 27 40 129

Table 3Schedule generated by Procedure LBNYC

C[i] 3 5 6.83 7.83 9 11 12.19 12.56 12.94 13.31 13.69(r + p)[i] = a[i] 4 6 8 8.67 10 12 12.38 12.75 13.13 13.5 13.88max(C[i], a[i]) 4 6 8 8.67 10 12 12.38 12.75 13.13 13.5 13.88

C[i] 13.94 14.13 14.44 14.81 16.33 20.17 27.58 42.25(r + p)[i] = a[i] 14 14.25 14.62 15 16.33 24 34.83 49.67max(C[i], a[i]) 14 14.25 14.62 15 16.33 24 34.83 49.67

C[i] 57.08 71.92 86.75 101.58(r + p)[i] = a[i] 64.5 79.33 94.17 109max(C[i], a[i]) 64.5 79.33 94.17 109

Example 1. Consider the 4-job and 2-machine problem for which the data are given in Table 1.The schedule generated by procedure LBGS is given in Table 2. For this example, we obtain LBGS = 1

2 (16 × 6 +27 × 8 + 40 × 3 + 129 × 6) = 603.

The schedule generated by procedure LBNYC is given in Table 3.Since wi are all integers, then i = 0 for all i. Thus,

∑ni=1[i] max(C[i](�), b[i]) = 0. We obtain

∑Wi=1 max[C[i](�),

a[i]]=644 and∑n

i=1pi

2wi(�wi�−1)(2wi−�wi�)=286, Then LBNYC=∑W

i=1 max[C[i](�), a[i]]+∑ni=1[i] max(C[i](�),

b[i]) + ∑ni=1

pi

2wi(�wi� − 1)(2wi − �wi�) = 930, the value of optimal solution is 946.

For this example, we have LBNYC > LBGS.

Proposition 3. LBNYC can be computed with O(W log W) time complexity, where W = ∑ni=1�wi�.

Remark 2. LBNYC still a lower bound even if we have some machine unavailability periods.

4. Heuristic

In this section, we build an algorithm m-APRTWC. Section 6 provides computational results to evaluate theirperformance by comparing with the lower bounds LBGS and LBNYC.

Page 11: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

1186 R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190

Fig. 6. m-APRTWC heuristic.

At each iteration, the machine � begins to be available at time ��, and there is a set of unscheduled jobs S. Allthe ��, � = 1, . . . , m and S are initialized to 0 and {1, . . . , n}, respectively. We define Ri(��) = max(ri, ��) etCi(��) = max(ri, ��) + pi , ∀i ∈ S, ∀� ∈ {1, . . . , m}. When a job x is chosen to be scheduled on a machine �, ��and S are updated such that �� : =Cx(��), � = arg minj∈{1,...,m}�j and S : =S − {x}. The algorithm continue untilS = ∅.

Let us consider the following notations. Let � a partial schedule, � ◦ i the new schedule obtained by adding job iafter � and J (�) is the set of jobs scheduled in �. F(�)=∑

i∈J (�)wiCi(�). Define the following functions: WCij (t)=(wi + wj) max(t, ri) + wjpi and PRTWC(i, j, t) = WCij (t) − WCji(t).

The heuristic m-APRTWC proceeds in two steps, the first step consists in applying heuristic WSPT “worstshortest processing time”. This step allows to build m partial schedules on each machine. The second step con-sists in improving all the partial scheduling obtained on each machine, by using the dominance of partial scheduling(Fig. 6).

Remark 3. This heuristic can be computed in O(n log n).

5. Branch-and-bound algorithm

The proposed branch-and-bound algorithm uses a usual scheme. During the computation, we keep a list of un-explored nodes arranged in increasing order according to the lower bounds of nodes, with ties broken by nonin-creasing number of scheduled jobs. Each node represents a partial schedule which is also a partial list. The al-gorithm always try to develop the head of the list. The branching from a node consists of creating son nodes byadding an unscheduled job to the end of the partial list which consists of assigning this unscheduled job to a ma-chine earliest available. Before any new node is created, a dominance properties (Theorem 1–3) is checked. Foreach node of the search tree, which cannot be eliminated by dominance property, a lower bound is calculated. If the

Page 12: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190 1187

lower bound is greater than or equal to the total completion time of a known complete solution, this node is alsoeliminated.

The lower bound used is LBNYC. The initial solution is given by the solution found by m-APRTWC. For each node,we also compute an upper bound using the m-APRTWC heuristic.

6. Computational results

This section describes the computational results on randomly generated instances. The Branch-and-bound algori-thm was programmed and tested with C compiler on a biprocessor G 5000 HP Workstation, 440 Mhz and1 Giga RAM.

For each job j, an integer processing times pj from the uniform distribution [1, 100] was generated and an integerwj from the uniform distribution [1, 10] was generated. Since the range of release dates is likely to influence theeffectiveness of the lower bounds, release dates were generated from the uniform distribution [0, 50.5 ×n×/m]. Ten values {0.2, 0.4, 0.6, 0.8, 1, 1.25, 1.50, 1.75, 2.0, 3.0} were considered.

Problems with 20, 30, 40, 60, 80, 100, 120, 140, 160, 180, 200, 300, 400 and 500 jobs were generated with two,three, five or nine machines. Ten instances for each of the 10 values were solved for a total of 100 instances for eachproblem size.

6.1. Computational results of heuristic

We denote by H1 the heuristic m-APRTWC and by H2 heuristic WSPT. The computational results of heuristicmethod and lower bounds are given in Table 4 , where “Time”, “LBGS”, “LBNYC”, “H1”, “g(H1)%”, “g(H1/H2)%”and “gap(LBNYC/LBGS)%” represent, respectively, the average computational time in CPU seconds, the averageweighted flow time of lower bounds LBGS, LBNYC and heuristic, and finally the gap of heuristic and improvement oflower bounds (gap(LBNYC/LBGS) = 100 ∗ (LBNYC − LBGS)/LBGS).

m g(H1)% gap(LBNYCLBGS

)%

2 1.34 34.345 2.25 158.309 2.81 333.24

For all instances, we have LBNYC �LBGS and the improvement of LBNYC compared to LBGS, in function thenumber of machines two, five and nine is, respectively, 34.34%, 158.30% and 333.24%. The difference between theaverage of the upper bounds compared to the average of the lower bound LBNYC is 1.34% for two machines, 2.25%for five machines and 2.82% for nine machines. The heuristic m-APRTWC is better to heuristic WSPT in majoritycases and it improves of 1.26% for two machines, 0.75% for five machines and 0.71% for nine machines. We noticealso the gap of heuristics is an increasing function of the values of m and is a decreasing function of the valuesof n.

6.2. Computational results of branch and bound

The computational results of the Branch-and-bound method are given in Table 5, where “Ngene”, “NoRs”, “Time”,“Heur”, “Opt” and LBNYC represent, respectively, the average number of nodes generated, the number of problemsunsolved among 100 instances, the average computational time in CPU seconds, the average weighted completion timeof heuristic, the optimal solution and the lower bound LBNYC.

Through the test, we can note that the number of generated nodes, the computational time and the number ofunsolved problems increase with the size problems. The unsolved problems are essentially those generated with thevalues {0.6, 0.8, 1, 1.25} of . For large values of , the release dates of jobs are largely dispersed which reduces thenumber of active schedule. For small values of , the jobs are almost available to the same time.

Page 13: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

1188 R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190

Table 4Average of computational results of heuristic

n m Time LBGS LBNYC H1 g(H1) g( H1H2

) gap( LBNYCLBGS

)

20 2 1.50 6053 7962 9174 4.23 4.10 42.925 2.90 2395 5963 6625 5.29 3.04 201.319 1.70 1331 5582 5992 4.81 2.45 426.75

30 2 3.10 11198 14001 15782 2.95 1.83 39.565 4.30 4420 9577 10818 4.96 2.08 183.089 3.50 2475 8576 9380 5.04 1.15 385.03

40 2 5.90 17449 21249 23825 2.48 2.28 39.125 10.60 6937 13856 15507 3.99 1.93 178.709 5.80 3819 11917 13180 5.07 1.98 375.80

60 2 12.20 32199 37782 41870 1.79 1.53 36.435 13.20 12857 23119 25926 3.19 0.40 168.669 12.80 7110 19208 21305 4.14 1.26 355.96

80 2 22.40 52663 60300 66082 1.44 1.16 35.225 21.80 21098 34869 38808 2.58 0.67 161.679 21.90 11690 27789 30802 3.54 0.48 341.01

100 2 34.10 76091 85519 92799 1.18 1.02 34.065 34.60 30421 47556 52834 2.28 0.56 157.049 33.30 16817 36760 40905 3.18 0.34 330.45

120 2 48.30 106559 117941 126338 0.93 0.78 33.205 47.40 42610 63154 69324 1.83 0.25 153.009 47.30 23814 47766 52563 2.57 0.69 322.03

140 2 65.90 136367 149617 159938 0.85 0.87 33.115 65.50 54538 78411 85645 1.60 0.45 152.109 66.20 30496 58226 63861 2.30 0.43 319.38

160 2 85.50 177727 192945 203941 0.68 1.03 32.465 84.10 70722 98086 106184 1.39 0.29 149.899 82.90 39186 71043 77583 2.07 0.58 316.27

180 2 108.90 216582 233623 246885 0.66 0.76 31.955 106.80 86749 117437 127004 1.30 0.13 146.919 106.70 48150 83972 91593 1.90 0.19 308.89

200 2 134.30 264907 283606 298948 0.63 0.61 31.605 131.60 106427 140451 151305 1.20 0.26 145.999 130.00 58991 98677 107364 1.77 0.14 306.27

300 2 300.70 557922 586723 609514 0.41 0.50 31.015 289.60 223976 275134 291347 0.80 0.27 141.559 292.20 123996 183463 196910 1.24 0.21 297.56

400 2 532.10 956807 994445 1026312 0.33 0.66 30.145 515.50 382082 449798 471839 0.61 0.15 138.609 513.90 213278 292120 310326 0.96 0.10 290.80

500 2 815.40 1482346 1529668 1572079 0.28 0.59 30.045 798.00 590800 675737 704101 0.50 0.10 137.739 786.90 328427 426810 450070 0.78 0.05 289.21

We also carried out test problems with two machines and we could reach a number of jobs equal to 100 in reasonablecomputational time (9 82 856 ms CPU of average), with a number of nodes (12 06 232 on average) and only eightproblems unsolved out of 100.

Page 14: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190 1189

Table 5Average of computational results of branch and bound

n m Time NoRs Ngene LBNYC Opt Heur

20 2 44.47 0 28.8 7963.23 8921.98 9174.173 36.90 0 24.9 6585.21 7663.90 7988.115 26.30 0 22.0 5963.61 6579.36 6625.39

40 2 613.74 0 683.3 21250.34 23391.89 23925.493 709.5 2 811.1 16384.68 18948.28 19268.155 346 9 414.2 13856.94 15139 15907.95

60 2 7739.60 0 8095.6 37782.67 40346.65 41870.053 2528.82 11 3099.7 28642.10 31770.57 33100.765 1744.54 17 1680.50 23119.45 25039.67 25926.08

80 2 607753.79 2 706115.58 67961.26 68984.86 69977.423 8510.01 23 8495.10 44513.28 49418.27 50809.395 4117.10 32 6184.50 34870.09 37581.17 38808.89

100 2 982856.14 8 1206232.01 83170.53 89521.53 90919.89

These results demonstrate the good quality of our upper bound generating scheme and the efficiency of the lowerbound LBNYC and dominance properties.

7. Conclusion

In this article, we proved some dominance properties and a pseudo polynomial complexity lower bound (LBNYC)based on the SRPT rule which can solve optimally the problem Pm|ri, split | ∑ Ci , which were proved to be veryefficient to prune the search tree. We have also presented good heuristic algorithm based on the local optimality andthe dominance of partial schedule. We construct a branch-and-bound algorithm in which the heuristic, the lower boundLBNYC and the dominance properties are incorporated. Computational experiments suggest that the algorithm canhandle test problems with 100 jobs and two machines.

References

[1] Graham RL, Lawler EL, Lenstra JK, Rinnooy Kan AHG. Optimisation and approximation in deterministic sequencing and scheduling. Annalsof Discrete Mathematics 1979;4:287–326.

[2] Smith WE. Various optimizers for single-stage production. Naval Research Logistics Quarterly 1956;3:59–66.[3] Horn W. Minimizing average flow time with parallel machines. Operations Research 1973;21:846–7.[4] Bruno J, Coffman E, Sethi R. Scheduling independent tasks to reduce mean finishing time. Communications of the ACM 1974;17(7):382–7.[5] Lenstra JK, Rinnooy Kan AHG, Brucker P. Complexity of machine scheduling problems. Annals of Discrete Mathematics 1977;1:343–62.[6] Yalaoui F, Chu C. A new exact method to solve the Pm/ri/

∑ci problem. International Journal of Production Economics 2006;100:168–79.

[7] Baptiste P. Scheduling equal-length jobs on identical parallel machines. Discrete Applied Mathematics 2000;13:21–32.[8] Elmaghraby SE, Park SH. Scheduling jobs on a number of identical machines. AIIE transactions 1974;6:1–13.[9] Sarin SC, Ahn A, Bishop AB. An improved branching scheme for the branch and bound procedure of scheduling n jobs to m parallel machines

to minimize total weighted flow time. International Journal of Production research 1996;26:1183–91.[10] Belouadah H, Potts CN. Scheduling identical parallel machines to minimize total weighted completion time. Discrete Applied Mathematics

1994;48:201–18.[11] Chen ZL, Powell WB. Solving parallel machine scheduling problems by column generation. INFORMS Journal on Computing 1999;

11:78–94.[12] Azizoglu M, Kirca O. On the minimization of total weighted flow time with identical and uniform parallel machines. European Journal of

Operational Research 1999;113:91–100.[13] Lawler EL, Moore JM. A functional equation and its application to resource allocation and sequencing problems. Management Science

1969;16:77–84.[14] Lee CY, Uzsoy R. A new dynamic programming algorithm for the parallel machines total weighted completion time problem. Operations

Research Letters 1992;11:73–5.[15] Webster ST. New bounds for the identical parallel processor weighted flow time problem. Management science 1992;38:124–37.[16] Webster ST. A priority rule for minimizing weighted flow time in a class of parallel machine scheduling problems. European Journal of

Operational Research 1993;70:327–34.

Page 15: A branch-and-bound algorithm to minimize total weighted completion time on identical parallel machines with job release dates

1190 R. Nessah et al. / Computers & Operations Research 35 (2008) 1176–1190

[17] Webster ST. Weighted flow time bounds for scheduling identical processors. European Journal of Operational Research 1995;80:103–11.[18] Schulz AS, Skutella M. Scheduling-lps bear probabilities: randomized approximations for min-sum criteria. In: Burkard R, Woeginger GJ,

editors. Algorithms—ESA ’97, Lecture Notes in Computer Science, vol. 1284. Berlin: Springer; 1997. p. 416–29.[19] Hall LA, Schulz AS, Shmoys DB, Wein J. Scheduling to minimize average completion time: off-line and on-line approximation algorithms.

Mathematics of Operations Research 1997;22:513–44.[20] Phillips C, Stein C, Wein J. Scheduling jobs that arrive over time. Proceedings of the fourth workshop on algorithms and data structures. Lecture

Notes in Computer Science, vol. 955. Berlin: Springer; 1995. p. 86–97.[21] Belouadah H, Posner ME, Potts CN. Scheduling with release dates on a single machine to minimize total weighted completion time. Discrete

Applied Mathematics 1992;36:213–31.[22] Chu C. A branch and bound algorithm to minimize total tardiness with different release dates. Naval Research Logistics 1992;39:265–83.