Introduction

In many real world projects, the occurrence of activities and their durations are stochastic. This is why these projects are formulated as a stochastic network ([Pritsker and Happ 1966]). On the other hand, the completion of projects on time has a significant effect on its cost, revenue, and usefulness. Therefore, the main objective of project managers is to avoid any delay. To achieve this goal, consuming extra resources can shorten the duration of each individual activity.

To the best of our knowledge, many recent researchers apply heuristic and simulation methods to solve the constrained resource allocation in ASNs. Constrained resource allocation in ASNs is dependent on the estimation of completion time of networks. Analytical methods for this subject have been introduced in ([Pritsker and Happ 1966]; [Pritsker and Whitehouse 1966, 1969]; []Pritsker 1966; [Whitehouse 1973]). Furthermore, simulation methods have also been introduced in [Whitehouse (1973)]. Efficient Monte Carlo simulation methods to estimate ASN characteristics such as project time, and project cost have been proposed in [Kurihara and Nishiuchi (2002]). An algorithm to fulfill the equivalent simplifying transformations of the structure of ASN has been described in ([Shibanov 2003]). A two-level decision-making model to control stochastic projects has been proposed in [Golenko-Ginzburg (1993]). [Golenko-Ginzburg et al. (1996]) have developed a hierarchical three-level decision-making model. These levels are upper level (company level), medium level (project level), and subnetwork level. The main goal has been to develop a unified three-level decision-making model and to indicate planning and control action and optimization problems for all levels. When the constrained resources are nonconsumable, [Golenko-Ginzburg and Gonik (1997]), using a zero–one integer programming, have maximized the total contribution of accepted activities to the expected project duration. The contribution of each activity is the product of the average duration of the activity and its probability of being on the critical path. A new heuristic control algorithm for stochastic network projects has been presented in [Golenko-Ginzburg and Gonik (1998a]). The developed control algorithm is essentially more efficient than the step-by-step control procedures. This algorithm has reduced computational time and has provided better solutions than the ones which would be attained using online sequential statistical analysis. [Golenko-Ginzburg and Gonik (1998b]) have developed a look over heuristic algorithm for allocation of resource-constrained in program evaluation and review technique type networks. Each activity is of random duration, depending on the resource amounts assigned to that activity. The aim has been to minimize the expected project duration. An optimization procedure to maximize the probability confidence for project due dates under budget constraints or to minimize the project budget under due dates chance constraints has been developed in [Golenko-Ginzburg et al. (2000]). The study of [Golenko-Ginzburg et al. (2003]) has presented a resource-constrained scheduling simulation model for alternative stochastic network projects when several renewable activity-related resources, such as machines and manpower, are imbedded in the model. Each type of resources is limited. The activity duration is a random variable with given density function. The aim of the problem is to minimize the expected project duration.

Up to now, because of the complexity of computations, only simulation and heuristic methods have been used to allocate the resources to ASN. Among our investigations, we have not found an analytical approach to the problem.

However, this paper proposes an analytical stochastic model based on multi-objective decision-making (MODM) model. This model has some advantages. First, this model, unlike previous researches, has no limitations related to the type of random variables of activity durations. Second, in the studied problem, the number of feasible allocations can be very great, especially in large scale networks. Evaluation of all allocations requires tedious computations. The proposed method prevents us from evaluating all of feasible solutions because of solving the problem in several stages (using MODM model). Furthermore, for solving the proposed model, simulation is combined with analytical method (conditional Monte Carlo simulation method). Also, one of the most accurate numerical methods (generalization of Gaussian quadrature formula) is applied for solving the model.

The paper has the following structure. The ‘Problem description’ section describes the problem. The ‘Analytical approach’ section introduces MODM model. Solving the MODM model is described in ‘Solving the MODM model’ section. ‘Example’ section gives a numerical example to demonstrate how the proposed method works. ‘Conclusion’ section is devoted to conclusions and recommendations for future studies.

The problem description

Suppose that a project is formulated as an ASN and has the following characteristics:

  1. 1.

    The network has a single source node and it can have one or more sink nodes.

  2. 2.

    The network contains only exclusive-or probabilistic nodes (nodes with exclusive-or receiver and exclusive-or emitter).

  3. 3.

    The network does not contain any loop.

  4. 4.

    Activity implementation requires only one kind of consumable (non-renewable) resource.

  5. 5.

    The amount of available resource is limited and deterministic.

  6. 6.

    The resource allocation for activities is performed discretely. In other words, the amount of resource allocated for each activity is limited to some specific levels.

  7. 7.

    The duration of network activities is arbitrary continuous random variable or they can have constant values.

  8. 8.

    Probability density function of activity durations is dependent on the amount of resource allocated to the activity and varies as this amount changes. By increasing the allocated resource to each activity, completion time will be shorter.

  9. 9.

    The due date of the project is constant and known value. We want the project completion time be smaller than or equal with the due date.

  10. 10.

    The objective is to allocate the total constrained resource among the activities such that the cumulative distribution function (CDF) of the project completion time is being maximized for the due date. Since by maximizing the CDF of the project completion time, we also maximize the probability of project completion on time.

Analytical approach

In this section we develop an analytical approach to allocate the resource among the activities of the projects. This analytical approach uses a multi-objective decision-making model. The following symbols introduce the necessary notations before MODM model is explained.

Notations

N  : Number of activities (arcs)

M  : Number of sink nodes

ni : Number of paths which start from source node and terminate in i-th sink node

F ij t  : CDF of j-th path which terminates in i-th sink node

P ij  : Occurrence probability of j-th path which terminates in i-th sink node

F i t  : CDF of occurrence time of i-th sink node, given that this node has occurred

p i  : Occurrence probability of i-th sink node when t +

P ¯ k  : Accomplishment probability of k-th activity, given that start node of this activity has occurred

P i t  : Occurrence probability of i-th sink node in t

S ij  : Activity set of j-th path which terminates in i-th sink node

t k  : Duration time random variable of k-th activity

S γ  : The set of activities of a path with preference γ

F γ t  : CDF of a path with preference γ

Z : Number of network paths

s l K  : The amount of resource allocated to k-th activity

T : Due date of project network

RS : The available amount of limited resource

v k  : Number of discrete values which indicates the amount of resource allocated to k-th activity

s l K  : The optimal amount of resource allocated to k-th activity

F γ T  : The optimal value of CDF of a path with preference γ in T

Q : The set of activities which the optimal amount of resource allocated to them is determined

f t r s l r , t r  : Probability density function of r-th activity completion time, when the allocated resource is s l r

t K , S l k  : Duration time random variable of k-th activity when allocated resource is s l k

F t  : CDF of network completion time

T γ : Completion time of a path with preference γ

F t r s l r , t r  : CDF of r-th activity when allocated resource is s l r

t K , S l k q  : Duration time of k-th activity in q-th simulation run when the allocated resource is s l k

Q ¯  : Number of simulation runs

A multi-objective decision-making model

Based on conditional probability, we can transform the above-mentioned ASN to the graphical evaluation and review technique networks with i = 1 M j = 1 n i 1 parallel paths. This transformation has been described in [Hashemin and Fatemi Ghomi (2005]). Based on the study, we can write:

F i t = j = 1 n i P ij F ij t j = 1 n i P ij i = 1 , 2 , , M
(1)

Where P ij = k S ij P ¯ k

For shorter times (when t is remarkably smaller than + ), we have

P i t = j = 1 n i P ij F ij t i = 1 , 2 , , M
(2)

and L i m t + P i t = P i is evident.

After the above transformation, we order the paths and their CDF on the basis of priority. The most probable path is the path with the highest priority.

This ordering is performed by a simple algorithm described in Appendix B. Ordered CDF of ASN paths are shown by F 1 t , , F Z T .

The proposed MODM model with Z objective function is as follows:

Max F 1 T , F 2 T , , F Z T s . t . K S ij s l k R S i = 1 , , M , j = 1 , n i s l K = s 1 , , s v K k = 1 , , N
(3)

The decision variables of this model are s l K , k = 1 , , N . One of the discrete values s 1 , s v K can be the value of these variables. Each objective function is the sum of some continuous random variables. Hence, the proposed model is a stochastic multi-objective model with discrete decision variables. Lexicographic method ([Hwang and Masud 1979]) is used to solve the model because the CDF of completion time of the path with the highest occurrence probability has the highest effectiveness in network completion time CDF. Furthermore, execution of lexicographic method is simple in practice because as each activity is realized, it becomes evident that some paths are unlikely to occur. Then, some paths will be eliminated and the network can be smaller. Consequently, the remaining resources will be allocated to this reduced network. This trend continues until the problem is solved. This process is introduced in the succeeding section.

Solving the MODM model

Let’s suppose that, before project implementation, the allocated resource to each activity should be predetermined. To determine each one of the objective functions of the model, it is required to determine the CDF of the sum of some random variables. [Fatemi Ghomi and Hashemin (1999]) have generalized the numerical integration with Gaussian quadrature formula to determine the CDF of completion time of stochastic networks.

The conditional Monte Carlo simulation to determine CDF of completion time of stochastic networks is presented in [Burt and Garman (1971]). Here, these two methods are converted and introduced in such a way that they would be compatible with requisitions and aims of the paper (see Appendix A). To solve the MODM model using lexicographic method, the following algorithm is devised.

Algorithm 1

Step1. Obtain the optimal solution of the following problem for γ = 1.

M a x F γ T s . t . k S γ s l K R S k S γ S W s l K R S k S w S γ min s l K W = γ + 1 , , Z k S γ s l K = s 1 , , s v K
(4)

Suppose the optimal values of s l K for k S γ are denoted by s l K . These values are obtained with computing F γ T for all feasible values s l K , k S γ and determining optimal value of F γ T , namely, F γ T . If for each k = 1, …, N, s l K has been determined, stop. Otherwise, set Q = S γ and go to step 2.

Step 2. Set γ γ + 1 and obtain the optimal solution of the following problem.

M a x F γ T s . t . s l K = s l K k Q k S γ Q S l K R S k S γ Q s l K k S γ S W Q s l K R S k S W S γ Q min s l K k S W Q s l K W = γ + 1 , , Z k S γ s l K = s 1 , , s v K
(5)

If for each k = 1 , , N , s l K , has been determined, stop. Otherwise, set Q Q S γ and repeat step 2.

Note that in step 2, if the amount of resource allocated to one activity is unknown, then this amount would be the greatest feasible number that satisfies the inequality s l K k S γ Q R S k S γ Q s l K . In other words, the optimal value can be found without the solution procedure being performed.

In all steps of the above algorithm, to find the optimal solution of problem, the objective function of problem is computed for all feasible values s l K using one of the introduced methods in Appendix A. Feasible values of s l K which maximize the objective function would be the optimal solution of the problem.

In some practical situations, it may not be necessary to determine the amount of resource allocated to each activity before the project is started. In other words, the constrained resource allocation and project implementation can be done simultaneously. In such situations, the gathered information resulting from the previous activities can be helpful in the resource allocation to the succeeding activities. The following algorithm is devised for such situations.

Algorithm 2

Step1.Since the network under study has a single source node and all network nodes are exclusive-or and probabilistic type, only one activity can be implemented in the beginning of project. Determine the amount of resource allocated to this activity using step 1 of algorithm described in ‘Analytical approach’ section. Start the implementation of this activity. When the end node of the activity occurs and if this node is one of the sink nodes of the network, stop. Otherwise, go to step 2.

Step 2.Set T ← T—implemented activity duration time and RS ← RS—the amount of consumed resource for implemented activity.

Among all activities emanating from the last realized node, determine the activity which must be realized and omit the other activities, and hence, the paths of network which have no possibility of occurrence. If T > 0, return to step 1. Otherwise, if (T ≤ 0), conclude that the project has not been completed in T.

Example

Consider the network in Figure 1. The amount of limited resource is 14 units (RS = 14) and the due date of project network is 9 units of time (T = 9).

Figure 1
figure 1

Network of example.

First, we suppose that before project implementation, the allocated resource to each activity should be predetermined.

Results and discussion

The duration times of activities 4, 5, and 7 are not random variables. They are constant values but dependent on the amount of resource allocated to the corresponding activities.

The duration times of remaining activities are continuous random variables and their probability density functions are dependent on the amount of resource allocated to them. Table 1 contains the information of the activities duration times.

Table 1 Information of activity durations for the example

Paths and their occurrence probabilities are

t 1 + t 3 + t 7 + t 9 P 21 = P ¯ 1 P ¯ 3 P ¯ 7 P ¯ 9 = 1 . 75 1 . 95 = . 7125 t 1 + t 2 + t 4 + t 5 + t 7 + t 9 P 22 = P ¯ 1 P ¯ 2 P ¯ 4 P ¯ 5 P ¯ 7 P ¯ 9 = 1 . 25 1 . 7 1 . 95 = . 16625 t 1 + t 2 + t 4 + t 6 P 11 = P ¯ 1 P ¯ 2 P ¯ 4 P ¯ 6 = 1 . 25 1 . 3 = .075 t 1 + t 3 + t 7 + t 8 P 12 = P ¯ 1 P ¯ 3 P ¯ 7 P ¯ 8 = 1 . 75 1 .05 = .0375 t 1 + t 2 + t 4 + t 5 + t 7 + t 8 P 13 = P ¯ 1 P ¯ 2 P ¯ 4 P ¯ 5 P ¯ 7 P ¯ 8 = 1 . 25 1 . 7 1 .05 = .00875 .
(6)

According to the preferences introduced in Appendix B, we have

S 1 = S 21 = 1 , 3 , 7 , 9 S 2 = S 22 = 1 , 2 , 4 , 5 , 7 , 9 S 3 = S 11 = 1 , 2 , 4 , 6 S 4 = S 12 = 1 , 3 , 7 , 8 S 5 = S 13 = 1 , 2 , 4 , 5 , 7 , 8 .
(7)

So, the transformed network can be illustrated as Figure 2.

Figure 2
figure 2

Transformed network of example.

The MODM model of problem would be as follows:

M a x F 1 9 , F 2 9 , F 3 9 , F 4 9 , F 5 9 s . t . k S 1 s l K 14 s l 1 = 4 , 5 s l 2 = 1 , 2 k S 2 s l K = 14 S l 3 = 5 , 6 S l 4 = 1 , 2 k S 3 S l K = 14 S l 5 = 1 , 2 k S 4 S l K 14 S l 6 = 5 , 6 S l 7 = 3 , 4 k S 5 S l K 14 S l 8 = 1 , 2 S l 9 = 1 , 2
(8)

In step 1, the problem should be solved in the following way:

M a x F 1 9 s . t . s l 1 + s l 3 + s l 7 + s l 9 14 s l 1 = 4 , 5 s l 1 + s l 7 + s l 9 11 s l 3 = 5 , 6 s l 1 7 s l 7 = 3 , 4 s l 1 + s l 3 + s l 7 13 s l 9 = 1 , 2 s l 1 + s l 7 10
(9)

The optimal solution of problem, using the generalized Gaussian quadrature formula introduced in Appendix A, is found as below:

Table 2

In step 2, γ = 2 and Q = S 1 = 1 , 3 , 7 , 9 , and the following problem should be solved.

M a x F 2 9 s . t . s l 1 = 4 , s l 3 = 6 , s l 7 = 3 , s l 9 = 1 s l 2 + s l 4 + s l 5 6 s l 2 = 1 , 2 s l 2 + s l 4 5 s l 4 = 1 , 2 s l 5 = 1 , 2
(10)

The optimal solution, using generalized Gaussian quadrature formula, is as follows:

Table 3

On path S 3 , only the amount of allocable resource to activity 6 has not been determined. Its optimal value will be s l 6 = 6 and F 3 9 = . 9823442 . On path S 4 , only the amount of allocable resource to activity 8 has not been determined. Its optimal value will be s l 8 = 1 and F 4 9 = . 9882507 .

Now, the amount of allocated resource to all activities S 5 has been determined and F [ 5 ] * 9 = . 7584068 .

Utilizing the formula 1 in the ‘A multi-objective decision-making model’ section, F1(9) and F2(9) would be:

F 1 9 = . 96801 F 2 9 = . 76454
(11)

Utilizing the formula 2 in ‘A multi-objective decisionmaking model’ section, P1(9) and P2(9) would be:

P 1 9 = . 11737 P 2 9 = . 67184
(12)

Finally, the network completion time distribution function for T = 9 can be computed as follows:

F 9 = P 1 F 1 9 + P 2 F 2 9 = P 1 9 + P 2 9 = . 78921
(13)

Now, suppose that, it may not be necessary to determine the amount of resource allocated to each activity before the project is started.

The algorithm 2 is described in one of the cases, which can happen for the example in the ‘Example’ section. In step 1, the amount of resource allocated to activity 1, as explained before, is 4 units.

Assume that activity 1 is implemented using 4 units of limited resource ( s l 1 = 4 ) and this activity is completed in 0.7 units of time and the end node of activity is realized. Since this latter node is not the sink node of network, we go to step 2.

In step 2, we set T = 9–0.7 = 8.3 and RS = 14–4 = 10. Assume that, among the activities emanating from the end node of activity 1, activity 2 has been realized. So, the activity 3 will never occur and the remaining network is as Figure 3.

Figure 3
figure 3

Remaining network in the first iteration of step 2 of algorithm 2 (first subnetwork).

Above results are as follows.

Table 4

With T = 8.3 and RS = 10, steps 1 and 2 of algorithm are repeated for subnetwork of Figure 3. Results are shown below.

Table 5

By omitting the implemented activity, the remaining network would be as Figure 4.

Figure 4
figure 4

Remaining network in the second iteration of step 2 of algorithm 2 (second subnetwork).

With T = 7 and RS = 9, steps 1 and 2 of algorithm are applied for the second subnetwork, results are shown as follows.

Table 6

Assume that, among the activities emanating from the end node of activity 4, activity 5 is realized. So, the activity 6 is not realized and the remaining network is as seen in Figure 5.

Figure 5
figure 5

Remaining network in the third iteration of step 2 of algorithm 2 (third subnetwork).

With T = 5 and RS = 7, the steps 1 and 2 of algorithm are repeated. For the third subnetwork, results are shown below.

Table 7

By omitting the implemented activity, the remaining network would be as Figure 6.

Figure 6
figure 6

Remaining network in the fourth iteration of step 2 of algorithm 2 (fourth subnetwork).

With T = 4 and RS = 5, the steps 1 and 2 of algorithm are repeated. For the fourth subnetwork, results are shown in the following way.

Table 8

One unit of limited resource remains for one of the realized activity which will be emanated from the end node of activity 7. If activity 8 is realized, the allocated resource will be s l 8 = 1 . Otherwise, the allocated resource will be s l 9 = 1 . In this approach, the allocation of limited resource is performed simultaneously with the project implementation, based on the last available information. In the given example, the allocation of resource was explained for the special cases that the path {1,2,4,5,7,8} or {1,2,4,5,7,9} was realized. For the other cases of path occurrences, the similar limited resource allocation can be performed.

Conclusions

The following conclusions can be made:

  1. 1.

    The proposed model, unlike previous researches, has no limitations related to the type of random variables of activity durations.

  2. 2.

    In the problem under study, the number of feasible allocations can be very great, especially in large scale networks. Evaluation of all of these allocations requires tedious computations. The proposed method of this paper prevents us from evaluating all of feasible solutions because of solving the problem in several stages (using MODM model).

  3. 3.

    In solving the example of paper, generalized Gaussian quadrature formula and conditional Monte Carlo simulation have been used, respectively. Both methods have desirable accuracy. But in comparison, generalized Gaussian quadrature formula is more accurate.

Recommendations

  1. 1.

    This paper utilizes the path occurrence probability as a criterion to determine path preference. If, in some networks, the sink nodes have some preferences to each other, this matter can be considered as a new criterion to determine path preference. This new criterion can be combined with the current criterion of this paper. This combination of criteria is recommended for future studies.

  2. 2.

    Other methods concerning the optimization of multi-objective problems can be studied to solve the current problem of this paper.

  3. 3.

    In this paper, proposed methods were designed to be applicable for alternative stochastic networks with exclusive-or, probabilistic nodes. Constrained resource allocation in ASN with other types of nodes is recommended as an area for future studies. In these networks, using a critical chain is suggested.

  4. 4.

    The solution procedure of this paper can be extended for the case where several types of limited resources are concerned.

  5. 5.

    Optimal resource allocation can be a very interesting subject to study, when some resources are of renewable types and some others are of non-renewable types.

  6. 6.

    In some networks, the allocation of limited resource to activities might be performed continuously. In this case, development of a method for optimal allocation of resource to the activities would be valuable.

  7. 7.

    It is evident that each combination of recommendations 1–6 can be utilized for future studies.

Appendix A

To compute the CDF completion time of path S γ = S ij we can write

T γ = k S γ t k , s l K
(14)
P ( T γ T ) = P ( k S γ t k , s l K T )
(15)

If r S γ , then P ( T γ T | t k , s l k , k S γ , k r )

= P ( t r , s l r T k S γ k r t k , s l K )
(16)

So, we can write F γ T | t k , s l K , k S γ , k r

= F t r ( s l r , T k S γ k r t k , s l K )
(17)

Based on the above equality, two algorithms, A and B, are developed to apply conditional Monte Carlo simulation and generalized Gaussian quadrature formula, respectively.

Algorithm A

Compute F γ T by using the following steps for all sets of feasible values s l K | k S γ . The set s l K | k S γ is feasible, if it satisfies the constraints of mathematical model of step1 or step 2 of algorithm 1. That set which provides the greatest value for F γ T , indicates the optimal allocation of limited resource to activities of path S γ .

Step 1. Set q=1.

Step 2. Set L γ = 0.

Step 3. For each k S γ , k r , generate random variables t k , s l k q .

Step 4. L γ L γ + F t r ( s l r , T k S γ k r t k , s l K q )

Step 5. Set q q + 1. If q Q ¯ , go to step 3. Otherwise, go to step 6.

Step 6. F γ T = L γ Q ¯

Algorithm B

Compute F γ T by using the following equality for all sets of feasible values s l K | k S γ . Here, the feasible set is defined the same as defined in algorithm A. That set which provides the greatest value for F γ T , indicates the optimal allocation of limited resource to the activities of path S γ .

F γ T = k S γ t k T F t r ( s l r , T k S γ k r t k ) k S γ k r f t k ( s l K , t k ) d t k
(18)

Except for special cases, the above analytical computation is not so much easy job. So, now application of Gaussian quandrature formula generalized for stochastic networks is being proposed by [Fatemi Ghomi and Hashemin (1999]).

Appendix B

The sets S [ 1 ] to S [ Z ] and functions F [ 1 ] t to F [ Z ] t are determined using the following steps.

Step 1. Set γ=1 and A = φ

Step 2. If P αβ = max P ij | i = 1 , , M , j = 1 , , n i A ,then S γ = S αβ and F γ t = F αβ t .

Step 3. If γ = Z , stop. Otherwise set γ γ + 1 and A A P αβ and return to step 2.

The aim of implementing the above steps is ordering the paths based on their criticality indices in descending manner.