On linear lower bounds for the resource constrained project scheduling problem

On linear lower bounds for the resource constrained project scheduling problem

European Journal of Operational Research 149 (2003) 314–324 www.elsevier.com/locate/dsw On linear lower bounds for the resource constrained project s...

316KB Sizes 2 Downloads 60 Views

European Journal of Operational Research 149 (2003) 314–324 www.elsevier.com/locate/dsw

On linear lower bounds for the resource constrained project scheduling problem J. Carlier

a,*

, E. Neron

b

a

b

Laboratoire HeuDiaSyC UMR CNRS 6599, Universit e de Technologie de Compi egne, Royallieu––F-60260 Compi egne, France Laboratoire dÕInformatique––Equipe Ordonnancement et Conduite, Universit e de Tours, E3I––64 av J. Portalis, F-37200 Tours, France

Abstract The aim of this paper is to propose efficient methods for solving the resource constrained project scheduling problem (RCPSP). These methods are based on makespan lower bounds, which linearly depend on the processing times of the activities. Linear lower bounds (LLB) can be obtained in different ways. The first application that we present is a general linear programming scheme for computing a makespan lower bound. The second application consists in associating redundant resources with LLB. Consequently we get new adjustments of release dates and tails of the project activities. These adjustments are tight for certain RCPSP instances, as shown by our computational results.  2003 Published by Elsevier Science B.V. Keywords: Resource constrained project scheduling; Linear programming; Lower bounds; Redundant resources

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 in order to minimize the makespan. RCPSP has been proved to be NP-Hard [4]. Thus a large amount of work has been devoted to the computation of lower bounds (LBs). Some of them are based on linear programming formulations including the pioneering work of Fisher [15], Blazewicz [3], Christofides et al. [11], M€ ohring et al. [26]. Min* Corresponding author. Tel.: +33-3-44-23-44-89; fax: +33-344-23-44-77. E-mail addresses: [email protected] (J. Carlier), neron@ univ-tours.fr (E. Neron).

gozzi et al. [25] and Brucker and Knust [5] relax the non-preemption constraint and associate a variable with each subset of activities that can be processed simultaneously without violating either resource or precedence constraints. So they take into account explicitly the resource requirements of activities. Consequently the linear program can be very large, but it can be tackled, either by column generation [5], or by solving heuristically a relaxation to a weighted node packing problem [25]. Other bounds are based on the cumulative scheduling problem (CuSP) [1,9], which is an extension of the m-machine problem where the resource requirements of activities can be larger than 1. A CuSP is obtained by choosing a resource and relaxing the constraints due to other resources. The aim of this paper is to propose efficient tools for solving the RCPSP. They are based on

0377-2217/03/$ - see front matter  2003 Published by Elsevier Science B.V. doi:10.1016/S0377-2217(02)00763-4

J. Carlier, E. Neron / European Journal of Operational Research 149 (2003) 314–324

LBs on the makespan which depend linearly on the processing times of activities. Linear LBs (LLB) can be obtained by using the multiple elastic preemptive relaxation, previously defined [9], where several parts of the same activity can be processed simultaneously. The first tool is a general linear programming scheme for computing a new LB for the makespan: it uses some LLB and a decomposition of the time horizon into several successive intervals. The interest of this scheme is demonstrated theoretically. The second tool is based on the notion of redundant resource. We associate a redundant resource with each LLB and get new adjustments of release dates and tails. The practical efficiency of redundant resources is confirmed by computational results on some RCPSP instances. The notions of LLB and redundant resources are strongly connected to the notion of dual feasible solution introduced by Johnson et al. [18] for the bin packing problem and used recently by Fekete and Schepers [14] and Martelo and Toth [24]. So we will explain below this connection. The organization of the paper is as follows. In Section 2 we define LLB and we give some examples of LLB. Section 3 is devoted to the new linear programming formulation, and Section 4 to redundant resources. Finally we conclude in Section 5.

2. Linear lower bounds for CuSP The aim of this section is to define the notion of LLB. We also give examples of LLB. In a CuSP instance D ¼ ðI; BÞ, n non-preemptive activities have to be processed in a minimal makespan on a resource of capacity B. Activity i 2 I is defined by its release date ri , its processing time pi , its tail qi and its resource requirement bi . All parameters are integer. A CuSP can be obtained from a RCPSP by ignoring all the resources but one, and by relaxing the precedence constraints to release dates and tails of activities. Consequently release dates (resp. tails) come from activities that have to be processed before i (resp. after i): ri is equal to the longest path from the source node to i in the precedence graph of initial RCPSP, and qi is equal

315

to the longest path between i and the sink node, minus its processing time in the precedence graph. Notice that the CuSP is an extension of the mmachine problem where resource requirements can be larger than 1. Thus it could provide better bounds than m-machine based LBs which have been proposed for the RCPSP [7,8,19]. Definition 1. Let a1 ; a2 ; . . . ; an be some real numbers within [0,1]. A linear function of the proP cessing times of the activities Pi2I ai  pi defines a LLB if, for any xi (0 6 xi 6 pi ), ai  xi is a LB of the makespan when exactly part xi of the activity i has to be processed. Discussion: This notion is very similar to the dual feasible solution introduced by Johnson et al. [18] for the bin packing problem, and used recently by Fekete and Schepers [14], and Martello and Toth [24]. This notion is also used for solving the preemptive parallel task scheduling problem by Jansen and Porkolab [17]. 2.1. First example: The basic bound P Proposition 1. ð1=BÞ i2I bi  pi is a LLB of D. We shall refer to this as the basic bound of D ¼ ðI; BÞ. Discussion: This basic bound is very useful, especially when it is combined with energetic reasoning [1] for getting adjustments of release dates and tails. We will see in Section 4, that any LLB is the basic bound of the redundant resource associated with it, which explains the interest of redundant resources. 2.2. Second example: LLB and dual feasible solution As we have said in the Section 1, LLB notion is connected to the dual feasible solution notion which has been introduced for the bin packing problem (BPP) [14,18]. The BPP can be described as follows: given a set of N ‘‘items’’ with integer size z1 ; z2 ; . . . ; zN and a supply of identical ‘‘containers’’ of capacity B, decide how many containers are necessary to pack all the items. A BPP can be obtained from a CuSP by associating pi identical

316

J. Carlier, E. Neron / European Journal of Operational Research 149 (2003) 314–324

items with size bi with each task i 2 I. A function u : ½0; 1 ! ½0; 1 is called dual feasible if, for any set S of non-negative real numbers, we have the relaP P tion: z2S z 6 1 implies z2S uðzÞ 6 1. It can be proved that, if z1 ; z2 ; . . . ; zN is a BPP instance and u a dual feasible solution, any LB for the transformed BPP is also a LB P for the initial BPP. Consequently, because i2I bi  pi =B is a LB, P uðbi =BÞ  pi is also a LB for any dual feasible solution u. It permits to associate a LLB with any u.

Discussion: The corresponding LLB is a strong one, but difficult to compute, because the linear program is very large. An interesting property is that the polyhedra of its dual does not depend on the processing times of the activities.

2.3. Third example: The bound of Mingozzi et al.

P Proposition 3. i2J pi , with J ¼ ½i1 i2 ; . . . ; ir  is a LLB. Moreover, if the path is the longest one it is equal to the value of the critical path LB.

Let us recall the linear programming technique of Mingozzi et al. [25] in the case of a CuSP. Let J be a subset of activities P that can be processed simultaneously, i.e., i2J bi 6 B: J is a feasible configuration. First we associate with J the {0, 1} column vector defined by CJ ðjÞ ¼ 1 if j 2 J . The bound of Mingozzi et al. is obtained by solving the linear program given by (1)–(3): X min yJ ; ð1Þ J

C  y P P;

ð2Þ

y P 0:

ð3Þ

P is the vector of processing times and y the vector of yJ , (yJ represents the duration in the schedule during which J is the subset of activities processed). This bound can be improved by taking into account release dates and deadlines for defining J , as proposed in [5] (deadlines replace tails when an upper bound UB is set). Indeed it corresponds to the optimal makespan when preemption is allowed. The dual of the previous linear program is given by (4)–(6): max ut  P ;

ð4Þ

u  C 6 1;

ð5Þ

u P 0:

ð6Þ

Proposition 2. Given that u satisfies u  C 6 1, u P 0, then uT  P is a LLB. Moreover when u ¼ u (the optimal solution of the dual), it is equal to the Mingozzi bound.

2.4. Fourth example: The critical path bound Let J ¼ ½i1 ; i2 ; . . . ; ir  be a path in the conjunctive graph, that is i1 precedes i2 , i2 precedes i3 ; . . . ; etc.

Discussion: This technique associates LLB with precedence constraints. 2.5. Fifth example: The multiple elastic preemptive bound In the multiple elastic preemptive (MEP) relaxation, preemption is allowed. Moreover, several parts of the same activity can be processed simultaneously. In [9], all activities having the same resource requirement are first merged. Thus Pb is defined as the sum of the processing times of the activities that need b units P of the resource during their processing: Pb ¼ i2I=bi ¼b pi . Definition 2. Let S, c1 ; c2 ; . . . ; cS be some positive integers. Ch ¼ ðc1 ; c2 ; . . . ; cS Þ (S depends on h), is a feasible configuration for B if X cs 6 B and c1 P c2 P    P cS : s¼1...S

fCh ; h 2 ½1 . . . H g 1 denotes the set of feasible configurations for a resource capacity of B units, and Ch ½b is the number of resource requirements equal to b 2 ½1 . . . B, in Ch . Notice that fCh ; h 2 ½1 . . . H g can easily be enumerated for small resource capacities.

1 The number H of feasible configurations depends on B and can be very large.

J. Carlier, E. Neron / European Journal of Operational Research 149 (2003) 314–324

the optimal value of (7) and (8), and so a valid LB of the makespan of the initial CuSP.

It has already been stated [9] that an optimal solution of the preemptive problem where several parts of the same activity can be processed simultaneously, is given by (7), which is the MEP linear programming formulation. In (7) yP h is the duration h¼H of the configuration Ch , and h¼1 yh is the makespan. Min

h¼H X

Proposition 4. 8g 2 ½1 . . . GMEPBg is a LLB of the CuSP. Discussion: The main advantage of this MEP relaxation is to take into account both the work that must be processed on the resource and the idle time that may result from the configurations involved. Moreover all the LLB are independent of P . So they can be tabulated, as explained in [9].

yh

h¼1

s:t:

h¼H X

8b 2 ½1 . . . B

Ch ½b  yh P Pb ;

yh P 0:

h¼1

ð7Þ

Example. Fig. 1 presents a MEP schedule. The processing times of the jobs are p1 ¼ 5, p2 ¼ 5 and p3 ¼ 2, respectively. The resource capacity is equal to 8. To simplify the presentation we have considered only four feasible configurations: C1 ¼ f3; 2; 2g, C2 ¼ f3; 2g, C3 ¼ f3g and C4 ¼ f8g. The primal linear programming formulation is equal to 8 2y þ y2 P 5; > > 1 < y þ y þ y P 5; X > 1 2 3 Min yi > y P 2; > i > 4 : y1 P 0; y2 P 0; y3 P 0:

(8) is the corresponding dual formulation: Max

b¼B X

P b  ub

b¼1

s:t:

8h 2 ½1 . . . H 

b¼B X

Ch ½b  ub 6 1:

ð8Þ

b¼1

(7) and (8) have been solved in [9] for any value of B smaller than or equal to 10, i.e, all corresponding LLB have been computed. The method for solving this linear program is based on the enumeration of the optimal solutions of the dual linear program for any P . These results have been recently extended to B ¼ 11 and 12 [27]. This can also be used for larger values of B, but only a subset of the optimal solutions of the dual are known. Let ugopt denote any optimal solution of the dual. It has been proved that its associated cost MEPBg is a LLB on the Pb [9]. Let

The solution associated with the schedule presented in Fig. 1 is: y1 ¼ 1, y2 ¼ 3, y3 ¼ 1, and y4 ¼ 2. 3. A general linear programming scheme for computing LBs for the RCPSP

ðag1 =Bg Þ  P1 þ ðag2 =Bg Þ  P2 þ ðag3 =Bg Þ  P3 þ    þ ðagB =Bg Þ  PB ;

In the RCPSP, non-preemptive activities have to be scheduled. They are subject to precedence constraints and resource constraints. Precedence constraints are modeled by a conjunctive graph,

g 2 ½1 . . . G

be these LLB, where G is the number of LLB. Due to linear programming properties, maxg MEPBg is Res. requirem ents

B= 8 Res. Req. equal to 2

6

Res. Req. equal to 3

4 2

Res. Req. equal to 8 1

2

317

tim e

Fig. 1. A schedule for B ¼ 8, p1 ¼ 5, p2 ¼ 5, p3 ¼ 2, b1 ¼ 2, b2 ¼ 3, and b3 ¼ 8.

318

J. Carlier, E. Neron / European Journal of Operational Research 149 (2003) 314–324

resource constraints by several CuSP. We now present a general scheme for computing lower bounds. It is based on K LLB (here LLB1 ; LLB2 ; . . . ; LLBK ) and a decomposition of the time horizon into L successive intervals ½t1 ; t2 ; . . . ; ½tL ; tLþ1 . The more we take into account LLB the more we get constraints in the corresponding linear programming formulation: one LLB gives L additional constraints. Indeed fixing K is a tradeoff between the quality of the bound and the size of the linear program. As we have explained, these LLB can be associated with resource constraints and precedence constraints. We also describe two applications of the general scheme. The first one uses release dates and tails of the activities, the second one is based on the critical path. The interest of this approach is proved theoretically. 3.1. The general scheme Let us now define formally the constraints of our linear programming formulation. The decision variables are tl (l 2 ½1 . . . L þ 1) and xP i;l (i 2 I; l 2 ½1 . . . L). Let us set LLBðx1 ; . . . ; xn Þ ¼ i2I ai  xi . Definition 3. LPGS is the linear programming formulation built from a RCPSP instance defined by ð9Þ

Min tLþ1 8i 2 I;

l¼L X

xi;l ¼ pi ;

ð10Þ

l¼1

8l 2 ½1 . . . L; 8i 2 I; xi;l 6 tlþ1  tl ;

ð11Þ

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

ð12Þ

Proof. Activities are processed in consecutive intervals ½t1 ; t2 ; ½t2 ; t3 ; . . . ; ½tL ; tLþ1 . xi;l is the part of activity i processed in interval ½tl ; tlþ1 . Due to constraint (10) all activities are completed. According to constraint (11), the part of the activity that is processed within a given time-interval ½tl ; tlþ1  cannot be larger than the size of the given time-interval. All other constraints are valid.  Discussion: Notice that in the previous formulation, tl may be constant (see Section 3.2) or variable (see Section 3.3). Other linear constraints can be added: for instance, if i precedes j: l l X X xi;s xj;s P ; 8l 2 ½1 . . . L: p pj i s¼1 s¼1

ð16Þ

The bound may be strong if we choose efficient LLB. For instance, if we take the LLB associated with the bound of Mingozzi et al. (see Section 2.3), it is stronger than their bound. 3.2. A first application: an energetic bound The LB we present in this section is a destructive one [19], i.e., it can be used to prove that no feasible solution having a makespan smaller than or equal to a given value UB exists. UB being given, we associate with each activity i the deadline di ¼ UB  qi . The first step is the computation of the timeintervals. Let T ¼ fri ; di ; 8i 2 Ig ¼ ft1 ; t2 ; . . . ; tLþ1 g. We assume that T is sorted in a non-decreasing order and that all time points are different. Actually tl is constant. Let: • 8l 2 ½1 . . . L; el ¼ ½tl ; tlþ1 Þ, • 8l 2 ½1 . . . L; 8i 2 I; xi;l , the part of activity i processed during el . xi;l are the variables of our linear program.

8l 2 ½1 . . . L; 8i 2 I; xi;l P 0;

ð13Þ

t1 ¼ 0 6 t2 6 t3 6    6 tLþ1 ;

ð14Þ

So we can add to LPGS, the following linear constraints:

other valid linear constraints:

ð15Þ

8l 2 ½1 . . . L; 8i 2 I; if di 6 tl then xi;l ¼ 0;

Proposition 5. The optimal value of LPGS, if it exists, is a LB of the makespan of the RCPSP.

ð17Þ

8l 2 ½1 . . . L; 8i 2 I; if ri P tlþ1 then xi;l ¼ 0: ð18Þ

J. Carlier, E. Neron / European Journal of Operational Research 149 (2003) 314–324

Proposition 6. Let us suppose that the basic bound associated with a particular CuSP is one of the LLB of LPGS. If the energetic LB [1] is not satisfied for some interval ½tl1 ; tl2  then LPGS has no solution. Proof. By definition of the energetic bound and the construction of LPGS.  Discussion: By modifying appropriately the values of tl the LB becomes stronger than the energetic bound. In any case, we know experimentally that by using release dates and deadlines results are perfectly acceptable [1]. 3.3. A second application: A critical path bound Now let us introduce the critical path of the conjunctive graph: ½i1 ; i2 ; . . . ; ir . We set t1 ¼ 0 6 Ci1 6 t2 6 Ci2 6    6 tr1 6 Cir 6 tr , (L ¼ r), where Ci is the completion time of the activity i. We add the following constraint to LPGS: xi1 ;1 ¼ pi1 ; xi2 ;2 ¼ pi2 ; . . . ; xir ;r ¼ pir :

ð19Þ

Proposition 7. The optimal value of LPGS is larger that the critical path value. Discussion: This second application takes into account precedence and resource constraints simultaneously. 3.4. LPGS: experimental results To prove the efficiency of our approach, we tested the first version of LPGS (see Section 3.2) on two classical sets of instances: • The KSD set of instances [20]: this set is composed of 480 instances. Each instance comprises 60 activities and 3 resources. For this set of instances LBs are known (see [5,6,16,19]), • The BL set of instances [1]: this set is composed of 40 instances that have been designed to be highly cumulative. Indeed several activities can be processed simultaneously. For this set of instances we know the optimum (38 instances are optimally solved) or the best known LB.

319

The version of LPGS that we used includes: • Some LLB deduced from precedence constraints. The paths from the source node to the sink node in the precedence graph are enumerated and sorted in non-increasing order of length. The 10 longest paths are kept and transformed into LLB, • Some LLB deduced from the MEP relaxation. If the resource capacity is smaller than or equal to 10, we used directly the results given by the MEP relaxation. If the resource capacity (B) is larger than 10, then one LLB is generated for each value of B0 , 1 6 B0 6 B. For this new resource, the resource requirement, b0i , of an activity that has an initial resource requirement equal to bi is computed as follows (see [7] for further details):   bi b0i ¼ ðB0 þ 1Þ : ð20Þ B • The adjacent intervals that are taken into account are based on release dates and deadlines of activities. • Our LB (LPGS) is a destructive one: a dichotomic search between the critical path LB and the makespan of a priority activity list schedule, is performed. Our goal is to compute the greatest integer UB such that we are able to state that there is no solution with a makespan lower than or equal to UB. Thus LPGS ¼ UB þ 1. At each step of this dichotomic search, UB being given, we compute deadlines for activities, and the corresponding linear programming formulation is solved. Our results are presented on KSD instances in Table 1. They were obtained on a PII-400 MHz, running under Windows 98, and using CPLEX 6.6. It should be noted that for 308 instances (64.1%), the best known lower bound (LB) is equal to the length of the critical path. For 148 instances (30%), the best known LB is strictly greater than our bound (LPGS). The average deviation ((best LB  LPGS)/best LB), computed for all instances, including those for which LB ¼ CP, is equal to 1.49%. The average time search is less than 2.3 s for the KSD instances with 60 activities. This is

320

J. Carlier, E. Neron / European Journal of Operational Research 149 (2003) 314–324

Table 1 LPGS, results on KSD and BL instances

KSD

LB ¼ CP

LB 6¼ CP LB > LPGS

LB 6¼ CP LB ¼ LPGS

LB 6¼ CP LB < LPGS

Average deviation

308

148

22

2

1.49%

mainly due to the fact that the gap between the critical-path bound and the upper bound may be large, so when we perform a dichotomic search on this interval the number of linear programs that have to be solved may become significant. It is important to notice that the linear programs that we solve, are not excessively large (3000 constraints, 2500 variables). These results could be improved by taking into account non-feasible subsets explicitly in LLB constraints. One main drawback of these results is the gap between our LB and the best known LB which may be important (12%) on some instances which are clearly disjunctive. Finally we should point out that despite this benchmark, especially due to the high resource capacity (larger than 80 units on some instances), is not well adapted to our approach, the results that we obtained are not so far from the best known results. On BL instances, only one instance has an optimal value equal to the critical path length. For 18 instances, among 40 instances, the lower bound that we get (LPGS) is strictly lower than the optimal value (or the best LB). The average deviation to the optimal value (or the best known LB) is equal to 2.99%. Notice that for one of the two unresolved instances, we have improved the best known lower bound. For this set of instances we get an average time search less than 0.9 seconds. We now present redundant resources that will be used to get release dates and tail adjustments.

4. Redundant resources Basically a redundant resource is a resource that can be added to a CuSP instance without modifying the makespan of optimal solutions. We explain below how to associate a redundant resource with a LLB.

4.1. Definition of redundant resources Let us explain formally how these redundant resources are built. P Definition 4. Let ai  pi a LLB with ai ¼ bi =B. We define the redundant resource by: • B is the capacity of the redundant resource, • to each activity i corresponds a resource requirement equal to bi .

Proposition 8. Definition 4 defines a redundant resource. Proof. Let us consider a schedule of the activities and by using this schedule, we decompose the time horizon into successive time-intervals ½t1 ¼ 0; t2 ; . . . ; ½tL ; tLþ1  such that in interval ½tl ; tlþ1  the same subset of activities is processed. P So xi;l ¼ tlþ1  tl . But due to LLB definition i2I ai  ðtlþ1  P tl Þ 6 tlþ1  tl . Consequently i2I bi 6 B.  We now present an example. Here we consider an initial resource of capacity 5 and a LLB solution of the dual LP formulation of the MEP relaxation: 1=2  P2 þ 1=2  P3 þ 2=2  P4 þ 2=2  P5 . The redundant resource has a capacity of B0 ¼ 2, because the common denominator of the LLB coefficients is 2. The corresponding resource requirements and processing times of activities are reported P in Table 2. Notice P that for this example ð1=BÞ i bi  pi < ð1=B0 Þ i b0i  pi . Fig. 2 shows how redundant resources are built for this optimal solution of the dual LP formulation, in the case where B ¼ 5. Discussion: A relevant question is the following one. What is the complexity status ot the following problem? Given an instance of a CuSP, find a redundant resource such that the load

J. Carlier, E. Neron / European Journal of Operational Research 149 (2003) 314–324 Table 2 An example of redundant resource i2I pi ðB ¼ 5Þbi ðB0 ¼ 2Þbi0

1 2 3 1

2 2 5 2

3 1 1 0

4 2 4 2

5 8 2 1

P ð1=BÞ i2I pi  bi is maximal. The answer is in the paper of Jansen and Porkolab [17] where it is proved that an optimal solution of Pmjsizej , pmtnjCmax can be computed in linear time. This result is based on theoretical properties of the linear programs. 4.2. Redundant resources and energetic reasoning In this section we explain the method chosen to obtain an efficient ‘‘destructive’’ LB for the CuSP taking into account both release dates and deadlines of activities. This LB is based on the noninterruptible energetic approach [1], so it provides satisfiability tests and efficient time-bound adjustments. Let us recall the main idea of energetic reasoning. Baptiste et al. [1] have presented satisfiability tests for the CuSP. These tests are based on the energetic reasoning introduced by Lahrichi [21] and Lopez et al. [23]: they compute the work that must be processed during some relevant timeintervals ½t1 ; t2 . The work of an activity is equal to the minimum of Wleft ði; t1 ; t2 Þ ¼ bi  minðt2  t1 ; pi ; maxð0; ri þ pi  t1 ÞÞ and Wright ði; t1 ; t2 Þ ¼ bi 

minðt2  t1 ; pi ; maxð0; t2  di þ pi ÞÞ. The work over a time-interval is the sum of the work of all activities computed for this time-interval. If it is greater than B  ðt2  t1 Þ, then there is no feasible solution for the CuSP. Energetic reasoning also provides efficient time bound adjustments. Adjustment is a technique for reducing the time windows [ri ; di ] of activities. Satisfiability tests and time-bound adjustments run in Oðn3 Þ. We have presented a method for generating redundant resources. We have also proved that the weighted sum of the processing times computed on a subset of activities of the redundant instances is equal to the LLB bound computed on the initial instance for the same subset of activities. Thus if we apply energetic reasoning on the redundant resource, it uses the PLLB bound instead of the basic bound: ð1=BÞ i2I pi  bi . One of the restrictions for an efficient use of the LLB approach was that we were not able to extend time-bound adjustments based on simple energetic reasoning. The redundant resources are the missing link between the LLB and the time-bound adjustments: the energetic reasoning applied on redundant resources provides adjustments on release dates and deadlines of activities according to the LLB approach. To test the efficiency of our approach, we have embedded the mechanism of generation of redundant resources into a branch-and-bound method for solving the RCPSP, proposed by Baptiste and Le Pape [2]. We will present briefly its main

Initial resource B=5

Activity 1 Activity 2 Activity 3 Redundan t resource B’=2

321

tim e

Activity 4 Activity 5

tim e Fig. 2. A feasible schedule for redundant resource, B ¼ 5.

322

J. Carlier, E. Neron / European Journal of Operational Research 149 (2003) 314–324

characteristics. The authors have established experimentally that the method is efficient on ‘‘highly cumulative’’ instances. Experimental results on a dedicated benchmark allow us to demonstrate the usefulness of our approach. 4.2.1. Initial branch-and-bound method The method proposed by Baptiste and Le Pape [2] is based on the resolution of decisional instances of the RCPSP. Indeed it determines if there exists a solution which has a makespan smaller than or equal to a given upper bound, UB. Thus the branch-and-bound method is embedded in a dichotomizing search on the optimal value of UB. This method uses a chronological branching scheme: at each node of the search tree, the set SC of activities, all of whose predecessors have already been scheduled, is determined. An activity i 2 SC is chosen from among this set. Then two nodes are introduced. In the first one, the node that will be explored first, activity i is scheduled as soon as possible, without violating either the precedence or the resource constraints, and at a starting time greater than or equal to the starting time of the previously scheduled activity. In the second node introduced, which is explored when a backtrack occurs, a constraint between activity i and all other activities of SC n fig, is added: at least one activity of SC n fig must start before i. There are no constructive LBs, but only satisfiability tests and time-bounds adjustments for pruning the search tree. These tests are applied on CuSP, derived from the RCPSP: • resources are taken into account one at a time, • the release dates and the deadlines of activities are those which have been computed at the current node of the search tree. The code we use to test the redundant resource technique is a code provided by Baptiste and Le Pape [2]. The implementation is based on C L A I R E S C H E D U L E [22], a constraint-based library for preemptive and non-preemptive scheduling, itself implemented in C L A I R E [10], a high-level functional and object oriented language. The computer used is a PII 266 MHz.

4.2.2. Introducing redundant resources In this section we use only the LLB coming from the MEP relaxation. The main difficulty in using redundant resources efficiently is the number of redundant resources generated from a RCPSP. For example, if we consider a three-resource RCPSP instance whose resource capacities are respectively 8, 9 and 10, and if we want to generate all redundant resources, then we have to take into account 20 new resources. Indeed there are four dual optimal solutions for the first resource, eight for the second resource and eight for the third resource [9]. Moreover, we have explained that the aim of redundant resources generation is to use, on these new resources, satisfiability tests and time bound adjustments based on energetic reasoning, which run in Oðn3 Þ and must be applied in turn to each resource. Thus we have implemented a decision criterion to determine if a redundant resource is taken into account or ignored. This criterion is based on the ratio of the workload of the generated resource to the workload of the initial resource: we add to the RCPSP instance only the resources that have a significant workload. Let D ¼P ðI; BÞ a CuSP instance, and WorkðDÞ ¼ ð1=BÞ i2I pi  bi . Then if WorkðDg Þ < k  WorkðDÞ, with Dg the redundant CuSP generated from D, we consider that the redundant resource is not relevant. Experimentally, the best results are achieved with k ¼ 0:8: only redundant resources which have a workload at least equal to 80% of the workload of the initial resource are taken into account. Of course, if some redundant resources are not added, then it is possible that the energetic reasoning does not match the MEP bound. Ignoring redundant resources is equivalent to ignoring optimal solutions of the dual LP formulation. But we have established experimentally that the time spent in applying energetic reasoning on these low-workloaded resources is not balanced by the amount of deductions performed. 4.2.3. Experimental results on ‘‘Pack’’ instances We generated 55 instances (PACK) in order to test the efficiency of our approach. The instances generated are ‘‘highly cumulative’’, even if, for

J. Carlier, E. Neron / European Journal of Operational Research 149 (2003) 314–324

323

Table 3 Results on pack instances (55 instances)

Init. Meth.

Init: Meth: þ Ener: MEPB

Init: Meth: þ Red: Res:

Opt. solved Average time No. of nodes

36% 521.3 s 6671

69% 366.7 s 1863

80% 476.5 s 1969

some of them, there are some disjunctions due to resource requirements of activities: for these instances we introduced some disjunctions due to resource requirements to study the impact of such disjunctions on our method. As with Baptiste and Le PapeÕs instances, only very few precedence relations were introduced. The average number of activities for these instances is 25 (minimum 17, maximum 35), and all instances have three resources. The results we get on the Pack instances are reported in Table 3. The number of instances solved, the average search time to reach the optimal solution for exactly solved instances, and the number of nodes introduced are reported. We compare the results of the method using redundant resources (third column) with the results obtained by the same method without using the MEP approach (first column), and with the method in which only the most efficient LB based on MEP relaxation is computed: the energetic-based MEP bound (see [9] for details concerning this LB) (second column). The time search is limited to 1000s and the number of backtracks during the exploration of the search tree is limited to 10 000. From these results it can be seen that: • the methods which use the MEP approach are significantly more efficient than the classical method. • generating redundant resources is more powerful than a simple LB computation, since energetic reasoning can be applied to redundant resources: energetic reasoning and redundant resources provide powerful adjustments of release dates and deadlines that cannot be deduced with the simple use of the MEP LB. • concerning the method without the redundant resources: most of the instances that are optimally solved have an high percentage of disjunctions due to resource requirements. These

instances are solved more efficiently than the cumulative ones. We could say that these instances are easy to solve, and probably that our approach could be improved if we integrated tools designed to be efficient with these kinds of instances, e.g., [12,13]. • concerning the method with redundant resources: most of the highly cumulative instances that cannot be solved without the redundant resources are optimally solved. There remain some unresolved instances, which are more disjunctive. For solving these ‘‘hard’’ disjunctive instances, some specially-designed tools adapted to disjunctive problems should be used.

5. Conclusion We have introduced in this paper the notions of LLB and of redundant resource. Their interest for solving the RCPSP has been demonstrated theoretically and experimentally. Indeed resource constraints and precedence constraints can be modeled by a linear program of limited size using LLB. Our computational results on data of the literature prove the efficiency of this approach. Moreover redundant resources can lead to new adjustments of release dates and tails as it is confirmed by our tests on dedicated data. Our work is now taking us in two directions: first, using linear programming for solving RCPSP, and secondly, LLB generation.

Acknowledgements The authors would like to thank Philippe Baptiste and Claude Le Pape for providing their source code for solving RCPSP instances, and for many enlightening discussions on RCPSP and for their remarks on the paper. Finally we are also

324

J. Carlier, E. Neron / European Journal of Operational Research 149 (2003) 314–324

grateful to the anonymous referees for their enlightening comments.

References [1] Ph. Baptiste, C. Le Pape, W. Nuijten, Satisfiability tests and time-bound adjustments for cumulative scheduling problems, Annals of Operations Research 92 (1999) 305– 333. [2] Ph. Baptiste, C. Le Pape, Constraint propagation and decomposition techniques for highly disjunctive and highly cumulative project scheduling problem, Constraints 5 (2000) 119–139. [3] J. Blazewicz, W. Cellary, R. Slowinsky, Scheduling under resource constraints––deterministic models, Annals of Operations Research 7, JC Baltzer AG, 1986. [4] J. Blazewicz, J. Lenstra, A. Rinnooy Kan, Scheduling subject to resource constraints: Classification and complexity, Discrete Applied Mathematics 5 (1983) 11–24. [5] 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. [6] P. Brucker, S. Knust, A. Schoo, O. Thiele, A branch and bound algorithm for the resource-constrained project scheduling problem, European Journal of Operational Research 107 (2) (1998) 272–288. [7] J. Carlier, Problemes dÕOrdonnancement a Contraintes de Ressources: Algorithmes et Complexite, These dÕEtat, Universite Pierre et Marie Curie, 1984. [8] J. Carlier, B. Latapie, Une methode arborescente pour resoudre les problemes cumulatifs, RAIRO-RO 25 (3) (1991) 311–340. [9] J. Carlier, E. Neron, A new LP bound for the cumulative scheduling problem, European Journal of Operational Research 127 (2) (2000) 363–382. [10] Y. Caseau, F. Laburthe, CLAIRE: A parametric tool to generate Cþþ code for problem solving, Working paper, Bouygues, Direction Scientifique, 1996. [11] N. Christofides, R. Alvares-valdes, J.M. Tamarit, Project scheduling with resource constraints: A branch-and-bound approach, European Journal of Operational Research 29 (1987) 262–273. [12] E. Demeulemeester, W. Herroelen, New benchmark results for the resource-constrained project scheduling problem, Management Science 43 (1997) 1485–1492. [13] E. Demeulemeester, W. Herroelen, An efficient solution procedure for the preemptive resource-constrained project scheduling problem, European Journal of Operational Research 90 (1996) 334–348.

[14] S.P. Fekete, J. Schepers, New classes of lower bounds for bin packing problems, in: Lecture Notes in Computer Science, vol. 1412, Springer, Berlin, 1998, pp. 257–270. [15] M. Fischer, Optimal solutions of scheduling problems using Lagrangean multipliers, Operations Research 21 (part 1) (1973). [16] R. Heilman, C. Schwindt, Lower Bounds for RCPSP/max, Report WIOR-511, University of Karlsruhe, 1997. [17] K. Jansen, L. Porkolab, Preemptive Parallel Task Scheduling in OðnÞ þ polyðmÞ Time, ISAAC 2000, Taipeh. [18] D.S. Johnson, A. Demers, J.D. Ullman, M.R. Garey, R.L. Graham, Worst case performance bounds for simple onedimensional packing algorithms, SIAM Journal on Computing 3 (1974) 299–325. [19] 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. [20] R. Kolisch, A. Sprecher, PSBLIB––A project scheduling problem library, European Journal of Operational Research 96 (1996) 205–216. [21] A. Lahrichi, Ordonnancements: La notion de ‘‘parties obligatoires’’ et son application aux probl€emes cumulatifs, R.A.I.R.O.- Recherche Operationnelle 16 (1982) 241– 262. [22] C. Le Pape, Ph. Baptiste, A constraint programming library for preemptive and non-preemptive scheduling problem, in: Proceedings of the Third International Conference and Exhibition on the Practical Application of Constraint Technology, London, 1997. [23] P. Lopez, J. Erschler, P. Esquirol, Ordonnancement de t^aches sous contraintes: Une approche energetique, RAIRO-APII 26 (1992) 453–481. [24] S. Martello, P. Toth, Lower bounds and reduction procedures for the bin-packing problem, Discrete Applied Mathematics 28 (1990) 59–70. [25] A. Mingozzi, V. Maniezzo, S. Ricciardelli, L. Bianco, An exact algorithm for the resource-constrained project scheduling problem based on a new mathematical formulation, Management Science 44–45 (1998) 714– 729. [26] R.H. Mohring, A.S. Schulz, F. Stork, M. Uetz, Resourceconstrained project scheduling: Computing lower bounds by solving minimum cut problems, in: A. 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. [27] E. Neron, J. Carlier, Extension of the multiple elastic and preemptive lower bound: B ¼ 11 and B ¼ 12, in: Proceedings of the 7th Workshop on Project Management and Scheduling, Osnabrueck, 2000, pp. 99–103.