A new algorithm efficiently computes the tightest exact bound on the levels of resources induced by a flexible activity plan (see figure). Tightness of bounds is extremely important for computations involved in planning because tight bounds can save potentially exponential amounts of search (through early backtracking and detection of solutions), relative to looser bounds. An Activity Network With Resource Allocations constitutes a graphical representation of a flexible activity plan to which the instant algorithm applies. Each activity time interval (Ai) is characterized by (1) time variables eis and eie for start and end events, respectively; (2) a non negative flexible activity-duration link (e.g., [2,5] for activity A1); and flexible separation links between events (e.g., [0,4] from e3e to e4s). Associated with each event is a resource-allocation variable (e.g., r31 with event e3s). It is assumed that all events occur after starting time Ts and before an ending event time Te rigidly connected to Ts. The interval [Ts,Te] is denoted the time horizon of the network. The bound computed by the new algorithm, denoted the resource-level envelope, constitutes the measure of maximum and minimum consumption of resources at any time for all fixed-time schedules in the flexible plan. At each time, the envelope guarantees that there are two fixed-time instantiations — one that produces the minimum level and one that produces the maximum level. Therefore, the resource-level envelope is the tightest possible resource-level bound for a flexible plan because any tighter bound would exclude the contribution of at least one fixed-time schedule. If the resource-level envelope can be computed efficiently, one could substitute looser bounds that are currently used in the inner cores of constraint-posting scheduling algorithms, with the potential for great improvements in performance.

What is needed to reduce the cost of computation is an algorithm, the measure of complexity of which is no greater than a low-degree polynomial in N (where N is the number of activities). The new algorithm satisfies this need. In this algorithm, the computation of resource-level envelopes is based on a novel combination of (1) the theory of shortest paths in the temporal-constraint network for the flexible plan and (2) the theory of maximum flows for a flow network derived from the temporal and resource constraints. The measure of asymptotic complexity of the algorithm is O(N·O(maxflow(N)), where O(x) denotes an amount of computing time or a number of arithmetic operations proportional to a number of the order of x and O(maxflow(N)) is the measure of complexity (and thus of cost) of a maximum-flow algorithm applied to an auxiliary flow network of 2N nodes. The algorithm is believed to be efficient in practice; experimental analysis shows the practical cost of maxflow to be as low as O(N1.5).

The algorithm could be enhanced following at least two approaches. In the first approach, incremental subalgorithms for the computation of the envelope could be developed. By use of temporal scanning of the events in the temporal network, it may be possible to significantly reduce the size of the networks on which it is necessary to run the maximum-flow subalgorithm, thereby significantly reducing the time required for envelope calculation. In the second approach, the practical effectiveness of resource envelopes in the inner loops of search algorithms could be tested for multi-capacity resource scheduling. This testing would include inner-loop backtracking and termination tests and variable and value-ordering heuristics that exploit the properties of resource envelopes more directly.

This work was done by Nicola Muscettola of Ames Research Center and David Rijsman of Mission Critical Technologies Inc. For further information contact the Technology Partnerships Division, Ames Research Center, (650) 604-2954. ARC-14948-1 ##### Software Tech Briefs Magazine

This article first appeared in the September, 2009 issue of Software Tech Briefs Magazine.

Read more articles from this issue here.

Read more articles from the archives here.