Sie sind auf Seite 1von 5

Application of Convex Optimization: Congestion Pricing

Poompat Saengudomlert Asian Institute of Technology 19 September 2011

Problem Statement

This discussion is based on [Kel97], which investigates the use of pricing as a means to resolve network congestion. Assume a set of users (or equivalently s-d pairs) sharing a network of transmission links with limited capacities. Each user is assumed to use xed routing; an extension to alternate routing is also possible but will not be considered here. In addition, each user is assumed to have a utility function, which reects the users satisfaction as a function of the total data rate that he/she receives. To facilitate the analysis, the utility function of each user is assumed to be increasing, strictly concave, and dierentiable. The objective of optimization is to maximize the total utility of all the users. Focusing on maximizing the total utility raises a fairness issue, i.e. some users may be allocated much smaller data rates. It is argued in [Kel97] that using the logarithmic function as a utility function can help make the optimization result fair to the users. Intuitively, fairness comes from the fact that the marginal return for each user is decreasing with his/her data rate in the logarithmic function. The optimization problem is formulated as follows. Given information L: set of links, indexed from 1 to |L| S : set of users (i.e. s-d pairs) with xed routing, indexed from 1 to |S| A: |L| |S| matrix with entry (l, s) equal to 1 if link l is used by user s, and equal to 0 otherwise c: |L| 1 vector with entry l equal to capacity of link l Us (xs ): increasing, strictly concave, and dierentiable utility function of user s (as a function of data rate for user s) U (x1 , . . . , x|S| ): total utility function (as a function of data rates for all users)

Decision variables xs : data rate of user s x: |S| 1 vector with entry s equal to xs Constraints Link capacity constraints Ax c Nonnegativity constraints x0 Objective The objective is to maximize the total utility, i.e. maximize U (x) =

Us (xs ).

SYSTEM Problem

The overall optimization problem, referred to as the SYSTEM problem, is as follows. Optimization problem (SYSTEM problem) maximize U (x) =

Us (xs )

subject to Ax c, x 0 It can be veried that the SYSTEM problem is a convex optimization problem. In addition, from the Slator condition (e.g. [Ber95, p. 445]), there exists a primal and dual optimal solution pair. We next apply the KKT conditions for an optimal solution pair. KKT Conditions of SYSTEM Problem The Lagrangian is (x, , ) =

Us (xs ) + T (c Ax) + T x.

The corresponding KKT conditions are as follows. Primal and dual feasibility: Ax c, x 0, 0, 0 Lagrangian optimality: U (x ) AT + = 0 Complimentary slackness: T (c Ax ) = 0, T x = 0

We can express the KKT conditions without using as follows. Ax c, x 0, 0 A U (x ) T (c Ax ) = 0, AT U (x )


(2.1) (2.2) x = 0 (2.3)

USER and NETWORK Problems

Suppose that user s is charged s per unit of data ow. In a selsh manner, each user as well as the network provider are trying to maximize personal benets. USER problem maximize Us (xs ) s xs subject to xs 0 NETWORK problem maximize

s xs

subject to Ax c, x 0 Let be an |S| 1 vector containing s . The results in [Kel97] imply that the choice = AT allows the SYSTEM problem to be optimally solved by either the individual users (i.e. by solving the USER problems) or by the network (i.e. by solving the NETWORK problem) in a selsh manner. The next section will provide a justication. Since s = l:(l,s)=1 l , we can think of l as the price of using link l . In addition, user s pays for all the links that he/she uses.

Basic Theorem

The following theorem is a key result in [Kel97]. Theorem 1 [Kel97]: If the above pricing is used, the optimal solution obtained from the set of USER problems is unique. In addition, it is (i) also optimal for the NETWORK problem, and (ii) also optimal for the SYSTEM problem. Proof: From strict concavity of Us (xs ), the optimal solution x s from each USER problem is unique. In addition, the KKT conditions applied to the Lagrangian s (xs , s ) = Us (xs ) s xs + s xs yields the following.
Primal and dual feasibility: x s 0, s 0 (x Lagrangian optimality: Us s ) s + s = 0 xs = 0 Complimentary slackness: s

We can express the above conditions without using s as follows.

x 0 U (x ) ( U (x ))T x = 0

(4.1) (4.2) (4.3)

Consider setting = AT . Since (i) the conditions (4.1)-(4.3) form a subset of the conditions in (2.1)-(2.3), (ii) there is a unique x that can satisfy (4.1)-(4.3), and (iii) the SYSTEM problem has an optimal solution, it follows that x must satisty (2.1)-(2.3) and is optimal for the SYSTEM problem. It remains to show that the optimal x obtained above is also optimal for the NETWORK problem. Consider the KKT conditions applied to the Lagrangian 0 (x, p, q) = T x + pT (c Ax) + qT x of the NETWORK problem. Primal and dual feasibility: Ax c, x 0, p 0, q 0 Lagrangian optimality: AT p + q = 0 Complimentary slackness: qT x = 0 We can express the above conditions without using q as follows. Ax c, x 0, p 0 A p

(4.4) (4.5) (4.6)

(AT p )T x = 0

By choosing p = and = AT , it follows that (4.5) and (4.6) are satised. In addition, since the x obtained above already satises the KKT conditions for the SYSTEM problem, it follows that (4.4) must be satised. We conclude that this (x , p ) satises (4.4)-(4.6) and is thus optimal for the NETWORK problem.

Additional Results

It is shown in [Kel97] that an optimal solution to the NETWORK problem is (i) also optimal for the USER problems, and (ii) also optimal for the SYSTEM problem. In addition, the model can be generalized so that each user may have more than one path to support his data ows. The nal section in [Kel97] provides an alternative problem formulation that can be solved to obtain an optimal solution to the SYSTEM problem. It is this alternative formulation that is used in subsequent papers that deal with how to practially nd the price . Finally, this discussion gives an example of how the overall optimization problem can be decomposed into smaller subproblems which can be solved separately. The solutions can then be combined to yield the overall optimal solution. Such decomposition techniques have been investigated to provide mathematical justication of network layering; an extensive review is provided in [Chi+07].

[Ber95] D.P. Bertsekas, Nonlinear Programming, 1995. [Kel97] F.P. Kelly, Charging and rate control for elastic trac, European Transactions on Telecommunications, vol. 8, pp. 3337, 1997. Corrected version available at: frank/ elastic.html [Chi+07] M. Chiang et al., Layering as Optimization Decomposition: A Mathematical Theory of Network Architectures, Proceedings of the IEEE, vol. 95, no. 1, pp. 255312, January 2007.