**Optimal control**

In many problem instances we want to control the system in
an optimal way. A goal can be to minimize energy consumption, maximize profit,
minimize tracking error, minimize settling time, etc. This natural desire in
achieving the best possible system performance is usually formulated as an
optimization problem, i.e. mathematical program of the following form

_{}

where *J* is the objective function and *u* are
the system control variables.

The system dynamics can be
used to predict the future system evolution over a prediction horizon based on the
current system state. In discrete-time case the objective is then formulated as

_{}

where *x*_{k} represents the predicted system
state *k* steps in the future, *u*_{k} is the concurrent
control input, *N* the prediction horizon and *l* is usually a weighted
norm. Such control formulations fall in the category of model predictive
control (MPC).

At each sampling instant an optimal control sequence *U*^{*}
is obtained, but only the first planned control move of the optimal sequence is
applied to the system.

The whole procedure is repeated at the next time instance
over a shifted horizon (receding horizon control).

Receding horizon
control

Thanks to the variety of model types that can be used for
the prediction in the MPC framework, and due to the natural incorporation of
the system constraints, the MPC quickly became a very popular control strategy
in the process industries. However, one should point out the real problem
is not solved simply by using the MPC strategy - it is just ''moved'' to the
underlying optimization problem. Precisely for that reason the MPC was applied
mostly to the relatively slow processes for which one could afford (time- and
money-wise) the usage of a significant computational power.

Luckily the things have changed in the last decade. We are
now equipped with the techniques - the so-called multi-parametric mathematical
programming - that allow the off-line pre-computation of the optimal control
law. In this way, instead of solving a difficult optimization problem on-line,
all we need to do is evaluate a look-up table like function.

Explicit MPC