a new heuristic for resource-constrained project scheduling in stochastic networks using critical...

15
Discrete Optimization A new heuristic for resource-constrained project scheduling in stochastic networks using critical chain concept M. Rabbani a , S.M.T. Fatemi Ghomi b, * , F. Jolai a , N.S. Lahiji a a Department of Industrial Engineering, University of Tehran, Tehran, Iran b Department of Industrial Engineering, Amirkabir University of Technology, Tehran, Iran Received 26 March 2004; accepted 14 September 2005 Available online 21 November 2005 Abstract This paper presents a newly developed resource-constrained project scheduling method in stochastic networks by merging the new and traditional resource management methods. In each project, the activities consume various types of resources with fixed capacities. The duration of each activity is a random variable with a given density function. Since the backward pass method is implemented for feeding-in resources. The problem is to determine the finish time of each activity instead of its start time. The objective of the presented model is defined as minimizing the multiplication of expected project duration and its variance. The values of activities finish times are determined at decision points when at least one activity is ready to be operated and there are available resources. If at a certain point of time, more than one activity is ready to be operated but available resources are lacking, a competition among ready activities is carried out in order to select the activities which must be operated first. This paper suggests a competition routine by implementing a policy to maximize the total contribution of selected activities in reducing the expected project duration and its vari- ance. In this respect, a heuristic algorithm is developed and compared with the other existing methods. Ó 2005 Elsevier B.V. All rights reserved. Keywords: Project scheduling; Criticality index; Cruciality index; Stochastic networks; Critical chain 1. Introduction Resource-constrained management is one of the most complicated subjects in project management field. As a special case of job shop problems and project scheduling without resource constraints, resource- constrained project scheduling is a NP-complete problem [27] which has been leading to formulate many 0377-2217/$ - see front matter Ó 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2005.09.018 * Corresponding author. Tel.: +98 21 66413034; fax: +98 21 66413025. E-mail addresses: [email protected] (M. Rabbani), [email protected] (S.M.T. Fatemi Ghomi). European Journal of Operational Research 176 (2007) 794–808 www.elsevier.com/locate/ejor

Upload: m-rabbani

Post on 21-Jun-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

European Journal of Operational Research 176 (2007) 794–808

www.elsevier.com/locate/ejor

Discrete Optimization

A new heuristic for resource-constrained project schedulingin stochastic networks using critical chain concept

M. Rabbani a, S.M.T. Fatemi Ghomi b,*, F. Jolai a, N.S. Lahiji a

a Department of Industrial Engineering, University of Tehran, Tehran, Iranb Department of Industrial Engineering, Amirkabir University of Technology, Tehran, Iran

Received 26 March 2004; accepted 14 September 2005Available online 21 November 2005

Abstract

This paper presents a newly developed resource-constrained project scheduling method in stochastic networks bymerging the new and traditional resource management methods. In each project, the activities consume various typesof resources with fixed capacities. The duration of each activity is a random variable with a given density function. Sincethe backward pass method is implemented for feeding-in resources. The problem is to determine the finish time of eachactivity instead of its start time. The objective of the presented model is defined as minimizing the multiplication ofexpected project duration and its variance. The values of activities finish times are determined at decision points whenat least one activity is ready to be operated and there are available resources. If at a certain point of time, more than oneactivity is ready to be operated but available resources are lacking, a competition among ready activities is carried out inorder to select the activities which must be operated first. This paper suggests a competition routine by implementing apolicy to maximize the total contribution of selected activities in reducing the expected project duration and its vari-ance. In this respect, a heuristic algorithm is developed and compared with the other existing methods.� 2005 Elsevier B.V. All rights reserved.

Keywords: Project scheduling; Criticality index; Cruciality index; Stochastic networks; Critical chain

1. Introduction

Resource-constrained management is one of the most complicated subjects in project management field.As a special case of job shop problems and project scheduling without resource constraints, resource-constrained project scheduling is a NP-complete problem [27] which has been leading to formulate many

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

* Corresponding author. Tel.: +98 21 66413034; fax: +98 21 66413025.E-mail addresses: [email protected] (M. Rabbani), [email protected] (S.M.T. Fatemi Ghomi).

M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808 795

algorithms in terms of integer programming, forms of bounded and implicit enumeration, branch andbound methods, optimum seeking heuristic algorithms, etc. [11]. These heuristics mostly assume fixedand certain activity duration time and consequently are not appropriate to be applied to resource-con-strained project scheduling in stochastic networks. Resource-constrained project scheduling in stochasticnetworks brings about a stochastic dynamic programming model which cannot be solved in the general casedue to its intractability [27,11]. Hence, two following methods are used to solve these problems:

1. Considering the duration times of activities as fixed amounts and implementing deterministic resource-constrained scheduling methods.

2. Developing and carrying out several policies in prioritizing the ready activities.

Although the deterministic scheduling methods applied to resource-constrained project scheduling instochastic network simplify the solution procedures, they usually underestimate the project duration andprovide an erroneous resource profile [11]. On the other hand, there are a few heuristics which assumethe uncertainty in activities duration times. These heuristics usually implement pre-defined policies to pri-oritize activities to be supplied by available resources at each decision point. A complete specification of allpolicies and their subclasses has been proposed by Mohring et al. [20,21]. Their aim was to find a policy thatminimizing the expected project duration. Their proposed policies can be classified according to how theyeliminate the resource conflict and also compose the minimal forbidden set (activities that cannot be sched-uled simultaneously due to resource conflict). A natural class of policies called ‘‘pre-selective’’ policies wasintroduced by Iglemund and Radermacher [15,16]. They solved resource conflict on every forbidden set viaselecting an activity that could start in the event of some other activities termination. ‘‘Earliest start (ES)’’policy is a subclass of ‘‘pre-selective’’ policies which is defined as follows: selected activities should alwayswait for others. Stork [30] has implemented a branch-and-bound algorithm for both classes of policies. Hisalgorithm helps finding an optimal ‘‘pre-selective’’ or ‘‘ES’’ policy in solving networks up to 20 activities.Mohring and Stork [22] introduced an interesting subclass of ‘‘pre-selective’’ policies called ‘‘linear pre-selective’’ which chose ready activities according to a pre-defined linear order, usually the precedence tree.This class of policies puts forward a significant speedup in computation time.

Golenko-Ginzburg and Gonik [11] presented a heuristic algorithm for non-consumable resource alloca-tion in stochastic networks. Their purpose was to find the activities start time in order to minimize expectedproject duration subject to resource constraints. In order to achieve an optimal subset of activities suppliedby available resources at each decision point, they implemented a measure which was the multiplication ofaverage time and criticality probability of ready activities. They also presented another heuristic algorithmfor resource-constrained project scheduling in stochastic networks where activities required various types ofresources with variable capacities [12]. They defined the objective as minimizing the expected project dura-tion by determining the activities start time as well as their assigned resource capacities. Williams [32,33]suggested cruciality (correlation coefficient between project completion time and activity duration time)as a measure to assort the ready activities at each decision point. Bowers [2] compared criticality andcruciality indices for sorting out ready activities in resource-constrained project scheduling in stochasticnetworks. He concluded that criticality index can be used as a suitable guidance to define the importantactivities and cruciality index as a support to this measure. Goldratt presented a new method forresource-constrained management called critical chain [3,14,17,23–25,28,29,31]. In his method, the contin-gency or uncertainty in activities duration time is removed from the estimation and resources are assignedto the activities by implementing backward pass scheduling on the basis of the longest precedence chainpolicy. Additionally, project, feeding and resource buffers are added to the final schedule to prevent the pro-ject completion time overrun.

This paper presents a newly developed resource-constrained project scheduling method in stochasticnetworks by merging the critical chain concepts and traditional resource-constrained project scheduling

796 M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808

methods. Since the backward pass scheduling is implemented for feeding-in resources, the developed modelwill finds the activities finish times instead of the activities start times. The objective is to minimize theexpected project duration and its variance subject to resource constraints. Due to the complication ofthe presented model, a heuristic is proposed to select the activities which have the greatest effect on projectexpected duration and its variance at each decision point.

The structure of this paper is as follows: in Section 2, critical chain concepts will be reviewed. In Section3, notations will be outlined. Section 4 will describe the proposed resource-constrained scheduling model instochastic networks and the main idea of the algorithm. Section 5 evaluate the efficiency of the presentedalgorithm. Section 6 will outline the numerical results. In Section 7, the results of two real case problemswill be summarized and Section 8 will present the conclusion.

2. New project management system (critical chain)

In 1997, Goldratt introduced direct implementation of theory of constraints (TOC) in project manage-ment called critical chain. Critical chain focuses on the constraints of a project which prevent achieving itsgoals. As a new methodology for systemic project management considering uncertainties and constraints inthe project, critical chain deploys all resources to remove causes and undesirable effects of constraints. Thegoal of critical chain is to complete the project on time considering a pre-defined budget and scope whileoptimizing the resource consumption. It must be mentioned that, critical chain is an approach which deemsthe interaction of algorithmic methods and human influences for successful project management. Five stepsare applied in this approach as follows:

1. Identify the project�s constraint;2. Exploit the project�s constraint;3. Subordinate other elements to project�s constraint;4. Elevate the project�s constraint;5. In case that a new constraint has been uncovered in proceeding steps, repeat the process. Do not let iner-

tia become the project constraint.

Fig. 1 shows the changes in traditional project management system caused by implementing the criticalchain approach [17].

3. Notation

In the model presented in this paper, an activity-on-arc network project of PERT type is consideredwhere each activity requires various types of resources with fixed capacities. The duration time of eachactivity is a random variable with a given continuous density function. The following notations are intro-duced in this model:

G(N, A) stochastic network project (graph) of PERT type with (A) activities and (N) nodes(i, j) 2 A the project�s activity (i, j)Yij random duration time of activity (i, j)fij(t) density function of activity (i, j)Fij(t) accumulated distribution function of activity (i, j)aij lower bound of value Yij (pre-given)bij upper bound of value Yij (pre-given)

Criticalchain project management

6 The plan schedules activities

to start as late as possible, protected by buffers

5 Size and place feeding buffers on all paths thatfeed the critical chain

4 Protect the critical chain

from resource unavailabilityby resource buffers

3 Insert a project buffer at the end of project to aggregate

critical chain contingency time

2 Eliminate resource

contention by implementingbackward pass scheduling

and identify the critical chain

1 Reduce duration

estimates to 50-50

8 Deliver roadrunner performance(eliminating multi-tasking and

student syndrome)

7 Provide resources with activitydurations and estimated start

times, not milestones

9 Use buffer management to

control the schedule

Fig. 1. Changes in traditional project management system caused by implementing the critical chain approach.

M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808 797

lij average value of Yij

rij standard deviation of Yij

Fij the finish time of activity (i, j) (a random value conditional upon our decision)Sij the start time of activity (i, j)aij criticality index of activity (i, j)bij cruciality index of activity (i, j)rijk capacity of the kth type resource(s) allocated to activity (i, j) (fixed and pre-given)Rk total available resource of type k at the project management disposal (pre-given and fixed through-

out the planning horizon)Rk(t) free available resources at moment t

R�kðt=F ijÞ maximal value of the kth resource profile at moment t on condition that activities (i, j) 2 A finishat moment Fij

K number of different resourcesTi random variable of the time of realization node i

F(Ti) accumulated distribution function of realization time of node i

T(G) or TN random variable of project completion timeF(TN) accumulated distribution function of project completion timel average value of project completion timer standard deviation of project completion timeP the set of all paths in PERT networkpl path l in PERT networkL(pl) length of path pl

Lij set of paths including the activity (i, j)�Lij set of paths excluding the activity (i, j)Cj the cutest at node j

798 M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808

The most widely used PERT techniques are based on the assumption that each activity distribution fol-lows the Beta probability density function [11–13,18,34]. Beta probability density function is so flexible thatcan be used as a suitable tool to model random phenomena whose possible amounts occur in a finite dis-tance [a, b] [9,26]. Beta distribution function, its average and variance are defined as follows:

f ðxÞ ¼ Cðaþ bÞCðaÞ � CðbÞ �

ðx� aÞa�1ðb� xÞb�1

ðb� aÞaþb�1; ða < x < bÞ; ða; b > 0Þ; ð1Þ

EðxÞ ¼ ðb� aÞ � aaþ b

þ a; ð2Þ

VarðxÞ ¼ ðb� aÞ2 � ab

ðaþ bÞ2ðaþ bþ 1Þ. ð3Þ

The shape of a Beta distribution function is dependent on the amounts of a, b. If a > b it will be skewedto the left and kurtosis to the right and if a < b , the case will be vice versa [9,26]. In critical chain approach,the activities duration time follows a Normal distribution function with a finite left tail and long right tail.In order to integrate this definition with critical chain concepts, a Beta distribution function with a > b isused to define activities duration times.

3.1. Network completion time distribution function

Different methods such as accurate methods, analytical methods, approximation and simulation can beapplied to determine distribution function of the project completion time. The distribution function of pro-ject completion time is defined as the distribution function of the longest path from the start node to thefinish node N and calculated as follows:

PrfT N 6 tg ¼ PrfmaxðLðplÞÞ : 8pl 2 Pg ¼ PrfLðplÞ 6 t : 8pl 2 Pg. ð4Þ

Computing the relation (4) is a NP-hard task, because:

(A) Number of paths jpj increases exponentially along with the increasing of the number of activities.(B) Even when activities are independent, the paths are dependent because of their common activities

[1,4,5,7,8,10,18,19].

3.2. Criticality index

The criticality index of a path is defined as follows [4,6]:

aðplÞ ¼ PrfLðplÞP LðphÞ : 8ph 2 Pg ¼ PrfT ¼ LðplÞg. ð5Þ

The criticality index of activity (i, j) 2 A is defined as:

aij ¼ Prfði; jÞ 2 pl : 8ph 2 P : LðplÞP LðphÞg. ð6Þ

3.3. Cruciality index

Cruciality index bij of an activity (i, j) is the correlation coefficient between the activity duration time andthe project completion time [32,33]:

bij ¼ jCorrðY ij; T N Þj ¼CovðY ij; T N Þffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

VarðY ijÞ � VarðT N Þp�����

�����. ð7Þ

M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808 799

The correlation coefficient between an activity duration time and the project completion time demon-strates their linear relationship; the nearer to j±1j, the stronger is their linear relationship. On the otherhand, it represents the direct effect of activity�s variance on project�s variance [9,26].

4. Resource-constrained scheduling model in stochastic networks and the main idea of the algorithm

According to the notation, the resource-constrained scheduling model in stochastic networks is definedas follows:

Minij f ðEðT ðGÞ=F ijÞ;VarðT ðGÞ=F ijÞÞs.t.: R�kðt=F ijÞ 6 Rk;

1 6 k 6 K 8 t P 0.

ð8Þ

The problem is to determine the values of Fij in order to minimize a function of the expected projectduration and its variance. The set of constraints in this model shows that at each decision point t, the max-imum required amount of resource k is equal or less than its available amount. On one hand, variousauthors considered the decrease in the expected project duration as the most urgent problem, especiallyfor resource-constrained project scheduling in stochastic networks [11,12]. On the other hand, Williams[33] suggested minimizing the project�s variance as the main goal. Therefore, the above concepts are inte-grated in the newly proposed objective function as the multiplication of the expected project duration andits variance. The resulting model is as follows:

Minij EðT ðGÞ=F ijÞ � VarðT ðGÞ=F ijÞs.t.: R�kðt=F ijÞ 6 Rk;

1 6 k 6 K 8t P 0.

ð9Þ

Model (9) is a stochastic optimization model which cannot be solved in the general case due to its intrac-tability [11,12]; hence, only a heuristic solution can be applied. The basic idea of the heuristic solution is asfollows:

First the realization time of the last node of network (the completion time of project without consideringthe resource constraints) is determined. Then, backward pass scheduling is used to subordinate activitiesduration times to project completion time, the same as the critical chain approach. In this way, the project�steam concentration changes from their activity completion time to the project completion time or fromlocal optimum to global optimum. Next, the decision pointes are determined in order to feed the resourcesin. The decision point t is the time when an activity (i, j) reaches to its start point or all activities leavingnode j reach to their start point and their successor node Tj is realized. Therefore, the additional resourcesbecome available to supply other activities.

Lemma 1. The decision point is equal to t ¼MaxfF iqjq� liqjq : ðiq; jqÞ 2 A1g.

Proof. Suppose that A1 is the set of in-process activities (iq, jq) 2 A1: q = 1, 2, . . . , a. When one of activitiesin A1 reaches to its start point, the additional resources become available to supply other activities. Todetermine the decision point, the start time of these activities must be compared. The finish time of theseactivities is equal to the previous decision point which is known. The activities enter the resource profilewith their average time. Therefore, the start time of activities in A1 can be calculated as Siqjq

¼F iqjq� liqjq

. Based on the backward pass scheduling, the decision point will be the maximum of Siqjq.

800 M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808

If one or more activities (i1, j1), (i2, j2), . . . , (iq, jq), 1 6 q 6 b are ready to be operated at moment t andenough resources are available, the required resources are fed in and activities (iq, jq), 1 6 q 6 b begin to beoperated at that moment; F iqjq

¼ t; 1 6 q 6 b. If at least for one type resource (k), relationPbq¼1riqjqk > RkðtÞ holds, there is a lack of available resource k at moment t. So, a competition has to be

arranged among activities to choose a subset that will start to be operated at moment t. The competition isbased on the amount of contribution in reducing the objective function of relation (8). h

Definition 1. In order to select activities that have the maximum contribution in reducing the objectivefunction of the model (8), a function of average time, criticality and cruciality indices is implemented.

The objective function of the Golenko-Ginzburg and Gonik�s model [11] was to minimize the expectedproject duration. They used the multiplication of average time and criticality index of each activity to showits contribution in project�s realization. Williams [32,33] defined his objective as minimizing the projectvariance without presenting a model and suggested cruciality index as a measure to achieve his purpose.

In this model, the objective function is to minimize a function of expected project duration and itsvariance. Therefore, The following measure is defined:

nij ¼ f ðaij; bij; lijÞ. ð10Þ

Definition 2. Given the objective function of relation (9), nij will be obtained by multiplying the averagetime, criticality index and cruciality index.

The objective function of the model presented in this paper is the multiplication of expected projectduration and its variance. Golenko-Ginzburg and Gonik [11] implemented the multiplication of the averagetime and criticality probability of ready activities to solve the first part of the model (MinijE(T(G)/Sij)). Onthe other side, Williams [32,33] introduced cruciality index to solve the second part of the model(MinijVar(T(G)/Sij)). Since the expected project duration and its variance are always positive,(Var(T(G)) P 0 and E(T(G)) P 0), multiplication of average time, criticality index and cruciality indexof each activity must be used as a measure to solve the model. This result is clearly obtained by consideringthe principal that ‘‘to minimize a linear function of two positive amounts, each of them should beminimized’’. As a result:

nij ¼ aij � bij � lij. ð11Þ

Lemma 2. When the multiplication of average time, criticality and cruciality indices is implemented as a mea-

sure to minimize the expected project duration and its variance, the obtained project variance will be less than

Golenko-Ginzburg and Gonik�s method [11].

Proof. Suppose that two activities (i1, j1) and (i2, j2) are ready to be operated at moment t and both of themcan be supplied by the available resources, but not simultaneously. In Golenko-Ginzburg and Gonik�smethod [11], the resources are fed in, according to the following relations:

if ðli1j1� ai1j1

> li2j2� ai2j2

Þ ) Allocateði1; j1Þ. ð12Þif ðli2j2

� ai2j2> li1j1

� ai1j1Þ ) Allocateði2; j2Þ. ð13Þ

Suppose that the relation (12) holds, then the following cases can be considered for cruciality index:

1. bi1j1> bi2j2

.Selecting activity (i1, j1) leads to reduction in the expected project duration and also its variance.

2. bi1j1< bi2j2

.Two subcases can be considered as follows:

M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808 801

2.1. li1j1� ai1j1

� bi1j1> li2j2

� ai2j2� bi2j2

.Selecting activity (i1, j1) causes a reduction in the expected project duration. However, project var-iance will not be considered because of a large difference between li1j1

� ai1j1and li2j2

� ai2j2or a little

difference between bi1j1and bi2j2

.

2.2. li1j1� ai1j1

� bi1j1< li2j2

� ai2j2� bi2j2

.Selecting activity (i1, j1) reduces the expected project duration, but less the variance in comparisonwith selecting activity (i2, j2). Therefore, the importance of project variance is not taken intoaccount.

In this respect, when lij *aij *bij is used as a measure to minimize expected project duration and itsvariance, the obtained project variance is less than Golenko-Ginzburg and Gonik�s method [11]. h

Lemma 3. When the multiplication of the average time, criticality and cruciality index is used as a measure to

minimize the expected project duration and its variance, the obtained expected project duration will be less than

William�s method [32,33].

Proof. Suppose the above propounded situation. In William�s method [32,33], the resources are fed inaccording to the following relations:

if ðbi1j1> bi2j2

Þ ) Allocateði1; j1Þ; ð14Þif ðbi2j2

> bi1j1Þ ) Allocateði2; j2Þ. ð15Þ

Suppose that relation (14) holds, then the following cases can occur for the multiplication of the activityaverage time and its criticality index:

1. li1j1� ai1j1

> li2j2� ai2j2

.Selecting activity (i1, j1) leads to reduction in project variance and also its expected duration.

2. li1j1� ai1j1

< li2j2� ai2j2

.Two subcases can be considered as follows:2.1. li1j1

� ai1j1� bi1j1

> li2j2� ai2j2

� bi2j2.

Selecting activity (i1, j1) causes a reduction in the project variance. However, the expected projectduration will not be considered due to a little difference between li1j1

� ai1j1and li2j2

� ai2j2or a large

difference between bi1j1and bi2j2

.

2.2. li1j1� ai1j1

� bi1j1< li2j2

� ai2j2� bi2j2

.Selecting activity (i1, j1) leads to reduction in project variance, but has a less effect in reducing theexpected project duration than selecting activity (i2, j2). Therefore, the importance of the expectedproject duration is not taken into account.

Therefore, when lij * aij * bij is used as a measure to minimize the expected project duration and itsvariance, the obtained expected project duration is less than William�s method [32,33].

Note that at each decision point t, aij and bij are random values conditional upon our previous decisionand must be updated. To update aij and bij at each decision point t, simulation or other approximationmethods can be applied. In simulation methods, supplied activities are omitted from the network. In thispaper, they remain in network with a fixed duration time equal to their average time and affect the updatingprocess of the other activities. h

Lemma 4. If supplied activities remain in network with their average rime, a more accurate criticality index

will be resulted comparing to the simulation method.

802 M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808

Proof. Criticality probability of each activity can be defined as follows [4]:

ai1j1¼ PrðW i1j1

P V i1j1Þ :

W i1j1¼MaxfLðplÞg : pl 2 Li1j1

; V i1j1¼MaxfW i2j2

gi2j22Cj1;i1j1 6¼i2j2.

ð16Þ

Suppose that activity X is supplied by available resources and enter the network with a fixed duration timeequal to its average time. Let Li1j1

¼ ðpl; pm; pnÞ and suppose �Li1j1has a finite number of paths ph.

W i1j1¼MaxfLðplÞ; LðpmÞ; LðpnÞg : pl; pm; pn 2 Li1j1

; ð17Þ

V i1j1¼MaxfLðphÞg : ph 2 �Li1j1

; ð18Þ

ai1j1¼ PrðW i1j1

P V i1j1Þ ¼ PrðMaxfLðplÞ; LðpmÞ; LðpnÞgP MaxfLðphÞgÞ

¼ PrðLðplÞP LðphÞ : 8ph 2 �Li1j1; LðplÞP LðpmÞ; LðplÞP LðpnÞÞ

þ PrðLðpmÞP LðphÞ : 8ph 2 �Li1j1; LðpmÞ > LðplÞ; LðpmÞP LðpnÞÞ

þ PrðLðpnÞP LðphÞ : 8ph 2 �Li1j1; LðpnÞ > LðplÞ; LðpnÞ > LðpmÞÞ. ð19Þ

The following situations can be considered:

1. X 2 �Li1j1and X 62 Li1j1

.The length of path or paths in �Li1j1

which include activity X will be reduced. In one case, it only leads tochange in PrfMaxðLðphÞÞg : ph 2 �Li1j1

and not the maximum duration time of the path. So, the more theactivity duration time is reduced, the more the probability will increase.

PrðLðplÞP LðphÞÞ ¼X

t

PrðLðplÞ ¼ tÞ � PrðLðphÞ 6 tÞ. ð20Þ

Since in relation (20) t and Pr(L(pl) = t) are fixed amounts, the more Pr(L(ph) 6 t) is increased, the moreaccurate (near to primary approximation amount when all the activities are random variables) criticalityindex will be obtained. Therefore, if the activity�s duration time is considered equal to its average time,the more accurate criticality index will be acquired.The other case is when the reduction of length of path or paths in �Li1j1

which include the activity X leadsto reduction in maximum time of the path (MaxðLðphÞÞ : ph 2 �Lii1j1

). According to relation (20), whenMaxðLðphÞÞ : ph 2 �Li1j1

reduces, Pr(L(ph) 6 t) will augment comparing to the case in which all the activ-ities are random variable. Additionally, when t is larger than MaxðLðphÞÞ : ph 2 �Li1j1

, the amount ofPr(L(ph) 6 t) will be equal to 1. The more the time is decreased, or the more Pr(L(ph) 6 t) is augmented,the more the criticality index distances from its primary approximation. Consequently, as it was men-tioned above, more accurate criticality index will be obtained.

2. X 62 �Li1j1and X 2 Li1j1

.In this case, the time of path or paths in Li1j1

which include the X will be reduced and according to rela-tion (20), t and Pr(L(pl) = t) decrease. The more the time is decreased, the more the criticality index dis-tances from its primary approximation. Again the more accurate criticality index will be acquired.

3. X 2 �Li1j1and X 2 Li1j1

.This case includes both of the above cases. From one hand, t and Pr(L(pl) = t) reduce and from the otherhand, Pr(L(ph) 6 t) increases. Therefore, nothing can be concluded about the criticality index. But whenX is considered equal to its average time instead of zero, Pr(L(pl) = t) and Pr(L(ph) 6 t) will be nearer totheir primary approximation. Consequently, the resulted criticality index will be more accurate.The activities are considered equal to their average time according to Goldratt who suggested to use thecritical chain instead of critical path. Additionally, the average time EðY ijÞ ¼

Pna¼1Y iaja

� PrðY iajaÞ refers

M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808 803

to both the possible amount of times and their related probabilities. After updating indices for all thecompetitive activities at moment t, the optimal subset of ready activities supplied by available resourcesshould be selected. The objective is defined as maximizing the sum of nij = aij *bij *lij. h

Lemma 5. In order to minimize the multiplication of expected project duration and its variance, nij = aij *bij *lij must be maximized.

Proof. In this paper, a new policy on the basis of the maximum contribution in reducing expected projectduration and its variance is suggested. Therefore, for feeding the resources in, an activity which has thegreatest average time, the greatest probability to be on critical path and the greatest correlation coefficienttakes priority over others. As mentioned before, Golenko-Ginzburg and Gonik [11] suggested the maxi-mum multiplication of average time of an activity and its probability index to determine the activities whichhave the maximum contribution in reducing the expected project duration.

MinEðT ðGÞÞ ) Maxðaij � lijÞ. ð21Þ

Williams [32,33] suggested maximum cruciality index to determine the activities which have the maxi-mum contribution in reducing project variance.

MinVarðT ðGÞÞ ) MaxðbijÞ. ð22Þ

In the suggested model, a multiplication of average time, criticality index and crutiality index must be usedto determine the activities which have the maximum contribution in reducing the expected project durationand its variance.

MinEðT ðGÞÞ � VarðT ðGÞÞ )Maxðlij � aij � bijÞ. ð23Þ

To maximize the sum of defined measure over all ready activities, a zero-one integer programmingapproach is suggested which has been successfully used in similar resource scheduling problems [11]. Thismodel can be formulated as follows:

MaxðY iqjq ÞPb

q¼1

Y iqjq� liqjq

� aiqjq� biqjq

s.t.:Pb

q¼1

Y iqjq� riqjqk 6 RkðtÞ;

1 6 k 6 K;

Y iqjq¼ 1 if activity ðiq; jqÞ obtains the resources;

Y iqjq¼ 0 otherwise.

ð24Þ

Model (24) is a classical zero-one integer programming problem outlined in the field of operationsresearch [11]. Through solving the above model, all measures are considered to operate the activities whichhave the greatest effect on expected project duration and its variance first. The process of feeding-inresources will be repeated till reaching the first node. Then, the resource profile will be obtained in whichthe activities appear with their average time. In this state, the critical chain or chains and their distributionfunctions are determined according to the critical chain concept. In the next step, the most critical chainand its standard deviation are calculated on the basis of domination rules and criticality probability of eachchain. Finally, the project buffer which is a multiple of standard deviation is added to the end of the mostcritical chain in order to determine the project completion time. It must be mentioned that, the size of pro-ject buffer is determined according to the project manager�s idea about the reasonable risk of project. Fig. 2shows the general steps of this process. h

Yes

No

No

Yes

critic ties

Start

End

Determine the project completion time

Determine the most critical chain

Are all the activities supplied?

Feeding –in The determined activities

Determine an optimal subset of ready activities which have the maximumcontribution in reducing the expected project duration and its variance by

implementing the following measure: multiplication of average time, ality index and cruciality index of activi

Arrange a competition among ready activities to choose a subset of them

according to the following policy: maximum contribution in reducing the

expected project duration and its variance

All the ready activities are supplied

Are all the activities supplied?

Determine the available resources at decision point

Determine the readyactivities at decision point

Determine the decisionpoint in backward pass

Fig. 2. General steps of resource constrained project scheduling in stochastic networks using critical chain approach.

804 M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808

5. Evaluating the efficiency of the presented algorithm

As mentioned previously, few algorithms are presented in the area of resource-constrained project sched-uling in stochastic networks. Most of these algorithms are based on developing and carrying out severalpolicies to prioritize the activities which must be operated at decision points. In this paper, a new policy

M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808 805

is suggested via merging new and traditional methods of resource management. This algorithm takes pri-ority over other existing algorithms for the following reasons:

1. In this algorithm, the multiplication of average time, criticality index and cruciality index of readyactivities is used to choose an optimal subset of them. Therefore, at each decision point, activities whichhave the maximum contribution in reducing the expected project duration and its variance are suppliedfirst.

2. The activities are supplied by available resources in backward pass according to critical chain approach.In this way, the activity duration time is subordinated to project completion time and the concentrationof project�s team changes from the activity completion time to the project completion time or from localoptimum to global optimum.

3. Critical chain is determined instead of critical path, therefore the some causes for the project scheduleoverrun such as: considering the contingency in estimation, ‘‘Parkinson�s law’’ and ‘‘student syndrome’’are removed.

4. In contrast with critical chain approach which determines only one critical chain, the most critical chainis determined by the aid of domination rules. Additionally, the size of project buffer is calculated on thebasis of the average time and the standard deviation of the most critical chain. As a result, the accuracyof the mean project completion time and its buffer size is improved.

5. The activities supplied by resources remain in network with their average time and affect the process ofupdating the other activities� criticality and cruciality indices. As a result, more accurate values will beacquired in comparison with simulation methods which omit activities supplied by resources.

6. The model�s objective is to minimize the multiplication of expected project duration and its variance.Therefore, the less expected project duration and variance will be obtained respectively in comparisonwith Williams�s method and Golenko-Ginzburg and Gonik�s model.

6. Numerical results

In this section, the results of implementing the developed algorithm to eight problems are summarizedand compared with Golenko-Ginzburg and Gonik�s algorithm. Note that in order to compare and signifythe effect of the presented measure and remove the effect of other factors, the same method (approximationmethod) is implemented instead of simulation to compute and update the criticality indices.

In order to calculate the above values, sub-routines are written in the Visual Basic 6 language on aPentium III PC with 128 MB RAM. According to Table 1, all results are improved in comparison withGolenko-Ginzburg and Gonik�s algorithm. The results are just compared to Golenko-Ginzburg andGonik�s algorithm, because no other algorithm exists in this area. Each problem is solved in five followingcases and the total computation times are reported:

• Backward pass resource feeding-in, according to Golenko-Ginzburg and Gonik�s measure.• Forward pass resource feeding-in, according to Golenko-Ginzburg and Gonik�s measure.• Backward pass resource feeding-in, according to developed measure.• Forward pass resource feeding-in, according to developed measure.• Critical chain resource feeding-in method.

According to the results, the following remarkable points are concluded:

1. Less variance is resulted in comparison with Golenko-Ginzburg and Gonik�s algorithm, because ofimplementing the cruciality index.

Table 1The results of comparison between the developed algorithm and Golenko-Ginzburg and Gonik�s

Problemno.

Numberof nodes

Number ofactivities

Results ofGolenko-Ginzburgand Gonik algorithm

Result ofdevelopedalgorithm

Computationtime (hours)

The percentage ofimprovement

E(t) (%) Var(t) (%)

1 7 9 E(t) = 35.3645 E(t) = 31.1677 7.4 12 13Var(t) = 3.4407 Var(t) = 2.9863r(t) = 1.8549 r(t) = 1.7281

2 7 10 E(t) = 42.7407 E(t) = 33.3593 6.45 22 4Var(t) = 2.5239 Var(t) = 2.4422r(t) = 1.5887 r(t) = 1.5628

3 9 11 E(t) = 51.7529 E(t) = 44.5561 9.26 14 14Var(t) = 3.3509 Var(t) = 2.8966r(t) = 1.8305 r(t) = 1.7019

4 8 12 E(t) = 46.9496 E(t) = 37.9575 8.61 20 43Var(t) = 3.8052 Var(t) = 2.1670r(t) = 1.9507 r(t) = 1.4721

5 9 13 E(t) = 52.1079 E(t) = 40.9377 10.6 21 11Var(t) = 3.3279 Var(t) = 2.9782r(t) = 1.8243 r(t) = 1.7258

6 10 14 E(t) = 47.5356 E(t) = 35.3652 9.33 25 13Var(t) = 2.7030 Var(t) = 2.3534r(t) = 1.6441 r(t) = 1.5341

7 11 15 E(t) = 60.1400 E(t) = 42.3383 8.79 30 33Var(t) = 3.3437 Var(t) = 2.2487r(t) = 1.8286 r(t) = 1.4996

8 12 16 E(t) = 52.1605 E(t) = 42.5561 10.68 20 18Var(t) = 3.5372 Var(t) = 2.8966r(t) = 1.8807 r(t) = 1.7019

806 M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808

2. The more the activities supplied simultaneously at the end of project, the more difference between theexpected project duration in the proposed method and Golenko-Ginzburg and Gonik�s will appear.

3. In Comparison with critical chain method, this algorithm always provides the same or better results.4. Implementing the suggested measure in forward and backward pass scheduling demonstrates the better

results in backward pass scheduling.5. Both Golenko-Ginzburg and Gonik�s measure and the suggested measure are examined in backward

pass scheduling. But the better results are obtained from the suggested measure.6. The more the number of activities, the better are the results.7. In comparison with Golenko-Ginzburg and Gonik algorithm, much less mean project completion time is

resulted even when the project buffer is added. In addition, this algorithm always provides better resultsthan Williams�s according to Bowers [2], ‘‘the criticality index always creates less average time in com-parison with cruciality index’’.

7. Real case results

In order to validate the results in real case problems, two real projects are scheduled according to devel-oped algorithm. The first project is the first phase of constructing a power station which consists of 86 activ-ities. The second real case survey is a part of an oil platform construction which has 103 activities. Activities

Table 2The real case results of comparison between the developed algorithm and Golenko-Ginzburg and Gonik�s

Problemno.

Numberof nodes

Number ofactivities

Results ofGolenko-Ginzburgand Gonik algorithm

Result ofdevelopedalgorithm

Computationtime (hours)

The percentage ofimprovement

E(t) (%) Var(t) (%)

1 55 86 E(t) = 334.3267 E(t) = 294.2075 4.32 12 18Var(t) = 18.0173 Var(t) = 14.7742r(t) = 4.2447 r(t) = 3.8437

2 72 103 E(t) = 402.4146 E(t) = 338.0283 5.45 16 11Var(t) = 21.5789 Var(t) = 19.2052r(t) = 4.6453 r(t) = 4.3824

M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808 807

duration times which were presented in three times estimation (pessimistic, most likely and optimistic) areconverted to a Beta distribution function. These two problems are solved in the following cases:

• Backward pass resource feeding-in according to Golenko-Ginzburg and Gonik�s measure.• Backward pass resource feeding-in according to developed measure.

The obtained results are figured in Table 2.As it can be observed, both expected project duration and variance are improved in comparison with

Golenko-Ginzburg and Gonik�s measure.

8. Conclusions

This paper presents a newly developed resource-constrained project scheduling method in stochastic net-works via merging the critical chain concepts and traditional resource-constrained project scheduling meth-ods. The model�s objective is to minimize the multiplication of the expected project duration and itsvariance. Since the developed model is a stochastic optimization model which cannot be solved in the gen-eral case, this paper suggests a heuristic algorithm. In this algorithm, ready activities at each decision pointare supplied by available resources on the basis of assigned priority level. These priority levels are the activ-ities contribution in reducing the expected project duration and its variance. Therefore, the activities withthe greatest probability to be on the critical chain and the greatest correlation with the project variance arefed-in first.

Furthermore, according to the critical chain concept, in order to emphasize on project completion timeinstead of activity completion time, backward pass scheduling is implemented. In this respect, the concen-tration is changed from local optimum to global optimum. In addition, critical chain is determined insteadof critical path, therefore some causes of schedule overrun such as considering the contingency in estima-tion, ‘‘Parkinson�s law’’ and ‘‘student syndrome’’ are removed. Also, in order to prevent creating a lowerbound for the mean project completion time, the most critical chain is determined and its standard devia-tion is added to project completion time as the project buffer.

The results demonstrate the reduction in the mean project completion time and its variance. Addition-ally, determining the project buffer according to project manager�s idea decreases the risk of project.

References

[1] V.G. Adlakha, V.G. Kulkarni, A classified bibliography of research on stochastic PERT networks: 1966–1987, Infor 27 (3) (1989)272–296.

808 M. Rabbani et al. / European Journal of Operational Research 176 (2007) 794–808

[2] J. Bowers, Identifying critical activities in stochastic resource-constrained networks, OMEGA 24 (1) (1996) 37–46.[3] S.C. Cook, Applying critical chain to improve the management of uncertainty in project, MS thesis, Massachusetts�s Institute of

Technology, USA, 1998.[4] B.M. Dodin, S.E. Elmaghreby, Approximation the criticality indices of the activity in PERT networks, Management Science 31

(2) (1985) 207–233.[5] B.M. Dodin, Approximating the distribution function in stochastic networks, Computers and Operations Research 12 (3) (1985)

251–264.[6] B.M. Dodin, Determining the K most critical paths in PERT networks, Operations Research 32 (4) (1984) 859–877.[7] S.E. Elmaghreby, On the expected duration of PERT type networks, Management Science 13 (5) (1967) 299–306.[8] D.L. Fisher, W.M. Goldstein, Stochastic PERT network as a model of cognition: Derivation of mean variance, and distribution of

reaction time using order of processing (OP) diagram, Journal of Mathematical Psychology 27 (1983) 121–151.[9] J.E. Freund, R.E. Walpole, Mathematical Statistics, third ed., Prentice Hall, 1980.

[10] D.R. Fulkerson, Expected critical path length in PERT networks, Journal of Operational Research Society 10 (6) (1962) 808–817.[11] D. Golenko-Ginzburg, A. Gonik, Stochastic network project scheduling with non-consumable limited resources, International

Journal of Production Economics 48 (1) (1997) 29–37.[12] D. Golenko-Ginzburg, A. Gonik, A heuristic for network project scheduling with random activity durations depending on the

resource allocation, International Journal of Production Economics 55 (2) (1998) 149–162.[13] D. Golenko-Ginzburg, On the distribution of activity time in PERT, Journal of Operational Research Society 39 (8) (1988) 767–

771.[14] W. Herroelen, R. Leus, On the merits and pitfalls of critical chain scheduling, Journal of Operation Management 19 (5) (2001)

559–577.[15] G. Igelmund, F.J. Radermacher, Preselective strategies for the optimization of the stochastic project networks under resource

constrains, Networks 13 (1) (1983) 1–28.[16] G. Igelmund, F.J. Radermacher, Algorithmic approaches to preselective strategies for stochastic scheduling problems, Networks

13 (1) (1983) 29–48.[17] L.P. Leach, Critical Chain Project Management, Artech House Professional Development Library, London, 2000.[18] M.M. Lotfi Mohammad Abadi, A new approximation method to calculate the project completion distribution function, MS

thesis, Department of Industrial Engineering, Tehran University, 2002.[19] D.G. Malcom, J.H. Roseboom, C.E. Clark, W. Fazar, Application of a technique for research and development program

evaluation, Journal of Operational Research Society 7 (5) (1959) 646–669.[20] R.H. Mohring, F.J. Radermacher, G. Weiss, Stochastic scheduling problems 1—general strategies, Journal of Operational

Research 28 (1984) 193–260.[21] R.H. Mohring, F.J. Radermacher, G. Weiss, Stochastic scheduling problems 2—general strategies, Journal of Operational

Research 29 (1) (1985) 65–104.[22] R.H. Mohring, F. Stork, Linear preselective policies for stochastic project scheduling, Technical Report, Technical University of

Berlin, Germany, 1998.[23] F.S. Patrick, Project management turning many projects into few priorities with TOC, National Project Management Institute

Symposium, Philadelphia, USA, 1999.[24] G. Rand, Critical chain: The theory of constraints applied to project management, International Journal of Project Management

18 (3) (2000) 173–177.[25] D. Reinhardt, Scheduling related IT project failure & critical chain project management as a potential solution, Literary Review,

Department of Information system University of Cape Town, South Africa, 1999.[26] S. Ross, A First Course in Probability, fourth ed., Macmillan, 1994.[27] R. Slowinski, J. Weglarz, Advances in Project Scheduling, Elsevier Science Publishers, Amsterdam, 1989.[28] H. Steyn, Project management application of the theory of constraints beyond critical chain scheduling, International Journal of

Project Management 20 (1) (2002) 75–80.[29] H. Steyn, An investigation into the fundamentals of critical chain project scheduling, International Journal of Project

Management 19 (6) (2000) 363–369.[30] F. Stork, A branch and bound algorithm for minimizing expected makespan in stochastic project networks with resource

constraints, Technical Report, Technical University of Berlin, Germany, 1998.[31] C. Wei, P. Liu, Y. Tsai, Resource-constrained project management using enhanced theory of constraints, International Journal of

Project Management 20 (7) (2002) 561–567.[32] T.M. Williams, Criticality in stochastic networks, Journal of Operational Research Society 43 (4) (1992) 353–357.[33] T.M. Williams, Risk management: What is critical, International Journal of Project Management 11 (4) (1993) 197–200.[34] T.M. Williams, Practical use of distribution in network analysis, Journal of Operational Research Society 43 (3) (1992) 265–270.