My research has been concerned
with developing a toolbox (MRedTool) in MATLAB for
Model Reduction of
Multi-dimensional and Uncertain systems.
Here is a small account of what Model Reduction is all about and how it
all started. The language is fairly simple and informal though a
control
background may be sometimes helpful .
Introduction
Accurate descriptions of complex dynamical systems
often require highly sophisticated mathematical modeling to capture
the finer details in the behaviour of the systems. This is especially
true when models are built from first principles where the interactions
between the subsystems that make up the whole system may be quite
complicated. One ready example that comes to mind is a Power Network
(Power Grid) over a large region. In the control
parlance, this means the resulting realization has a very high state
order.
Our primary interest in modeling such systems is to perform analysis to
understand and predict the behaviour in order to build suitable
controllers to achieve certain performance objectives.
However, in many situations,
modeling introduces unnecessary complexity that makes it
difficult to analyze or predict the system's response (we fail in our
objectives right at the outset!). For example, one may want to model a
motor's behaviour by
a third
order differential equation to take into account fast dynamics like
vibrations/chatter at high frequencies. But, it may be sufficient to
approximate the dynamics of interest by a single-pole system for, say,
a low frequency application. While there may be ways to perform
accurate analysis on highly complex systems, our computing resources
are not sophisticated enough to do so at present. Moreover, control
design carried out using well-known methods like
H2/H-infinity Synthesis, when performed even with the current computing
capabilites, often result in controllers with orders equal
to or comparable to the original order of the system. Even such
superior standards of computing technology and
performance cannot guarantee the design of the simplest, most efficient
controllers for
large-scale systems as it turns out to be an NP-hard problem. Such
controllers are not only complicated for analysis, simulation or
validation
but also makes them practically expensive and in some occasions,
unrealizable. Simply put, existing
algorithms, softwares and processors are just
not good enough for
solving this problem.
There is also another practical aspect to system
modeling. On
most occasions, one
specific model, however complex it is,
can never represent all possible dynamics exhibited by the physical
system. Hence, controllers designed using a single-model representation
may not work well in practice.
This
problem is overcome by introducing uncertainty into the model. One
induces perturbations on the nominal system to include a range of
possible models around the nominal one. Then, a controller is designed
that works for all possible plant models in this range. But again, this
uncertainty comes with a price tag. The controller we come
up with may be more
than what we need (in fact, the cost of the controller goes up steadily
as the uncertainty increases as one would expect). In other words, the
controller obtained may still be
complex and unworkable. Hence, it would be very useful to obtain
simplifications
in the
uncertain model too (may be even get rid of some needless uncertainty
descriptions).
In short, there exists a great practical necessity to approximate the
system models
with simpler, more tractable ones with pre-determinable error on the
approximation. This calls for systematic numerical methods for
Model Reduction of Systems.
Brief
History of Model Reduction
Starting in the late 70s, several procedures have
been developed to reduce the model order with apriori error
bounds. The early methods were concerned with reducing the well-known
class of Linear Time Invariant (LTI) Systems with no uncertainty in the
models (the simplest case!). One of the popular methods that held much
promise was the Balanced Truncation Algorithm(BTA). It comes under the
broader category of Gramian-based approaches and has an appealing
symmetry to it. With the advent of the information age, several
software
tools were developed to implement these algorithms. For example,
the Control System Toolbox, Robust Control Toolbox and Mu-synthesis
Toolbox, that were developed in the 90s, each have their own set
of routines to compute lower order
approximations of systems. BTA underwent significant modifications and
refinements that made the implementations more efficient and robust to
finite-precision numerical errors. At the time of writing this, there
are
several excellent
solvers available as freewares on the web for this purpose.
However, as it
suggests itself, their
application is restricted to a very small class of systems - LTI with
no uncertainty in the models. This renders
them not as useful as physical systems are almost always not LTI
and as mentioned earlier, the models should have uncertainty
incorporated to
effectively capture the
behaviour of the system.
The theory and generalization of
BTA to Multi-dimensional and Uncertain systems came in place in the
90s. This led to the development of the
Linear Matrix Inequalities (LMI) as a basis for solving reduction
problems.
The LMI-based approach, as it is called, has one of its origins as a
relaxation of the well-known Lyapunov Equations to inequality
constaints. Alternatives to the classical Ricatti-based control
synthesis methods were also formulated. Inevitably, such a
framework served as the right platform for optimization using matrix variables
and matrix inequality constraints. The optimization problems that are
formulated using the LMI machinery may also be called Semi-Definite
Programs
(SDPs). One way to think about LMIs and SDPs is as generalizations of
the well-known Linear Programming (LP) to the matrix case. Karmarkar's
seminal paper on solving LPs published in the mid-90s was the
starting point in enthusing interest in solving SDPs. Active research
led to the extension of Karmarkar's Algorithm to the semi-definite case
- now, called
the Interior Point Methods. Much of the earlier work is credited to
Nesterov and Nemirovsky in this area. The algorithms they
developed compute the global optimum of a convex Semi-Definite program.
More importantly, they are solvable in polynomial-time. Such
computational tractability of control-based optimization problems
aroused tremendous research interest and activity in the control arena
since a lot of control problems that looked unsolvable could now be
re-formulated as LMIs and the Interior-Point methods can now be
successfully applied.
For the past decade or so, LMIs and SDPs have been and still are, very
hot research topics!
One needs to observe that model
reduction and control synthesis are closely tied. Naturally, the
LMI-based approaches found their applicability in this field as
well. Our problem is, say we are given a
multi-dimensional/uncertain system realization that has a high state
order and complex uncertainty description. How does one go about
obtaining a
lower-order approximation to this model with an apriori upper error
bound ? This research endeavor and MRedTool attempt to give the
solution to this problem. As well, the algorithms implemented in the
toolbox may also be used to reduce calssical multiD realizations and
spatially distributed control models.
About
MRedTool
The model reduction algorithms
have been implemented in MATLAB along with some analysis tools.
MRedTool extensively uses the features of MATLAB to optimize these
routines. At the core of the toolbox is a Semi-Definite Program (a
double trace minimization problem) that is solved with a general
purpose Optimization Solver
'SeDuMi'. In
order to talk to SeDuMi and code the given data in its format, we make
use of a very user-friendly interface -
Yalmip. This
parser lets one to input the problem data as an LMI formulation instead
of a more generic form adopted by SeDuMi. So, these two softwares need
to be downloaded and installed in addition to MRedTool and they run in
the background as one interacts with MRedTool.
Now, for the most important thing you
would want to read!!!
What can MRedTool do for you?
Well..., these are the tasks that it can perform effectively.
- Assess if a given system is exactly reducible and give a
minimal balanced equivalent realization.
- Reduce the state order of the system and the corresponding
blocks of structured operators.
- Manipulate multiD systems - addition, subtraction, block
transformations
- Analyse and compute various system parameters - generalized
Gramians, generalized Hankel Singular Values, `strong' stability,
Structured Induced 2-norm, Structured Reachability and
Observability
matrices
- Generate pseudo-random strongly-stable multiD test
realizations.
Note that the functions that are written
for the above are equally applicable to the simple LTI
systems as well. In a way, this is a generalization of some of
the Model Reduction functions in the MATLAB built-in toolboxes.
However, the principal algorithms used for the computations are
different.