proactive and reactive strategies for resource-constrained project scheduling with uncertain...

16
J Sched (2008) 11: 121–136 DOI 10.1007/s10951-007-0021-0 Proactive and reactive strategies for resource-constrained project scheduling with uncertain resource availabilities Olivier Lambrechts · Erik Demeulemeester · Willy Herroelen Received: 21 February 2006 / Accepted: 4 December 2006 / Published online: 30 June 2007 © Springer Science+Business Media, LLC 2007 Abstract Research concerning project planning under un- certainty has primarily focused on the stochastic resource- constrained project scheduling problem (stochastic RCPSP), an extension of the basic RCPSP, in which the assumption of deterministic activity durations is dropped. In this paper, we introduce a new variant of the RCPSP, for which the uncertainty is modeled by means of resource availabilities that are subject to unforeseen breakdowns. Our objective is to build a robust schedule that meets the project dead- line and minimizes the schedule instability cost, defined as the expected weighted sum of the absolute deviations be- tween the planned and the actually realized activity starting times during project execution. We describe how stochas- tic resource breakdowns can be modeled, which reaction is recommended, when a resource infeasibility occurs due to a breakdown, and how one can protect the initial schedule from the adverse effects of potential breakdowns. An exten- sive computational experiment is used to show the relative performance of the proposed proactive and reactive strate- gies. It is shown that protection of the baseline schedule, coupled with intelligent schedule recovery, yields significant performance gains over the use of deterministic scheduling approaches in a stochastic setting. This research has been supported by project OT/03/14 of the Research Fund of K.U.Leuven, project G.0109.04 of the Research Programme of the Fund for Scientific Research, Flanders (Belgium) (F.W.O.-Vlaanderen) and project NB/06/06 of the National Bank of Belgium. O. Lambrechts · E. Demeulemeester · W. Herroelen ( ) Department of Decision Sciences and Information Management, Research Center for Operations Management, Faculty of Economics and Applied Economics, Katholieke Universiteit Leuven, Leuven, Belgium e-mail: [email protected] Keywords Proactive/reactive project scheduling · Stochastic resource breakdowns 1 Introduction Most of the research in project scheduling deals with the generation of an initial project schedule (baseline schedule) in a static and deterministic environment with complete in- formation. Traditional objective functions include minimiz- ing the project makespan, leveling the resource usage over time, minimizing the total cost of acquiring the necessary re- sources, maximizing the project net present value and min- imizing weighted earliness-tardiness penalty costs. For an extensive overview we refer to Brucker et al. (1999), Herroe- len et al. (1998) and Demeulemeester and Herroelen (2002). In practice, however, these assumptions will hardly, if ever, be satisfied. As Aytug et al. (2005) indicate, it is often assumed that ‘a system that works in a deterministic envi- ronment can be engineered to work under at least certain stochastic conditions’. Whereas for some problems this will indeed be the case (e.g., Pinedo (1995) shows that the WSPT rule minimizes the average weighted flow time for the single machine problem in the deterministic case and, likewise, the WSEPT rule minimizes the expected average weighted flow time in the stochastic case in the class of nonpreemptive static list policies and nonpreemptive dynamic policies), for others it will not. For an overview of stochastic scheduling we refer the interested reader to Scholl (2001) and Nikulin (2004). We have to protect the initial baseline schedule from the adverse effects of possible disruptions. This protection is necessary because often project activities are subcontracted or executed by resources that are not exclusively reserved for the current project. A change in the starting times of such activities could lead to infeasibilities at the organizational

Upload: olivier-lambrechts

Post on 15-Jul-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

J Sched (2008) 11: 121–136DOI 10.1007/s10951-007-0021-0

Proactive and reactive strategies for resource-constrained projectscheduling with uncertain resource availabilities

Olivier Lambrechts · Erik Demeulemeester ·Willy Herroelen

Received: 21 February 2006 / Accepted: 4 December 2006 / Published online: 30 June 2007© Springer Science+Business Media, LLC 2007

Abstract Research concerning project planning under un-certainty has primarily focused on the stochastic resource-constrained project scheduling problem (stochastic RCPSP),an extension of the basic RCPSP, in which the assumptionof deterministic activity durations is dropped. In this paper,we introduce a new variant of the RCPSP, for which theuncertainty is modeled by means of resource availabilitiesthat are subject to unforeseen breakdowns. Our objectiveis to build a robust schedule that meets the project dead-line and minimizes the schedule instability cost, defined asthe expected weighted sum of the absolute deviations be-tween the planned and the actually realized activity startingtimes during project execution. We describe how stochas-tic resource breakdowns can be modeled, which reaction isrecommended, when a resource infeasibility occurs due toa breakdown, and how one can protect the initial schedulefrom the adverse effects of potential breakdowns. An exten-sive computational experiment is used to show the relativeperformance of the proposed proactive and reactive strate-gies. It is shown that protection of the baseline schedule,coupled with intelligent schedule recovery, yields significantperformance gains over the use of deterministic schedulingapproaches in a stochastic setting.

This research has been supported by project OT/03/14 of the ResearchFund of K.U.Leuven, project G.0109.04 of the Research Programmeof the Fund for Scientific Research, Flanders (Belgium)(F.W.O.-Vlaanderen) and project NB/06/06 of the National Bank ofBelgium.

O. Lambrechts · E. Demeulemeester · W. Herroelen (�)Department of Decision Sciences and Information Management,Research Center for Operations Management, Faculty ofEconomics and Applied Economics, Katholieke UniversiteitLeuven, Leuven, Belgiume-mail: [email protected]

Keywords Proactive/reactive project scheduling ·Stochastic resource breakdowns

1 Introduction

Most of the research in project scheduling deals with thegeneration of an initial project schedule (baseline schedule)in a static and deterministic environment with complete in-formation. Traditional objective functions include minimiz-ing the project makespan, leveling the resource usage overtime, minimizing the total cost of acquiring the necessary re-sources, maximizing the project net present value and min-imizing weighted earliness-tardiness penalty costs. For anextensive overview we refer to Brucker et al. (1999), Herroe-len et al. (1998) and Demeulemeester and Herroelen (2002).

In practice, however, these assumptions will hardly, ifever, be satisfied. As Aytug et al. (2005) indicate, it is oftenassumed that ‘a system that works in a deterministic envi-ronment can be engineered to work under at least certainstochastic conditions’. Whereas for some problems this willindeed be the case (e.g., Pinedo (1995) shows that the WSPTrule minimizes the average weighted flow time for the singlemachine problem in the deterministic case and, likewise, theWSEPT rule minimizes the expected average weighted flowtime in the stochastic case in the class of nonpreemptivestatic list policies and nonpreemptive dynamic policies), forothers it will not. For an overview of stochastic schedulingwe refer the interested reader to Scholl (2001) and Nikulin(2004).

We have to protect the initial baseline schedule from theadverse effects of possible disruptions. This protection isnecessary because often project activities are subcontractedor executed by resources that are not exclusively reserved forthe current project. A change in the starting times of suchactivities could lead to infeasibilities at the organizational

122 J Sched (2008) 11: 121–136

level (in a multi-project context) or penalties in the form ofhigher subcontracting costs. A possible measure for the de-viation between the initial schedule and the realized sched-ule is the weighted instability cost. It can be defined as theexpected weighted absolute deviation between the plannedand the actually realized activity starting times. The weightwi , assigned to each activity i, reflects that activity’s impor-tance of starting it at its planned starting time in the initialschedule. More specifically, wi denotes the marginal cost ofdeviating from the planned starting time of activity i duringproject execution. This marginal cost can be seen as an ex-tra cost for having subcontractors start later than originallyagreed or as an inventory cost for storing raw materials be-tween the delivery time and the starting time of the activ-ity. We assume that activities are never started before theirplanned starting times si (‘railroad scheduling’) and that thetotal deviation cost is a linear function of the absolute de-viation. We assume there are no interaction effects betweenindividual deviation costs.

Minimizing instability then means that we are lookingfor a schedule, which is able to accommodate disruptionswithout too much change in activity starting times, i.e., a ro-bust schedule that satisfies the precedence and resource con-straints and does not exceed the deadline set by the project’sclient. Meeting this deadline during project execution is en-couraged by giving a higher instability weight to the activ-ity that signals the end of the project. Recent research byLeus (2003) and Van de Vonder et al. (2005a) considers thisobjective function for the case of project scheduling withstochastic activity durations. Other possible causes for un-certainty in project execution might be, amongst others, in-accurate time estimates, bad weather conditions or unavail-ability of resources. In this paper we study the last of thesepossible causes.

In machine scheduling, the problem of machines ran-domly breaking down has been reasonably well studied forthe single machine (Mehta and Uzsoy 1999) and the jobshop case (Mehta and Uzsoy 1998). However, except forDrezet (2005) we are not aware of any existing researchin project scheduling dealing with the stochastic resourceavailability case. Drezet (2005) considers the problem ofproject planning with human resource constraints, such ascompetence, a limit on the number of hours an employeeworks per day, vacation periods and unavailability of em-ployees. A mathematical model as well as several algorithmsare presented for building a robust schedule and for repair-ing a disrupted schedule.

2 Problem statement

Aytug et al. (2005) stress the importance of taking potentialdisruptions into account, when building and executing pro-

duction schedules. The authors distinguish between predic-tive and reactive scheduling. Predictive (proactive) schedul-ing approaches try to accommodate uncertainties in ad-vance, whereas reactive approaches react after the fact.

Purely reactive project scheduling forgoes the construc-tion of a baseline schedule and solely relies on the use ofscheduling policies (Stork 2001) to decide on-line, whichactivities are to be started at random decision points t thatoccur serially through time. These random decision pointscorrespond with the completion times of the activities andthe decision to start a precedence and resource feasible setof activities at time t can only be based on the informationthat has become available up to that time (non-anticipativityassumption).

Contrary to scheduling policies, proactive scheduling isbased on the construction of a baseline schedule. This base-line schedule will guide schedule execution by providingfor each activity its planned periods of execution as wellas the resource units to be reserved during these executionperiods. A baseline schedule is indispensable to coordinateresource allocation between multiple projects in a multi-project environment and to coordinate outsourced activi-ties with subcontractors. The arguments Aytug et al. (2005)use to underline the importance of developing a produc-tion schedule in machine scheduling also apply to projectscheduling. Some of the motivations they cite are: verifyingthe feasibility of executing the given tasks within a certaintimeframe, providing visibility of future actions for internaland external parties, offering degrees of freedom for reac-tive scheduling, evaluating performance and avoiding fur-ther problems.

The aim of proactive scheduling is to build a robustbaseline schedule: a schedule that is protected as much aspossible against disruptions during schedule execution. Ofcourse, it is still possible that the robust baseline sched-ule, despite the built-in protection, becomes infeasible dur-ing project execution (Davenport and Beck 2002) due to theoccurrence of one or more resource breakdowns and theresulting resource shortage. Therefore, we need a reactivepolicy R that dictates how to revert to a feasible schedulethat deviates as little as possible from the original baseline.Proactive-reactive project scheduling thus implies a com-bination of a proactive strategy for generating a protectedbaseline schedule S with a reactive strategy R to resolve theschedule infeasibilities caused by the disturbances that oc-cur during schedule execution.

The proactive baseline scheduling problem is an ex-tension of the classical deterministic resource-constrainedproject scheduling problem (RCPSP or problem m,1|cpm|Cmax in the notation of Herroelen et al. 2000), for whicha conceptual formulation can be written as follows:

J Sched (2008) 11: 121–136 123

minimize sn, (2.1)

subject to

si + di � sj , ∀(i, j) ∈ A, (2.2)∑

i:i∈St

rik � ak, ∀t,∀k. (2.3)

A project is commonly represented using the activity-on-node representation by means of a digraph G = (N,A),where the set of nodes N represents the activities, and theset of directed arcs A denotes the finish-start, zero-lag prece-dence relations. When (i, j) ∈ A, we say that activity i (i : 1to n) is an immediate predecessor of activity j , implying thatactivity j cannot start before activity i has finished. Prece-dence feasibility is enforced by constraints (2.2), where di

is the deterministic duration of activity i and si the plannedstarting time of activity i. Constraints (2.3) enforce the re-newable resource constraints. When executing the project,a deterministic amount ak is available of each resource typek (k : 1 to K). A feasible baseline schedule will always haveto respect this maximal resource availability. The constraintsimply that there does not exist a time period t and a resourcetype k, for which the cumulative resource requirements ofthe activities that are in progress during period t exceed thedeterministic per-period availability ak for the consideredresource type. Here rik denotes the number of units of re-newable resource type k required per period by activity i,and St is the set of activities that are in progress at time pe-riod t . The objective (2.1) of the deterministic RCPSP is tominimize the project duration sn.

The main difference with the model considered in this pa-per is that we now incorporate uncertainty by dropping theassumption of deterministic resource availabilities. Each ofthe ak units of resource type k, allocated at the start of theproject, is subject to wear and tear and can, therefore, breakdown during execution, resulting in a real availability of re-source type k at time point t of akt . Furthermore, in ordernot to deviate too much from the initial baseline schedule,the objective function becomes:

minimize∑

i∈N

wi |E(si ) − si |. (2.4)

The decision variables si represent the planned startingtimes for each activity i and have to respect the sets ofconstraints (2.2) and (2.3). Together, they define the base-line schedule, which is represented by the vector S =(s1, s2, . . . , sn). Because of the stochastic nature of the prob-lem we cannot always stick to this baseline schedule. Thereal starting times are consequently stochastic variables thatare represented by the stochastic vector S = (s1, s2, . . . , sn)

and that depend on the realization of the stochastic resourceavailabilities (akt ), on the planned starting times (si ) andon the reactive policy R that is used to repair a disrupted

schedule. We assume that a ‘railroad scheduling’ approachis used. This means that activities are never started beforetheir planned starting time (si � si ), implying that the ob-jective function can be rewritten as

∑i∈N wi(E(si ) − si).

Finally, we add a deadline constraint:

sn � δ (2.5)

to prevent the construction of an unreasonably long pro-tected baseline schedule.

Using the classification scheme of Herroelen et al.(2000), our problem can be classified as m,1,va|cpm,

δ|∑wi(E(si ) − si). The first field specifies the resourcecharacteristics: (m,1,va) refers to an arbitrary number ofrenewable resource types, each with a stochastic availabil-ity that varies over time. The second field indicates the useof finish-start, zero-lag precedence relationships and a de-terministic project deadline. Finally, the last field shows theobjective function, here the expected weighted instabilitycost.

The deterministic resource-constrained project schedul-ing problem is known to be strongly NP-hard. Allowingfor stochastic resource availabilities complicates the prob-lem. Moreover, the analytic evaluation of the objective func-tion (2.4) is very cumbersome, so that one usually relies onsimulation. For NP-hardness proofs of several cases of thescheduling problem for stability subject to a deadline anddiscrete disturbance scenario, we refer to Leus and Herroe-len (2005).

We introduce the example network in Fig. 1 to illustratethe various proactive and reactive strategies we present inthis paper. This graph represents a project consisting of 10activities. Above each activity node, we indicate its plannedduration, its resource requirement of a single renewable re-source type with a deterministic per period availability of 8units (each subject to breakdowns) and its instability weight.Note that activities 1 and 10 are dummy activities with a du-ration and a resource usage of 0. Activity 1 indicates the startof the project, whereas activity 10 signals the end. The in-stability weight for activity 10 is much larger than the otherinstability weights in order to reflect the fact that, in prac-tice, meeting the project deadline is often deemed more im-portant than meeting planned activity starting times. In thisexample we assume a project deadline of 18. The baselinestarting time of the dummy start activity is then set to the re-lease date of the project (time period 0), whereas the dummyend activity is assumed to end at the project deadline. Notethat for ease of notation and illustration only one resourcetype is considered, but the examples as well as the algo-rithms presented in this paper are easily extensible to andwill be tested for the multi-resource case.

The paper is structured as follows. In Sect. 3 the proac-tive strategies will be treated in detail. The reactive policiesare then presented in Sect. 4, where we introduce two list

124 J Sched (2008) 11: 121–136

Fig. 1 Example projectnetwork

Fig. 2 Proactive strategies

scheduling policies and a tabu search procedure. Section 5reports on extensive computational results obtained by test-ing the proactive-reactive procedures on a set of randomlygenerated test instances. Finally, Sect. 6 presents our overallconclusions.

3 Proactive strategies

We propose an approach for proactive scheduling, in whichthree choices need to be made. Each choice consists of twooptions, giving us a total of 23 different strategies, as canbe seen in the decision tree depicted in Fig. 2. First of all,the schedule can be built using the optimal solution for theRCPSP as a starting schedule or alternatively using a sched-ule, in which activities that have a high impact on instabilityare scheduled as early as possible so that the probability thatthey get disrupted is lower. Secondly, it needs to be decidedwhether to allow for resource slack or instead use the de-terministic, maximum availabilities. Allowing for resourceslack means that one plans the project considering a resourceavailability that is lower than the amount ak that is allocatedat the start of the project, so that a certain margin exists forabsorbing resource breakdowns. Finally, it is either possi-ble to protect individual activity starting times by insertinga time buffer of one or more time units in front of them oralternatively not to explicitly buffer activities at all.

3.1 Optimal solution for the RCPSP

The problem under study is an extension of the RCPSP.Since the objective of the deterministic RCPSP is to mini-mize the project makespan, the associated schedule will usu-ally be very dense. This means that activities are scheduledcompactly with as little resource and time slack as possi-ble. In such a schedule even a minor disruption in the re-source availabilities during a scheduling period will havea major impact on the starting times of all activities that arescheduled in subsequent periods. Therefore, it can be ex-pected that such a schedule will perform very badly for theweighted instability cost objective. The optimal solution forthe RCPSP associated with the project instance of Fig. 1 isgiven in Fig. 3. As expected, little free slack exists in thisschedule. Free slack has been proposed by Al-Fawzan andHaouari (2005) as a metric for measuring the robustness ofa schedule. We can use it here as an ex-ante surrogate mea-sure for giving an indication of how well the schedule canbe expected to perform for the weighted instability objec-tive function (Lambrechts et al. 2006). The free slack of anactivity is defined as the amount of time the activity can bedelayed beyond its planned starting time without forcing anyother activities in the schedule to be postponed. In contrastto the traditional free float metric, this measure does not onlytake precedence but also resource constraints into account.In our example the total free slack is equal to 6. Because ofthe resource constraints, no activity can be delayed withoutcompromising the execution of subsequent activities except

J Sched (2008) 11: 121–136 125

Fig. 3 Minimal makespanschedule

Fig. 4 ‘Highest CIW first’schedule

for activities 6 and 9. Both activities can be delayed withat most 3 time units while respecting the project deadline(δ = 18). This yields a total free slack of 6.

3.2 Highest cumulative instability weight first

One way to improve schedule robustness is to schedule theactivities in decreasing order of their cumulative instabilityweight. We define the cumulative instability weight of activ-ity i as follows:

CIW i = wi +∑

j :j∈SUCC∗i

wj , (3.1)

with SUCC∗i the set of direct and indirect successors of

activity i. Because disruptions propagate throughout theschedule, activities, for which a change in starting timewould have a high impact on instability, are now less likelyto get severely disrupted than activities with a lower im-pact since the former are scheduled earlier in time and arethus less prone to disruptions. The schedule is constructedin two phases. In the first phase, a precedence feasible pri-ority list is constructed with the activities in non-increasingorder of their CIWi (tie-breaker is lowest activity number)so that no activity enters the list in front of one of its pre-decessors. In the second phase, this priority list is trans-formed into a precedence and resource feasible schedule

using the serial schedule generation scheme that was firstintroduced by Kelley (1963). The serial schedule genera-tion scheme sequentially adds activities to the schedule un-til a feasible complete schedule is obtained. In each step,the next activity in the priority list is selected and for thatactivity the first precedence and resource feasible startingtime is chosen. If we apply this heuristic to our example net-work, we obtain the vector of cumulative instability weights:CIW = (102,73,54,58,57,47,39,44,43,38). This vectorcorresponds to a priority list L = (1,2,4,5,3,6,8,9,7,10)

that yields the schedule depicted in Fig. 4, when decodedusing the serial schedule generation scheme. As expected,this schedule has a higher total free slack than the mini-mal makespan schedule (13 versus only 6): the free slackamounts to 5 time units for activity 6, 7 time units for activ-ity 7 and 1 time unit for activity 9.

3.3 Protection by means of resource slack

The number of renewable resource units of type k actuallyavailable in period t is a random variable akt instead of a de-terministic value. That means that each of the ak resourceunits originally allocated to the project is subject to break-downs characterized by a certain failure time and repair timedistribution. Baseline schedules can be protected against dis-ruptions by including resource slack. This means that theproject is planned using a resource availability a∗

k that is

126 J Sched (2008) 11: 121–136

Fig. 5 Resource bufferingapplied to a minimal makespanschedule

lower than the maximum, deterministic availability ak . Inthis case, a breakdown of one or more resource units willnot always lead to a disruption of the schedule. This princi-ple is inspired by the well-known result from factory physicsthat the lead time increases in a strongly non-linear fash-ion with increasing resource utilization and that, therefore,excess capacity is important (Hopp and Spearman 2001).The required size of the resource buffer will depend on theprobability distribution of the resource availabilities. Thisprobability distribution can be obtained using the theory ofbirth-death processes or renewal theory. We opted for thelast approach as this allows us to avoid the assumption ofexponentially distributed failure and repair times. It can beshown (Ross 1983) that a single resource unit of resourcetype k with independent and identically distributed failuretimes Xk and independent and identically distributed repairtimes Yk has a stationary availability (the probability thatthe resource is active at a time in the future):

Ak = E(Xk)

E(Xk) + E(Yk). (3.2)

As is commonly done in the literature dealing with machinebreakdowns, we write E(Xk) = 1

λk= MTTFk (mean time to

failure), E(Yk) = 1μk

= MTTRk (mean time to repair), and

ρk = MTTRk

MTTFkso that:

Ak = 1

1 + ρk

. (3.3)

We can now write:

Pr(ak = j) =(

ak

j

)Ak

j (1 − Ak)ak−j

=(

ak

j

ak−jk

(1 + ρk)ak. (3.4)

Since we now know the discrete probability distribution ofthese steady state availabilities, we can determine the ex-pected value (taking breakdowns into account) of the re-source availability in the steady state for resource type k as

E(ak) = �∑ak

m=0 mPr(ak = m)� and use it as the bufferedavailability a∗

k . In case this buffered availability is smallerthan maxi∈N rik , we increase it until the activity with thehighest resource demand for resource type k can be exe-cuted. The schedule is then built using the exact RCPSPmethod or the ‘highest CIW first’-method, but now withthese adapted, buffered availabilities. Note, however, that itis possible that the obtained resource buffered schedule ex-ceeds the deadline. Therefore, we need to add a mechanismthat limits the maximal amount of resource buffering, so thatthe deadline constraint (2.5) is not violated. If the resourcebuffered schedule turns out to be deadline-infeasible, we de-termine the most constraining resource type, and progres-sively increase its availability up to the maximum (original)availability and re-execute the RCPSP or ‘highest CIW first’procedure until the deadline is met. We define the most con-straining resource type as the resource type that leads to thehighest decrease in schedule makespan, when its bufferedavailability is increased by one unit. As a tie-breaker wechoose the resource type with the smallest deviation be-tween the expected resource availability and the adjustedbuffered availability.

In our example, adding resource buffering to the mini-mal makespan schedule would yield the schedule depictedin Fig. 5. For this project using a MTTF of 18 and a MTTRof 5, the average availability is equal to �6.26� = 6. Clearly,it is impossible to construct a feasible schedule for this avail-ability since

∑i (diri) > a∗

k δ. Increasing a∗k with one unit

and calculating the minimal makespan schedule for a∗k = 7

gives the schedule in Fig. 5.

3.4 Time buffering

Instead of or in addition to resource buffering, another formof schedule protection can be used. Time buffering boilsdown to the inclusion of slack time in front of activities,in order to absorb potential disruptions caused by earlierresource breakdowns and the resulting activity shifts. Westart from a feasible baseline schedule, to which protectionis added by iteratively right-shifting activities with the aim

J Sched (2008) 11: 121–136 127

of protecting the activity starting times as well as possible.Our objective is to insert a time buffer of size bi in front ofthe starting times si of each activity i, so that the expectedinstability is minimized while not exceeding the deadline.

In order to set correct buffer sizes bi for each activity i,

we need to have a rough idea of the impact of the disruption(Ii ) we can expect for that activity given a certain baselineschedule S. Disruptions, forcing the activity to start at a laterpoint in time than originally planned, can occur amongstothers, when one or more of the activity’s predecessors fin-ish at a later time than expected because of resource break-downs. First of all, we will describe how the duration in-crease (�i ) of an activity due to resource breakdowns canbe approximated. We will then show how we can use theseexpected duration increases to determine, which activitiesin the schedule will be affected. Finally, we will introducean heuristic that selects the activities to be buffered and de-termines the proper buffer size, based on the expected im-pact of resource breakdowns on the activities constitutingthe project.

In a preempt-repeat environment, it is assumed that,whenever an activity is disrupted because of a breakdownof one of the resources it is being executed on, it has tobe restarted from scratch after repair of the affected re-source. This means that in reality the time it will take tocomplete activity i is not di but di + �i . Part of the du-ration extension of i consists of repair time, the other partrepresents the subsequent re-executions due to the preempt-repeat setting. We will now show how E(�i ) can be cal-culated using three assumptions. First of all, we assumethat the times to failure (Xk) and the repair times (Yk) foreach resource unit of each resource type k are exponen-tially distributed with respective parameters λk = 1

MTTFkand

μk = 1MTTRk

. The assumption of exponentially distributed

interfailure times can be motivated as follows: resources,whether they are humans, complex machinery or tools, canfail for a wide variety of reasons. We can, therefore, con-sider each resource unit to be composed of different com-ponents, each associated with a possible failure cause, withdifferent times to failure. Let N(t) be the total amount ofbreakdowns up to time t , split up by components 1 to m asfollows: N(t) = N1(t) + N2(t) + · · · + Nm(t). If m is largeenough and the times between counts for each breakdowncause are independent and identically distributed stochasticvariables, then the resulting counting process N(t) will fol-low a Poisson distribution (Hopp and Spearman 2001). Be-cause a Poisson counting process corresponds to an expo-nential distribution of interarrival times (Girault 1959), thetimes between failures will be exponentially distributed. Un-fortunately, this reasoning cannot be so easily applied to therepair times. However, it is analytically interesting but alsopractically acceptable to assume that these times are alsoexponentially distributed. The second assumption is that of

fixed resource allocations. This means that in case a resourceunit used by activity i breaks down, activity i will be pre-empted and repeated after the repair of this resource unit.This implies that it is not possible to prevent the preemp-tion of i by assigning it to other resource units. Finally, re-source units are only subject to wear and tear when they arein use. Therefore, it is only possible for an active unit tobreak down.

Let us consider resource type k. The duration increaseof activity i due to breakdowns on this resource type canbe split up into a part that corresponds to aggregated repairtimes and a part that corresponds to aggregated re-executiontimes:

�ik = �repairik + �

repeatik . (3.5)

Both �repairik and �

repeatik will depend of the number of times

activity i is preempted. Let the stochastic variable Bik rep-resent the number of interruptions experienced by activityi due to breakdowns of resource type k before completion.During each execution of activity i on resource type k theactivity will either be completed or preempted. Let πik bethe probability that activity i is preempted due to breakdownof k:

πik = 1 − [Pr(Xk > di)

]rik

= 1 −[∫ ∞

di

λke−λkx dx

]rik

= 1 − e−λkdi rik . (3.6)

This allows us to write:

Pr(Bik = Bik) = (1 − πik)πBik

ik . (3.7)

We can now write:

�ik = �repairik + �

repeatik

=∞∑

Bik=0

[E

(�

repairik |Bik = Bik

)

+ E(�

repeatik |Bik = Bik

)]. (3.8)

For Bik = Bik , we have Bik repairs and Bik re-executions.The expected duration of a repair is equal to the expectedrepair duration for a single resource unit (μk), since the ac-tivity breaks down as soon as one resource unit breaks downand resource units can only break down during the executionof an activity. The expected duration of a re-execution corre-sponds to the smallest time to failure over all resource unitsused by activity i. The minimum of rik exponentially dis-tributed random variables with parameter λk can be shownto be exponentially distributed with parameter rikλk . There-fore, we can write:

128 J Sched (2008) 11: 121–136

�ik =∞∑

Bik=0

(1 − πik)πBik

ik

× (BikE[Yk] +BikE

[min(Xk1, ...,Xkrik )

])

=∞∑

Bik=0

(1 − πik)πBik

ik Bik

(1

μk

+ 1

rikλk

)

=(

1

μk

+ 1

rikλk

)πik

1 − πik

. (3.9)

Let us now assume that:

�i =⌈

maxk

�ik

⌉. (3.10)

Of course, this is a simplification of reality, but taking the in-teraction effects between resource types into account wouldgreatly complicate the results because of the different para-meters of the exponential distributions.

The expected duration increases can now be used to ap-proximate the impact of resource breakdowns on the givenschedule S. For each non-dummy activity i we determineits direct and transitive predecessors j ∈ PRED∗

i . In casethe predicted finish time of the considered predecessor (sj +dj + E(�j )) exceeds si , the planned starting time of activ-ity i, it can be expected that there is a reasonable chance thatactivity i will be disrupted. The impact Ii on the objective

function that can be attributed to the disruption of activity i

caused by its predecessors j can be estimated as:

Ii =∑

j∈PRED∗i

wi max{0, sj + dj + E(�j ) − si

}. (3.11)

The non-dummy project activities are placed in a list Q innon-increasing impact order with the lowest activity num-ber as a tie-breaker. The first activity in list Q is selectedand right-shifted with one time unit. Affected activities are,likewise, right-shifted with one time unit in order to keepthe schedule precedence and resource feasible. In case theresulting schedule also respects the deadline constraint, wecan move to the next iteration by recalculating the expectedimpacts for each activity for the new schedule S′ and build-ing a new list Q′. In case the new schedule is not deadlinefeasible, we revert the move and select the next activity inQ; if no such activity can be found, the procedure is termi-nated. The pseudocode for this pseudo-polynomial approachis given in Algorithm 1

We illustrate the time buffering heuristic by describingsome of the steps applied to our example network. Us-ing the procedure to calculate the expected activity dura-tion increases detailed above, we obtain the duration ex-tension vector E(�) = (0,4,25,10,14,31,14,11,6,0).We start from the ‘highest CIW first’-baseline scheduleshown as the top schedule in Fig. 6. Calculating the ex-pected impacts for this schedule yields the disruption im-pact vector I = (0,0,0,44,0,99,13,32,175,2432). Ac-tivity 10, clearly, has the highest impact value but is not

Algorithm 1 Time buffering heuristic

J Sched (2008) 11: 121–136 129

Fig. 6 Time buffering appliedto a ‘highest CIW first’ schedule

considered for buffering, because doing so would vio-late the deadline of 18, since activity 10 is assumed tostart and end at the project deadline. Therefore, activ-ity 9 is selected and buffered with one time unit, yield-ing the second schedule in Fig. 6. The impact values areindicated between parentheses. The activity that is se-lected for buffering is marked in black. Continuing thealgorithm eventually yields the third schedule of Fig. 6.The corresponding vector of buffer sizes is now B =(0,0,0,0,0,5,4,0,1,0).

4 Reactive strategies

After the baseline schedule has been determined, projectexecution can start. However, no matter how much wetry to protect the predictive schedule against possible dis-

ruptions, we can never totally eliminate their occurrence.The execution of the baseline schedule continues eitheruntil the completion of the dummy end activity, signal-ing the end of the project, or until a resource conflictis encountered resulting from the breakdown of one ormore resources. When a resource conflict occurs, this con-flict will have to be resolved by postponing one or moreactivities in order to restore schedule feasibility. We as-sume that preemption is not allowed, unless a resourceinfeasibility, due to a resource breakdown, is resolvedby interrupting the execution of an activity that was inprogress at the time of the breakdown. Furthermore, we as-sume that this interrupted activity then has to be restartedfrom scratch (preempt-repeat). An extension to a preempt-resume setting would be an interesting topic for furtherresearch.

130 J Sched (2008) 11: 121–136

4.1 List scheduling

A good reactive strategy restores schedule feasibility, whileminimizing the deviation from the baseline schedule andpreventing future disruptions from occurring. A simple re-active strategy could rely on list scheduling.

A random precedence feasible priority list can serve asa benchmark. As an alternative, we rely on a scheduled or-der list that allows us to reschedule the activities in theorder dictated by the schedule, while taking into accountthe new, reduced resource availabilities. More specifically,when a disruption occurs at time t∗, we create a priority listL including the activities that are not yet completed, orderedin non-decreasing order of their baseline starting times.

The priority list is decoded into a feasible schedule, us-ing a modified serial schedule generation scheme and tak-ing into account the known resource availabilities up to thecurrent time period. The modification of the serial schedulegeneration scheme has to do with the case where the cur-rent activity taken from the list is in progress but not yetcompleted, when the infeasibility occurs. This activity canbe left unchanged, or it can be interrupted and repeated. Thepseudocode for this procedure is given in Algorithm 2. Thenew activity starting times are denoted as s′

i , the currentlyknown availabilities as a′

kt and the set of direct predecessorsof activity i as PREDi . M is a sufficiently large integer, sothat the project ends before time period M .

Activities selected from the list are scheduled as earlyas possible. For activities that are in execution during thetime of disruption t∗, this means that the procedure first triesthe current scheduled starting time. If this turns out to beinfeasible, the procedure searches for feasibility by startingthe activity in the next time period (t∗ + 1) and subsequent

time periods, if necessary. For activities that did not startyet, it is only necessary to consider the earliest precedencefeasible starting time. Note that, as we stated in Sect. 2, wenever allow an activity to start before its baseline startingtime si .

4.2 Tabu search

Solutions may be improved by superimposing a tabu searchbased improvement heuristic (Glover and Laguna 1993) onthe priority list rule. This procedure will try to improve thestarting solution by iteratively executing the best precedencefeasible adjacent interchange of two activities in the prioritylist that does not lead to a state included in the tabu list. Theobjective is to find a precedence feasible ordering of activi-ties that corresponds to a feasible schedule that deviates aslittle as possible from the baseline schedule. This deviationis measured by calculating the weighted sum of the absolutedeviations between the baseline and the reactive schedulestarting times. The advantage of tabu search is that by usinga tabu list (a list of moves or states that are forbidden fora number of iterations) the procedure can also choose non-improving moves, so that it avoids getting stuck in local op-tima like traditional local search approaches. The procedureis explained in Algorithm 3.

Our implementation considers a maximum number of it-erations MAXITER that has to be executed before the proce-dure ends and includes a frequency based penalty functionto further prevent cycling. The length of the tabu list is set to�√|L|�. The best solution that is found so far is stored in L∗and has an objective function value equal to O∗. O0 then isthe objective function value of the best adjacent interchangefound so far in the current iteration. The frequency based

Algorithm 2 Modified Serial Schedule Generation Scheme

J Sched (2008) 11: 121–136 131

Algorithm 3 Tabu-search based reactive procedure

penalties are stored per pair (i, si) in the variables freqi,si.

A value of 10 was chosen because this yielded the best over-all results and because a sufficiently large penalty is neces-sary to significantly change the usually relatively large ob-jective function value. Likewise, the tabu status is stored inthe variables tabui,si . Observe that an aspiration criterion isincluded: in case a tabu solution L has an objective functionthat outperforms the best solution value that was found sofar (O < O∗), then the tabu status will be overridden andthe solution will be stored anyway.

In order to illustrate the reactive procedure we include theexample in Fig. 8. The schedule shown in Fig. 7 is disruptedin period 10 due to the breakdown of two resource units.

Keeping the original schedule order, the partial prior-ity list (3,7,6,8,9,10) is obtained, which yields the re-

paired schedule depicted in the top part of Fig. 8. How-ever, improvement is possible. If we preempt and postponeactivity 7 instead of activity 6, we obtain the partial pri-ority list (3,6,7,8,9,10) and the schedule depicted in thebottom part of Fig. 8. The former schedule corresponds toa weighted schedule deviation cost of 9, whereas the latterschedule yields a weighted deviation cost of only 2.

5 Results

5.1 Experiment

The above algorithms were coded in Microsoft Visual C++6.0 and executed on a Dell Optiplex GX270 workstation.

132 J Sched (2008) 11: 121–136

Fig. 7 Disturbed schedule: 2units down in period 10

Fig. 8 Reactive improvementprocedure: scheduled versusimproved ordering

In order to evaluate the instability objective we use simula-tion. For determining the optimal solution to the determin-istic RCPSP, we use the branch-and-bound algorithm devel-oped by Demeulemeester and Herroelen (1992,1997).

The instability weights wi for all non-dummy activitiesare drawn from a discrete, triangularly shaped distributionbetween 1 and 10 with P(wi = x) = 0.21 − 0.02x. Cor-responding to what can be expected in real-life projects,most activities will have a low instability weight, whereasonly a minority are more heavily penalized for being startedlater than planned. The instability weight of the dummyend activity represents the importance of meeting the pro-jected deadline and is set equal to β times the average of

the instability weight distribution function, which is 3.85for P(wi = x). Because meeting the project deadline is usu-ally deemed more important than starting each activity at theplanned starting time, we set β = 10 for our experiment.

The project deadline is derived from the minimal make-span schedule. In a static and deterministic environment, thelower bound on the makespan, CRCPSP

max , corresponds to themakespan of the schedule obtained, when optimally solvingthe RCPSP. It seems reasonable to assume that the projectmanager will prefer a makespan that does not deviate toomuch from this lower bound. Therefore, we set the deadlineof the robust schedule at CRCPSP

max (1 +α), where the deadlinefactor α is a parameter chosen by the project manager that

J Sched (2008) 11: 121–136 133

constitutes the trade-off between project stability and projectduration (Van de Vonder et al. 2005b).

As mentioned in Sect. 3.4, it can be shown that resourcebreakdowns can be modeled using exponential distribu-tions with the parameters MTTFk and MTTRk . We draw theMTTRk values from a uniform discrete distribution between1 and 5. The values for MTTFk are drawn from a uniformdiscrete distribution between 50% and 150% of CRCPSP

max .As a test set for assessing the effectiveness of the

proactive-reactive strategies, we use the 480 30-activityRCPSP instances of the well-known PSPLIB set of testproblems (Kolisch and Sprecher 1997). Each combinationof a proactive policy and a reactive policy was tested us-ing 10 replications for each problem instance, each havingdifferent MTTFk’s and MTTRk’s. Furthermore, we used 50iteration steps for the reactive tabu search.

5.2 Computational results

The computational results are shown in Tables 1, 2 and 3.The results shown in Table 1 were obtained for a tight dead-line setting α = 15%, those in Table 2 for α = 30%, andthose in Table 3 for an ample deadline setting of α = 45%.

We list the median values of the weighted instability costsover all projects and MTTF–MTTR scenarios for the eightproactive scheduling combinations (time buffering or not,

resource buffering or not, in combination with a minimummakespan schedule or a schedule obtained using ‘highestCIW first’) in combination with the three reactive proce-dures (random list scheduling, scheduled order list schedul-ing and tabu search). The numbers shown in italic in the lastcolumn give the average weighted instability cost value foreach of the proactive scheduling rules, the italic numbers inthe bottom row represent the average instability cost valuefor each of the reactive procedures.

Let us first have a look at the results for the proactiveprocedures. As could be expected, a proactive schedulingprocedure using time buffering always seems to outperformprocedures that do not. Of course, the possible improvementof time buffering directly depends on the degree of freedomoffered to the time buffering algorithm for inserting buffersin the schedule. Therefore, whereas for the α = 30% sce-nario, an average improvement of 41.27% can be observedfor a minimal makespan schedule, this decreases to 32.18%for the ‘highest CIW first’-schedule and only 25.24% fora resource buffered ‘highest CIW first’-schedule. Similar re-sults hold, when varying the deadline factor. For minimalmakespan schedules, a 54.86% improvement seems to bepossible when α = 45% compared to only 21.92% whenα = 15%.

Resource buffering performs quite well, offering averageimprovements of 60.19% for the minimal makespan case.

Table 1 Median of weightedinstability for α = 15% Random list Scheduled order Tabu search

no time buf no res buf min Cmax 1348.55 325.55 276.60 650.23

max CIW 1004.60 225.60 177.90 469.37

res buf min Cmax 612.55 122.50 112.20 282.42

max CIW 524.10 104.00 76.50 234.87

time buf no res buf min Cmax 1080.30 234.50 208.35 507.72

max CIW 746.20 152.70 140.10 346.33

res buf min Cmax 541.10 107.35 96.50 248.32

max CIW 376.10 80.70 72.60 176.47

779.19 169.11 145.09

Table 2 Median of weightedinstability for α = 30% Random list Scheduled order Tabu search

no time buf no res buf min Cmax 1117.40 296.50 239.30 551.07

max CIW 1011.30 243.90 198.80 484.67

res buf min Cmax 477.40 96.75 80.80 218.32

max CIW 433.40 82.90 67.80 194.70

time buf no res buf min Cmax 707.85 141.65 121.35 323.62

max CIW 711.40 145.90 128.80 328.70

res buf min Cmax 293.15 53.65 49.10 131.97

max CIW 333.30 55.40 48.00 145.57

635.65 139.58 116.74

134 J Sched (2008) 11: 121–136

Table 3 Median of weightedinstability for α = 45% Random list Scheduled order Tabu search

no time buf no res buf min Cmax 1025.15 296.50 232.30 517.98

max CIW 866.30 234.40 188.00 429.57

res buf min Cmax 393.05 93.85 78.65 188.52

max CIW 322.60 68.50 55.10 148.73

time buf no res buf min Cmax 501.20 104.35 95.90 233.82

max CIW 486.40 97.10 87.60 223.70

res buf min Cmax 173.15 39.85 36.10 83.03

max CIW 173.90 35.60 29.20 79.57

492.72 121.27 100.36

Table 4 Average CPU time inseconds α = 15% α = 30% α = 45%

proactive no time buf no res buf min Cmax 0.066 0.066 0.068

max CIW 0.000 0.000 0.000

res buf min Cmax 0.173 0.076 0.078

max CIW 0.001 0.001 0.000

time buf no res buf min Cmax 0.149 0.188 0.234

max CIW 0.172 0.189 0.236

res buf min Cmax 0.124 0.162 0.209

max CIW 0.149 0.163 0.208

reactive random list 0.000 0.000 0.000

scheduled order 0.000 0.000 0.000

tabu search 0.069 0.070 0.073

Again, the improvement potential decreases as the deadlinefactor is decreased. Taking into consideration the promisingrequired computation time, resource buffering based strate-gies cannot be neglected. In case of minimal makespanscheduling, for 83 of the 480 test instances the calculatedbuffered availability turned out to be too low. However, for‘highest CIW first’ scheduling the picture is slightly differ-ent. For the networks for which ‘highest CIW first’ schedul-ing respected the project deadline, the average availabilityturned out to be insufficient to obtain a feasible schedule for14.79% of the cases when α = 15% and for 17.29%, whenα = 30% and when α = 45%.

For most cases, ‘highest CIW first’ performs better thanminimal makespan scheduling. This is not surprising, sincewe actively try to improve the objective function value ofthe minimal makespan schedule. However, for α = 30%the use of time buffering actually seemed to favor mini-mal makespan scheduling. A possible reason might be thatminimal makespan scheduling creates a shorter schedule, inwhich more opportunities for time buffering exist. On theother hand, similar results were not found for α = 45%.For α = 45% the combinations based on ‘highest CIW first’performed slightly better than the ones based on minimalmakespan. Also note that for α = 15%,30%,45%, deter-

mining the ‘highest CIW first’-schedule turned out to be im-possible in, respectively, 26.46%, 3.13% and 0.00% of theinstances, because the corresponding schedule exceeded thedeadline.

The results for the reactive strategies are as expected.Random list scheduling performs worst. Scheduled order listscheduling offers a significant performance increase. Tabusearch allows further improvements upon scheduled orderlist scheduling.

Table 4 lists the average required CPU times in seconds.Proactive policies based on ‘highest CIW first’ are com-putationally very cheap. This is not surprising, given thesimple schedule construction procedures based on the serialschedule generation scheme. Minimal makespan schedulingis slower because of the exact branch-and-bound approach.Especially, when looking at the case of α = 15%, we see thatthe minimal makespan procedure combined with resourcebuffering is rather slow. This is probably due to the fact that,given the restrictive deadline factor, the procedure has to beexecuted a number of times, until the buffered availabilityallows for the creation of a deadline feasible schedule. Thetime buffering procedure is also quite demanding with in-creasing computation times, as the deadline factor increases.

J Sched (2008) 11: 121–136 135

The simple reactive policies are very fast, tabu search, how-ever, is computationally slightly more expensive.

6 Conclusion

In this paper we gave an overview of the challenges a projectmanager has to deal with in an environment characterized byuncertain resource availabilities. We gave an overview of theliterature on scheduling under uncertainty and underlinedthe necessity of building a proactive baseline schedule forminimizing weighted instability. For the generation of a ro-bust baseline schedule we proposed eight strategies. First ofall, a starting schedule can be built using for example mini-mal makespan scheduling or ‘highest CIW first’ scheduling.This schedule can then be protected against the effects ofdisruptions by using the average resource availabilities, ob-tained from steady-state probability calculations, instead ofthe given deterministic availabilities. Alternatively or ad-ditionally, protection can be added in the form of explic-itly inserted idle time. To determine where and in whatamount to insert these so-called time buffers, we developeda time buffer allocation heuristic based on the estimation ofthe expected impacts of activity duration prolongations dueto resource breakdowns. The advantages of ‘highest CIWfirst’ scheduling, combined with resource buffering and timebuffering, immediately become apparent when comparingthe weighted instability results with those from a minimalmakespan strategy without buffering. From a simulation ex-periment using the PSPLIB set of test problems we wereable to observe an average improvement of 77%.

Unfortunately, no matter how much one tries to protectthe initial schedule, the occurrence of disruptions duringproject execution can never be totally avoided. Therefore,reactive policies, indicating how to restore schedule feasi-bility after the occurrence of a resource breakdown, are re-quired. We proposed three reactive policies to resolve in-feasibilities resulting from schedule disruptions. A randomorder rule was included for benchmarking purposes. Thescheduled order rule seems to perform reasonably well incomparison but can still be improved by tabu search at thecost of an increase in computation time. Here the computa-tional experiment also immediately showed the advantagesof using an intelligent reactive strategy. Using scheduledorder instead of random order allowed us to obtain resultsthat were on average 77% better. A further improvement ofabout 16% was possible, when superimposing a tabusearchimprovement procedure on the original order rule.

In conclusion, we were able to show that a combina-tion of ‘highest CIW first’ scheduling, resource buffering,time buffering and a reactive strategy based on an improve-ment of the scheduled order rule, allows for an improve-ment of the objective function of 96%, compared to minimal

makespan scheduling without any buffering using a naiverandom order strategy.

References

Al-Fawzan, M. A., & Haouari, M. (2005). A bi-objective model for ro-bust resource-constrained project scheduling. International Jour-nal of Production Economics, 96, 175–187.

Aytug, H., Lawley, M., McKay, K., Mohan, S., & Uzoy, R. (2005). Ex-ecuting production schedules in the face of uncertainties: a reviewand some future directions. European Journal of Operational Re-search, 161, 86–110.

Brucker, P., Drexl, A., Möhring, R., Neumann, K., & Pesch, E. (1999).Resource-constrained project scheduling: notation, classification,models and methods. European Journal of Operational Research,112, 3–41.

Davenport, A., & Beck, J. (2002). A survey of techniques for schedulingwith uncertainty. Unpublished manuscript.

Demeulemeester, E., & Herroelen, W. (1992). A branch-and-boundprocedure for the multiple resource-constrained project schedul-ing problem. Management Science, 38, 1803–1818.

Demeulemeester, E., & Herroelen, W. (1997). New benchmark resultsfor the resource-constrained project scheduling problem. Man-agement Science, 43, 1485–1492.

Demeulemeester, E., & Herroelen, W. (2002). International seriesin operations research & management science: Vol. 49. Projectscheduling—a research handbook. Boston: Kluwer Academic.

Drezet, L.-E. (2005). Résolution d’un problème de gestion de projetssous contraintes de ressources humaines: de l’approche prédic-tive à l’approche réactive. PhD thesis. Université François Ra-belais Tours, France.

Girault, M. (1959). Initiation aux processus aléatoires. Paris: Dunod.Glover, F., & Laguna, M. (1993). Tabu search. In C. Reeves (Ed.), Mod-

ern heuristic techniques for combinatorial problems (pp. 70–141).Oxford: Blackwell Scientific.

Herroelen, W., De Reyck, B., & Demeulemeester, E. (1998). Resource-constrained scheduling: a survey of recent developments. Com-puters and Operations Research, 25, 279–302.

Herroelen, W., De Reyck, B., & Demeulemeester, E. (2000). On thepaper “Resource-constrained project scheduling: notation, classi-fication, models and methods” by Brucker et al. European Journalof Operational Research, 128(3), 221–230.

Hopp, W., & Spearman, M. (2001). Factory physics: foundations ofmanufacturing management. New York: McGraw–Hill.

Kelley, J. E., Jr. (1963). The critical-path method: resources, planningand scheduling. In J. F. Muth & G. L. Thompson (Eds.), Industrialscheduling (pp. 347–365). Englewood Cliffs: Prentice Hall.

Kolisch, R., & Sprecher, A. (1997). PSPLIB—a project scheduling li-brary. European Journal of Operational Research, 96, 205–216.

Lambrechts, O., Demeulemeester, E., & Herroelen, W. (2006). A tabusearch procedure for generating robust project baseline schedulesunder stochastic resource availabilities. Research Report KBI0604. FETEW, Katholieke Universiteit Leuven, Belgium.

Leus, R. (2003). The generation of stable project plans. PhD thesis.Department of applied economics, Katholieke Universiteit Leu-ven, Belgium.

Leus, R., & Herroelen, W. (2005). The complexity of machine schedul-ing for stability with a single disrupted job. Operations ResearchLetters, 33, 151–156.

Mehta, S., & Uzsoy, R. (1998). Predictive scheduling of a job shopsubject to breakdowns. IEEE Transactions on Robotics and Au-tomation, 14, 365–378.

Mehta, S., & Uzsoy, R. (1999). Predictable scheduling of a single ma-chine subject to breakdowns. International Journal of ComputerIntegrated Manufacturing, 12, 15–38.

136 J Sched (2008) 11: 121–136

Nikulin, Y. (2004). Robustness in combinatorial optimization andscheduling theory: an annotated bibliography. Research Report583. Christian-Albrechts University in Kiel, Institute of Produc-tion and Logistics.

Pinedo, M. (1995). Scheduling—theory, algorithms and systems. En-glewood Cliffs: Prentice Hall.

Ross, S. (1983). Stochastic processes. New York: Wiley.

Scholl, A. (2001). Robuste Planung und Optimierung: Grundlagen,Konzepte und Methoden, Experimentelle Untersuchungen. Hei-delberg: Physica.

Stork, F. (2001). Stochastic resource-constrained project scheduling.PhD thesis. Technical University of Berlin, School of Mathemat-ics and Natural Sciences.

Van de Vonder, S., Demeulemeester, E., Herroelen, W., & Leus,R. (2005a). The trade-off between stability and makespan inresource-constrained project scheduling. International Journal ofProduction Research, 44(2), 215–236.

Van de Vonder, S., Demeulemeester, E., Herroelen, W., & Leus, R.(2005b). The use of buffers in project management: the trade-offbetween stability and makespan. International Journal of Produc-tion Economics, 97, 227–240.