STOCHASTIC PROJECT SCHEDULING UNDER LIMITED RESOURCES: A BRANCH AND BOUND ALGORITHM BASED ON A NEW CLASS OF POLICIES Frederik Stork1

Rolf H. M¨ohring

Technische Universit¨at Berlin, Fachbereich Mathematik, MA 6-1 Straße des 17. Juni 136, 10623 Berlin, Germany tel: +49 30 314 2 57 28, fax: +49 30 314 2 51 91 e-mail: fmoehring, [email protected] Abstract We present a Branch and Bound approach for the resource constrained project scheduling problem where activity durations are assumed to be random according to independent probability distributions. Our aim is to compute an optimal scheduling policy that minimize the expected project cost with respect to some regular measure of performance.

1 Introduction The resource constrained project scheduling problem (RCPSP) has been extensively studied in the past decades, and several Branch and Bound algorithms have been developed and compared. Unfortunately, only few of the underlying models cover the systematic underestimation of the project cost that frequently arises in praxis due to stochastic influences on activity durations. To the best of our knowledge, computational results on the resource constrained project scheduling problem with stochastic activity durations have been reported only by Igelmund and Radermacher (1983a), (1983b). In our work, we enhance their Branch and Bound algorithm by some new developments made in deterministic project scheduling and adapt it for dealing with a class of scheduling policies that turns out to be far better tractable than the class used by Igelmund and Radermacher. A stochastic resource constrained project scheduling problem can be defined as a tuple (G = (V; E ); F ; p; ), where V = f1; :::; ng is the set of activities and the digraph G = (V; E ) represents the partial order of precedence constraints. G is said to be a project network. The resource constraints are given by a set F of so called minimal forbidden sets. Forbidden sets are anti-chains F V of the partial order whose activities j 2 F cannot be scheduled simultaneously. If F is a minimal forbidden set then all activities contained in any proper subset of F may be scheduled simultaneously. Moreover, the random variable p = (p1 ; :::; pn ) specifies the independently distributed activity durations. Finally, denotes some regular measure of performance that has to be minimized. 2 Preselective Policies Igelmund and Radermacher (1983a), (1983b) considered so called preselective policies within their Branch and Bound approach. For such a policy, each forbidden set F is resolved by selecting an activity j 2 F as waiting activity which is not started before at least some other activity i 2 F nfj g has been completed (cf. (2) of Definition 1 below). 1

Supported by the Deutsche Forschungsgemeinschaft (DFG) under grant Mo 446/3-1

1

4

2 (2,4) 1

4

1

4

3

5

1

4

(1,5) 2

2

3

5

3

5 (3,4)

2 3

(a)

5

(b)

Figure 1: Construction of the feasible posets for the selection s = (5; 4) by iteratively adding ordered pairs to resolve the forbidden sets f1; 5g and f2; 3; 4g. Definition 1. Let (G; F ) be a project network with an associated system of forbidden sets F = fF1 ; :::; Fk g. (1) A sequence s = (s1 ; :::; sk ), where s` 2 F` ; 1 ` k , is called a selection. n ! IRn is called preselective with selection s = (s ; :::; s ), if (2) A policy : IR+ 1 k + minfi(p) + piji 2 F nfs`gg s` (p) holds for all p 2 IR+n and for all 1 ` k. (i(p) denotes the start time of activity i w.r.t. a realization p = (p1; :::; pn) of the activity durations.) A preselective policy with selection s can be alternatively represented by a set of corresponding partially ordered sets that extend the underlying precedence relation and respect the conditions imposed by s. That is, for each of these partially ordered sets G = (V; E ) and for each forbidden set F with an associated selected activity j 2 F , there has to exist an ordered pair (i; j ) 2 E , i 2 F nfj g, which guarantees that j is not started before some other activity of the forbidden set has been completed. We call these partially ordered sets feasible posets and denote the set of all feasible posets corresponding to a selection s by F P (s). As an example, consider the partially ordered set given in Figure 1(a). Assume that the sets f1; 5g and f2; 3; 4g are forbidden. The selection s = (5; 4) can be represented by the two feasible posets given in Figure 1(b). Note that the selection s = (1; 3) does not induce a feasible poset and thus does not correspond to a preselective policy. For the definition of general scheduling policies, further subclasses and proofs we refer to M¨ohring, Radermacher, and Weiss (1984), (1985). 0

0

0

3 Linear Preselective Policies We introduce a new class of policies which is a subclass of the class of preselective policies and turns out to be far better tractable. The idea is to represent such a policy as a list L of activities, and the selected activity of a given forbidden set F is the maximal activity of F with respect to the linear ordering given by L.

Definition 2. Let (G; F ) be a project network with an associated system of forbidden sets fF1 ; :::; Fk g and be a preselective policy with selection s = (s1 ; :::; sk ). is said to be linear preselective if there exists a linear ordering L on the set of activities such that: 1. L is an extension of the partially ordered set G. 2. For each forbidden set F` ; 1 ` k; the associated selected activity s` is the maximal activity of F` w.r.t. L, i.e. s` = max(LjF` ). The following properties of linear preselective policies are the main reasons for their computational advantage over arbitrary preselective policies.

Many selections that are infeasible (i.e. F P (s) = ;) or dominated by others are not enumerated within the algorithm based on linear preselective policies. The stochastic lower bound computation can be performed very efficient. In contrast to the representation of preselective policies, which take O(jFj) space, a linear preselective policy can be stored using only O(jV j) space. The question whether a preselective policy is also linear preselective or not can be answered by the following theorem. Theorem 1. A preselective policy with an associated selection s = (s1 ; :::; sk ) is linear if and only if G := (V; E ) with E := E [ [ k`=1 f(i; s` )ji 2 F` nfs`gg] is acyclic. 0

0

0

S

Since the class of linear preselective policies is a subclass of the class of preselective policies, we enumerate fewer policies within the Branch and Bound algorithm. Thus the computed linear preselective policy may be of worse quality. Nevertheless, if activity durations are deterministic we can still guarantee optimality of the resulting schedule: Theorem 2. For each deterministic instance (G; F ; p) and any regular measure of performance there exists a linear preselective policy which is optimal among all policies. This theorem does not hold in the stochastic case, but our computational study shows that for all instances considered, the computed optimal linear preselective policy yields the same expected performance as an optimal preselective policy. This gives evidence that it is sufficient to consider only the subclass of linear preselective policies to obtain excellent objective values. 4 The Branch and Bound Algorithm 4.1 The Branching Scheme An appropriate branching scheme for determining an optimal preselective policy has been proposed by Igelmund and Radermacher (1983a). Each level of the tree is associated with a forbidden set F and we generate for each j 2 F a child node in the search tree. The activity j is then interpreted as the selected activity of the forbidden set F . Thus, on level ` of the search tree, the forbidden sets F1 ; :::; F` have already been resolved, whereas the forbidden sets F`+1 ; :::; Fk are resolved at later stages of the algorithm. We call the corresponding incomplete selection s = (s1 ; :::; s` ) a partial selection with respect to the whole set of forbidden sets F = fF1 ; :::; Fk g. When evaluating linear preselective policies, we may apply Theorem 1 to identify and eliminate those selections that do not correspond to a linear preselective policy.

4.2 Checking Resolution of Forbidden Sets It is essential for an effective Branch and Bound algorithm to identify and eliminate branches that are dominated by other nodes in the search tree. Since the nodes of the search tree correspond to forbidden sets, domination always occurs if the selections already made on the ancestors of the current tree node enforce a selection on the corresponding forbidden set. To identify such implicit resolution of a forbidden set F due to a partial selection s, one must check if there exists an activity j 2 F such that, for each feasible poset G = (V; E ) 2 F P (s) there exists an activity i 2 F nfj g with (i; j ) 2 E . Since the set F P (s) has exponential size in general, it is not reasonable to verify the above condition iteratively for each feasible poset G 2 F P (s). To handle them all at once, we extend the partially ordered set G to a certain directed graph H , which contains a vertex for each activity and for each forbidden set. We then interpret H as a boolean network where the vertices related to activities correspond to logic OR-operations and the vertices related to forbidden sets correspond to logic AND-operations. The evaluation of this network then answers the question whether a forbidden set has been resolved implicitly by s or not. The digraph H is acyclic for linear preselective policies, which allows a very simple evaluation. 0

0

0

0

4.3 Experimental Results The theoretical advantages of linear preselective policies mentioned in Section 3 are confirmed by our computational experience. We used a set of 480 instances with 20 activities generated by the instance generator ProGen, cf. Kolisch and Sprecher (1996). For constructing the probability distributions of the activity durations we interpreted the given processing times as the expectation and computed an approximate Erlang distribution for each activity. We could solve 434 instances by the preselective approach within an average CPU-time of 450 seconds. Applying the linear preselective approach we were able to verify optimality for 479 instances within an average CPU-time of 60 seconds. The computations have been performed on a Sun Ultra with 143 MHz clock pulse. Acknowledgement: The authors are grateful to Marc Uetz for numerous helpful suggestions and comments. References Igelmund, G. and F. J. Radermacher (1983a). Algorithmic approaches to preselective strategies for stochastic scheduling problems. Networks 13, 29–48. Igelmund, G. and F. J. Radermacher (1983b). Preselective strategies for the optimization of stochastic project networks under resource constraints. Networks 13, 1–28. Kolisch, R. and A. Sprecher (1996). PSPLIB - a project scheduling problem library. European Journal of Operational Research 96, 205–216. M¨ohring, R. H., F. J. Radermacher, and G. Weiss (1984). Stochastic scheduling problems I: General strategies. ZOR 28(7), 193–260. M¨ohring, R. H., F. J. Radermacher, and G. Weiss (1985). Stochastic scheduling problems II: Set strategies. ZOR 29(7), 65–104.

Rolf H. M¨ohring

Technische Universit¨at Berlin, Fachbereich Mathematik, MA 6-1 Straße des 17. Juni 136, 10623 Berlin, Germany tel: +49 30 314 2 57 28, fax: +49 30 314 2 51 91 e-mail: fmoehring, [email protected] Abstract We present a Branch and Bound approach for the resource constrained project scheduling problem where activity durations are assumed to be random according to independent probability distributions. Our aim is to compute an optimal scheduling policy that minimize the expected project cost with respect to some regular measure of performance.

1 Introduction The resource constrained project scheduling problem (RCPSP) has been extensively studied in the past decades, and several Branch and Bound algorithms have been developed and compared. Unfortunately, only few of the underlying models cover the systematic underestimation of the project cost that frequently arises in praxis due to stochastic influences on activity durations. To the best of our knowledge, computational results on the resource constrained project scheduling problem with stochastic activity durations have been reported only by Igelmund and Radermacher (1983a), (1983b). In our work, we enhance their Branch and Bound algorithm by some new developments made in deterministic project scheduling and adapt it for dealing with a class of scheduling policies that turns out to be far better tractable than the class used by Igelmund and Radermacher. A stochastic resource constrained project scheduling problem can be defined as a tuple (G = (V; E ); F ; p; ), where V = f1; :::; ng is the set of activities and the digraph G = (V; E ) represents the partial order of precedence constraints. G is said to be a project network. The resource constraints are given by a set F of so called minimal forbidden sets. Forbidden sets are anti-chains F V of the partial order whose activities j 2 F cannot be scheduled simultaneously. If F is a minimal forbidden set then all activities contained in any proper subset of F may be scheduled simultaneously. Moreover, the random variable p = (p1 ; :::; pn ) specifies the independently distributed activity durations. Finally, denotes some regular measure of performance that has to be minimized. 2 Preselective Policies Igelmund and Radermacher (1983a), (1983b) considered so called preselective policies within their Branch and Bound approach. For such a policy, each forbidden set F is resolved by selecting an activity j 2 F as waiting activity which is not started before at least some other activity i 2 F nfj g has been completed (cf. (2) of Definition 1 below). 1

Supported by the Deutsche Forschungsgemeinschaft (DFG) under grant Mo 446/3-1

1

4

2 (2,4) 1

4

1

4

3

5

1

4

(1,5) 2

2

3

5

3

5 (3,4)

2 3

(a)

5

(b)

Figure 1: Construction of the feasible posets for the selection s = (5; 4) by iteratively adding ordered pairs to resolve the forbidden sets f1; 5g and f2; 3; 4g. Definition 1. Let (G; F ) be a project network with an associated system of forbidden sets F = fF1 ; :::; Fk g. (1) A sequence s = (s1 ; :::; sk ), where s` 2 F` ; 1 ` k , is called a selection. n ! IRn is called preselective with selection s = (s ; :::; s ), if (2) A policy : IR+ 1 k + minfi(p) + piji 2 F nfs`gg s` (p) holds for all p 2 IR+n and for all 1 ` k. (i(p) denotes the start time of activity i w.r.t. a realization p = (p1; :::; pn) of the activity durations.) A preselective policy with selection s can be alternatively represented by a set of corresponding partially ordered sets that extend the underlying precedence relation and respect the conditions imposed by s. That is, for each of these partially ordered sets G = (V; E ) and for each forbidden set F with an associated selected activity j 2 F , there has to exist an ordered pair (i; j ) 2 E , i 2 F nfj g, which guarantees that j is not started before some other activity of the forbidden set has been completed. We call these partially ordered sets feasible posets and denote the set of all feasible posets corresponding to a selection s by F P (s). As an example, consider the partially ordered set given in Figure 1(a). Assume that the sets f1; 5g and f2; 3; 4g are forbidden. The selection s = (5; 4) can be represented by the two feasible posets given in Figure 1(b). Note that the selection s = (1; 3) does not induce a feasible poset and thus does not correspond to a preselective policy. For the definition of general scheduling policies, further subclasses and proofs we refer to M¨ohring, Radermacher, and Weiss (1984), (1985). 0

0

0

3 Linear Preselective Policies We introduce a new class of policies which is a subclass of the class of preselective policies and turns out to be far better tractable. The idea is to represent such a policy as a list L of activities, and the selected activity of a given forbidden set F is the maximal activity of F with respect to the linear ordering given by L.

Definition 2. Let (G; F ) be a project network with an associated system of forbidden sets fF1 ; :::; Fk g and be a preselective policy with selection s = (s1 ; :::; sk ). is said to be linear preselective if there exists a linear ordering L on the set of activities such that: 1. L is an extension of the partially ordered set G. 2. For each forbidden set F` ; 1 ` k; the associated selected activity s` is the maximal activity of F` w.r.t. L, i.e. s` = max(LjF` ). The following properties of linear preselective policies are the main reasons for their computational advantage over arbitrary preselective policies.

Many selections that are infeasible (i.e. F P (s) = ;) or dominated by others are not enumerated within the algorithm based on linear preselective policies. The stochastic lower bound computation can be performed very efficient. In contrast to the representation of preselective policies, which take O(jFj) space, a linear preselective policy can be stored using only O(jV j) space. The question whether a preselective policy is also linear preselective or not can be answered by the following theorem. Theorem 1. A preselective policy with an associated selection s = (s1 ; :::; sk ) is linear if and only if G := (V; E ) with E := E [ [ k`=1 f(i; s` )ji 2 F` nfs`gg] is acyclic. 0

0

0

S

Since the class of linear preselective policies is a subclass of the class of preselective policies, we enumerate fewer policies within the Branch and Bound algorithm. Thus the computed linear preselective policy may be of worse quality. Nevertheless, if activity durations are deterministic we can still guarantee optimality of the resulting schedule: Theorem 2. For each deterministic instance (G; F ; p) and any regular measure of performance there exists a linear preselective policy which is optimal among all policies. This theorem does not hold in the stochastic case, but our computational study shows that for all instances considered, the computed optimal linear preselective policy yields the same expected performance as an optimal preselective policy. This gives evidence that it is sufficient to consider only the subclass of linear preselective policies to obtain excellent objective values. 4 The Branch and Bound Algorithm 4.1 The Branching Scheme An appropriate branching scheme for determining an optimal preselective policy has been proposed by Igelmund and Radermacher (1983a). Each level of the tree is associated with a forbidden set F and we generate for each j 2 F a child node in the search tree. The activity j is then interpreted as the selected activity of the forbidden set F . Thus, on level ` of the search tree, the forbidden sets F1 ; :::; F` have already been resolved, whereas the forbidden sets F`+1 ; :::; Fk are resolved at later stages of the algorithm. We call the corresponding incomplete selection s = (s1 ; :::; s` ) a partial selection with respect to the whole set of forbidden sets F = fF1 ; :::; Fk g. When evaluating linear preselective policies, we may apply Theorem 1 to identify and eliminate those selections that do not correspond to a linear preselective policy.

4.2 Checking Resolution of Forbidden Sets It is essential for an effective Branch and Bound algorithm to identify and eliminate branches that are dominated by other nodes in the search tree. Since the nodes of the search tree correspond to forbidden sets, domination always occurs if the selections already made on the ancestors of the current tree node enforce a selection on the corresponding forbidden set. To identify such implicit resolution of a forbidden set F due to a partial selection s, one must check if there exists an activity j 2 F such that, for each feasible poset G = (V; E ) 2 F P (s) there exists an activity i 2 F nfj g with (i; j ) 2 E . Since the set F P (s) has exponential size in general, it is not reasonable to verify the above condition iteratively for each feasible poset G 2 F P (s). To handle them all at once, we extend the partially ordered set G to a certain directed graph H , which contains a vertex for each activity and for each forbidden set. We then interpret H as a boolean network where the vertices related to activities correspond to logic OR-operations and the vertices related to forbidden sets correspond to logic AND-operations. The evaluation of this network then answers the question whether a forbidden set has been resolved implicitly by s or not. The digraph H is acyclic for linear preselective policies, which allows a very simple evaluation. 0

0

0

0

4.3 Experimental Results The theoretical advantages of linear preselective policies mentioned in Section 3 are confirmed by our computational experience. We used a set of 480 instances with 20 activities generated by the instance generator ProGen, cf. Kolisch and Sprecher (1996). For constructing the probability distributions of the activity durations we interpreted the given processing times as the expectation and computed an approximate Erlang distribution for each activity. We could solve 434 instances by the preselective approach within an average CPU-time of 450 seconds. Applying the linear preselective approach we were able to verify optimality for 479 instances within an average CPU-time of 60 seconds. The computations have been performed on a Sun Ultra with 143 MHz clock pulse. Acknowledgement: The authors are grateful to Marc Uetz for numerous helpful suggestions and comments. References Igelmund, G. and F. J. Radermacher (1983a). Algorithmic approaches to preselective strategies for stochastic scheduling problems. Networks 13, 29–48. Igelmund, G. and F. J. Radermacher (1983b). Preselective strategies for the optimization of stochastic project networks under resource constraints. Networks 13, 1–28. Kolisch, R. and A. Sprecher (1996). PSPLIB - a project scheduling problem library. European Journal of Operational Research 96, 205–216. M¨ohring, R. H., F. J. Radermacher, and G. Weiss (1984). Stochastic scheduling problems I: General strategies. ZOR 28(7), 193–260. M¨ohring, R. H., F. J. Radermacher, and G. Weiss (1985). Stochastic scheduling problems II: Set strategies. ZOR 29(7), 65–104.