Introduction

Today, multi-project scheduling which considers all projects of organization as one system and therefore sharing limited resources among multiple projects is mostly noticed, whereas up to 90% of organizations handle the projects in a multi-project environment (Payne 1995). On the other hand, for better management, in some organizations, the project-zoriented approach is primarily adopted and the operations of the organization are dependently executed on projects.

In the literature of multi-project scheduling, multi-project resource constrained scheduling problem (MPRCSP) in static and deterministic conditions is a major topic of most researches. Generally, two approaches for analyzing MPRCSP exist. One approach by linking all projects of organization synthetically together into a large single project, analyzes MPRCSP, while the other approach by considering the projects as independent component and also resources constraints, proposes an objective function that contains all projects (possibly appropriately weighted) for analyzing MPRCSP.

Wiest (1967) and Pritsker et al. (1969) were the first pioneering researchers in studying MPRCSP who presented, respectively, a zero–one programming approach and a heuristic model for analyzing this problem. Then Kurtulus and Davis (1982) and Kurtulus and Narula (1985), by employing the priority rules and describing measures, studied the MPRCSP. Moreover, some investigations have been concentrated on MPRCSP by applying multi-objective and multi-criteria approaches; for example, Chen (1994) proposed the zero–one goal programming model in MPRCSP for the maintenance of mineral processing, and Lova et al. (2000) analyzed MPRCSP with applying a lexicographically two criteria. Also recently, Kanagasabapathi et al. (2009) by defining performance measures and considering maximum tardiness and mean tardiness of projects studied the MPRCSP in a static environment.

On the other hand, some researchers such as Tsubakitani and Deckro (1990), Lova and Tormos (2001), Kumanan et al. (2006), Goncalves et al. (2008), Ying et al. (2009), and Chen and Shahandashti (2009) proposed heuristic and metaheuristic algorithms for solving MPRCSP. Kruger and Scholl (2008) extended the MPRCSP by considering transfer times and its cost.

In all of the mentioned investigations, MPRCSP has been analyzed in static and deterministic environment, while a few studies have been concentrated on multi-project scheduling under uncertainty conditions. Fatemi-Ghomi and Ashjari (2002) by considering a multi-channel queuing introduced a simulation model for multi-project resource allocation with stochastic activity durations. Nozick et al. (2004) also presented a nonlinear mixed-integer programming model to optimally allocate the resources, while the probability distribution of activity duration and allocated resources depend on together. Moreover, event-driven approach and Critical Chain Project Management (CCPM) approach were proposed for overcoming uncertainty in multi-project system by Kao et al. (2006) and Byali and Kannan (2008), respectively.

Normally, greater resource allocation will incur a greater expense; therefore, we have a trade-off between the time to complete an activity and its cost (a function of the assigned resource). When the task duration is a linear function of the allocated resource, we have the linear time–cost trade-off problem which was analyzed by Fulkerson (1961). The nonlinear case of the time–cost trade-off problem was studied by Elmaghraby and Salem (1982, 1984) and Elmaghraby (1993, 1996). Moreover, Elmaghraby and Morgan (2007) presented a fast method for optimizing resource allocation in a single-stage stochastic activity network.

Clearly, multi-project scheduling is more elaborate than single-project scheduling. On the other hand, in some organizations, not only the task durations are uncertain, but also new projects dynamically enter to the organization over the time horizon. In such conditions, the organization is faced with a multi-project system in which the scheduling procedure would be more elaborate than before. Adler et al. (1995) studied such multi-project system by considering the organization as a ‘stochastic processing network’ and using simulation. They assumed that the organization is comprised of a collection of ‘service stations’ (work stations) or ‘resources’, where several types (classes) of projects exist in a system and one or more identical parallel servers can be settled in each service station. Therefore, such multi-project system, denominated as Dynamic PERT Network, can be considered as a queuing network and is attractive for organizations having the same projects, for example, maintenance projects.

Anavi-Isakow and Golany (2003) by applying simulation study used the concept of CONWIP (constant work-in-process) in multi-class dynamic Project Evaluation and Review Technique (PERT) networks. They described two control mechanisms, constant number of projects in process (CONPIP) and constant time of projects in process (CONTIP), namely, CONPIP mechanism restricts the number of projects, while CONTIP mechanism limits the total processing time by all the projects that are active in the system.

In addition, Cohen et al. (2005, 2007) by using cross entropy, based on simulation, investigated the resource allocation problem in multi-class dynamic PERT networks, where the resources can work in parallel. Indeed, the number of resources allocated and servers in each service station are equal (e.g., mechanical work station with mechanics, electrical work station with electricians), and the total number of resources in the system also is constant.

On the other hand, Azaron and Tavakkoli-Moghaddam (2007) proposed an analytical multi-objective model to optimally control consumable resources allocated to the activities in a dynamic PERT network, where only one type of project exists in the system and the number of servers in every service station is either 1 or infinity. They assumed that the activity durations are exponentially distributed random variables, resources allocated affect the mean of service times, and the new projects are generated according to a Poisson process. A risk element was considered in a dynamic PERT network by Li and Wang (2009) who, by using general project risk element transmission theory, proposed a multi-objective risk-time–cost trade-off problem. Recently, Azaron et al. (2011) introduced an algorithm in computing optimal constant lead time for each particular project in a repetitive (dynamic) PERT network by minimizing the average aggregate cost per project.

In practice, due to various projects' requirements, most organizations execute the projects from several classes, where new projects from different classes arrive to the system dynamically over the time horizon and service stations that stochastically serve to projects. In such conditions, organization is encountered with multi-class dynamic PERT networks, while projects from different classes differ in their precedence networks, the mean of their service time in every service station, and also their arrival rates.

Reviewing the above-mentioned investigations indicated that the multi-class dynamic PERT network has been studied only using simulation. As the main contribution of this paper, we present a heuristic method for the consumable resource allocation problem (or time–cost trade-off problem) in multi-class dynamic PERT networks. Note that the resource allocation problem in multi-class dynamic PERT networks is a generalization of the resource allocation problem in dynamic PERT network, investigated by Azaron and Tavakkoli-Moghaddam (2007) by considering only one type (class) of projects in multi-project system.

In this paper, it is assumed that the new projects from different classes, including all their activities, are entered to the system according to independent Poisson processes with different arrival rates and each activity of any project is executed at a devoted service station settled in a node of the network based on first come, first served (FCFS) discipline. Moreover, the number of servers in every service station is either 1 or infinity, while the service times (activity durations) are independent random variables with exponential distributions. Indeed, each project arrives to the first service station and continues its routing according to precedence network of its class.

For determining the resources allocated to the service stations, the multi-class system is decomposed into several single-class dynamic PERT networks, whereas each class is considered separately as a minisystem. For modeling of a single-class dynamic PERT network, we use Markov process and a multi-objective model, investigated by Azaron and Tavakkoli-Moghaddam (2007), namely, we first convert the network of queues into a stochastic network. Then, by constructing a proper finite-state absorbing continuous-time Markov model, a system of differential equations is created. Moreover, we apply a multi-objective model containing four conflicted objectives to optimally control the consumable resources allocated to service stations in the single-class dynamic PERT network and further employ the goal attainment method to solve a discrete-time approximation of the primary multi-objective problem. Finally, after obtaining the resources allocated to service stations in every minisystem, the final resources allocated to servers are calculated by the proposed method.

This paper is composed of five sections. The remainder is organized as follows. In ‘Single class dynamic PERT networks,’ we model the single-class dynamic PERT network by employing a finite-state continuous-time Markov process and apply a multi-objective model to optimally control the consumable resources allocated to service stations in a single-class dynamic PERT network. In ‘Consumable resource allocation in multi-class dynamic PERT networks,’ a heuristic model is proposed for consumable resources allocated in the multi-class dynamic PERT networks. We solve an example in ‘An illustrative case’ section and conclusion is given in ‘Conclusions.’

Single-class dynamic PERT networks

In this section, we represent a multi-objective model to optimally control the consumable resources allocated to the service stations investigated by Azaron and Tavakkoli-Moghaddam (2007). For this purpose, we first explain an analytical method to compute the distribution function of project completion time and then we describe a multi-objective model in single-class dynamic PERT network.

It is assumed that a project is represented as an activity-on-node (AoN) graph, and also the new projects, including all their activities, are arrived to the system according to a Poisson process with the rate of λ. Moreover, each activity of a project is executed in a devoted service station settled in a node of the network based on FCFS discipline.

Such system can be considered as a network of queues, where the service times represent the durations of the corresponding activities. It is also assumed that the number of servers in each service station to be either one or infinity, while the service times (activity durations) are independent random variables with exponential distributions.

Project completion time distribution

For presenting an analytical method to compute the distribution function for single-class dynamic PERT network, the method of Kulkarni and Adlakha (1986) will be used because this method presents an analytical, simple, and easy approach to implement on a computer and a computationally stable algorithm to evaluate the distribution function of the project completion time. This method models PERT network with independent and exponentially distributed activity durations by continuous-time Markov chains with upper triangular generator matrices. The special structure of the chain allows us to develop very simple algorithms for the exact analysis of the network.

It is assumed that the service time in service station a is exponentially distributed with the rate of μ a , where the arrival stream of projects to each service station is according to a Poisson process with the rate of λ. Moreover, the number of server in node a is either one or infinity and therefore the node a treats as an M/M/1 or M/M/∞ model. The main steps of method to determine a finite-state absorbing continuous-time Markov process to computing the distribution function in single-class dynamic PERT network are as follows:

Step 1. Compute the density function of the sojourn time (waiting time plus activity duration) in each service station.

Step 1.1. If there is one server in service station a, then the queuing system would be M/M/1, and the density function of time spent in the service station a would be exponentially expressed with parameter μ a  − λ a (μ a  ≻ λ) a ; therefore, w a (t) is calculated as follows:

w a t = μ a λ . e μ a λ t t 0
(1)

Step 1.2. If there are infinite servers in service station a, then the queuing system would be M/M/∞, and the density function of time spent in the service station a would be exponentially expressed with parameter μ a ; therefore, w a (t) is calculated as follows:

w a t = μ a . e μ a t t 0
(2)

Step 2. Transform the single-class dynamic PERT network, represented as an AoN graph, to a classic PERT network represented as an activity-on-arc (AoA) graph.

When considering AoN graph, substitute each node with a stochastic arc (activity) whose length is equal to the sojourn time in the corresponding queuing system. For this purpose, node a in the AoN graph is replaced with a stochastic activity. Assume that b1,b2,…,b n are the incoming arcs to node a and d1,d2,…,d m are the outgoing arcs from it in the queuing network. Then, node a is substituted by activity (v,w), whose length is equal to the activity duration a. Furthermore, all arcs b1,b2,…,b n terminate to node v while all arcs d1,d2,…,d m originate from node w [for more details, see Azaron and Modarres (2005 )].

Step 3. Calculate the distribution function of the project completion time (longest path time) in the AoA obtained in step 2, while activity durations are distributed exponentially. For the computation of longest path time distribution in AoA, the method of Kulkarni and Adlakha (1986) is applied.

Let G = (V, A) be the PERT network, obtained in step 2, with a single source and a single sink, in which V represents the set of nodes and A represents the set of arcs of the stochastic network (AoA). Let s and t be the source and sink nodes, respectively, and length of arc a ϵ A be a random variable that exponentially distributed with parameter γ a . For a ϵ A, the starting node and the ending node of arc a are denoted as α(a) and β(a), respectively.

Definition 1. Let I(v) be the set of arcs ending at node v and O(v) be the set of arcs starting at node v, which are defined as follows:

I v = a A : β a = v v V ,
(3)
O v = a A : α a = v v V .
(4)

Definition 2. For XV such that sX and tX = VX, an (s,t) cut is defined as follows:

X , X _ = a A : α a X , β a X _ .
(5)

An (s,t) cut X , X _ is denominated a uniformly directed cut (UDC), if X , X _ = Ø , i.e., there are no two arcs in the cut belonging to the same path in the project network. Each UDC is clearly a set of arcs, in which the starting node of each arc belongs to X and the ending node of that arc belongs to X _ .

Example 1. Consider the stochastic network shown in Figure 1 taken from Azaron and Tavakkoli-Moghaddam (2007). According to the definition, the UDCs of this network are (1,2); (2,3); (1,4,6); (3,4,6); and (5,6).

Definition 3. (E,F), subsets of A, is defined as admissible 2-partition of a UDC D if D = EF and EF = φ, and also I(β(a)) ⊄ F for any aF.

Again consider Example 1 that (1,4,6) is one of the UDCs. For example, this cut can be decomposed into E = {1, 6} and F = {4}. In this case, the cut is an admissible 2-partition because I(β(4)) = {3, 4} ⊄ F. Furthermore, if E = {6} and F = {1, 4}, then the cut is not an admissible 2-partition because I(β(1)) = {1} ⊂ F = {1, 4}

Definition 4. Along the projects execution at time t, each activity can be in one and only one of the active, dormant or idle states, which are defined as follows:

  1. (i)

    Active. An activity a is active at time t, if it is being performed at time t.

  2. (ii)

    Dormant. An activity a is called dormant at time t, if it has completed but there is at least one unfinished activity in I(β(a)) at time t.

  3. (iii)

    Idle. An activity a is denominated idle at time t, if it is neither active nor dormant at time t.

Figure 1
figure 1

Example 1.

In addition, Y(t) and Z(t) are defined as follows:

Y t = a A , a is active at time t ,
(6)
Z t = a A , a is dormant at time t ,
(7)

and X(t) = (Y(t), Z(t)).

A UDC is divided into E and F that contain active and dormant activities, respectively. All admissible 2-partition cuts of network of Figure 1 are presented in Table 1.

Table 1 All admissible 2-partition cuts of the example network

The set of all admissible 2-partition cuts of the network is defined as S and also S _ = S ϕ , ϕ . Note that X(t) = (ø,ø) presents that the all activities are idle at time t and therefore the project is finished by time t. It is demonstrated that {X(t), t ≥ 0} is a finite-state absorbing continuous-time Markov process (for more details, see Kulkarni and Adlakha (1986)).

If activity a terminates with the rate of γ a , and I(β(a)) ⊄ F ∪ {a}, namely, there is at least one unfinished activity in I(β(a)), then E′ = E − {a}, F′ = F ∪ {a}. Furthermore, if by terminating activity a, all activities in I(β(a)) become idle (I(β(a)) ⊂ F ∪ {a}), then E′ = (E − {a}) ∪ O(β(a)), F′ = F − I(β(a)). Namely, all activities in I(β(a)) will become idle and also the successor activities of this activity, O(β(a)), will become active. Therefore, the components of the infinitesimal generator matrix denoted by Q = [q{(E, F), (E′, F′)}], where (E,F) and E , F S _ are obtained as follows:

q E , F , E , F = γ a if : a E , I ( β a ) F a , E = E a , F = F a γ a if : a E , I ( β a ) F a , E = ( E a ) O ( β ( a ) ) , F = F I ( β ( a ) ) a E γ a if : E = E , F = F 0 otherwise .
(8)

A continuous-time Markov process, {X(t), t ≥ 0}, is with finite-state space S _ and since q{(ø,ø),(ø,ø)} = 0, the project is completed. In this Markov process, all of states except X(t) = (ø,ø) that is the absorbing state are transient. Furthermore, the states in S _ should be numbered such that this Q matrix be an upper triangular one. It is assumed that the states are numbered as 1 , 2 , , N = S _ such that X(t) = (O(s), ø) and X(t) = (ø,ø) are state 1 (initial state) and state N (absorbing state), respectively.

Let T be the length of the longest path or the project completion time in the PERT network, obtained in step 2. Obviously, T = min{t ≥ 0 : X(t) = N|X(0) = 1 }.

Chapman-Kolmogorov backward equations can be used to calculate F(t) = P(T ≤ t). If it is defined

P i t = P X t = N X 0 = i i = 1 , 2 , , N ,
(9)

then F(t) = P1(t).

The system of linear differential equations for the vector P t = P 1 t P 2 t .... P N t T is presented by

P t = dP t dt = Q . P t P 0 = 0 0 .... 1 T ,
(10)

where P′(t) and Q represent the derivation of the state vector P(t) and the infinitesimal generator matrix of the stochastic process {X(t), t ≥ 0}, respectively.

Multi-objective consumable resource allocation

In this section, we apply a multi-objective model to optimally control the consumable resources allocated to the service stations in a single-class dynamic PERT network, representing as a network of queues, where we allocate more resources to service station and where the mean service time will be decreased and the direct cost of service station per period will be increased. This means the mean service time in each service station is a non-increasing function and the direct cost of each service station per period is a non-decreasing function of the amount of resource allocated to it, i.e., the total direct costs of service station per period and the mean project completion time are dependent together and an appropriate trade-off between them is required. Also, the variance of the project completion time should be accounted in the model because the mean and the variance are two complementary concepts. The last objective that should be considered is the probability that the project completion time does not exceed a certain threshold for on-time delivery performance.

Let x a be the resource allocated in service station a (aA); also, d a (x a ) represents the direct cost of service station a (aA) per period in the PERT network, obtained in ‘Project completion time distribution’ section step 2, while it is assumed to be a non-decreasing function of amount of resources x a allocated to it. Thus, the project direct cost (PDC) would be PDC = ∑ a ∈ Ad a (x a ). Also, the mean service time in the service station a, g a (x a ), is assumed to be a non-increasing function of the amount of resource x a allocated to it that would be equal to

g a x a = 1 μ a a A
(11)

Let U a be the maximum amount of resource available to be allocated to the activity a (aA), L a be the minimum amount of resource needed to execute the activity a, x = [x a  : a ∈ A]T, and J be the amount that represents the resource available to be allocated to all of activities. Moreover, we define u as a threshold time that project completion time does not exceed it. In practice, d a (x a ) and g a (x a ) can be obtained by employing linear regression based on the previous similar activities or applying the judgments of experts in this area.

Therefore, the objective functions are given by the following:

  1. 1.

    Minimizing the project direct cost per period

    Min f 1 x = a A d a x a
    (12)
  2. 2.

    Minimizing the mean of project completion time (P 1(t) is the density function of project completion time)

    Min f 2 x = E T = 0 1 P 1 t dt = 0 t P 1 t dt
    (13)
  3. 3.

    Minimizing the variance of project completion time

    Min f 3 x = Var T = 0 t 2 P 1 t dt 0 t P 1 t dt 2
    (14)
  4. 4.

    Maximizing the probability that the project completion time does not exceed a certain threshold

    Max f 4 x = P 1 u = P T u
    (15)

The infinitesimal generator matrix Q would be a function of the control vector μ = [μ a :aA]T (x = [x a :aA]T). Therefore, the nonlinear dynamic model is

P t = Q μ . P t
P i 0 = 0 i = 1 , 2 , , N 1 P N t = 1
(16)

Let B and C be the set of arcs in the PERT network, obtained in ‘Project completion time distribution’ section step 2 that there are, respectively, one server and infinite servers settled on the corresponding service stations (A = BC). The next constraint should be satisfied to show the response in the steady-state:

μ a λ a B μ a 0 a C
(17)

In the mathematical programming, we do not use such constraints. Hence, ∃ε, following the establishment of constraint

μ a λ + ε a B μ a ε a C
(18)

Consequently, the appropriate multi-objective optimal control problem is

Min f 1 x = a A d a x a Min f 2 x = 0 t P 1 t dt Min f 3 x = 0 t 2 P 1 t dt 0 t P 1 t dt 2 Max f 4 x = P 1 u s . t : P t = Q μ . P t P i 0 = 0 i = 1 , 2 , , N 1 P N t = 1 g a x a = 1 μ a a A μ a λ + ε a B μ a ε a C x a L a a A x a U a a A a A x a J .
(19)

This stochastic programming is impossible to solve, therefore, based on the definition of integral thinking, we divide time interval into R equal portions with the length of ∆t. Indeed, we transform the differential equations into difference equations. Thus, the corresponding discrete state model can be given as follows (for more details see Azaron and Tavakkoli-Moghaddam, 2007):

Min f 2 x = r = 0 R 1 rΔt P 1 r + 1 P 1 r Min f 3 x = r = 0 R 1 rΔt 2 P 1 r + 1 P 1 r r = 0 R 1 rΔt P 1 r + 1 P 1 r 2 Max f 4 x = P 1 u Δt s . t : P r + 1 = P r + Q μ P r Δt r = 0 , 1 , 2 , , R 1 P i 0 = 0 i = 1 , 2 , , N 1 P N r = 1 r = 0 , 1 , , R P i r 1 i = 0 , 1 , , N 1 , r = 1 , 2 , , R g a x a = 1 μ a a A μ a λ + ε a B μ a ε a C x a L a a A x a U a a A a A x a J .
(20)

Goal attainment method

We now need to use a multi-objective method to solve (20), and we actually use goal attainment technique for this purpose. The goal attainment method needs to determine a goal, b j , and a weight, c j , for every objective, namely, the total project direct cost per period, the mean project completion time, the variance of project completion time, and the probability that the project completion time does not exceed a certain threshold. c j s represent the importance of objectives, whereas, if an objective has the smallest c j , then it will be the most important objective. c j s (j = 1,2,3) are commonly normalized such that j = 1 3 c j = 1 . Goal attainment method is actually a variation of goal programming method intending to minimize the maximum weighted deviation from the goals.

Since goal attainment method has a fewer variables to work with, compared to other simple and interactive multi-objective methods, it will be computationally faster and more suitable to solve our complex optimization problem. Therefore, the appropriate goal attainment formulation of the resource allocation problem is given by

Min z s . t : a A d a x a c 1 z b 1 r = 0 R 1 rΔt P 1 r + 1 P 1 r c 2 z b 2 r = 0 R 1 rΔt 2 P 1 r + 1 P 1 r r = 0 R 1 rΔt P 1 r + 1 P 1 r 2 c 3 z b 3 P 1 u Δt c 4 z b 4 P r + 1 = P r + Q μ P r Δt r = 0 , 1 , 2 , , R 1 P i 0 = 0 i = 1 , 2 , , N 1 P N r = 1 r = 0 , 1 , , R P i r 1 i = 0 , 1 , , N 1 , r = 1 , 2 , , R g a x a = 1 μ a a A μ a λ + ε a B μ a ε a C x a L a a A x a U a a A a A x a J
(21)

Consumable resource allocation in multi-class dynamic PERT networks

In practice, due to various projects' requirements, most organizations execute the projects from several classes, where new projects from different classes arrive to the system dynamically over the time horizon and service stations that stochastically serve to projects. In such conditions, organization is encountered with multi-class dynamic PERT networks, while projects from different classes differ in their precedence networks, the mean of their service time in every service station, and also their arrival rates.

In this section, we present a heuristic algorithm for consumable resource allocation problem in multi-class dynamic PERT networks, while this problem is a generalization of the resource allocation problem in dynamic PERT network, as investigated by Azaron and Tavakkoli-Moghaddam (2007) by considering only one type (class) of projects in multi-project system. For this purpose, it is assumed that we have K different classes from projects, where the new projects of class i (i = 1, …, K) arrive to system according to Poisson process with the rate of λ i , and the service times in service station a for the projects of class i are exponentially distributed with the rate of μ a i . On the basis of this algorithm, multi-class dynamic PERT networks problem is decomposed into K single-class dynamic PERT network problem, while each class is considered separately as a minisystem. In every minisystem i (i = 1, …, K), all projects from different classes are considered as class i with the arrival rate of λ = i = 1 K λ i . Then every minisystem is solved by using the steps found in the sections of ‘Single class dynamic PERT networks’ as a single-class dynamic PERT network problem.

Let G i = (V i ,A i ) be a directed stochastic network of class i (i = 1, …, K), in which V i represents the set of nodes and A i represents the set of arcs of the network in class i. Let s i and t i be the source and sink nodes in the AoA graph of class i, respectively. Let x a i represent the amount of resource to be allocated to the service station a (aA i ) in minisystem i, while all projects from different classes are considered as class i with the arrival rate of λ = i = 1 K λ i and x i = x a i : a A T , where A = i = 1 K A i . Then the resources allocated to service station a in minisystem i should be computed by the model represented in ‘Multi-objective consumable resource allocation’ section. Therefore, the resources allocated to service station a would be

x a = a A i λ i . x a i a A i λ i a A
(22)

Let x = [x a  : a ∈ A]T; therefore, the resources allocated to service stations are calculated as follows:

x = i = 1 K λ i λ x i
(23)

Moreover, Let zi represent the objective function of minisystem i using goal attainment formulation. Therefore, the objective function of multi-class system would be

z = i = 1 K λ i λ z i
(24)

Consequently, the proposed algorithm is as follows.

Proposed Algorithm:

Step 1. Convert the multi-class dynamic PERT networks problem into K single-class dynamic PERT network problem (minisystem). For this purpose, in every minisystem i, consider the all projects from different classes as class i with the arrival rate of λ = i = 1 K λ i .

Step 2. For every minisystem i, compute the resources allocated to service stations, xi = [x a i:aA]T, and objective function, zi, by the model represented in ‘Multi-objective consumable resource allocation’ section.

Step 3. Calculate the resources allocated to service stations, x = [x a :aA]T, by x = i = 1 K λ i λ x i and also obtain the objective function of multi-class system by z = i = 1 K λ i λ z i .

An illustrative case

In this section, to illustrate the proposed heuristic algorithm, we consider the three classes of projects depicted in Figure 2. The assumptions are as follows:

  • The system has three different classes of projects.

  • The new projects from different classes, including all their activities, are generated according to Poisson processes with the rates of λ1 = 2.5, λ2 = 1.5, λ3 = 1 per year.

  • The activity durations in service station a for the projects of class i (i = 1, 2, 3) are exponentially distributed. Table 2 shows the characteristics of the activities in different classes, where the time unit and the cost unit are, respectively, in year and in thousand dollars.

  • There are infinite servers in service station 3 and other stations have only one server settled in the nodes.

  • The capacity of the system is infinite.

  • The threshold time that the project completion time does not exceed it for every minisystem is 3.

  • The maximum amount of consumable resource available to be allocated to all service stations is J = 15.

  • In all experiments, the value of ε is equal 0.01.

  • The goals and the weights of objectives for goal attainment method in every class, are b1 = 25, b2 = 1, b3 = 0.25, b4 = 0.95 and c1 = 0.3, c2 = 0.1, c3 = 0.3, c4 = 0.3, respectively. Note that the goals and the weights of objectives for different classes can be different.

Figure 2
figure 2

The precedence relations for the three project types.

Table 2 Characteristics of the activities

In this example, three-class dynamic PERT networks problem is decomposed into three single-class dynamic PERT network problem, while each class is considered separately as a minisystem. In every minisystem i(i = 1,2,3), all projects from different classes are considered as class i with the arrival rate of λ = 5(=2.5 + 1.5 + 1). Then, every minisystem is solved as single-class dynamic PERT network problem by using the steps found in the sections of ‘Single class dynamic PERT networks.’

The objective is to obtain the resources allocated to the different activities by using proposed algorithm in ‘Consumable resource allocation in multi-class dynamic PERT networks’. For this purpose, the system states and transition rates for every minisystem are determined (depicted in Figure 3), where the states are showed in nodes and the rate diagrams are represented on arcs.

Figure 3
figure 3

The admissible 2-partition cuts and rate diagram for every single class in example.

We obtain the infinitesimal generator matrix Q(μ) for forming the corresponding discrete state model in every class. We consider the mentioned goals and weights and also the various combinations of R and ∆t. To do so, we employ LINGO 8 on a PC Pentium 4, CPU 3 GHz. The optimal allocated resources in every minisystem, the computational times, CT (mm/ss), and also the values of all objectives for the different combinations of R and ∆t, are shown in Table 3 for every minisystem. So based on proposed algorithm in ‘Consumable resource allocation in multi-class dynamic PERT networks’ section the allocated consumable resources are x 1 = 1.737 × 2.5 + 2.875 × 1.5 + 1 × 1 5 = 1.931 , x2 = 3.9797, x3 = 1.6626, x4 = 1.1976, x5 = 1.9224, and x6 = 4.3017 (z = 5.7993).

Table 3 The computational results

To illustrate the performance of proposed algorithm, we evaluate its results with a simulation method that randomly allocate the resources to service stations and simulate the multi-class dynamic PERT network through Mont Carlo simulation. Note that Fatemi Ghomi and Hashemin (1999) proposed conditional Monte Carlo simulation and crude Monte Carlo simulation to compute the network completion time distribution function. However, the simulation method will be as follows:

Simulation method:

Step 1. n=1

Step 2. Generate one initial solution x = [x a  : a ∈ A]T, randomly, where x a  ∈ [L a , U a ] and a A x a J

Step 3. Simulate the multi-class dynamic PERT network (Figure 2) according to the initial solution

Step 4. Calculate the objective function, z, for the initial solution

Step 5. Repeat

  • Generate a new solution, x new = x a new : a A T , randomly, where x a new L a , U a and a A x a J

  • Simulate the multi-class dynamic PERT network according to the new solution

  • Calculate the objective function, znew, for the new solution

  • Calculate Δz = znew − z

  • If ∆z≺0 then x = xnew, z = znew

  • n = n + 1

Until n ≥ N, where N is number of simulation run

Step 6. Present x and z

We set the number of simulation run to be N = 8,000. According to simulation method, the simulation results are x 1 sim = 2.178 , x 2 sim = 3.769 , x 3 sim = 2.025 , x 4 sim = 1.212 , x 5 sim = 2.064 , x 6 sim = 3.723 (zsim = 5.051). In Figure 4, a comparative analysis of our proposed model in ‘Consumable resource allocation in multi-class dynamic PERT networks,’ and simulation results for this example is presented. Based on this example, the objective function values obtained through both algorithms are close.

Figure 4
figure 4

Comparative analysis of our proposed model and simulation results.

Conclusions

In this article, we proposed a heuristic method for the consumable resource allocation problem (or time–cost trade off problem) in multi-class dynamic PERT networks. It was assumed that the new projects of different classes, including all their activities, are entered to the system according to an independent Poisson processes, and each activity of any project is executed at a devoted service station settled in a node of the network according to its class. The number of servers in every service station is either 1 or infinity, while the service times (activity durations) are independent random variables with exponential distributions. Indeed, each project arrives to the first service station and continues its routing according to its precedence network of corresponding class. Such system was considered as a queuing network, while the discipline of queues is first come, first served.

For determining the resources allocated to the service stations, the multi-class system was decomposed into several single-class dynamic PERT networks, whereas each class was considered separately as a minisystem. For modeling of single-class dynamic PERT network, we used Markov process and a multi-objective model, investigated by Azaron and Tavakkoli-Moghaddam (2007), namely, we first converted the network of queues into a stochastic network. Then, by constructing a proper finite-state absorbing continuous-time Markov model, a system of differential equations was created. Next, we applied a multi-objective model containing four conflicted objectives to optimally control the resources allocated to service stations in single-class dynamic PERT network and further used the goal attainment method to solve a discrete-time approximation of the primary multi-objective problem. Finally, after obtaining the resources allocated to service stations in every minisystem, the final resources allocated to servers were calculated by proposed algorithm.

In multi-objective model, the total project direct cost was considered as an objective to be minimized and the mean project completion time, as another effective objective, should also be accounted that to be minimized. The variance of the project completion time was another effective objective in the model because the mean and the variance are two complementary concepts. The probability that the project completion time does not exceed a certain threshold was considered as the last objective.

For obtaining the best optimal allocated consumable resource in single-class dynamic PERT network, we considered the various combinations of portions for specific time interval. Based on the presented example, If the length of every portion is decreased, the accuracy of solution is increased, i.e., the value of objective is decreased and the computational time, CT, is also increased.

Authors' information

SY is an Assistant Professor of Industrial Engineering at Iran University of Science and Technology (IUST), Tehran, Iran. His current research interests include stochastic processes and their applications, project scheduling and supply chains. He has contributed articles to different international journals, such as European Journal of Operational Research, International Journal of System Science, Iranian Journal of Science & Technology, and International Journal of Advanced Manufacturing Technology. SN is the Associate Professor of Industrial Engineering Department in IUST since October 1990. The teaching experiences are mainly in project management, human resource management, and engineering economics. MMM also is the Assistant Professor of Industrial Engineering Department in IUST. His research interests include performance measurement systems, inventory planning, and control and strategic planning.