Abstract

The determination of the critical path (CP) in stochastic networks is difficult. It is partly due to the randomness of path durations and partly due to the probability issue of the selection of the critical path in the network. What we are confronted with is not only the complexity among random variables but also the problem of path dependence of the network. Besides, we found that CP is not necessarily the longest (or shortest) path in the network, which was a conventional assumption in use. The Program Evaluation and Review Technique (PERT) and Critical Path Index (CPI) approaches are not able to deal with this problem efficiently. In this study, we give a new definition on the CP in stochastic network and propose a modified label-correcting tracing algorithm (M-LCTA) to solve it. Based on the numerical results, compared with Monte Carlo simulation (MCS), the proposed approach can accurately determine the CP in stochastic networks.

1. Introduction

The CP does not only help managers in making decision for optimal resource allocation but also help in doing network sensitivity analysis. Although the conventional critical path method (CPM) can be used to solve CP very easily [1], CPM does not work properly in stochastic networks due to the reason that the durations of activities and paths are all random variables. The values of random variables are in the form of probability, which lets the selection of CP become very difficult to solve (refer to [2, 3]). The well-known and popular PERT model did not solve it as well according to [4]. In other cases, some papers use the method of CPI, where [5] is the early one involved, [6, 7] used “crude MCS” and “conditional MCS” methods to simulate CPI, and [811] approximated CPI through complex mathematical analysis. No matter what the results of the above approaches are, the CP is not any more the path that has the most important priority to accept the rare allocated resources in the network. This will be explained later in this study. Besides, none of the above papers can efficiently afford big-size network which is an important issue in practical applications.

For approximating the critical path duration, we find that [12, 13] have just only aimed at the mean of duration for the shortest path (SP) instead of procuring the values of probability distribution. Moreover, [1416] have applied the way of simplifying the stochastic network into a deterministic network before solving the SP. In other cases, the MCS was suggested and [17] used the discrete Markov chain to deal with SP.

Most of the above studies are either too simple or gotten with the heavy calculations. Further, [18] has indicated that the CP will be more complex by taking path dependency into consideration. In this study, we have also found that the CP is not necessarily the longest (or shortest) path in the stochastic network, as what the project managers suppose in ordinary. In this study, the CP is redefined as follows.

Definition 1. The CP should have dominated the completion time of the network.

Definition 2. The duration perturbation of activities included in CP would be more sensitive to the change of completion time than that of other activities.

A new approach of the modified M-LCTA with the revised stochastic dominance operation (RSDO) is developed in this study, where the detailed descriptions will be given in the following sections. The rest of this paper is organized as follows. Section 2 discusses how difficult it is to solve the CP in stochastic networks. Section 3 provides detailed explanations for M-LCTA and RSDO. Section 4 demonstrates the proposed algorithm via two examples. Section 5 gives further numerical experiments of various large sized network instances to illustrate the feasibility of the proposed approach for CP. Finally, the concluding remarks are presented in Section 6.

2. The Difficulty of Solving Critical Path in Stochastic Network

The CP of stochastic network is not as instinctive and easy as using CPM in deterministic network for the sake of five reasons listed as follows.(a)For solving CP, it has to approximate all completion paths’ durations in the network.(b)In general, the selection of the CP depends on the sorting of all the network completion paths. The sorting has to be executed through the max or min operations among the probability distribution functions (PDF) of path durations, instead of comparing the paths’ mean value of duration (such as PERT model).(c)There is a bias between the results of PERT model and max or min operations among random variables. In this study, the bias is named as the longest path bias (LPB) or the shortest path bias (SPB) in respect to the max or min operations. They have to be considered during the network analysis.(d)The path dependence caused by the shared subpath in the network generates a bias, too. It is rarely noticed and no solutions have been found yet in the present paper.(e)As mentioned in the above section, each completion path could have the probability to be CP in stochastic network. Therefore, it needs to have a criterion for comparing the probability values of all completion paths and to select one of them as CP.

According to the above reasons, there are more detailed explanations presented in the following subsections.

2.1. The Approximation of Path Duration

In the network, the realization of path duration time is conducted through series of convolution and max operations (or min operations) over the nodes in the network. By taking node (), that is, as an example, the calculations are represented as follows: where the symbol denotes the convolution operation and denotes the probability value of the internal function. is the th incident path of node (), is the precedence nodes set of node (), and and denote the PDF of and , respectively. It is well known that the estimation of the PDF for the completion time of a project is a nonpolynomial hard problem (please, see [3] for further reference).

Over the past double decades, Dodin’s research [20] was a rare one which can afford a feasible algorithm, denoted as Dodin algorithm (DA), to solve network completion time and has been applied to big-size network. DA used the discretization technique to “discretize” the PDF of each node’s duration in the network first; it then executed the convolution and max operations consecutively on nodes so as to delete the LPB problem. Finally DA approximates the PDF of the network completion time. By taking Figure 1 as an example, the iterative steps of the DA are as follows:

Though DA provides an elegantly simple and intuitively appealing procedure for dealing with the realization times of paths in stochastic network, there are still two shortages. First, there exists neither an exact data structure nor implementation scheme for the computer programming. Second, an approximated error may arise from assuming independence between subpaths in the activity network; such a bias will be getting larger when increasing the network size [19].

2.2. The Sorting among Network Paths

In the stochastic network, all the completion paths could have their probabilities to be selected as the CP. Therefore, one has to offer a criterion to judge and select the highest probability of completion paths to be the CP from all the paths. Dodin algorithm [20] has suggested the stochastic dominance operation (SDO) for two random variables’ comparison. By taking variables and as examples, if dominates (represented as ), it means that has a greater possibility than to be the longest path or the shortest path in the network. Their equation relations are represented as follows: The SDO just operates for only two variables, because of the problem of the variables transitivity. It means that if we have and , it does not necessarily imply . In this study, transitivity problem will be solved by the proposed modified SDO in the following section.

2.3. The Longest Path Bias and Shortest Path Bias

Let represent totally incident paths of node () and the output duration of node (). According to the PERT model, is secured as and calculated by picking the largest mean value of paths , where . But in mathematical realization, the real mean value of should be calculated as , where the max operation is executed among all incident paths . is usually greater than and their deviation is named as the longest path bias (LPB).

2.4. The Bias of Path Dependency among Subpaths

The paths in a stochastic network are not necessarily independent, since they usually share activities with each other. This may also cause significant bias in approximation of network completion time. However, most studies did not consider such factor in their approaches. In Figure 2(a), the paths and are assumed to be independent with each other; then we have , , , , , and . With the above numerical calculations, the expected duration of is solved as which is different from the result simulated out of MCS within 20,000 samples (the result of MCS could be taken as the nearly real solution). The above deviation is caused by the shared subpath between the paths and . We named it as the shared activity bias (SAB) in this study.

For further comprehension of the causes of SAB, from Figure 2(b), and are shared paths, where , , and . From the view of DA, subpaths and are treated as two individual subpaths in the network. The max operation executed on node (7) will cause extra LPB from subpath , since the duration variance of the shared path is double-counted by subpath in the max operation. It brings more to the overlapping domain of variable distribution between subpaths and .

2.5. A New Criterion for CP Judgment

The PERT model and the method of CPI do not properly determine the CP in stochastic network. Taking Figure 3 as an example, there are three completion paths represented as , , and . The durations of activities are assumed as exponential distribution where their expected values are shown in the graph of Figure 3.

By using the PERT model, is taken as the CP since its expected path duration is 12 which is greater than those of the other paths. Accordingly, the expected completion time of network is calculated as 12, too. On the other hand, the authors use MCS within 20000 samples to simulate the CPI of all paths that indicate the possibilities of how the path can become the critical path of the network. The results are as follows: , , and . From the results of MCS, the path is still to be taken as the CP due to its highest CPI value. But, the completion time of MCS is simulated as , which is different from the result of PERT. For further comprehension of above deviation, the authors check the expected output of node (6) simulated as and , which is greater than the expected output value of path . Obviously, the above result has shown that the network completion time is not dominated by path but by a two-pair path, and , which is named as incidence path clusters (IPC) in this study, even though the path has the highest CPI value.

From above experiment results, it seems that we should need a new criterion to judge CP in stochastic network. The CP does not only have to do with the variables sorting, LPB (or SPB) and SAB in stochastic network but also need to develop an implementation algorithm so as to efficiently execute all the max and convolution operations of nodes in the network.

3. The Proposed Algorithm for Critical Path in a Stochastic Network

A new proposed algorithm named as the modified M-LCTA is developed for CP in stochastic network. The label-correcting tracing algorithm (LCTA) is originally developed for approximating the completion time of stochastic network [19]. In this study, it is added with a RSDO for executing the paths sorting, so as to solve the CP.

LCTA can efficiently get rid of the LPB, SPB, and SAB that are mentioned in the last section during the approximation, something that no other approaches can deal with properly. There are more detailed explanations and many practical experiments for comparing various methods with LCTA in [19]. Due to space limitations, the comparisons are abridged in this paper.

3.1. The Expanded-Tree Structure and Node Data Structure

The M-LCTA has to first transfer the physical network into a tree structure named as expanded-tree structure (ETS) according to the connected relation between the nodes in the network. Each node in the network has a unique index number where node (1) represents the start node and node () represents the terminal node (there are a total number of nodes in the network). Figure 4 is an example of the ETS.

M-LCTA has to visit each node in sequence and commit calculations; the generated results during the processes have to be saved in a specified data structure in the nodes of ETS. For the objective of this research, the structure of node () includes the contents as follows:: index number of node ();: set of precedent nodes of node ();: the realization time of output of node ();: visited flag of node () where it is initially set as 0; when node () has been visited, it will be set as 1;: visited-flag set of incident paths of node () where all are initially set as 0; when the th incident path of node () has finished its time realization, the corresponding position of will be set as 1;: for each incidence path of node (), it includes a sequence of nodes from node (1) to node (); the realization time of incidence paths will be saved in .

3.2. The Two Tracing Procedures in M-LCTA

When applying the M-LCTA, the authors employ two tracing procedures, namely, Upward_Tracing (last_node, current_node) and Downward_Tracing (current_node), where the current_node is the node currently visited in the tracking process and the last_node is the precedent node visited in the current process. These two procedures are listed as shown in Algorithm 1.

Downward_Tracing (current_node)
i = current_node;
while ( has not been calculated) do
if ( )
   ;
   ;
   ;
  perform Upward_Tracing( k,i );
Else
  if ( ?)
    ;
    ;
    ;
    ;
   perform Upward_Tracing( k, i );
  Else
   push_stack(i);
    ;
  End
End
End
Upward_ Tracing ( last_node, current_node )
;
;
while ( not been calculated) do
if (Has node(k) been visited?)
   ; // an constant mean
   ;
Else
;
;
End
if ( )
   ;
     or ;
   ;
   ;
   ;
Else
   ;
  perform Downward_Tracing( i );
End
End

Initially, the M-LCTA executes Downward_Tracing() and starts tracing from the terminal node (). Then, it goes downward until it reaches node (1). It, then, traces upward and starts node-visiting and calculations. The labels of visited node are put into stack where data access follows the rule of First In/First Out (FIFO). Labels recording and reading are denoted as push_stack() and pull_stack() in the procedures, respectively. The stack is used for recording the path-track of visited nodes by which the tracing procedures can judge and find their ways to the nodes they have not visited yet.

M-LCTA can sequentially visit each node in the network. According to the post-order tracing algorithm (POTA) rule, “before visiting the node (), it has to confirm that all the child nodes of node () have been visited. The visits of child nodes should be in sequence following the left-to-right direction.”

Using Figure 1 as an example, we first change the network into a tree-structure and the sequence for visiting the nodes is shown in Figure 5. The tracing procedures start from terminal node (4), and, through recursive executions of downward and upward procedures, the visiting sequence of M-LCTA is shown in blue arrow line. Finally, it stops and backs to terminal node (4).

3.3. The Function of Eliminating Shared Activity Bias

Shared_flag is a Boolean variable in both tracing procedures for identifying shared activities between paths in the network. During the implementation of the M-LCTA, the Upward_Tracing procedure first checks the value of the Shared_flag for the current node. If the current node has been previously visited and its realization time has been obtained, the Shared_flag will be set as 1 by the Downward_Tracing procedure. Using the values of the Shared_flag, procedures can find all of the activities shared by the subpaths in the network. Once the shared activities have been found, the SAB can be eliminated by applying a heuristic to “correct” the computations in the max operation; the PDF of the redundant shared activities is replaced with the value of their mean (which is a fixed constant) in the Upward_Tracing procedure. For more details of the SAB, one could refer to the experiments in [19].

3.4. The Function of Finding the Critical Path

The operation of RSDO in the algorithms is responsible for sorting the sequence order of paths. It is executed in M-LCTA during the node visiting. The processes are described below.

In the Upward_Tracing procedure, if all the child nodes of the current node node () have been visited, node () will execute the RSDO and max (or min operation) operations among its incidence paths as follows:(a) of node () is to rearrange the child-node position of node () according to the results of . The highest value of child node will be put on the extreme right side of child-node position.(b) or , is executed for the shortest path or the longest path, respectively. These calculations can release SPB or LPB in the approximation. The result is saved in the of node ().(c)Otherwise, the tracing procedures will execute to accumulate the incidence path of node () and save in the of node (). Then it goes back in the Downward_Tracing procedure.

The executions of max (or min) operation and convolution in M-LCTA apply techniques of discretization. M-LCTA first needs to replace the continuous PDF of with its discretized version using the approach of Chebychev sampling points [21]. The discretized PDF is represented by an ordered vector as: where and are the values of the sample point of and its corresponding probability, respectively, and m is the total number of sample points. Equations (1) executed in the algorithm are all calculated in the form of discretization (see details in [19]).

Through the iterative executions of the Downward_Tracing and Upward_Tracing procedures, the M-LCTA will finally visit all the nodes and stop at the terminal node node (). Meanwhile, all incidence paths of nodes have rearranged their position sequence of child node according to the sorting operation of RSDO in the procedures, so that the CP can be found.

3.5. The Revised Stochastic Dominance Operator (RSDO)

RSDO is different from Dodin’s SDO in solving the transitivity problem [15]. The RSDO determines the sorting order of random variables through matrix operations. First, it has to construct an pairwise comparison matrix (PCM), represented as for stochastic variables and shown in where and is the ideal-sorting ratio within variables. The sorting order of variables could be judged by the values of . If all variables fulfill the characteristics of transitivity, each pair of variables should follow the equation below: In the case of (5), the matrix is called the consistency matrix and the can be directly calculated as follows: The and could be solved as the eigenvalue and eigenvector of , respectively. In other cases, if any one of the elements in does not fulfill the condition of (5), cannot be taken as the solution. The eigenvalue of would be changed to and the eigenvector is used as the approximation of .

By referring to (3) and (5), the element of the PCM could be calculated between variables and , , where Therefore, PCM can be represented as , From (9), the lower triangle of does not fulfill the pattern of (6). It leads not to be represented as the sorting ratio of . Therefore, needs to be regulated before calculating its eigenvalue and eigenvector. The elements of are regulated as below: The regulation will not ruin the sorting ratio of , since it just changes the complementary relations (refer to (8)) into the proportional relations of variables. After the regulation, is changed to and is represented as follows: The eigenvalue of is calculated as the sorting sequence ratio of incidence paths.

By taking Figure 6 as an example, node () executes RSDO on four incidence paths .

According to (8), we calculate stochastic dominate probability value (SDPV) for each incidence path , where we have By referring to (10), we have as The eigenvalue of is calculated as which is close to , the eigenvector is calculated as the (0.617, 0.224, 0.097, 0.062) which is the sorting ratio of incidence paths. According to the and sorting rule of M-LCTA, the should be put on the extreme right side of child-node position, where we have a sequence order of .

To represent the M-LCTA procedure scheme conveniently, we define the above operation as to show the execution of RSDO on the node () and produce the sorting result from its incidence paths.

4. Demonstrative Examples

By taking the network of Figure 7 as the demonstrative example, there are a total of 9 nodes and all the activity durations are assumed to be exponential distributions where their duration means are shown in the figure.

There are three completion paths included: , , and where the path is taken as the shortest path from the viewpoint of the PERT model. In another method, MCS within 20,000 samples is used to simulate the same network (MCS result could be taken as the nearly real solution) and the result is different from that of PERT. This shows obviously that PERT cannot solve CP correctly in stochastic network.

Let us apply our method to the same example. It has to transfer the network into a tree structure first, as shown in Figure 8. M-LCTA starts the Downward_Tracing (9) at node (9). Downward_Tracing and Upward_Tracing procedures are executed iteratively with each other. Finally, it calculates the expected completion time as from node (9), which is very close to the simulated result of the MCS.

During the executions, and are performed at node (8). We find that the two incidence paths have to swap their child-node position because of the sorting result of the RSDO. The modified M-LCTA finally stops at node (9) and executes and . The result of the shows that the incidence paths need not to change their child-node position at node (9). After the repositioning of all incident paths in the network, Figure 8 gives the final result. The path is selected as the critical path, which lays on the extreme right side of the tree.

Finding the longest path is the same as above, except that the min operator is replaced by the max operator at node (8) and node (9).

From the above experiments, it is noticed that the completion time of network is actually dominated by one of IPC of terminal node, instead of the result of PERT model or the highest CPI. The domination on the network completion time should be the key characteristic for CP, so as to let CP be the right target for project managers to allocate the resources.

5. Numerical Experiments

This section will verify the efficiency and accuracy of our proposed approach on various sizes of stochastic networks, especially the larger ones. The first part of network instances is generated from [22], where there are a total of 14 instance networks and the activity number ranges from 3 to 76. All activities durations are also assumed to have exponential distribution. Their parameters, information, and experimental results are shown in the appendix.

The second part is a network of 100 nodes and 135 activities generated by [19]. It was designed by following the rules of [23], where the network complexity factor was set to 2.0. For each node, the incidence path number was randomly determined from a range of [1, 2] and the PDF was determined randomly from normal, exponential, or uniform distribution. The correspondent parameters of PDF were also randomly selected within the range of [2, 16]. Figure 9 shows its detailed structure and experiment results as follows.

The shortest path:

.

The longest path:

.

Since the simulated results of MCS are close to the real solution (please, refer to [7, 20]), the authors employ the MCS within 20,000 samples as the benchmark and simulate all the network instances twice: one for the longest path and the other for the shortest path. The MCS simulations focus on checking the accuracy of RSDO results and the output duration of each node in the networks. After completing all experiments, we have excellent performances that the experiment networks are all matching the results of MCS. Beyond that, the efficiency of proposed method is also extraordinarily superior to that of MCS (see Table 1). According to the network of 100 nodes, MCS requires 1840.6 seconds to complete the simulation, while our method takes only 0.31 seconds.

6. Conclusions

Since activity duration and path duration are both random variables, the methods employed for deterministic networks cannot be used in this study. In addition, the popular PERT model and CPI method do not work either, since they ignore the effects of the LPB, SPB, and SAB which have to be considered in the stochastic networks. That is why we modify the LCTA of [19] by adding the revised stochastic dominance operation (RSDO) in this research and employ it to solve CP in stochastic networks. In the experiments of this study, we have various sizes of instance networks from [19, 22], where the activity numbers ranged from 3 to 135. According to the experimental results, they all comply with the simulation results of the MCS within 20,000 samples. Beyond that, the efficiency of the proposed method is extraordinarily great. As shown in Table 1, it is almost 780 times faster than that of MCS in average. Therefore, according to the overall performance, we confirmed that the proposed algorithm in this study is an excellent tool for solving CP in stochastic networks.

In addition, this study has also proved and pointed out that the CP generated from traditional methods (i.e., PERT or CPI methods) is not necessarily the key path in the network. The CP should follow the spirit of Definitions 1 and 2, which is “the critical path of stochastic network should be highest influence of dominating the network completion time.” With the above assertion, it could help the project managers to keep off allocating the precious resources into null and void activities in the network and that would also be the main contribution in this study.

Appendix

Network 1: see Table 2.Network 2: see Table 3.Network 3: see Table 4.Network 4: see Table 5.Network 5: see Table 6.Network 6: see Table 7.Network 7: see Table 8.Network 8: see Table 9.Network 9: see Table 10.Network 10: see Table 11.Network 11: see Table 12.Network 12: see Table 13.Network 13: see Table 14.Network 14: see Table 15.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgment

This research was supported in part by the National Science Council of Taiwan, under the Grant no. NSC 102-2221-E-270-005.