Project Crashing Optimization Strategy with Risk Consideration

Read this article. The study develops a comprehensive evaluation strategy for project management. Section 2.1, Schedule Method-CPM/PERT, suggests that CPM does not consider risk or uncertainty. What would you add to a sensitivity analysis such that it could address risks or uncertainties?

Methodology

Model Description and Formulation

The most critical path is selected from Monte Carlo simulation, which corresponds to the path with the maximum schedule sensitivity index. On the basis of the results of the sensitivity analysis, the activities on the critical path are analyzed. After a schedule network diagram is created through an analysis of precedence relationships and the activity time of each node, the implementation time of the activities on the critical path is calculated. Afterward, a three-point estimate of activity duration to represent the lack of certainty in the duration estimates is conducted through discussion meetings among stakeholders in the workshop. Accordingly, a mathematical linear programming model is proposed to determine the relationship among project completion schedule, project crash cost, delay penalty, and total project cost. The time-cost trade-off for the best schedule and crash cost of the project can be determined. The workflow is illustrated in Figure 3.


Figure 3

Time-cost trade-off analysis framework.

3.2.1. Model 1: Integer Linear Programming Model for Project Duration

A mathematical linear programming model developed from the precedence relationship and activity time of each node can be used to solve and determine the project completion time. The constructed model indicates that every activity should be initiated after the finish time of the prior activity and ensures that the time to finish the project is as short as possible. The network concept diagram is shown in Figure 4.

Figure 4

Network concept diagram.

I and J are the sets. I is a set of nodes, p is the number of nodes, and each i \in I . J is a set of activities, \mathrm{q} is the number of activities, and each j \in J . The decision variable N_{i} represents the starting time of node i, and N_{p} is the starting time of the last node, that is, the completion time of the project. The parameter d_{j} represents the duration of activity j, and (\mathrm{i}-1) represents the node prior to the node i(\mathrm{i}=1,2,3, \ldots, \mathrm{n}).

An integer linear programming model for project duration is established with mathematical formulas (10)-(13) to calculate the minimum project duration under normal operating conditions.

Minimize N_{p}-N_{1},                                                                    (10)

Subject to N_{1} \geq 0                                                                  (11)

           N_{i} \geq N_{(i-1)}+d_{j} \quad \forall_{i} \in I, \quad \forall_{j} \in J   (12)

           N_{i} \in Z^{+} \quad \forall_{i} \in I                                       (13)

Formula (10) is an objective function that requires the project duration to be minimized under normal operating conditions. Formulas (11) and (12) are constraints that indicate that the starting time of each node must not be preceded by that of the prior neighboring node and the activity duration between the two nodes, with the starting time of the initial node larger than or equal to 0. Formula (13) is a decision variable constraint that indicates that the starting time of each node of the decision should be a positive integer larger than or equal to zero.


3.2.2. Model 2: Integer Linear Programming Model for Project Crash Plan

The shortest time for project completion under normal operating conditions is calculated by Model 1. A cost decision variable is added to Model 2 in order to develop a comprehensive trade-off crash plan. This is done by balancing the crash plan with certain activities and considering the variable factors of crash cost and delay penalty when the shortest time to finish the project under normal operating conditions cannot meet the stated duration in the contract. However, when the project crash plan is conducted, the crash cost of the activity may increase with the crash time. Additional time allotted for compression increases the crash cost with the required amount of input resources. Thus, the crash cost becomes an incremental piecewise linear function type with the crash time of different segments.

\mathrm{K} is a set of different segments for crash time, k is the number of segments for each activity, and each k \in \mathrm{K}. An integer linear programming model for the project crash plan is expressed in mathematical formulas (14)-(24).
\begin{array}{r}\text { Minimize } \quad(L-S) \times C P+\sum_\limits{k \in K} \sum\limits_{j \in J}\left[C_{j}^{k}\left(T_{j}^{k}-Y_{j}^{k} M_{j}^{k-1}\right)\right]+F_{j} \\ \forall_{j} \in J, \forall_{k} \in K \end{array}                      (14)
Subject to N_{1} \geq 0,                                                                                                  (15)
           N_{i} \geq N_{(i-1)}+d_{j}-\sum_{k=K} T_{j}^{k} \quad \forall_{i} \in I, \forall_{j} \in J, \forall_{k} \in K                           (16)
           \sum_{k=K} T_{j}^{k} \leq D_{j} \quad \forall_{j} \in J                                             (17)
           \sum_{k=K} Y_{j}^{k}=1 \quad \forall_{j} \in J                                                        (18)
           and Y_{j}^{k} \in\{0,1\} \quad \forall_{j} \in J, \forall_{k} \in K                                 (19)
           T_{j}^{k} \geq O_{j}^{k} Y_{j}^{k} \quad \forall_{j} \in J, \forall_{k} \in K,                 (20)
           T_{j}^{k} \leq M_{j}^{k} Y_{j}^{k} \quad \forall_{j} \in J, \forall_{k} \in K,                  (21)
           N_{i} \in Z^{+} \quad \forall_{i} \in I,                                                                       (22)
           T_{j}^{k} \in Z^{+} \quad \forall_{j} \in J, \forall_{k} \in K,                                        (23)
           L \geq S.                                                                                                                  (24)

Decision variable T_{j}^{k} represents the crash time of activity j at segment k, which is an integer variable and is represented in terms of days. Decision variable Y_{j}^{k} indicates whether the work segment \mathrm{k} of activity j crash time is selected, which is a 0 or 1 integer variable. In addition, C_{j}^{k} is the crash cost per unit time of T_{j}^{k}; F_{j} represents the fixed cost of activity j, D_{j} denotes the difference between the most likely time or pessimistic time or the average time of activity j and the optimistic time, that is, the allowable upper limit of the crash duration for the activity j, M_{j}^{k} represents the upper limit of work segment k for activity j crash time; and O_{j}^{k} represents the lower limit of work segment k for activity j crash time; CP indicates the delay penalty cost per unit time if the deadline cannot be met; L is the project duration after crashing; S indicates the agreed project duration in the contract.

The mathematical models are expressed in formulas (14)-(24). Formula (14) is an objective function that requires minimizing the total project crash cost. Formulas (15) and (16) are constraints stipulating that the starting time of each node must not be earlier than that of the forward node plus the time of the activity between the two nodes minus the required activity crash time between the two nodes, with the starting time of the initial node being larger than or equal to zero. Formula (17) indicates that the crash time of activity j for all segments should not be larger than the difference between the optimistic time or most likely time or pessimistic time minus its expected time, that is, the upper limit of the crash time of each activity. Formulas (18) and (19) represent the integer variable which is 0 or 1. If the work segment k of activity j crash time is not conducting the crash plan, then the integer variable is specified as 0 . If it is conducting the crash plan, then the integer variable is specified as 1 . Formula (20) indicates that the crash time of activity j at segment k shall be larger than or equal to the lower limit of activity j crash time at segment k, and formula (21) indicates that the crash time of activity j at segment k shall be less than or equal to the upper limit of activity j crash time at segment k. Formulas (22) and (23) are decision variable constraints that indicate that the starting time of each node in the decision should be a positive integer larger than or equal to zero, and the crash time of each activity at any segment should be a positive integer larger than or equal to zero. Formula (24) indicates that the project duration after crashing should be larger than or equal to the agreed project duration in the contract.