# Lyapunov optimization

This article describes Lyapunov optimization for dynamical systems. It gives an example application to optimal control in queueing networks.

## Introduction

Lyapunov optimization refers to the use of a Lyapunov function to optimally control a dynamical system. Lyapunov functions are used extensively in control theory to ensure different forms of system stability. The state of a system at a particular time is often described by a multi-dimensional vector. A Lyapunov function is a nonnegative scalar measure of this multi-dimensional state. Typically, the function is defined to grow large when the system moves towards undesirable states. System stability is achieved by taking control actions that make the Lyapunov function drift in the negative direction towards zero.
Lyapunov drift is central to the study of optimal control in queueing networks. A typical goal is to stabilize all network queues while optimizing some performance objective, such as minimizing average energy or maximizing average throughput. Minimizing the drift of a quadratic Lyapunov function leads to the backpressure routing algorithm for network stability, also called the max-weight algorithm. Adding a weighted penalty term to the Lyapunov drift and minimizing the sum leads to the drift-plus-penalty algorithm for joint network stability and penalty minimization. The drift-plus-penalty procedure can also be used to compute solutions to convex programs and linear programs.

## Lyapunov drift for queueing networks

Consider a queueing network that evolves in discrete time with normalized time slots $t\in \{0,1,2,\ldots \}.$ Suppose there are $N$ queues in the network, and define the vector of queue backlogs at time $t$ by:
    $Q(t)=(Q_{1}(t),\ldots ,Q_{N}(t))$

### Quadratic Lyapunov functions

For each slot $t,$ define:
    $L(t)={\frac {1}{2}}\sum _{i=1}^{N}Q_{i}(t)^{2}$
This function is a scalar measure of the total queue backlog in the network. It is called quadratic Lyapunov function on the queue state. Define the Lyapunov drift as the change in this function from one slot to the next:
    $\Delta L(t)=L(t+1)-L(t)$

### Bounding the Lyapunov drift

Suppose the queue backlogs change over time according to the following equation:
    $Q_{i}(t+1)=\max \left\{Q_{i}(t)+a_{i}(t)-b_{i}(t),0\right\}$
where $a_{i}(t)$ and $b_{i}(t)$ are arrivals and service opportunities, respectively, in queue $i$ on slot $t.$ This equation can be used to compute a bound on the Lyapunov drift for any slot t:
    $Q_{i}(t+1)^{2}=\left(\max \left\{Q_{i}(t)+a_{i}(t)-b_{i}(t),0\right\}\right)^{2}\leqslant \left(Q_{i}(t)+a_{i}(t)-b_{i}(t)\right)^{2}$
Rearranging this inequality, summing over all $i,$ and dividing by 2 leads to:
    $\Delta L(t)\leqslant B(t)+\sum _{i=1}^{N}Q_{i}(t)(a_{i}(t)-b_{i}(t))\qquad (Eq.1)$
where:
    $B(t)={\frac {1}{2}}\sum _{i=1}^{N}\left(a_{i}(t)-b_{i}(t)\right)^{2}$
Suppose the second moments of arrivals and service in each queue are bounded, so that there is a finite constant $B>0$ such that for all $t$ and all possible queue vectors $Q(t)$ the following property holds:
    $\mathbb {E} [B(t)|Q(t)]\leqslant B$
Taking conditional expectations of (Eq. 1) leads to the following bound on the conditional expected Lyapunov drift:
    $\mathbb {E} [\Delta L(t)|Q(t)]\leqslant B+\sum _{i=1}^{N}Q_{i}(t)\mathbb {E} [a_{i}(t)-b_{i}(t)|Q(t)]\qquad (Eq.2)$

### A basic Lyapunov drift theorem

In many cases, the network can be controlled so that the difference between arrivals and service at each queue satisfies the following property for some real number $\varepsilon >0$:
    $\mathbb {E} [a_{i}(t)-b_{i}(t)|Q(t)]\leqslant -\varepsilon$
If the above holds for the same epsilon for all queues $i,$ all slots $t,$ and all possible vectors $Q(t),$ then (Eq. 2) reduces to the drift condition used in the following Lyapunov drift theorem. The theorem below can be viewed as a variation on Foster's theorem for Markov chains. However, it does not require a Markov chain structure.
    Theorem (Lyapunov Drift). Suppose there are constants $B\geqslant 0,\varepsilon >0$ such that for all $t$ and all possible vectors $Q(t)$ the conditional Lyapunov drift satisfies:
       $\mathbb {E} [\Delta L(t)|Q(t)]\leqslant B-\varepsilon \sum _{i=1}^{N}Q_{i}(t).$
    Then for all slots $t>0$ the time average queue size in the network satisfies:
       ${\frac {1}{t}}\sum _{\tau =0}^{t-1}\sum _{i=1}^{N}\mathbb {E} [Q_{i}(\tau )]\leqslant {\frac {B}{\varepsilon }}+{\frac {\mathbb {E} [L(0)]}{\varepsilon t}}.$
Proof. Taking expectations of both sides of the drift inequality and using the law of iterated expectations yields:
    $\mathbb {E} [\Delta L(t)]\leqslant B-\varepsilon \sum _{i=1}^{N}\mathbb {E} [Q_{i}(t)]$
Summing the above expression over $\tau \in \{0,1,\ldots ,t-1\}$ and using the law of telescoping sums gives:
    $\mathbb {E} [L(t)]-\mathbb {E} [L(0)]\leqslant Bt-\varepsilon \sum _{\tau =0}^{t-1}\sum _{i=1}^{N}\mathbb {E} [Q_{i}(\tau )]$
Using the fact that $L(t)$ is non-negative and rearranging the terms in the above expression proves the result.

## Lyapunov optimization for queueing networks

Consider the same queueing network as in the above section. Now define $p(t)$ as a network penalty incurred on slot $t.$ Suppose the goal is to stabilize the queueing network while minimizing the time average of $p(t).$ For example, to stabilize the network while minimizing time average power, $p(t)$ can be defined as the total power incurred by the network on slot t. To treat problems of maximizing the time average of some desirable reward $r(t),$ the penalty can be defined $p(t)=-r(t).$ This is useful for maximizing network throughout utility subject to stability.
To stabilize the network while minimizing the time average of the penalty $p(t),$ network algorithms can be designed to make control actions that greedily minimize a bound on the following drift-plus-penalty expression on each slot $t$:
    $\Delta L(t)+Vp(t)$
where $V$ is a non-negative weight that is chosen as desired to affect a performance tradeoff. A key feature of this approach is that it typically does not require knowledge of the probabilities of the random network events (such as random job arrivals or channel realizations). Choosing $V=0$ reduces to minimizing a bound on the drift every slot and, for routing in multi-hop queueing networks, reduces to the backpressure routing algorithm developed by Tassiulas and Ephremides. Using $V>0$ and defining $p(t)$ as the network power use on slot $t$ leads to the drift-plus-penalty algorithm for minimizing average power subject to network stability developed by Neely. Using $V>0$ and using $p(t)$ as the negative of an admission control utility metric leads to the drift-plus-penalty algorithm for joint flow control and network routing developed by Neely, Modiano, and Li.
A generalization of the Lyapunov drift theorem of the previous section is important in this context. For simplicity of exposition, assume $p(t)$ is bounded from below:
    $p(t)\geqslant p_{\min }\quad \forall t\in \{0,1,2,...\}$
For example, the above is satisfied with $p_{\min }=0$ in cases when the penalty $p(t)$ is always non-negative. Let $p^{*}$ represent a desired target for the time average of $p(t).$ Let $V$ be a parameter used to weight the importance of meeting the target. The following theorem shows that if a drift-plus-penalty condition is met, then the time average penalty is at most O(1/V) above the desired target, while average queue size is O(V). The $V$ parameter can be tuned to make time average penalty as close to (or below) the target as desired, with a corresponding queue size tradeoff.
    Theorem (Lyapunov Optimization). Suppose there are constants $\varepsilon >0,V,B\geqslant 0,$ and $p^{*}$ such that for all $t$ and all possible vectors $Q(t)$ the following drift-plus-penalty condition holds:
       $\mathbb {E} [\Delta L(t)+Vp(t)|Q(t)]\leqslant B+Vp^{*}-\varepsilon \sum _{i=1}^{N}Q_{i}(t)$
    Then for all $t>0$ the time average penalty and time average queue sizes satisfy:
       ${\frac {1}{t}}\sum _{\tau =0}^{t-1}\mathbb {E} [p(\tau )]\leqslant p^{*}+{\frac {B}{V}}+{\frac {\mathbb {E} [L(0)]}{Vt}}$
       ${\frac {1}{t}}\sum _{\tau =0}^{t-1}\sum _{i=1}^{N}\mathbb {E} [Q_{i}(\tau )]\leqslant {\frac {B+V(p^{*}-p_{\min })}{\varepsilon }}+{\frac {\mathbb {E} [L(0)]}{\varepsilon t}}$
Proof. Taking expectations of both sides of the posited drift-plus-penalty and using the law of iterated expectations we have:
    $\mathbb {E} [\Delta L(t)]+V\mathbb {E} [p(t)]\leqslant B+Vp^{*}-\varepsilon \sum _{i=1}^{N}\mathbb {E} [Q_{i}(t)]$
Summing the above over the first $t$ slots and using the law of telescoping sums gives:
    ${\begin{aligned}\mathbb {E} [L(t)]-\mathbb {E} [L(0)]+V\sum _{\tau =0}^{t-1}\mathbb {E} [p(\tau )]&\leqslant (B+Vp^{*})t-\varepsilon \sum _{\tau =0}^{t-1}\sum _{i=1}^{N}\mathbb {E} [Q_{i}(\tau )]\\-\mathbb {E} [L(0)]+V\sum _{\tau =0}^{t-1}\mathbb {E} [p(\tau )]&\leqslant (B+Vp^{*})t&&{\text{Since }}L(t),Q_{i}(t)\geqslant 0\\V\sum _{\tau =0}^{t-1}\mathbb {E} [p(\tau )]&\leqslant p^{*}Vt+Bt+\mathbb {E} [L(0)]\end{aligned}}$
Dividing by $Vt$ and rearranging terms proves the time average penalty bound. A similar argument proves the time average queue size bound.

## Related links

* Drift plus penalty
* Backpressure routing
* Lyapunov function
* Foster's theorem
* Control-Lyapunov function