In the mathematical theory of probability, the drift-plus-penalty method is used for optimization of queueing networks and other stochastic systems.
The technique is for stabilizing a queueing network while also minimizing the time average of a network penalty function. It can be used to optimize performance objectives such as time average power, throughput, and throughput utility.[1] [2] In the special case when there is no penalty to be minimized, and when the goal is to design a stable routing policy in a multi-hop network, the method reduces to backpressure routing.[3] [4] The drift-plus-penalty method can also be used to minimize the time average of a stochastic process subject to time average constraints on a collection of other stochastic processes.[5] This is done by defining an appropriate set of virtual queues. It can also be used to produce time averaged solutions to convex optimization problems. [6] [7]
The drift-plus-penalty method applies to queueing systems that operate in discrete time with time slots t in . First, a non-negative function L(t) is defined as a scalar measure of the state of all queues at time t. The function L(t) is typically defined as the sum of the squares of all queue sizes at time t, and is called a Lyapunov function. The Lyapunov drift is defined:
\DeltaL(t)=L(t+1)-L(t)
Every slot t, the current queue state is observed and control actions are taken to greedily minimize a bound on the following drift-plus-penalty expression:
\DeltaL(t)+Vp(t),
where p(t) is the penalty function and V is a non-negative weight. The V parameter can be chosen to ensure the time average of p(t) is arbitrarily close to optimal, with a corresponding tradeoff in average queue size. Like backpressure routing, this method typically does not require knowledge of the probability distributions for job arrivals and network mobility.[5]
When
V=0,
Vp(t)
p(t)
-1
t.
The theory was developed primarily for optimizing communication networks, including wireless networks, ad-hoc mobile networks, and other computer networks. However, the mathematical techniques can be applied to optimization and control for other stochastic systems, including renewable energy allocation in smart power grids[10] [11] [12] and inventory control for product assembly systems.[13]
This section shows how to use the drift-plus-penalty method to minimize the time average of a function p(t) subject to time average constraints on a collection of other functions. The analysis below is based on the material in.[5]
Consider a discrete time system that evolves over normalized time slots t in . Define p(t) as a function whose time average should be minimized, called a penalty function. Suppose that minimization of the time average of p(t) must be done subject to time-average constraints on a collection of K other functions:
p(t)=penaltyfunctionwhosetimeaveragemustbeminimized
y1(t),y2(t),\ldots,yK(t)=otherfunctionswhosetimeaveragesmustbenon-positive
Every slot t, the network controller observes a new random event. It then makes a control action based on knowledge of this event. The values of p(t) and y_i(t) are determined as functions of the random event and the control action on slot t:
\omega(t)=randomeventonslott(assumedi.i.d.overslots)
\alpha(t)=controlactiononslott(chosenafterobserving\omega(t))
p(t)=P(\alpha(t),\omega(t))(adeterministicfunctionof\alpha(t),\omega(t))
yi(t)=Yi(\alpha(t),\omega(t))\foralli\in\{1,\ldots,K\}(deterministicfunctionsof\alpha(t),\omega(t))
The small case notation p(t), y_i(t) and upper case notation P, Y_i is used to distinguish the penalty values from the function that determines these values based on the random event and control action for slot t. The random event
\omega(t)
\Omega
\alpha(t)
A
\Omega
A
A
As an example in the context of communication networks, the random event
\omega(t)
\alpha(t)
For simplicity of exposition, assume the P and Y_i functions are bounded. Further assume the random event process
\omega(t)
Minimize:\limt → infty
1 | |
t |
t-1 | |
\sum | |
\tau=0 |
E[p(\tau)]
Subjectto:\limt → infty
1 | |
t |
t-1 | |
\sum | |
\tau=0 |
E[yi(\tau)]\leq0\foralli\in\{1,\ldots,K\}
It is assumed throughout that this problem is feasible. That is, it is assumed that there exists an algorithm that can satisfy all of the K desired constraints.
The above problem poses each constraint in the standard form of a time average expectation of an abstract process y_i(t) being non-positive. There is no loss of generality with this approach. For example, suppose one desires the time average expectation of some process a(t) to be less than or equal to a given constant c. Then a new penalty function y(t) = a(t) − c can be defined, and the desired constraint is equivalent to the time average expectation of y(t) being non-positive. Likewise, suppose there are two processes a(t) and b(t) and one desires the time average expectation of a(t) to be less than or equal to that of b(t). This constraint is written in standard form by defining a new penalty function y(t) = a(t) − b(t). The above problem seeks to minimize the time average of an abstract penalty function p'(t)'. This can be used to maximize the time average of some desirable reward function r(t) by defining p(t) = −r('t).
For each constraint i in, define a virtual queue with dynamics over slots t in as follows:
(Eq.1)Qi(t+1)=max[Qi(t)+yi(t),0]
Initialize Qi(0) = 0 for all i in . This update equation is identical to that of a virtual discrete time queue with backlog Q_i(t) and with y_i(t) being the difference between new arrivals and new service opportunities on slot t. Intuitively, stabilizing these virtual queues ensures the time averages of the constraint functions are less than or equal to zero, so the desired constraints are satisfied. To see this precisely, note that (Eq. 1) implies:
Qi(t+1)\geqQi(t)+yi(t)
Therefore:
yi(t)\leqQi(t+1)-Qi(t)
Summing the above over the first t slots and using the law of telescoping sums implies:
t-1 | |
\sum | |
\tau=0 |
yi(\tau)\leqQi(t)-Qi(0)=Qi(t)
Dividing by t and taking expectations implies:
1 | |
t |
t-1 | |
\sum | |
\tau=0 |
E[yi(\tau)]\leq
E[Qi(t)] | |
t |
Therefore, the desired constraints of the problem are satisfied whenever the following holds for all i in :
\limt → infty
E[Qi(t)] | |
t |
=0
A queue Q_i(t) that satisfies the above limit equation is said to be mean rate stable.[5]
To stabilize the queues, define the Lyapunov function L(t) as a measure of the total queue backlog on slot t:
L(t)=
1 | |
2 |
2 | |
\sum | |
i(t) |
Squaring the queueing equation (Eq. 1) results in the following bound for each queue i in :
2 | |
Q | |
i(t+1) |
\leq(Qi(t)+
2 | |
y | |
i(t)) |
=
2 | |
Q | |
i(t) |
+
2 | |
y | |
i(t) |
+2Qi(t)yi(t)
Therefore,
1 | |
2 |
2 | |
\sum | |
i(t+1) |
\leq
1 | |
2 |
2 | |
\sum | |
i(t) |
+
1 | |
2 |
2 | |
\sum | |
i(t) |
+
KQ | |
\sum | |
i(t)y |
i(t)
It follows that
\DeltaL(t)=L(t+1)-L(t)\leq
1 | |
2 |
2 | |
\sum | |
i(t) |
+
K | |
\sum | |
i=1 |
Qi(t)yi(t)
Now define B as a positive constant that upper bounds the first term on the right-hand-side of the above inequality. Such a constant exists because the y_i(t) values are bounded. Then:
\DeltaL(t)\leqB+
K | |
\sum | |
i=1 |
Qi(t)yi(t)
Adding Vp(t) to both sides results in the following bound on the drift-plus-penalty expression:
(Eq.2)\DeltaL(t)+Vp(t)\leqB+Vp(t)+
K | |
\sum | |
i=1 |
Qi(t)yi(t)
The drift-plus-penalty algorithm (defined below) makes control actions every slot t that greedily minimize the right-hand-side of the above inequality. Intuitively, taking an action that minimizes the drift alone would be beneficial in terms of queue stability but would not minimize time average penalty. Taking an action that minimizes the penalty alone would not necessarily stabilize the queues. Thus, taking an action to minimize the weighted sum incorporates both objectives of queue stability and penalty minimization. The weight V can be tuned to place more or less emphasis on penalty minimization, which results in a performance tradeoff.[5]
Let
A
Observe:\omega(t),Q1(t),\ldots,QK(t)
Given these observations for slot t, greedily choose a control action
\alpha(t)\inA
VP(\alpha(t),\omega(t))+
KQ | |
\sum | |
i(t)Y |
i(\alpha(t),\omega(t))
Then update the queues for each i in according to (Eq. 1). Repeat this procedure for slot t+1.[5]
Note that the random event and queue backlogs observed on slot t act as given constants when selecting the control action for the slot t minimization. Thus, each slot involves a deterministic search for the minimizing control action over the set A. A key feature of this algorithm is that it does not require knowledge of the probability distribution of the random event process.
The above algorithm involves finding a minimum of a function over an abstract set A. In general cases, the minimum might not exist, or might be difficult to find. Thus, it is useful to assume the algorithm is implemented in an approximate manner as follows: Define C as a non-negative constant, and assume that for all slots t, the control action
\alpha(t)
\begin{align} &VP(\alpha(t),\omega(t))+
K | |
\sum | |
i=1 |
Qi(t)Yi(\alpha(t),\omega(t))\\ \leq{}&C+inf\alpha\in[VP(\alpha,\omega(t))+
KQ | |
\sum | |
i(t)Y |
i(\alpha,\omega(t))] \end{align}
Such a control action is called a C-additive approximation.[5] The case C = 0 corresponds to exact minimization of the desired expression on every slot t.
This section shows the algorithm results in a time average penalty that is within O(1/V) of optimality, with a corresponding O(V) tradeoff in average queue size.[5]
Define an
\omega
\alpha(t)
\omega(t)
\omega
\omega\in\Omega
\alpha(t)\inA
\omega(t)=\omega
\omega
\alpha*(t)
(Eq.3) E[P(\alpha*(t),\omega(t))]=p*=optimaltimeaveragepenaltyfortheproblem
(Eq.4)
*(t), | |
E[Y | |
i(\alpha |
\omega(t))]\leqslant0 \foralli\in\{1,\ldots,K\}
The expectations above are with respect to the random variable
\omega(t)
t,
\alpha(t)
t
\omega(t)
\alpha*(t)
\omega(t)
\alpha(t)
Let
\alpha(t)
\alpha*(t)
\omega
\alpha(t)=drift-plus-penaltyactionforslott
\alpha*(t)=\omega-onlyactionthatsatisfies(Eq.3)-(Eq.4)
Assume the drift-plus-penalty action
\alpha(t)
\alpha(t)
t:
\begin{align} \DeltaL(t)+Vp(t)&\leqslantB+Vp(t)+
KQ | |
\sum | |
i(t)y |
i(t)\\ &=B+VP(\alpha(t),\omega(t))+
K | |
\sum | |
i=1 |
Qi(t)Yi(\alpha(t),\omega(t))\\ &\leqslantB+C+VP(\alpha*(t),\omega(t))+
KQ | |
\sum | |
i(t)Y |
*(t), | |
i(\alpha |
\omega(t))\end{align}
where the last inequality follows because action
\alpha(t)
C
A,
\alpha*(t).
\begin{align} E[\Delta(t)+Vp(t)]&\leqslantB+C+VE[P(\alpha*(t),\omega(t))]+
K | |
\sum | |
i=1 |
E\left[Qi(t)Y
*(t), | |
i(\alpha |
\omega(t))\right]\\ &=B+C+VE[P(\alpha*(t),\omega(t))]+
KE[Q | |
\sum | |
i(t)]E[Y |
*(t), | |
i(\alpha |
\omega(t))]&&\alpha*(t),\omega(t)areindependentofQi(t)\\ &\leqslantB+C+Vp*&&UsingEq.3andEq.4 \end{align}
Notice that the
\alpha*(t)
t>0
\begin{align} (B+C+Vp*)t&\geqslant
t-1 | |
\sum | |
\tau=0 |
E[\Delta(\tau)+Vp(\tau)]\\ &=E[L(t)]-E[L(0)]+
t-1 | |
V\sum | |
\tau=0 |
E[p(\tau)]&&\Delta(\tau)=L(\tau+1)-L(\tau)\\ &=E[L(t)]+
t-1 | |
V\sum | |
\tau=0 |
E[p(\tau)]&&assumeL(0)=0\\ &\geqslant
t-1 | |
V\sum | |
\tau=0 |
E[p(\tau)]&&L(t)\geqslant0\end{align}
Dividing the above by
Vt
t>0:
1 | |
t |
t-1 | |
\sum | |
\tau=0 |
E[p(\tau)]\leqslantp*+
B+C | |
V |
.
Thus, the time average expected penalty can be made arbitrarily close to the optimal value
p*
V
V
Assume now there exists an
\omega
\alpha*(t)
\epsilon>0
(Eq.5)
*(t), | |
E[Y | |
i(\alpha |
\omega(t))]\leq-\epsilon \foralli\in\{1,\ldots,K\}
An argument similar to the one in the previous section shows:
\begin{align} \Delta(t)+Vp(t)&\leqslantB+C+VP(\alpha*(t),\omega(t))+
KQ | |
\sum | |
i(t)Y |
*(t), | |
i(\alpha |
\omega(t))\\ \Delta(t)+Vpmin&\leqslantB+C+Vpmax+
KQ | |
\sum | |
i(t)Y |
*(t), | |
i(\alpha |
\omega(t))&&assumepmin\leqslantP\leqslantpmax\\ E[\Delta(t)]+Vpmin&\leqslantB+C+Vpmax+
K | |
\sum | |
i=1 |
E\left[Qi(t)]
*(t), | |
E[Y | |
i(\alpha |
\omega(t))\right]&&takingexpectation\\ E[\Delta(t)]+Vpmin&\leqslantB+C+Vpmax+
KE[Q | |
\sum | |
i(t)](-\epsilon) |
&&Using(Eq.5)\\ E[\Delta(t)]+\epsilon
KE[Q | |
\sum | |
i(t)] |
&\leqslantB+C+V(pmax-pmin)\end{align}
A telescoping series argument similar to the one in the previous section can thus be used to show the following for all t>0:[5]
1 | |
t |
t-1 | |
\sum | |
\tau=0 |
KE[Q | |
\sum | |
i(\tau)] |
\leqslant
B+C+V(pmax-pmin) | |
\epsilon |
This shows that average queue size is indeed O(V).
The above analysis considers time average expectations. Related probability 1 performance bounds for infinite horizon time average queue size and penalty can be derived using the drift-plus-penalty method together with martingale theory.[14]
As shown, the drift-plus-penalty allows to keep the average queue size under a certain threshold, which depends on the choice of the parameter V, but in general, does not offer any guarantee on the maximum queue occupancy. However, if the action set respects certain constraints, it is possible to add an additional condition on the choice of V to enforce the maximum length of a queue and thus to apply the algorithm also to queues with finite capacity.[15]
The above analysis considers constrained optimization of time averages in a stochastic system that did not have any explicit queues. Each time average inequality constraint was mapped to a virtual queue according to (Eq. 1). In the case of optimizing a queueing network, the virtual queue equations in (Eq. 1) are replaced by the actual queueing equations.
A related problem is the minimization of a convex function of time averages subject to constraints, such as:
Minimize f\left(\overline{y}1,\ldots,\overline{y}K\right) subjectto gi\left(\overline{y}1,\ldots,\overline{y}K\right)\leqslant0 \foralli\in\{1,\ldots,N\}
where
f
gi
\overline{y}i=\limt\toinfty
1 | |
t |
t-1 | |
\sum | |
\tau=0 |
E[yi(\tau)]
Such problems of optimizing convex functions of time averages can be transformed into problems of optimizing time averages of functions via auxiliary variables (see Chapter 5 of the Neely textbook).[2] [5] The latter problems can then be solved by the drift-plus-penalty method as described in previous subsections. An alternative primal-dual method makes decisions similar to drift-plus-penalty decisions, but uses a penalty defined by partial derivatives of the objective function
f.
f
The mathematical analysis in the previous section shows that the drift-plus-penalty method produces a time average penalty that is within O(1/V) of optimality, with a corresponding O(V) tradeoff in average queue size. This method, together with the O(1/V), O(V) tradeoff, was developed in Neely[9] and Neely, Modiano, Li[2] in the context of maximizing network utility subject to stability.
A related algorithm for maximizing network utility was developed by Eryilmaz and Srikant.[18] The Eryilmaz and Srikant work resulted in an algorithm very similar to the drift-plus-penalty algorithm, but used a different analytical technique. That technique was based on Lagrange multipliers. A direct use of the Lagrange multiplier technique results in a worse tradeoff of O(1/V), O(V2). However, the Lagrange multiplier analysis was later strengthened by Huang and Neely to recover the original O(1/V), O(V) tradeoffs, while showing that queue sizes are tightly clustered around the Lagrange multiplier of a corresponding deterministic optimization problem.[19] This clustering result can be used to modify the drift-plus-penalty algorithm to enable improved O(1/V), O(log2(V)) tradeoffs. The modifications can use either place-holder backlog[19] or Last-in-First-Out (LIFO) scheduling.[20] [21]
When implemented for non-stochastic functions, the drift-plus-penalty method is similar to the dual subgradient method of convex optimization theory, with the exception that its output is a time average of primal variables, rather than the primal variables themselves.[4] [6] A related primal-dual technique for maximizing utility in a stochastic queueing network was developed by Stolyar using a fluid model analysis.[16] [17] The Stolyar analysis does not provide analytical results for a performance tradeoff between utility and queue size. A later analysis of the primal-dual method for stochastic networks proves a similar O(1/V), O(V) utility and queue size tradeoff, and also shows local optimality results for minimizing non-convex functions of time averages, under an additional convergence assumption.[5] However, this analysis does not specify how much time is required for the time averages to converge to something close to their infinite horizon limits. Related primal-dual algorithms for utility maximization without queues were developed by Agrawal and Subramanian[22] and Kushner and Whiting.[23]
The drift-plus-penalty algorithm is known to ensure similar performance guarantees for more general ergodic processes
\omega(t)
\omega(t)
\omega(t)
The drift-plus-penalty method can be extended to treat systems that operate over variable size frames.[24] [25] In that case, the frames are labeled with indices r in and the frame durations are denoted, where T[''r''] is a non-negative real number for each frame r. Let
\Delta[r]
p[r]
E[\Delta[r]+Vp[r]\midQ[r]] | |
E[T[r]\midQ[r]] |
where Q[''r''] is the vector of queue backlogs at the beginning of frame r. In the special case when all frames are the same size and are normalized to 1 slot length, so that T[''r''] = 1 for all r, the above minimization reduces to the standard drift-plus-penalty technique. This frame-based method can be used for constrained optimization of Markov decision problems (MDPs) and for other problems involving systems that experience renewals.[24] [25]
Let x = (x1, ..., xN) be an N-dimensional vector of real numbers, and define the hyper-rectangle A by:
A=\{(x1,x2,\ldots,xN)\midxmin,i\leqxi\leqxmax,i\foralli\in\{1,\ldots,N\}\}
where xmin, i, xmax, i are given real numbers that satisfy
xmin,i<xmax,
Yi(x)
(Eq.6)Minimize:P(x)
(Eq.7)Subjectto:Yi(x)\leq0\foralli\in\{1,\ldots,K\},x=(x1,\ldots,xN)\inA
This can be solved by the drift-plus-penalty method as follows: Consider the special case of a deterministic system with no random event process
\omega(t)
\alpha(t)
\alpha(t)=x(t)=(x1(t),x2(t),\ldots,xN(t))
and define the action space as the N-dimensional hyper-rectangle A. Define penalty and constraint functions as:
p(t)=P(x1(t),\ldots,xN(t))
yi(t)=Yi(x1(t),\ldots,xN(t))\foralli\in\{1,\ldots,K\}
Define the following time averages:
\overline{x}(t)=
1 | |
t |
t-1 | |
\sum | |
\tau=0 |
(x1(\tau),\ldots,xN(\tau))
\overline{P}(t)=
1 | |
t |
t-1 | |
\sum | |
\tau=0 |
P(x1(\tau),\ldots,xN(\tau))
\overline{Y}i(t)=
1 | |
t |
t-1 | |
\sum | |
\tau=0 |
Yi(x1(\tau),\ldots,xN(\tau))
Now consider the following time average optimization problem:
(Eq.8)Minimize:\limt → infty\overline{P}(t)
(Eq.9)subjectto:\limt → infty\overline{Y}i(t)\leq0\foralli\in\{1,\ldots,K\}
By Jensen's inequality the following holds for all slots t>0:
P(\overline{x}(t))\leq\overline{P}(t),Yi(\overline{x}(t))\leq\overline{Y}i(t)\foralli\in\{1,\ldots,K\}
From this, it can be shown that an optimal solution to the time-average problem (Eq. 8)–(Eq. 9) can be achieved by solutions of the type x(t) = x* for all slots t, where x* is a vector that solves the convex program (Eq. 6)–(Eq. 7). Further, any time-averaged vector
\limt → infty\overline{x}(t)
Every slot t, choose vector
x(t)=(x1(t),\ldots,xN(t))\inA
VP(x(t))+
K | |
\sum | |
i=1 |
Qi(t)Yi(x(t))
Then update the queues according to:
Qi(t+1)=max[Qi(t)+Yi(x(t)),0]\foralli\in\{1,\ldots,K\}
The time average vector
\overline{x}(t)
This algorithm is similar to the standard dual subgradient algorithm of optimization theory, using a fixed stepsize of 1/V.[26] However, a key difference is that the dual subgradient algorithm is typically analyzed under restrictive strict convexity assumptions that are needed for the primal variables x(t) to converge. There are many important cases where these variables do not converge to the optimal solution, and never even get near the optimal solution (this is the case for most linear programs, as shown below). On the other hand, the drift-plus-penalty algorithm does not require strict convexity assumptions. It ensures that the time averages of the primals converge to a solution that is within O(1/V) of optimality, with O(V) bounds on queue sizes (it can be shown that this translates into an O(V2) bound on convergence time).[6]
Consider the special case of a linear program. Specifically, suppose:
P(x(t))=
Nc | |
\sum | |
nx |
n(t)
Yi(x(t))=
Na | |
\sum | |
in |
xn(t)-bi\foralli\in\{1,\ldots,K\}
for given real-valued constants (c1, …, cN), (ain), (b1, …, bK). Then the above algorithm reduces to the following: Every slot t and for each variable n in, choose xn(t) in [''x''<sub>min,''n''</sub>, ''x''<sub>max,''n''</sub>] to minimize the expression:
\left[Vcn+
K | |
\sum | |
i=1 |
Qi(t)ain\right]xn(t)
Then update queues Qi(t) as before. This amounts to choosing each variable xi(t) according to the simple bang-bang control policy:
Choosexi(t)=xmin,iifVcn+
K | |
\sum | |
i=1 |
Qi(t)ain\geq0
Choosexi(t)=xmax,iifVcn+
K | |
\sum | |
i=1 |
Qi(t)ain<0
Since the primal variables xi(t) are always either xmin,i or xmax,i, they can never converge to the optimal solution if the optimal solution is not a vertex point of the hyper-rectangle A. However, the time-averages of these bang-bang decisions indeed converge to an O(1/V) approximation of the optimal solution. For example, suppose that xmin,1 = 0, xmax,1 = 1, and suppose that all optimal solutions to the linear program have x1 = 3/4. Then roughly 3/4 of the time the bang-bang decision for the first variable will be x1(t) = 1, and the remaining time it will be x1(t) = 0.[7]