It appears that all of the known algorithms for solving multistage optimization problems are based explicitly on standard dynamic programming concepts. Such algorithms are inherently serial in the sense that computation must be completed at the current stage before meaningful computation can begin at the next stage. In this paper we present a technique which recursively divides the original problem into a set of smaller problems which can be solved in parallel. This technique is based on the recursive application of a simple aggregation procedure. For a multistage process with n stages, we show that our new algorithm can achieve a time complexity of O(log n). In contrast, competing algorithms based exclusively on the standard dynamic programming technique can only achieve a time complexity of Φ(n). The new algorithm is designed to operate on a tightly coupled parallel computer. As some important applications, it is shown that our algorithm can serve as a fast and efficient means of decoding convolutional codes, solving shortest path problems, and determining minimum-fuel flight paths.
ASJC Scopus subject areas
- Theoretical Computer Science
- Hardware and Architecture
- Computer Networks and Communications
- Artificial Intelligence