Download Introduction to Network Utility Maximization (NUM)

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Discrete choice wikipedia , lookup

Fiscal multiplier wikipedia , lookup

Preference (economics) wikipedia , lookup

Marginal utility wikipedia , lookup

Marginalism wikipedia , lookup

Choice modelling wikipedia , lookup

Microeconomics wikipedia , lookup

Transcript
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.