# Linear–quadratic regulator

The theory of optimal control is concerned with operating a dynamic system at minimum cost. The case where the system dynamics are described by a set of linear differential equations and the cost is described by a quadratic function is called the LQ problem. One of the main results in the theory is that the solution is provided by the linear–quadratic regulator (LQR), a feedback controller whose equations are given below.
LQR controllers possess inherent robustness with guaranteed gain and phase margin, and they also are part of the solution to the LQG (linear–quadratic–Gaussian) problem. Like the LQR problem itself, the LQG problem is one of the most fundamental problems in control theory.

## General description

The settings of a (regulating) controller governing either a machine or process (like an airplane or chemical reactor) are found by using a mathematical algorithm that minimizes a cost function with weighting factors supplied by the operator. The cost function is often defined as a sum of the deviations of key measurements, like altitude or process temperature, from their desired values. The algorithm thus finds those controller settings that minimize undesired deviations. The magnitude of the control action itself may also be included in the cost function.
The LQR algorithm reduces the amount of work done by the control systems engineer to optimize the controller. However, the engineer still needs to specify the cost function parameters, and compare the results with the specified design goals. Often this means that controller construction will be an iterative process in which the engineer judges the "optimal" controllers produced through simulation and then adjusts the parameters to produce a controller more consistent with design goals.
The LQR algorithm is essentially an automated way of finding an appropriate state-feedback controller. As such, it is not uncommon for control engineers to prefer alternative methods, like full state feedback, also known as pole placement, in which there is a clearer relationship between controller parameters and controller behavior. Difficulty in finding the right weighting factors limits the application of the LQR based controller synthesis.

## Versions
### Finite-horizon, continuous-time

For a continuous-time linear system, defined on $t\in [t_{0},t_{1}]$, described by:
    ${\dot {x}}=Ax+Bu$
where $x\in \mathbb {R} ^{n}$ (that is, $x$ is an $n$-dimensional real-valued vector) is the state of the system and $u\in \mathbb {R} ^{m}$ is the control input. Given a quadratic cost function for the system, defined as:
    $J=x^{T}(t_{1})F(t_{1})x(t_{1})+\int \limits _{t_{0}}^{t_{1}}\left(x^{T}Qx+u^{T}Ru+2x^{T}Nu\right)dt$
where $F$ is the initial cost matrix, $Q$ is the state cost matrix, $R$ is the control cost matrix, and $N$ is the cross-term (control and state) cost matrix, the feedback control law that minimizes the value of the cost is:
    $u=-Kx\,$
where $K$ is given by:
    $K=R^{-1}(B^{T}P(t)+N^{T})\,$
and $P$ is found by solving the continuous time Riccati differential equation:
    $A^{T}P(t)+P(t)A-(P(t)B+N)R^{-1}(B^{T}P(t)+N^{T})+Q=-{\dot {P}}(t)\,$
with the boundary condition:
    $P(t_{1})=F(t_{1}).$
The first order conditions for J$_{min}$ are:
1) State equation
    ${\dot {x}}=Ax+Bu$
2) Co-state equation
    $-{\dot {\lambda }}=Qx+Nu+A^{T}\lambda$
3) Stationary equation
    $0=Ru+N^{T}x+B^{T}\lambda$
4) Boundary conditions
    $x(t_{0})=x_{0}$
and $\lambda (t_{1})=F(t_{1})x(t_{1})$

### Infinite-horizon, continuous-time

For a continuous-time linear system described by:
    ${\dot {x}}=Ax+Bu$
with a cost function defined as:
    $J=\int _{0}^{\infty }\left(x^{T}Qx+u^{T}Ru+2x^{T}Nu\right)dt$
the feedback control law that minimizes the value of the cost is:
    $u=-Kx\,$
where $K$ is given by:
    $K=R^{-1}(B^{T}P+N^{T})\,$
and $P$ is found by solving the continuous time algebraic Riccati equation:
    $A^{T}P+PA-(PB+N)R^{-1}(B^{T}P+N^{T})+Q=0\,$
This can be also written as:
    ${\mathcal {A}}^{T}P+P{\mathcal {A}}-PBR^{-1}B^{T}P+{\mathcal {Q}}=0\,$
with
    ${\mathcal {A}}=A-BR^{-1}N^{T}\qquad {\mathcal {Q}}=Q-NR^{-1}N^{T}\,$

### Finite-horizon, discrete-time

For a discrete-time linear system described by:
    $x_{k+1}=Ax_{k}+Bu_{k}\,$
with a performance index defined as:
    $J=x_{H_{p}}^{T}Q_{H_{p}}x_{H_{p}}+\sum \limits _{k=0}^{H_{p}-1}\left(x_{k}^{T}Qx_{k}+u_{k}^{T}Ru_{k}+2x_{k}^{T}Nu_{k}\right)$, where $H_{p}$ is the time horizon
the optimal control sequence minimizing the performance index is given by:
    $u_{k}=-F_{k}x_{k}\,$
where:
    $F_{k}=(R+B^{T}P_{k+1}B)^{-1}(B^{T}P_{k+1}A+N^{T})\,$
and $P_{k}$ is found iteratively backwards in time by the dynamic Riccati equation:
    $P_{k-1}=A^{T}P_{k}A-(A^{T}P_{k}B+N)\left(R+B^{T}P_{k}B\right)^{-1}(B^{T}P_{k}A+N^{T})+Q$
from terminal condition $P_{H_{p}}=Q_{H_{p}}$. Note that $u_{H_{p}}$ is not defined, since $x$ is driven to its final state $x_{H_{p}}$ by $Ax_{H_{p}-1}+Bu_{H_{p}-1}$.

### Infinite-horizon, discrete-time

For a discrete-time linear system described by:
    $x_{k+1}=Ax_{k}+Bu_{k}\,$
with a performance index defined as:
    $J=\sum \limits _{k=0}^{\infty }\left(x_{k}^{T}Qx_{k}+u_{k}^{T}Ru_{k}+2x_{k}^{T}Nu_{k}\right)$
the optimal control sequence minimizing the performance index is given by:
    $u_{k}=-Fx_{k}\,$
where:
    $F=(R+B^{T}PB)^{-1}(B^{T}PA+N^{T})\,$
and $P$ is the unique positive definite solution to the discrete time algebraic Riccati equation (DARE):
    $P=A^{T}PA-(A^{T}PB+N)\left(R+B^{T}PB\right)^{-1}(B^{T}PA+N^{T})+Q$.
This can be also written as:
    $P={\mathcal {A}}^{T}P{\mathcal {A}}-{\mathcal {A}}^{T}PB\left(R+B^{T}PB\right)^{-1}B^{T}P{\mathcal {A}}+{\mathcal {Q}}$
with:
    ${\mathcal {A}}=A-BR^{-1}N^{T}\qquad {\mathcal {Q}}=Q-NR^{-1}N^{T}$.
Note that one way to solve the algebraic Riccati equation is by iterating the dynamic Riccati equation of the finite-horizon case until it converges.

## Constraints

In practice, not all values of $x_{k},u_{k}$ may be allowed. One common constraint is the linear one:
    $C\mathbf {x} +D\mathbf {u} \leq \mathbf {e} .$
The finite horizon version of this is a convex optimization problem, and so the problem is often solved repeatedly with a receding horizon. This is a form of model predictive control.

## Related controllers
### Quadratic-quadratic regulator

If the state equation is quadratic then the problem is known as the quadratic-quadratic regulator (QQR). The Al'Brekht algorithm can be applied to reduce this problem to one that can be solved efficiently using tensor based linear solvers.

### Polynomial-quadratic regulator

If the state equation is polynomial then the problem is known as the polynomial-quadratic regulator (PQR). Again, the Al'Brekht algorithm can be applied to reduce this problem to a large linear one which can be solved with a generalization of the Bartels-Stewart algorithm; this is feasible provided that the degree of the polynomial is not too high.

### Model-predictive control

Model predictive control and linear-quadratic regulators are two types of optimal control methods that have distinct approaches for setting the optimization costs. In particular, when the LQR is run repeatedly with a receding horizon, it becomes a form of model predictive control (MPC). In general, however, MPC does not rely on any assumptions regarding linearity of the system.