• No results found

5.2 Problem definition

5.3.1 Static policies

We call a policy “static”, if the size of the representation of the policy is polynomial in n and independent of |S|. In other words, the de-cisions that are enforced by a static policy are scenario-independent.

Following, we define three existing subclasses of static policies in the scheduling literature, and propose a new subclass.

CHAPTER 5. MAX-NPV PROJECT SCHEDULING UNDER

UNCERTAINTY 131

Rigid policies

A rigid policy prescribes scenario-independent starting times for each activity. For a formal statement of this class of policies, we simplify π(j|s) to π(j), and replace Constraints (5.10) and (5.14) with

π(j) ≥ π(i) + dsi ∀(i, j) ∈ A, s ∈ S. (5.15) Constraints (5.13) can be removed as the rigid policies are non-anticipative by definition. The resulting formulation can be lin-earized using Grinold’s (1972) variable substitution yj := βπ(j). Although rigid policies are interesting from a computational point of view, they are overly conservative as the scenario-independent starting times need to remain feasible in every scenario. As a result, in many instances, either no feasible rigid policy exists, or they lead to poor enpv.

Target processing time policies

Wiesemann et al. (2010) propose the class oftarget processing time (TPT) policies. Each TPT policy specifies a scenario-independent release time rj for each activity j. Working with this class of policies, we replace Constraints (5.10) and (5.14) with

π(j|s) = max{sup

i∈N

{π(i|s) + dsi : (i, j) ∈ A}, rj} ∀j ∈ N, s ∈ S, (5.16)

rj ≥ 0 ∀j ∈ N, (5.17)

and remove Constraints (5.13) as TPT policies are non-anticipative by definition. Constraints (5.16) have a non-convex set of feasible

132 5.3. SCHEDULING POLICIES

solutions, but relaxing the equality in (5.16) to the inequalities π(j|s) ≥ π(i|s) + dsi ∀(i, j) ∈ A, s ∈ S, (5.18)

π(j|s) ≥ rj ∀j ∈ N, s ∈ S, (5.19)

results in a linear formulation (Grinold, 1972). Wiesemann et al.

(2010) show that the relaxation can be solved efficiently as a determ-inistic max-npv project scheduling problem. The solutions, however, may violate the non-anticipativity constraint in the presence of activities with outflows. More specifically, as long as a solution (r, π) to this relaxation contains an π(j|s) that satisfies the strict inequality

π(j|s) > max{sup

i∈N

{π(i|s) + dsi : (i, j) ∈ A}, rj} ∀j ∈ N, s ∈ S,

the definition of TPT policies and the non-anticipativity constraint are violated. They develop a branch-and-bound algorithm to remove such violations and find an optimal TPT policy.

Benati policies

Many policies follow the idea of delaying activities with outflows as much as possible beyond the finishing time of their predecessors.

Benati (2006) proposes a variant of these policies. Let Bj and Aj be the set of jobs that according to A should be processed before (predecessors) and after (successors) job j, respectively. More formally, Bj = {i ∈ N |(i, j) ∈ A}, and Aj = {i ∈ N |(j, i) ∈ A}.

Furthermore, we define Bj0 ⊆ Bj as the set of immediate predecessors

CHAPTER 5. MAX-NPV PROJECT SCHEDULING UNDER

UNCERTAINTY 133

of j, that is,

Bj0 = {i ∈ N |(i, j) ∈ A ∧ (Ai∩ Bj) = ∅}.

A Benati policy determines a fixed scenario-independent minimum delay bj between each activity j ∈ N and its immediate predecessors in Bj0. Benati (2006) proposes a two-stage algorithm to find a high-quality member within this class of policies. Wiesemann et al. (2010) rule out Benati policies, due to their higher optimization complexity compared to TPT policies.

Activity delay policies

In this work, we propose the class activity delay (AD) policies.

Similar to Benati policies, AD policies are also based on delaying activities beyond the finishing time of their predecessors. We define an AD policy by means of a set of scenario-independent delaying times bij. Each bij is the minimum time lag between the end of activity i and the start of activity j, with (i, j) ∈ A. For a description of AD policies, we replace Constraints (5.10) and (5.14) with

π(0|s) = 0 ∀s ∈ S, (5.20)

π(j|s) = sup

i∈N

{π(i|s) + dsi + bij : (i, j) ∈ A} ∀j ∈ N \ {0}, s ∈ S, (5.21)

bij ≥ 0 ∀i, j ∈ N, (5.22)

and remove Constraints (5.13) as the AD policies are non-anticipative by definition.

Unfortunately, due to the additional decision variable (bij) in the right hand side of (5.21), Grinold’s variable substitution (Grinold,

134 5.3. SCHEDULING POLICIES

1972) does not resolve the nonlinearity. In Section 5.4.1, we develop a branch-and-bound algorithm for finding an optimal AD policy.

Comparison: AD versus TPT

Wiesemann et al. (2010) empirically show that optimal TPT policies slightly outperform the best found Benati policies. As previously mentioned, the class of AD policies (as defined here) is a superset of the class of TPT policies. Following, we compare AD and TPT policies.

Proposition 5.1. The class of AD policies is a superset of the class of TPT policies.

Proof. Every TPT policy is an AD policy, where b0j = rj, and

∀i ∈ N \ {0}, (i, j) ∈ A : bij = 0.

Proposition 5.2. The class of AD policies is a superset of the class of Benati policies.

Proof. Every Benati policy is an AD policy where for any j ∈ N, and i ∈ Bj0, we have bij = bj, and for any k ∈ Bj \ Bj0, we have bkj = 0.

Benati and TPT polices are incomparable.

Example 5.2. Consider the example depicted in Figure 5.2, with ps, β, and δ being the same as in Example 5.1. We can show that an optimal TPT policy πTPT with r = (0, 20, 35, 0, 0) obtains G(πTPT ) = −1.26. Nevertheless, an optimal AD policy πAD with b0,1 = 0, b0,2= 0, b1,2 = 5, and b0,3 = b1,3 = 0 has G(πAD ) = 23.00.

While the enpv of the project is negative under any TPT policy, it is profitable (has a positive enpc) if planned with an optimal AD

CHAPTER 5. MAX-NPV PROJECT SCHEDULING UNDER

policy. For this example, the optimal AD policy is globally optimal.

Note that in this example, πTPT completes the project as late as possible. Therefore, decreasing the project deadline decreases the enpv of any TPT policy. For instance, for δ = 20, the optimal TPT policy with r = (0, 0, 15, 0, 0) leads to an enpv of −10.35.

Next we consider the previous example with more generic para-meters. The fixed durations of jobs j ∈ {0, 2, 3, 4} over the two scenarios are denoted by dj, while the two possible durations of job 1 are denoted by d11 and d21. We assume that d2< d3, d11< d21, c4≥ 0,

136 5.3. SCHEDULING POLICIES

Moreover, we have

G(πAD ) − G(πTPT ) = max{p2c2d21+d3−d2 − βd21), (5.23) p1c2d11+d3−d2 − βd21+d3−d2)

+ p1c4d11+d3 − βd21+d3)}.

While increasing c2 increases the first expression of (5.23), it de-creases the second expression. Increasing both c2 and c4, on the other hand, increases the objective difference of the two policies (the increasing ratio of c4 should be higher that the increasing ratio of c2). In conclusion, for a given project, the enpv of an optimal AD policy can be arbitrarily higher than the enpv of an optimal TPT policy. Since enpv of a project can be arbitrarily close to zero, it is intuitive that the ratio G(πAD)/G(πTPT ) can also be arbitrarily high.

Note that the class of AD policies does not necessarily contain a globally optimal policy. In Example 5.1, for instance, optimal TPT and AD policies both lead to an enpv of −67, while the enpv of the optimal policy π is +100.57.