5.4 Solution method
5.4.2 Dynamic policies: A heuristic method
Obtaining an optimal dynamic policy may entail a full re-calculation of the policy (e.g., using the branch-and-bound methods of Sec-tion 5.4.1 and Wiesemann et al. (2010)) at each decision time during project execution, which is computationally impractical. In this section, we propose a heuristic approach that at each decision point, optimizes a partial policy to decide about the start of the eligible jobs under any potential scenario.
Our heuristic approach is based on upper bounds that represent theexpected value with perfect information (evpi), where by “perfect information” we refer to the situation in which we know the specific scenario that will unfold already before project execution. For a given scenario s, this is equivalent with the deterministic problem
140 5.4. SOLUTION METHOD
(N, A, s, β). Therefore, the evpi of a problem instance (N, A, S, β) is equal to Ps∈SpsG∗(N, A, s, β), which can be calculated in poly-nomial time (Grinold (1972)).
At each point t in time during project execution, let Ft, Ot, and Et be the sets of finished, ongoing, and eligible jobs, respectively.
A job j ∈ N is eligible to start if its predecessors are finished, i.e., {i ∈ N |(i, j) ∈ A} ⊆ Ft. Also, let St ⊂ S be the set of “potential”
scenarios at time t. At time t, a scenario s ∈ S is called potential, if all the information (the job durations and cash flows) that has become available by t is in accordance with the information in s, e.g., ∀j ∈ Ft the realized ˜dj is equal to dsj. At each decision point t, and for each eligible job j, we either start j immediately, or wait for more project information to become available. In order to decide, we compare the evpi of the project in two cases: (1) when j is started at t, and (2) when j is started at the next decision point t0 > t.
Example 5.3. In Example 5.1, assume that job 3 is started before job 2 at t = 1 (F1 = {0, 1}, O1 = {3}, E1 = {2}, and S1 = {1, 2}).
In this case, t = 2 is an information point where we find out whether d˜3 is 1 or 10. At t = 1, we need to decide whether to start job 2 together with 3, or to wait for more information at t = 2. To do so, we calculate the evpiPk∈S
1G∗(N, A, k, β). At each subproblem, we force the finished and ongoing jobs to start at their previously-decided starting times, i.e., ∀s ∈ S1 : π(0|s) = π(1|s) = 0, and π(3|s) = 1. Based on the two thus obtained schedules for the two scenarios, we have π(2|1) = 1 and π(2|2) = 6. However, at t = 1, we do not know which of the two scenarios will be realized, i.e., S1= S.
Therefore, we can either start job 2 at t = 1 in both scenarios, or postpone π(2|1) to t ≥ 2, when the two scenarios are differentiated (∀t ≥ 2 : |St| = 1). To decide, we calculate the evpi of the two
CHAPTER 5. MAX-NPV PROJECT SCHEDULING UNDER
UNCERTAINTY 141
cases, where we force π(2|s) ≥ 2, or π(2|s) = 1. In this example, the option with π(2|s) ≥ 2 leads to an enpv of +100.57, while the option with π(2|s) = 1 has an enpv of −894.74. Consequently, at t = 1 we decide to postpone job 1. For this example, this heuristic approach leads to the optimal policy π∗ described in Example 5.1.
Our iterative heuristic approach initializes at t = 0 with F0 = {0}, O0 = ∅, and S0= S. At each t = {0, . . . δ}, we obtain the evpi of the project, where we force the finished and ongoing jobs to start at their previously-decided starting times. Together with the evpi, we also obtain new starting times π(j|s) for each j ∈ N \ (Ft∪ Ot), and s ∈ St. Three following cases are possible. (1) If @j ∈ Et, s ∈ St
such that π(j|s) = t, then we do not start any of the eligible jobs and proceed to the next decision point. That is the next time when a job is finished (i.e., minj∈Ot,s∈St{π(j|s) + dsj}), or a time when a new piece of information is revealed (i.e., min{t0|St0 < St}), whichever is the earliest. (2) If ∃j ∈ Etfor which ∀s ∈ Stwe have π(j|s) = t, then we start j immediately. (3) If ∃j ∈ Et, s, s0 ∈ Stsuch that π(j|s) = t and π(j|s0) 6= t, then the non-anticipativity constraint is violated.
To fix the issue we consider the two following options. Option 1 is to start j at t in all scenarios, i.e., ∀s ∈ St, we force π(j|s) = t.
Option 2 is to postpone j in all the scenarios in {s ∈ St: π(j|s) = t}
to the next decision point at min{t0 : |St0| < |St|}. For each option, we obtain the evpi bound, with the same procedure as explained above. Finally, we choose the option with the highest epvi, and then go to the next decision point.
Proposition 5.3. Forcing Options 1 or 2 does not empty the solu-tion space in any scenario.
Proof. We know that until t, the information that is revealed from
142 5.5. COMPUTATIONAL RESULTS
the scenarios in St has been identical. Therefore, based on the non-anticipativity constraint, the sets of previous decisions that are made before t are also the same. Consequently, if ∃s0 ∈ St, where job j can be started at t0 ≥ t, then ∀s ∈ St, there is at least one feasible schedule in which π(j|s) = t0.
To ensure that the project finishes before the deadline, the jobs are forced to start not later than their latest starting time. At each t, we start the eligible job j ∈ Et, if the next decision point is later than the latest starting time of j in at least one scenario s ∈ St.
If Ot = ∅ then the next decision points are the latest starting times of the eligible jobs in Et. In this case, postponing all the eligible jobs to the next decision point intentionally delays the end of the project. However, if the evpi of the rest of the project is positive, then delaying the project is not logical. Therefore, if Ot= ∅ and the evpi is positive, then at least one eligible job should be started. In this case, we start the eligible job with the highest evpi for Option 1, even if it has a higher evpi in Option 2.
Our heuristic repeats the procedure above for all the scenarios in S.
5.5 Computational results
Following, we present the computational results of our algorithms and compare the performances of the classes of rigid, TPT, AD and dynamic policies.
CHAPTER 5. MAX-NPV PROJECT SCHEDULING UNDER
UNCERTAINTY 143