Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Introduction to Network Utility Maximization (NUM) Richard T. B. Ma School of Computing National University of Singapore CS 4226: Internet Architecture Outline Utility maximization and convex optimization Assumptions of utility functions Intuitive solutions of utility maximization Convex set, function and optimization framework Utility maximization and fairness Max-min, proportional fairness and 𝛼-fairness Karush–Kuhn–Tucker (KKT) conditions Lagrange multiplier and shadow price How Does Utility Look Like? Assumptions on utility function We assume that each 𝑈𝑖 ⋅ is defined over 0, +∞ continuously differentiable non-decreasing (not critical) concave (most intriguing) Interpretations and reasons non-negative resource allocation the more you get, the happier you are marginal happiness decreases (diminishing return) guarantee existence of optimal solution Utility maximization 𝑪 Multiple flows share a resource: Maximize 𝑈1 𝑥1 + 𝑈2 𝑥2 subject to: 𝑥1 + 𝑥2 ≤ 𝐶, 𝑥1 ≥ 0 and 𝑥2 ≥ 0 𝑛 Maximize 𝑈 𝒙 = � 𝑛 subject to: � 𝑖=1 𝑖=1 𝑈𝑖 𝑥𝑖 𝑥𝑖 ≤ 𝐶 and 𝒙 ≥ 𝟎 𝒙𝟏 𝒙𝟐 𝟎 𝟏 𝟐 𝟑 𝟒 𝟓 𝟔 𝟕 𝟖 𝟏 𝟐 𝟑 𝟒 𝟓 𝟔 𝟕 𝟖 𝟗 𝑼′𝟐 𝟎 𝟏 𝟐 𝟑 𝟒 𝟓 𝟔 𝟕 𝟖 𝟎 𝟏 𝟐 𝟑 𝟒 𝟓 𝟔 𝟕 𝟖 Sort marginal 𝒙𝟏 𝒙𝟐 utilities by a descending order Assign resource unit by unit 𝑼′ 𝟏 𝟐 𝟑 𝟒 𝟏 𝟐 𝟑 𝟒 𝑼′𝟏 𝑪 𝑼𝟐 𝟏 𝟐 𝟑 𝟒 𝟏 𝟐 𝟑 𝟒 𝟓 𝟔 𝟕 𝟖 𝟗 𝑼𝟏 How does 𝒙 look like? ∗ 𝟎 𝟏 𝟐 𝟑 𝟒 𝟓 𝟔 𝟕 𝟖 𝟗 Utility maximization 𝑛 Maximize 𝑈 𝒙 = � 𝑛 subject to: � 𝑖=1 𝑖=1 𝑪 𝑈𝑖 𝑥𝑖 𝒙𝟏 𝒙𝟐 𝑥𝑖 ≤ 𝐶 and 𝒙 ≥ 𝟎 A necessary condition: 𝒙∗ = 𝑥1∗ , ⋯ , 𝑥𝑛∗ is optimal only if for any 𝑖 𝑈𝑖′ 𝑥𝑖∗ ≥ 𝑈𝑗′ 𝑥𝑗∗ ∀𝑗 unless 𝑥𝑖∗ = 0 Convex set and convex function A set 𝑺 is convex iff ∀𝒙, 𝒚 ∈ 𝑺 and 𝛼 ∈ 0,1 , 1 − 𝛼 𝒙 + 𝛼𝒚 ∈ 𝑺 A function 𝑓 is convex iff for any 𝛼 ∈ 0,1 𝑓 1 − 𝛼 𝒙 + 𝛼𝒚 ≤ 1 − 𝛼 𝑓 𝒙 + 𝛼𝛼 𝒚 if and only if its epigraph is a convex set convex function convex set non-convex set Concave function and property A function 𝑓 is concave if for any 𝛼 ∈ 0,1 𝑓 1 − 𝛼 𝒙 + 𝛼𝒚 ≥ 1 − 𝛼 𝑓 𝒙 + 𝛼𝛼 𝒚 Properties of concave functions: A function 𝑓 𝒙 is concave over a convex set iff − 𝑓 𝒙 is a convex function over the set. Sum of concave functions is also concave A differentiable function 𝑓 𝑥 is concave if 𝑓 ′ 𝑥 is monotonically decreasing: a concave function has a decreasing slope Optimality for convex optimization Minimize 𝑓 𝒙 subject to: 𝒙 ∈ 𝑺 ⊂ 𝑹𝒏 If 𝑺 is convex and 𝑓 𝒙 is convex over 𝑺 any local minimum of 𝑓(·) is a global minimum if 𝑓 ⋅ is strictly convex, then there exists at most one global minimum Necessary condition: if 𝒙∗ is optimal, then 𝛻𝑓 𝒙∗ 𝑻 𝒙 − 𝒙∗ ≥ 0, ∀𝒙 ∈ 𝑺. it becomes sufficient under convex optimization Our utility maximization problem Maximize 𝑈 𝒙 ⇔ Minimize − 𝑈 𝒙 subject to: 𝒙 ∈ 𝑺 = 𝒙: 𝑔𝑖 𝒙 ≤ 0, ∀𝑖 = 1, ⋯ , 𝑚 Functions 𝑔𝑖 𝒙 are linear, so 𝑺 is convex 𝑈 𝒙 is concave over 𝑺 any local maximum of 𝑈(·) is a global maximum strictly concave 𝑈 ⋅ unique global maximum Sufficient condition: 𝒙∗ is optimal if 𝛻𝑈 𝒙∗ 𝑻 𝒙 − 𝒙∗ ≤ 0, ∀𝒙 ∈ 𝑺. Local and global maxima Outline Utility maximization and convex optimization Assumptions of utility functions Intuitive solutions of utility maximization Convex set, function and optimization framework Utility maximization and fairness Max-min, proportional fairness and 𝛼-fairness Karush–Kuhn–Tucker (KKT) conditions Lagrange multiplier and shadow price A different point of view utility: a measure of user satisfaction when getting a data rate from the network need to know users’ applications and utility functions in practice A new view: utility function is assigned to user in the network by a service provider with the goal of achieving a certain goal maximize efficiency maximize fairness Different objectives Maximize efficiency (aggregate data rate) 𝑈𝑖 𝑥𝑖 = 𝑥𝑖 Minimize potential delay 1 𝑈𝑖 𝑥𝑖 = − 𝑥𝑖 Proportional fairness 𝑈𝑖 𝑥𝑖 = log 𝑥𝑖 How about max-min fairness? Proportional fairness Definition: a feasible allocation solution 𝒙∗ is proportional fair if for any feasible 𝒙, 𝑛 𝑥𝑖 − 𝑥𝑖∗ � ≤ 0. ∗ 𝑥𝑖 𝑖=1 for any allocation, the sum of proportional changes in the utilities will be non-positive. if some rate increases, there is another user whose rate will decrease and the proportion by which it decreases is larger. Proportional fairness The objective function becomes 𝑛 𝑛 𝑖=1 𝑖=1 Maximize 𝑈 𝒙 = � 𝑈𝑖 𝑥𝑖 = � log 𝑥𝑖 𝑈 𝒙 is strictly concave sufficient condition: if 𝒙∗ is optimal, then 𝛻𝑈 𝒙∗ 𝑻 𝒙 − 𝒙∗ 𝑛 𝑥𝑖 − 𝑥𝑖∗ =� ≤ 0, ∗ 𝑥𝑖 𝑖=1 ∀𝒙 ∈ 𝑺. A unified form of utility Consider the form of 𝛼-fairness : 𝑥𝑖1−𝛼 𝑈𝑖 𝑥𝑖 = for some 𝛼 ≥ 0 1−𝛼 maximize aggregate rate (efficiency) 𝛼 = 0 minimize potential delay 𝛼 = 2 how about 𝛼 = 1? (not defined, use L’Hospital) 𝑥𝑖1−𝛼 𝑈𝑖 𝑥𝑖 = �1 − 𝛼 if 𝛼 ≠ 1 log 𝑥𝑖 if 𝛼 = 1 how about 𝛼 =→ +∞? why does it look so strange? how to remember? 𝑛 𝑛 Maximize 𝑈 𝒙 = � 𝑈𝑖 𝑥𝑖 𝜵𝑼 𝒙∗ 𝑖=1 𝒙𝟏−𝜶 = ; 𝜵𝑼 𝒙∗ ⋮ 𝒙𝒏−𝜶 Consider a flow 𝑠 � 𝑖:𝑥𝑖∗ ≤𝑥𝑠∗ 𝑥𝑖 − 𝑥𝑖∗ ∗ 𝛼 𝑥𝑖 ⇒ � 𝒙𝒊 − 𝒙𝒊∗ 𝒊:𝒙∗𝒊 ≤𝒙∗𝒔 𝒙𝒔∗ 𝒙𝒊∗ 𝑻 𝒙 − 𝒙∗ 𝑥𝑖1−𝛼 =� 1−𝛼 𝑖=1 𝒏 𝒙𝒊 − 𝒙∗𝒊 =� ∗ 𝜶 ≤𝟎 𝒙𝒊 𝒊=𝟏 𝑥𝑗 − 𝑥𝑗∗ 𝑥𝑠 − 𝑥𝑠∗ + ≤0 𝛼 ∗ 𝛼 + � ∗ 𝑥𝑠 𝑥 ∗ 𝑗 𝑗:𝑥 >𝑥 ∗ 𝜶 𝑗 + 𝒙𝒔 − 𝒙∗𝒔 + � 𝑠 𝒋:𝒙∗𝒋 >𝒙∗𝒔 𝒙𝒋 − 𝒙𝒋∗ 𝒙∗𝒔 𝒙∗𝒋 𝜶 need to decrease users who got less resource ≤𝟎 Outline Utility maximization and convex optimization Assumptions of utility functions Intuitive solutions of utility maximization Convex set, function and optimization framework Utility maximization and fairness Max-min, proportional fairness and 𝛼-fairness Karush–Kuhn–Tucker (KKT) conditions Lagrange multiplier and shadow price Karush–Kuhn–Tucker (KKT) conditions we know a necessary/sufficient condition: 𝛻𝑈 𝒙∗ 𝑻 𝒙 − 𝒙∗ ≤ 0, ∀𝒙 ∈ 𝑺. if the constraint set can be written as subject to: 𝑔𝑖 𝒙 ≤ 0, ∀𝑖 = 1, ⋯ , 𝑚 KKT: if 𝒙∗ is optimal, for each 𝑔𝑖 ⋅ , there is a Lagrange multiplier 𝜇𝑖 ≥ 0 such that 𝑚 𝛻𝑈 𝒙∗ = � 𝑔𝑖 𝒙∗ ≤ 0, 𝜇𝑖 𝑔𝑖 𝒙∗ = 0, 𝑖=1 𝜇𝑖 𝛻𝑔𝑖 𝒙∗ ∀𝑖 = 1, ⋯ , 𝑚 ∀𝑖 = 1, ⋯ , 𝑚 Unconstrained problems Maximize 𝑈 𝒙 subject to: 𝑔𝑖 𝒙 ≤ 0, ∀𝑖 = 1, ⋯ , 𝑚 the KKT necessary conditions 𝑚 𝛻𝑈 𝒙∗ = � 𝜇𝑖 𝛻𝑔𝑖 𝒙∗ = 𝟎 𝑖=1 𝑔𝑖 𝒙∗ ≤ 0, ∀𝑖 = 1, ⋯ , 𝑚 𝜇𝑖 ≥ 0, ∀𝑖 = 1, ⋯ , 𝑚 𝜇𝑖 𝑔𝑖 𝒙∗ = 0, ∀𝑖 = 1, ⋯ , 𝑚 𝜕𝜕 𝒙∗ ⇒ = 0 ∀𝑖 = 1, ⋯ , 𝑛 𝑥𝑖 Utility maximization 𝑪 Max 𝑈 𝒙 = 𝑈1 𝑥1 + 𝑈2 𝑥2 ; s.t. 𝑥1 + 𝑥2 ≤ 𝐶 𝛻𝑈 𝒙∗ = 𝜇𝜇𝜇 𝒙∗ 𝑔 𝒙∗ = 𝑥1∗ + 𝑥2∗ − 𝐶 ≤ 0 𝜇≥0 𝜇𝑔 𝒙∗ = 𝜇 𝑥1∗ + 𝑥2∗ − 𝐶 = 0 Either 1) 𝜇 = 0 & 𝛻𝑈 𝒙∗ = 0 or 2) 𝜇 > 0 & 𝛻𝑈 𝒙∗ = 𝜇𝜇𝜇 𝒙∗ 𝑈1′ 𝑥1∗ = 𝜇 ⇔� ′ ∗ 𝑈2 𝑥2 = 𝜇 𝒙𝟏 𝒙𝟐 Lagrange multiplier and shadow price 𝑪 Max 𝑈 𝒙 = 𝑈1 𝑥1 + 𝑈2 𝑥2 ; s.t. 𝑥1 + 𝑥2 ≤ 𝐶 𝒙𝟏 𝒙𝟐 the Lagrange multiplier 𝜇 corresponds to the marginal utility achieved at the maximum “shadow price”: if we can add additional resource, how much can we increase utility Either 1) 𝜇 = 0 & 𝛻𝑈 𝒙∗ = 0 or 2) 𝜇 > 0 & 𝛻𝑈 𝒙∗ = 𝜇𝜇𝜇 𝒙∗ 𝑈1′ 𝑥1∗ = 𝜇 ⇔� ′ ∗ 𝑈2 𝑥2 = 𝜇 Utility maximization Max 𝑈 𝒙 = 𝑈1 𝑥1 + 𝑈2 𝑥2 ; s.t. 𝑥1 + 𝑥2 ≤ 𝐶, 𝑥1 ≥ 0 and 𝑥2 ≥ 0 𝑪 −1 0 𝛻𝑈 = 𝜇𝜇𝜇 + 𝜇1 + 𝜇2 0 −1 𝑔 𝒙∗ = 𝑥1∗ + 𝑥2∗ − 𝐶 ≤ 0; −𝑥1 ≤ 0; −𝑥2 ≤ 0 𝜇 ≥ 0; 𝜇1 ≥ 0; 𝜇2 ≥ 0 𝜇𝑔 𝒙∗ = 𝜇 𝑥1∗ + 𝑥2∗ − 𝐶 = 𝜇1 𝑥1∗ = 𝜇2 𝑥2∗ = 0 𝒙∗ 𝒙∗ for the non-trivial case of 𝜇 > 0 𝑈1′ 𝑥1∗ = 𝜇 − 𝜇1 ⇒� ′ ∗ 𝑈2 𝑥2 = 𝜇 − 𝜇2 𝒙𝟏 𝒙𝟐 Network Utility 𝑪𝟏 𝒙𝟐 Max 𝑈 𝒙 = 𝑈1 𝑥1 + 𝑈2 𝑥2 + 𝑈3 𝑥3 ; s.t. 𝑥1 + 𝑥2 ≤ 𝐶1 , 𝑥2 + 𝑥3 ≤ 𝐶2 and 𝒙 ≥ 0 𝑪𝟐 𝒙𝟑 𝒙𝟏 1 1 −1 0 0 𝛻𝑈 𝒙∗ = 𝜇𝐶1 1 + 𝜇𝐶2 0 + 𝜇1 0 + 𝜇2 −1 + 𝜇3 0 0 0 0 1 −1 𝑥1 + 𝑥2 − 𝐶1 ≤ 0, 𝑥2 + 𝑥3 − 𝐶2 ≤ 0 and − 𝑥𝑖 ≤ 0 𝜇𝐶1 ≥ 0; 𝜇𝐶2 ≥ 0; 𝜇1 ≥ 0; 𝜇2 ≥ 0; 𝜇3 ≥ 0 𝜇𝐶1 𝑥1∗ + 𝑥2∗ − 𝐶1 = 𝜇𝐶2 𝑥1∗ + 𝑥3∗ − 𝐶2 = 𝜇𝑖 𝑥𝑖∗ = 0 𝑈1′ 𝑥1∗ = 𝜇𝐶1 + 𝜇𝐶2 − 𝜇1 ⇒ � 𝑈2′ 𝑥2∗ = 𝜇𝐶1 − 𝜇2 𝑈3′ 𝑥3∗ = 𝜇𝐶2 − 𝜇3 Further topics We have characterized the optimization solution. How can we find it? Different optimization algorithms In practice, global information might not be available. How can we solve it in a distributed manner? Primal-dual decomposition … another course Convergence of the algorithms Further Readings F. P. Kelly, “Charging and rate control for elastic traffic”, Euro. Trans. Telecommun., vol. 8, pp. 33–37, 1997. F. P. Kelly, A. Maulloo, and D. Tan, “Rate control for communication networks: Shadow prices, proportional fairness and stability”, J. Oper. Res. Soc., 49(3), 1998. Steven H. Low and David E. Lapsley, “Optimization Flow Control—I: Basic Algorithm and Convergence”, IEEE/ACM Transactions on Networking, 7(6), 1999.