computing redundant resources for the resource constrained project scheduling problem

12
Discrete Optimization Computing redundant resources for the resource constrained project scheduling problem Jacques Carlier a, * , Emmanuel Ne ´ron b a UMR CNRS 6599 Heudiasyc, Centre de Recherches de Royallieu, Universite ´ de Technologie de Compie `gne, F-60205 Compie `gne, France b Laboratoire d’Informatique, Ecole Polytechnique de l’Universite ´ de Tours – Dpt. Informatique, F-37200 Tours, France Received 28 June 2004; accepted 16 September 2005 Available online 20 January 2006 Abstract Several efficient lower bounds and time-bound adjustment methods for the resource constrained project scheduling problem (RCPSP) have recently been proposed. Some of them are based on redundant resources. In this paper we define redundant functions which are very useful for computing redundant resources. We also describe an algorithm for computing all maximal redundant functions. Once all these redundant functions have been determined, we have to identify those that are useful for bounding. Surprisingly, their number is reasonable even for large resource capac- ities, so a representative subset of them can be tabulated to be used efficiently. Computational results on classical RCPSP instances confirm their usefulness. Ó 2005 Elsevier B.V. All rights reserved. Keywords: Resource constrained project scheduling problem; Lower bounds; Redundant functions 1. Introduction In the resource constrained project scheduling problem (RCPSP), non-preemptive activities requiring renewable resources and subject to precedence constraints have to be scheduled to minimize makespan. RCPSP has been proved to be NP-Hard, and because of its practical interest it has been studied by numer- ous authors in the literature, e.g., [2,5,11,16,19,20]. Recently, we have proposed [8,9] to add redundant 0377-2217/$ - see front matter Ó 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2005.09.034 * Corresponding author. Tel.: +33 (0)3 44234489; fax: +33 (0)3 44234477. E-mail address: [email protected] (J. Carlier). European Journal of Operational Research 176 (2007) 1452–1463 www.elsevier.com/locate/ejor

Upload: jacques-carlier

Post on 21-Jun-2016

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Computing redundant resources for the resource constrained project scheduling problem

European Journal of Operational Research 176 (2007) 1452–1463

www.elsevier.com/locate/ejor

Discrete Optimization

Computing redundant resources for the resourceconstrained project scheduling problem

Jacques Carlier a,*, Emmanuel Neron b

a UMR CNRS 6599 Heudiasyc, Centre de Recherches de Royallieu, Universite de Technologie de Compiegne,

F-60205 Compiegne, Franceb Laboratoire d’Informatique, Ecole Polytechnique de l’Universite de Tours – Dpt. Informatique, F-37200 Tours, France

Received 28 June 2004; accepted 16 September 2005Available online 20 January 2006

Abstract

Several efficient lower bounds and time-bound adjustment methods for the resource constrained project schedulingproblem (RCPSP) have recently been proposed. Some of them are based on redundant resources. In this paper wedefine redundant functions which are very useful for computing redundant resources. We also describe an algorithmfor computing all maximal redundant functions. Once all these redundant functions have been determined, we haveto identify those that are useful for bounding. Surprisingly, their number is reasonable even for large resource capac-ities, so a representative subset of them can be tabulated to be used efficiently. Computational results on classicalRCPSP instances confirm their usefulness.� 2005 Elsevier B.V. All rights reserved.

Keywords: Resource constrained project scheduling problem; Lower bounds; Redundant functions

1. Introduction

In the resource constrained project scheduling problem (RCPSP), non-preemptive activities requiringrenewable resources and subject to precedence constraints have to be scheduled to minimize makespan.RCPSP has been proved to be NP-Hard, and because of its practical interest it has been studied by numer-ous authors in the literature, e.g., [2,5,11,16,19,20]. Recently, we have proposed [8,9] to add redundant

0377-2217/$ - see front matter � 2005 Elsevier B.V. All rights reserved.doi:10.1016/j.ejor.2005.09.034

* Corresponding author. Tel.: +33 (0)3 44234489; fax: +33 (0)3 44234477.E-mail address: [email protected] (J. Carlier).

Page 2: Computing redundant resources for the resource constrained project scheduling problem

J. Carlier, E. Neron / European Journal of Operational Research 176 (2007) 1452–1463 1453

resources to a RCPSP instance. Redundant resources can be used directly as linear constraints in a generallinear programming formulation to compute lower bounds [9]. They also enhance the efficiency of satisfi-ability tests and time-bound adjustments [3].

The aim of this paper is to describe an efficient technique for computing redundant resources. It isbased on the notion of a redundant function (RF), which is a mapping f : s0, Bb ! s0, B 0b such thati1 + i2 + � � � + ik 6 B implies f(i1) + f(i2) + � � � + f(ik) 6 B 0, where s0, Bb and s0, B 0b denote intervalsof consecutive integers. B is the availability of the initial resource and B 0 the availability of the redun-dant resource. If a denotes the demand by some activity for the initial resource, f(a) denotes thedemand by the same activity for the redundant resource. It provides a way to associate a redundantresource with a redundant function. Of course, there are numerous redundant functions, and only afew of them are useful for bounding. In particular, we can restrict our search to maximal redun-

dant functions (MRF). We say that a redundant function f is maximal if there is no redundant func-tion f 0 such that f 0 > f. We state the MRF properties and describe an algorithm for computingall MRFs. Moreover some MRFs can be eliminated because they are always dominated by otherMRFs.

Redundant functions are strongly connected to dual feasible functions (DFFs) [13], introduced by John-son et al. for the bin-packing problem. A DFF is defined as a mapping g of [0, 1] into [0, 1] such thatP

iui 6 1)P

igðuiÞ 6 1, where [0, 1] is composed of real numbers. DFFs were used recently by Feketeand Schepers [12] for computing lower bounds for the bin-packing problem [18].

In a previous paper [8], we enumerated the MRFs for any B smaller than 10 using the arithmetic prop-erties of successive Bs. In this paper we describe a general method for computing MRFs, applicable to anyB. Surprisingly, the number of MRFs is not prohibitively large, so a representative subset of them can betabulated to be used efficiently. Our computational results confirm the usefulness of corresponding redun-dant resources for bounding large RCPSP instances. Moreover this approach is scalable in the sense thatthe computation time can be significantly decreased depending on the number of redundant resources used,with an acceptable loss of quality. Thus this method can be seen as an interesting alternative to efficientlower bounds but highly time consuming [1,6,7,4].

The organization of the paper is as follows. In Section 2 we present a formal description of redundant

functions and their properties. Section 3 is devoted to an algorithm for computing all maximal redundantfunctions. A method for obtaining non-dominated MRFs, based on a linear programming formulation,is presented in Section 4. Computational results are given in Section 5. Finally, Section 6 is devoted to someconcluding remarks.

2. Maximal redundant function: Definitions and properties

The aim of this section is to formally define redundant functions and maximal redundant functions (MRF),and to state some fundamental properties of MRFs. We also define dual feasible functions (DFFs) andexplain their connections with MRF.

Definition 1 (Redundant function). A redundant function is a discrete mapping f of s0, Bb ! s0, B 0bðB 2 N;B0 2 NÞ such that (i1 + i2 + � � � + ik 6 B) implies (f(i1) + f(i2) + � � � + f(ik) 6 B 0).

A renewable resource induces constraints because its capacity is finite. Let I be the set of activitiesrequiring a resource of capacity B, and let us suppose that activity i needs bi units of the resource duringits processing. In any schedule, if S(t) = {i1, i2, . . . , ik} denotes the subset of activities in progress at time t,we have bi1 þ bi2 þ � � � þ bik 6 B. Consequently the makespan of the schedule is larger than

Pi

biB � pi,

where pi is the processing time of activity i. So the latter quantity is a lower bound denoted as the basicbound. Let f be a redundant function s0, Bb ! s0, B 0b. The associated redundant resource has a capacity

Page 3: Computing redundant resources for the resource constrained project scheduling problem

1454 J. Carlier, E. Neron / European Journal of Operational Research 176 (2007) 1452–1463

of B 0. Moreover, activity i needs f(bi) units of the redundant resource. So the basic bound is now equal toPi

f ðbiÞB0 � pi. This new bound can be larger than the previous one, which confirms the interest of redundant

resources.The following example provides an illustration: n = 2, p1 = 3, p2 = 3, b1 = 2, b2 = 2 and B = 3. The

basic bound is equal to 4. If we take B 0 = 1 and f(0) = f(1) = 0, f(2) = f(3) = 1 the new bound is equalto 6, which is larger.

Definition 2 (Linear lower bound) [9]. A linear function of the processing times of the activitiesP

iai � pidefines a linear lower bound (LLB), if, for any xi, 0 6 xi 6 1,

Piai � xi is a lower bound of the makespan

when exactly part xi of activity i has to be processed.

Unfortunately, there are numerous redundant functions for each couple (B, B 0). To restrict our search tothe most interesting among these we introduce the notion of maximal redundant function.

Definition 3 (Maximal redundant function). A maximal redundant function (MRF) is a redundant functionf such that there exists no redundant function f 0 with f 0 > f, i.e.,

8i 2 s0;Bt : f 0ðiÞP f ðiÞ ) f 0 ¼ f .

Theorem 1. Let f be a function of s0, Bb ! s0, B 0b. f is a maximal redundant function (MRF) if and only if:

1. f is increasing,

2. f(i) = max{f(j) + f(k)/j + k = i, j 2 s0, Bb, k 2 s0, Bb},

3. [j + k = B and j 5 k, j 2 s0, Bb, k 2 s0, Bb])[f(k) + f(j) = B 0],

4. [B is even]) [f(B/2) = B 0/2 if B 0 is even, f(B/2) = (B 0 � 1)/2 if B 0 is odd].

5. f(0) = 0.

Proof. Let f be a MRF. Let us define f 0 as f 0(i) = max{f(j) + f(k)/j + k = i, j 2 s0, Bb, k 2 s0, Bb}, f 0 is aredundant function because if i1 + i2 + � � � + ir 6 B, then there exists j1, . . . , jr and k1, . . . , kr 2 s0, Bb suchthat f 0(i1) = f(j1) + f(k1), . . . , f 0(ir) = f(jr) + f(kr). So f 0(i1) + f 0(i2) + � � � + f 0(ir) = f(j1) + f(k1) + � � � +f(jr) + f(kr) 6 B 0. We have f 0 P f because f(0) P 0. Since f is a MRF then f 0 = f. Consequently (2) is sat-isfied. (1) and (5) are consequences of (2).

Let i0 = (B/2) � 1 if B is even, and i0 = (B � 1)/2 if B is odd. Let us now define f 00 as

f 00ðiÞ ¼ f ðiÞ; 0 6 i 6 i0 þ 1 and f 00ðiÞ ¼ B0 � f ðB� iÞ; i0 þ 1 < i 6 B.

It can be easily seen,that f 00 remains a redundant function and f00 P f. So f00 = f: we get (3). (4) is due to themaximality of f(i0 + 1) when B is even.

Any RF satisfies f(B/2) 6 B 0/2 so (4) is due to the maximality of f.Conversely, let f be a function satisfying (2)–(4). f is a redundant function because of (2). It is maximal

because of (3) and (4). So f is a MRF. h

Notice that according to this proof f is a MRF is equivalent to conditions (2)–(4), whereas (1) and (5)come directly from (2).

Redundant functions are strongly connected to dual feasible functions (DFFs) [13], introduced by John-son et al. for the bin-packing problem. DFFs were used recently by Fekete and Schepers [12] for computinglower bounds for the bin-packing problem [18]. We present the links that exist between the MRFs and thedual feasible functions (DFFs).

Page 4: Computing redundant resources for the resource constrained project scheduling problem

J. Carlier, E. Neron / European Journal of Operational Research 176 (2007) 1452–1463 1455

Definition 4 (Dual feasible function). A dual feasible function (DFF) is an application g of [0, 1]! [0, 1]such that

Piui 6 1)

PigðuiÞ 6 1 ([0, 1] is composed of real numbers).

With each RF f of s0, Bb! s0, B 0b, we associate a DFF f defined by: f ðxÞ ¼ f ðbxBcÞB0 , for all x 2 [0, 1].

Definition 5 (Maximal dual feasible function). A maximal dual feasible function (MDFF) is a DFF g suchthat there exists no redundant function g 0 with g 0 > g.

Theorem 2. Let g be a function of [0, 1] ! [0, 1]. g is a MDFF if and only if

1. g is increasing,

2. g(x) = sup(g(y) + g(z)/y 2 [0, 1], z 2 [0, 1], y + z = x),

3. g(x) + g(1 � x) = 1,4. g(0) = 0.

Proof. Similar to Theorem 1. h

Theorem 3. For any DFF g and any B > 0 there exists a RF f : s0, Bb! s0, B 0b such that:

giB

� �� f

iB

� ��������� 6 1

B; 0 6 i 6 B; i 2 N.

Proof. We define f ðiÞ ¼ g iB

� �� B

� �and take B 0 = B. h

3. Enumeration of MRFs

Theorem 1 characterizes MRFs. So, to compute all of them, we have to enumerate all functions ofs0, Bb ! s0, B 0b satisfying the conditions (1)–(5) presented in Theorem 1. The ENUMERATION algorithmbelow performs such an enumeration.

Theorem 4. The ENUMERATION algorithm builds all MRFs in O(B3jMRFj), where jMRFj is the number of

MRFs with B and B 0 set.

Proof. The algorithm goes through an enumeration tree by a Depth First Search. At level i(i 2{0, . . . , i0 = dB/2e � 1}) of the tree, all the possible values of f(i) are considered. When f(1), . . . , f(i) areset, Theorem 1 means it can easily be verified whether there exists at least one MRF with these values.LB(i + 1), LB(i + 2), . . . , LB(B) are the smallest possible values for f(i + 1), . . . , f(B), so if LB(B) > B 0 thenno such MRF exists and we have to backtrack by augmenting f(i � 1). Otherwise we go down the tree bysetting f(i + 1) = LB(i + 1), . . . , f(i0) = LB(i0), and also i = i0 + 1. Then f is completed by using relations(3) and (4) of Theorem 1. So we go directly to the leftmost pendant node of the tree. Finally, it is alsonecessary to backtrack through the search tree by setting i = i0 and f(i0) = f(i0) + 1. This justifies theENUMERATION algorithm. In the worst case we have to backtrack dB/2e times before computing a newMRF. h

Page 5: Computing redundant resources for the resource constrained project scheduling problem

1456 J. Carlier, E. Neron / European Journal of Operational Research 176 (2007) 1452–1463

Algorithm 1. Enumeration of all MRFs for (B, B 0)

1: (a) Initialization2: i0 = dB/2e � 13: f(0) = f(1) = � � � = f(i0) = 04: i i05:6: (b) Bounding of f7: LB(j) f(j), j = 0, . . . , i;8: LB(j) max16k6j�1(LB(j � k) + LB(k)), j = i + 1, . . . , B9:

10: (c) Feasibility test11: if LB(B) > B 0 then12: goto (e)13: end if14:15: (d) Computing f

16: f(j) LB(j), j = 0, . . . , i017: if B is even then

18: f(i0 + 1) = dB 0/2e;19: end if20: f(j) B 0 � f(B � j), j = i0 + 1, . . . , B21: i i0 + 1;22: Store f as a new MRF;23:24: (e) Backtrack25: i i � 126: f(i) f(i) + 127: if (i 5 0) then28: goto (b);29: end if

One crucial test in deciding whether this approach has a practical interest is to estimate the number ofMRFs for a given (B, B 0). Tables 1 and 2 present some results concerning the number of MRFs for fixedvalues of B and B 0. Table 1 shows these results for small values of B and B 0, while Table 2 presents thenumber of MRFs for a range of values of B and certain small values of B 0. For fixed B and two differentvalues of B 0 two MRFs f1 and f2 are said to be equivalent if f1ðiÞ=B01 ¼ f2ðiÞ=B02; 8i 2 s0;Bt. Only one ofthem is useful. We generate only the one with the smaller B 0.

Table 1Number of MRFs for fixed B and B0

B = 2 B = 3 B = 4 B = 5 B = 6 B = 7 B = 8 B = 9

1 1 1 1 1 1 1 1 B 0 = 10 0 1 1 1 1 2 1 B 0 = 2

0 1 1 2 2 2 2 B 0 = 30 1 1 3 2 4 B 0 = 4

2 2 4 5 5 B 0 = 52 4 4 9 B 0 = 6

8 7 12 B 0 = 76 13 B 0 = 8

21 B 0 = 9

Page 6: Computing redundant resources for the resource constrained project scheduling problem

Table 2Number of MRFs for fixed B and small values of B 0

B = 20 B = 30 B = 60 B = 90

B 0 = 1 1 1 1 1B 0 = 2 4 5 10 15B 0 = 3 4 8 15 23B 0 = 4 12 27 107 239B 0 = 5 10 36 135 296

J. Carlier, E. Neron / European Journal of Operational Research 176 (2007) 1452–1463 1457

4. Computation of non-dominated MRFs

The ENUMERATION algorithm presented in Section 3 builds all MRFs for a given (B, B 0). For a givenvalue of the initial resource capacity, i.e., B, we are interested in the complete enumeration of allMRFs that may lead to efficient lower bounds, i.e., whatever the value of B 0. But if we consider all MRFsgenerated for a given B, for all B 0, many of them are dominated, in the sense that they cannot provideany useful lower bound. Thus we have to determine the most promising from among all the generatedMRFs.

Definition 6 (Normalized MRF). Let f be a MRF s0, Bb! s0, B 0b. The normalized form of f is the func-tion s0, Bb! [0, 1] defined by

8b 2 s0;Bt; �f ðbÞ ¼ f ðbÞ=B0.

Definition 7 (Non-dominated MRF). Let �f 1; . . . ; �f L be L normalized MRFs. �f 0 is called a non-dominatedMRF by �f 1; . . . ; �f L if there exists (P1, . . . , PB), such that

XB

b¼1

P b � �f 0ðbÞ > maxl¼1;...;L

XB

b¼1

P b � �f lðbÞ.

The notion of non-dominated MRF corresponds to MRF that may lead to interesting lower bounds. Ifwe assume that P b ¼

Pi2I=bi¼bpi, the fact that �f 0 is non-dominated can be seen as corresponding to the exis-

tence of a set of processing times of activities such that the best lower bound is given by the redundantresource corresponding to �f 0.

Let us denote F : ðP 1; . . . ; P BÞ 2 RB 7!PB

b¼1�f ðbÞ � P b the linear lower bound (LLB) (see Definition 2) asso-

ciated with f.

Property 1. Let �f 1; . . . ; �f L be L normalized MRFs, and F1, . . . , FL their associated LLBs (see Definition 2).

Let �f 0 be a MRF and F0 its LLB. �f 0 is a non-dominated MRF if there exists � > 0 such that

$P = (P1, . . . , PB), F0(P) P F1(P) + �, . . . , F0(P) P FL(P) + �.

Because of Property 1 we are able to determine the subset of non-dominated MRFs among all the gen-erated ones. The set of non-dominated MRFs is initialized with the MRF which corresponds to the initialresource, i.e, f(b) = b, "b 2 s0, Bb. For each MRF we solve the linear program given by (1): if there exists asolution � > 0 then the MRF is added to the set of non-dominated MRFs. Thus incrementally we determinea set of MRFs, none of which is dominated: at each iteration of this algorithm, a MRF that is not dom-inated by the set of MRFs generated previously is computed.

Page 7: Computing redundant resources for the resource constrained project scheduling problem

TableNumb

B 0 = 2B 0 = 3B 0 = 4B 0 = 5

TableTotal

B

#MRF

TableNumb

B 0 = 2B 0 = 3B 0 = 4B 0 = 5

1458 J. Carlier, E. Neron / European Journal of Operational Research 176 (2007) 1452–1463

max � s.t.

F 0ðP Þ � F 1ðPÞP �;

F 0ðP Þ � F 2ðPÞP �;

. . .

F 0ðP Þ � F LðPÞP �;

P 1 þ P 2 þ � � � þ P B ¼ 1;

P 1 P 0; . . . ; P B P 0.

8>>>>>>>><>>>>>>>>:

ð1Þ

The following tables present some results concerning the number of non-dominated MRFs for fixed valuesof B. Table 3 presents the number of non-dominated MRFs for a range of values of B and certain smallvalues of B 0. Table 4 presents the total number of non-dominated MRFs with B 0 6 B, for large valuesof B.

In order to limit the number of tabulated MRFs, we retain only those MRFs whose � is larger than 0.05.The idea is to keep all the MRFs (� = 0) that are useful for small values of B 0 and to consider only a subsetof them that may lead to interesting lowers bounds for larger values of B 0, i.e, those leading to a solution ofthe linear programming formulation greater than � = 0.05. The numbers of MRFs determined with thisvalue of 0.05 are shown in Table 5.

These results were obtained on a PIII 733 MHz with 138MB, using CPLEX 8.0 for solving the linearprogram. We have limited our research to B 6 100, because tackled instances generally have initial resourcecapacities smaller than 100. Moreover, the method requires more than 10 minutes to compute the MRFsfor B = 100, and computation times increase dramatically for larger values of B.

These experimental results are very encouraging: the number of redundant functions for any B is reason-able. Consequently some redundant functions generated with B 0 6 min(B, 10) can be tabulated and usedefficiently for solving the RCPSP. In the following we used the subset of MRFs generated fixing� P 0.05 and 1 6 B 0 6 min(B, 10).

3er of non-dominated MRFs for fixed B and small values of B 0

B = 20 B = 30 B = 60 B = 90 B = 100

4 5 10 15 171 3 5 8 86 17 62 134 1595 3 3 14 42

4number of non-dominated MRFs for large values of B (B 0 6 10)

10 20 30 40 50 60 70 80 90 1006 13 21 30 40 49 66 65 – –

5er of non-dominated MRFs for fixed B and small values of B 0 (� = 0.05)

B = 20 B = 30 B = 60 B = 90 B = 100

4 5 10 15 171 3 5 8 84 6 15 20 232 2 5 6 10

Page 8: Computing redundant resources for the resource constrained project scheduling problem

J. Carlier, E. Neron / European Journal of Operational Research 176 (2007) 1452–1463 1459

5. Bounding RCPSP

In this section we present some computational results demonstrating the usefulness of redundantresources. We show that more accurate redundant resources improve our previous results [9] for boundingthe makespan of classical instances of RCPSP. We present computational results that are based both onclassical energetic reasoning [3] and on a linear programming formulation [9].

The bound we compute is a destructive lower bound [14] in the sense that it is used to prove that for agiven integer D, it cannot exist a solution with a makespan smaller than or equal to D. Then D + 1 is a validlower bound. A binary search is performed to find the largest value of D such that it can be proved thatthere exists no solution with a makespan strictly smaller than D. This binary search needs an initial lowerbound (LBmin) and an initial upper bound (LBmax) for D.

The initial lower bound LBmin is equal to the maximum of the critical path length and the classical ener-getic reasoning destructive lower bound applied to initial resources (see [3] for further details).

We test our method on the 600 instances of the PSPLIB, that consist of 120 activities. The initial upperbound (LBmax) is equal to the best known upper bound for these instances. Tests were also performed usingan upper bound equal to 110% of this best known upper bound. These tests are presented below.

Several lower bounds were tested:

• Ener.: Classical energetic reasoning destructive lower bound [15,17,3] (LBmin in Algorithm 2). Given a timeinterval [t1, t2], satisfiability tests are based on the computation of the part of the activity Ai, that must beprocessed between t1 and t2 where, without loss of generality, we assume that t1 < t2. The part of activityAi which needs to be completed in time interval [t1, t2] is called its work in the time interval [t1, t2]. Tocompute this mandatory part, the operations are either left-shifted or right-shifted within their time win-dow [ri, di], i.e., an operation either starts at ri or ends at di. Notice that this bound is a destructive lowerbound, i.e., it is used to prove that no solution having a makespan lower than or equal to a given integerD can exist. We can formally define the work in interval [t1, t2] as follows, where bi denotes the resourcerequirement of the activity and B the resource capacity:

W ði; t1; t2Þ ¼ bi �minðprightði; t1; t2Þ; pleftði; t1; t2ÞÞ;pleftði; t1; t2Þ ¼ minðt2 � t1; pi;maxð0; ri þ pi � t1ÞÞ;prightði; t1; t2Þ ¼ minðt2 � t1; pi;maxð0; t2 � di þ piÞÞ.

Based on the above definitions, we can state the necessary conditions for the existence of a solutionas the following fundamental property: If there exists some time interval [t1, t2], such thatP

Ai2IW ði; t1; t2Þ > B � ðt2 � t1Þ, then there is no solution to the initial problem. Baptiste et al. [3], haveproposed a O(n2) algorithm to compute all satisfiability tests based on energetic reasoning for all relevanttime-intervals. These tests are iterated on all initial resources.

• Ener. MRF: Classical energetic reasoning destructive lower bound applied to initial and redundant resources

(only lines 1–6; 8; 13–20 are kept in Algorithm 2).• Ener. It MRF: Classical energetic reasoning destructive lower bound applied to initial and redundant

resources until a contradiction is detected or no more adjustments are deduced (only lines 1–9; 13–20 are keptin Algorithm 2). This bound is based on energetic satisfiability tests and the time-bound adjustments thatare deduced from this approach. Adjustment techniques aim to tighten time windows of activities by con-sidering the resource constraints and by removing the values in the time windows that cannot lead to afeasible solution [3]. An O(n3) algorithm is used, which has to be applied to each initial resource. Deducinga time-bound adjustment on activity Ai may increase the work of Ai over another time interval and thenlead to a contradiction or to another time-bound adjustment. To implement this propagation process themethod iterates until a contradiction is detected or no more adjustments are deduced.

Page 9: Computing redundant resources for the resource constrained project scheduling problem

1460 J. Carlier, E. Neron / European Journal of Operational Research 176 (2007) 1452–1463

• Ener. It MRF + LP MRF: Classical energetic reasoning destructive lower bound is applied to initial and

redundant resources until a contradiction is detected or no more adjustments are deduced, then satisfiability

tests based on a linear programming formulation that takes MRFs into account are used (Algorithm 2 isused as it is presented). The linear programming formulation is recalled below.

Algorithm 2. Lower bound computed by destructive improvements

1: // LBmin: max (classical energetic reasoning, Critical Path)2: // LBmax: a valid upper bound3:4: D = bLBmin + LBmax/2c5: while D 6 LBmax do

6: "i = {1, . . . , n} update ri and di taking into account that no activity can end after LB7: repeat8: feasible FeasibilityMRFEnergetic(D)9: until (no adjustments are deduced) OR (feasible = false)

10: if feasible = true then11: feasible FeasibilityMRFLinearProgramming(D)12: end if13: if feasible=false then14: LBmin D + 115: else16: LBmax D17: end if

18: D = bLBmin + LBmax/2c19: end while20: LBmax is a valid lower bound for the initial problem

In [9] we introduced a linear programming scheme for computing a lower bound for the RCPSP. It usesa set of K LLBs (see Definition 2) and a segmentation of the time horizon into successive intervals. TheseLLBs are those associated with the initial resources and redundant resources.

In the linear program below, the time horizon [0, D] is divided into the L intervals: [t1 = 0, t2],[t2, t3], . . . , [tL, tL+1]. tL+1, is the makespan of the schedule. xi,l is that part of activity i which is processedin [tl, tl+1]:

min tLþ1; ð2Þ

8i 2 I ;Xl¼L

l¼1

xi;l ¼ pi; ð3Þ

8l 2 ½1; . . . ; L�; 8i 2 I ; xi;l 6 tlþ1 � tl; ð4Þ

8l 2 ½1; . . . ; L�; 8h 2 ½1; . . . ;K�; LLBhðx1;l; x2;l; . . . ; xn;lÞ 6 ðtlþ1 � tlÞ; ð5Þ

8l 2 ½1; . . . ; L�; 8i 2 I ; xi;l P 0; ð6Þ

t1 ¼ 0 6 t2 6 t3 6 � � � 6 tLþ1; ð7Þ

Other valid linear constraints. ð8Þ

Page 10: Computing redundant resources for the resource constrained project scheduling problem

J. Carlier, E. Neron / European Journal of Operational Research 176 (2007) 1452–1463 1461

Due to constraints (3) all activities are completed. According to constraints (4) the activity that is processedwithin a given time-interval [tl, tl+1] cannot be larger than the given time interval. All the constraints arevalid.

For our tests we considered a set of time points: T = {ri, di, "i 2 I} = {t1, t2, . . . , tL+1}. We assume that T

is sorted in a non-decreasing order and that all time points are different. So we add the linear constraints (9)and (10):

TableResult

Av. deAv. timMax. tNb. beAv. deMin. dNb. WAv. deMax. d

8l 2 ½1; . . . ; L�; 8i 2 I ; if di 6 tl then xi;l ¼ 0; ð9Þ8l 2 ½1; . . . ; L�; 8i 2 I ; if ri P tlþ1 then xi;l ¼ 0. ð10Þ

Our linear program has some similarities with that presented by Brucker and Knust [6], including the seg-mentation of the time horizon. Brucker and Knust generate subsets of activities that cannot be processedsimultaneously because of resource and precedence constraints. Their model appears slightly more efficientthan ours for a small number of activities, but its drawback is that it is based on column generation, so itscomplexity may become exponential. Our method, on the other hand, is polynomial and therefore scalable.

In [9] we were able to compute MRFs only for values of B smaller than 10, and for larger values of B we

used a simple method for generating redundant resources. This method involves setting b0i ¼ðB0þ1Þ�bi

B

l m� 1.

In this paper we have used the method described in Section 4 to generate all useful redundant resources.The redundant resources used are those obtained with B 0 6 min(10, B) and � = 0.05.

Table 6 presents the deviation (average and maximum) and the time needed to compute the bound (aver-age and maximum). We compare our results to the lower bounds presented in [6] denoted by LBBrucker:

• av. dev.: average deviation = (LBBrucker � LB)/LBBrucker,• av. time: average time in seconds,• max. time: maximum time in seconds,• nb. Best: number of instances for which LBBrucker < LB,• av. dev. Best: average deviation when LBBrucker < LB,• min. dev. Best: minimum deviation when LBBrucker < LB,• nb. Worst: number of instances for which LBBrucker > LB,• av. dev. Worst: average deviation when LBBrucker > LB,• max. dev. Worst: maximum deviation when LBBrucker > LB.

Notice that we have also performed some experiments fixing LBmax = 110%BestUB. The average com-putation time increases to 22.68 seconds and the maximum computation time to 110.68 seconds. All theseresults are obtained on a PIV 2.8 GHz, using CPlex 8.0.

6s on the 600 KSD 120 activity instances

Ener. Ener. MRF Ener. It MRF Ener. It MRF + LP MRF

v. (%) 4.44 0.75 0.37 0.34e (seconds) 0.5 1.912 6.281 14.94

ime (seconds) 3.9 7.17 35.69 99.19st 5 9 30 30v. Best (%) �4.79 �4.05 �1.96 �1.96ev. Best (%) �13.16 �15.79 �15.79 �15.79orst 347 249 156 145v. Worst (%) 7.74 1.96 1.79 1.81ev. Worst (%) 35.00 10.71 7.69 7.55

Page 11: Computing redundant resources for the resource constrained project scheduling problem

Table 7Results on the 600 KSD 120 Activity instances with 20 MRFs and 10 MRFs randomly selected

Ener. It MRF + LP 20 MRF 10 MRF

Av. dev. (%) 0.52 0.69Av. time (seconds) 9.55 5.81Max. time (seconds) 68.17 32.14Nb. Best (%) 16 14Av. dev. Best (%) �2.83 �3.03Min. dev. Best (%) �15.79 �15.79Nb. Worst 190 203Av. dev. Worst (%) 1.89 2.25Max. dev. Worst (%) 10.71 12.21

1462 J. Carlier, E. Neron / European Journal of Operational Research 176 (2007) 1452–1463

Table 6 proves the efficiency of our bounding method:

• The average discrepancy between our lower bound and the best known one is very small (smaller than0.34%).

• The average and maximum computation times are still reasonable even for large instances. Moreoverthis time can be decreased if a subset of the MRFs that are used to get these results is kept: our boundis scalable.

• The redundant resources are useful both for computing energetic satisfiability tests and energetic time-bound adjustments: the discrepancy between the best known lower bound and the destructive energeticlower bound decreases from 4.4% to 0.75% if the redundant resources are used.

• The number of instances where our bound is worse than the best known bound decreases significantlyfrom 156 to 145, if the linear programming formulation based on MRFs is used.

Table 7 presents the results when only a subset of MRFs is used. This subset is chosen randomly, accord-ing higher probability to the ones having small B 0. These two tables show that the time consumptiondecreases linearly with the number of MRFs used, whereas the bound remains efficient regarding to its timeconsumption. This approach can be considered as scalable in the sense that the computation time decreasedsignificantly depending on the number of redundant resources used, with an acceptable loss of quality. Thismethod can be seen as an interesting alternative to efficient but highly time-consuming lower bounds[1,6,7,4,10].

6. Conclusion and further works

This paper is devoted to the enumeration of redundant resources which have been proved to be useful forsolving RCPSP [9]. Theoretical properties have been stated and we have proposed an explicit enumerationof the redundant resources and a characterization of the non-dominated ones. A non-dominated maximalredundant resource is a redundant resource that may lead to interesting lower bounds.

Moreover this bound is scalable, so it can be used within an exact method or an approximate one. Forinstance it would be interesting to test simple heuristics on larger instances to evaluate the distance to theoptima.

Another promising research direction is the generalization of redundant resources to take into accounteffective processing times of activities, that is, without grouping activities having the same demand. Thenthey would be data dependent. The challenge would be to generate them rapidly.

Page 12: Computing redundant resources for the resource constrained project scheduling problem

J. Carlier, E. Neron / European Journal of Operational Research 176 (2007) 1452–1463 1463

Acknowledgements

The authors are grateful to the anonymous referees for their enlightening comments. We also would liketo thank Emilie Laurent for her help to improve experimental results.

References

[1] S. Demassey, C. Artigues, P. Michelon, A hybrid constraint propagation cutting plane procedure for the RCPSP, in: Proc.CPAIOR, 2002.

[2] T. Baar, P. Brucker, S. Knust, Tabu search algorithms and lower bounds for the resource-constrained project scheduling problem,in: S. Voss, S. Martello, I. Osman, C. Roucairol (Eds.), Meta-Heuristics: Advances and Trends in Local Search Paradigms forOptimization, Kluwer, 1998.

[3] Ph. Baptiste, C. Le Pape, W. Nuijten, Satisfiability tests and time bound adjustments for cumulative scheduling problems, Annalsof Operations Research 92 (1999) 305–333.

[4] Ph. Baptiste, S. Demassey, Tight LP bounds for resource constrained project scheduling, OR Spectrum 26 (2004) 251–262.[5] J. Blazewicz, W. Cellary, R. Slowinsky, J. Weglarz, Scheduling under resource constraints – deterministic models, Annals of

Operations Research 7 (1986), JC Baltzer AG.[6] P. Brucker, S. Knust, A linear programming and constraint propagation-based lower bound for the RCPSP, European Journal of

Operational Research 127 (2000) 355–362.[7] P. Brucker, S. Knust, Lower bounds for resource-constrained project scheduling problems, European Journal of Operational

Research 149 (2) (2003) 302–313.[8] J. Carlier, E. Neron, A new L.P. bound for the cumulative scheduling problem, European Journal of Operational Research 127 (2)

(2000) 363–382.[9] J. Carlier, E. Neron, On linear lower bounds for the resource constrained project scheduling problem, European Journal of

Operational Research 149 (2003) 314–324.[10] S. Demassey, C. Artigues, Ph. Michelon, Constraint-propagation-based cutting planes: An application to the resource-constrained

project-scheduling problem, INFORMS Journal on Computing 17 (1) (2005).[11] E. Demeulemeester, W. Herroelen, New benchmark results for the resource-constrained project scheduling problem, Management

Science 43 (1997) 1485–1492.[12] S.P. Fekete, J. Schepers, New classes of lower bounds for bin-packing problems, Lecture Notes in Computer Science, vol. 1412,

Springer, 1998, pp. 257–270.[13] D.S. Johnson, A. Demers, J.D. Ullman, M.R. Garey, R.L. Graham, Worst case performance bounds for simple one-dimensional

packing algorithms, SIAM Journal on Computing 3 (1974) 299–325.[14] R. Klein, A. Scholl, Computing lower bounds by destructive improvements: An application to resource-constrained project

scheduling, European Journal of Operational Research 112 (1999) 332–346.[15] A. Lahrichi, Ordonnancements: La notion de ‘‘parties obligatoires’’ et son application aux problemes cumulatifs, R.A.I.R.O. –

Recherche Operationnelle 16 (1982) 241–262.[16] E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys, Sequencing and scheduling: Algorithms and complexity, in: S.C.

Graves, A.H.G. Rinnooy Kan, P.H. Zipkin (Eds.), Logistics of Production and Inventory, Handbooks in Operations Researchand Management Science, vol. 4, North-Holland, Amsterdam, 1993, pp. 445–522.

[17] P. Lopez, J. Erschler, P. Esquirol, Ordonnancement de taches sous contraintes: Une approche energetique, RAIRO-APII 26(1992) 453–481.

[18] S. Martello, P. Toth, Lower bounds and reduction procedures for the bin-packing problem, Discrete Applied Mathematics 28(1990) 59–70.

[19] A. Mingozzi, V. Maniezzo, S. Ricciardelli, L. Bianco, An exact algorithm for the resource-constrained project scheduling problembased on a new mathematical formulation, Management Science 44 (5) (1998) 714–729.

[20] R.H. Mohring, A.S. Schulz, F. Stork, M. Uetz, Resource-constrained project scheduling: Computing lower bounds by solvingminimum cut problems, in: J. Nesetril (Ed.), Proceedings of the 7th Annual European Symposium on Algorithms (ESA99),Lecture Notes in Computer Science, vol. 1643, Springer, Berlin, 1999, pp. 139–150.