Anytime Control Algorithm: Model Reduction Approach

Recently, there has been considerable interest in anytime algorithms for real-time systems. Anytime algorithms are computational models that compromise quality of result for computational time. The tolerance to fluctuating CPU time makes anytime algorithms operationally optimal for real-time task scheduling. A methodology is presented that transforms linear control algorithms into anytime control algorithms. Implementation of a linear control algorithm involves matrix‐vector multiplications that require a fixed computational time. Such algorithms fail to compute the controller output if the alloted CPU time is less than required and cannot make use of any excess CPU time that might be available. When implemented as a real-time system, the static nature of the required computational time makes it operationally suboptimal for task scheduling. Linear control algorithms are transformed to anytime control algorithms by switching between controllers of different order. Balanced truncation and residualization are considered as model reduction tools to generate a set of reduced-order controllers, and a switching algorithm is presented that smoothly switches between them to accommodate variation in available computational time. I. Introduction I N recent times, advancement in digital technology has led to the design of complex computational systems. These systems usually interact with an environment that demands more out of some algorithms and less out of others, at different times in their operation life. Therefore, it is not feasible to perform accurate computation at all times by all of the algorithms in the system. Anytime algorithms provide a technique for allocating computational resources to the most useful algorithm, thereby enabling optimal usage of hardware resources. Anytime algorithms differ from conventional computational procedures in several ways. 1 Anytime algorithms are algorithms that compromise performance for computational time. They are capable of providing results at any point in their execution. The quality, accuracy, or performance of the algorithm improves with increased processing time. The improvement in the solution is large in the early stages of computation but diminishes over time. Anytime algorithms first emerged in the area of artificial intelligence. Early applications of such algorithms can be found in medical diagnosis and mobile robot navigation. The term anytime algorithm was coined by Dean and Boddy 2,3 in the late 1980s in the context of their work on time-dependent planning. They used this idea to solve a path-planning problem involving a robot assigned to deliver packages to a set of locations. Horvitz introduced a similar idea, called flexible computation, to solve time-critical decision problems. 4 In 1991, Liu et al. 5 introduced the concept of imprecise computation and applied it to real-time systems. They showed that imprecise computation techniques provide scheduling flexibility by trading off the quality of result to meet computational deadlines. Ever since, the concept of imprecise computation has been applied to solve several diverse problems. 6−9 The idea of anytime algorithms