Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Network Mathematics (1) - Optimization techniques Yuedong Xu 10/08/2012.

Similar presentations


Presentation on theme: "Introduction to Network Mathematics (1) - Optimization techniques Yuedong Xu 10/08/2012."— Presentation transcript:

1 Introduction to Network Mathematics (1) - Optimization techniques Yuedong Xu 10/08/2012

2 Purpose Many networking/system problems boil down to optimization problems – Bandwidth allocation – ISP traffic engineering – Route selection – Cache placement – Server sleep/wakeup – Wireless channel assignment – … and so on (numerous)

3 Purpose Optimization as a tool – shedding light on how good we can achieve – guiding design of distributed algorithms (other than pure heuristics) – providing a bottom-up approach to reverse- engineer existing systems

4 Outline Toy Examples Overview Convex Optimization Linear Programming Linear Integer Programming Summary

5 Toys Toy 1: Find x to minimize f(x) := x 2 x * =0 if no restriction on x x * =2 if 2≤x≤4..

6 Toys Toy 2: Find the minimum minimize subject to Optimal solution ?

7 Toys Toy 3: Find global minimum local minimum global minimum

8 Outline Toy Examples Overview Convex Optimization Linear Programming Linear Integer Programming

9 Overview Ingredients! Objective Function – A function to be minimized or maximized Unknowns or Variables – Affect value of objective function Constraints – Restrict unknowns to take on certain values but exclude others

10 Overview Formulation: Minimize f 0 (x) subject to f i (x) ≤ 0; i=1,…,m h i (x) = 0; i=1,…,p Objective function x : Decision variables Inequality constraint Equality constraint

11 Overview Optimization tree

12 Overview Our coverage Nonlinear Programs Convex Programs Linear Programs (Polynomial) Integer Programs (NP-Hard) Flow and Matching

13 Outline Toy Examples Overview Convex Optimization Linear Programming Linear Integer Programming

14 Convex Optimization Concepts – Convex combination: x, y  R n 0   1 z = x +(1  )y A convex combination of x, y. A strict convex combination of x, y if  0, 1.

15 Convex Optimization Concepts – Convex set: S  RnS  Rn is convex if it contains all convex combinations of pairs x, y  S. convex nonconvex

16 Convex Optimization Concepts – Convex set: more complicated case The intersection of any number of convex sets is convex.

17 Convex Optimization Concepts – Convex function:( 大陆教材定义与国外相反! ) c xy x +(1  )y c(x)c(x) c(y)c(y) c(x) + (1  )c(y) c( x +(1  )y) S  RnS  Rn a convex set c:S  Rc:S  R a convex function if c( x +(1  )y)  c(x) + (1  )c(y),0   1

18 Convex Optimization Concepts – convex functions We are lucky to find that many networking problems have convex obj.s Exponential: e ax is convex on R Powers: x a is convex on R + when a≥1 or a≤0, and concave for 0≤a≤1 Logarithm: log x is concave on R + Jensen’s inequality: –if f() is convex, then f(E[x]) <= E[f(x)] –You can also check it by taking 2 nd order derivatives

19 Convex Optimization Concepts – Convex Optimization: – A fundamental property: local optimum = global optimum Convex Linear/Affine Minimize f 0 (x) subject to f i (x) ≤ 0; i=1,…,m h i (x) = 0; i=1,…,p

20 Convex Optimization Method – You may have used Gradient method Newton method to find optima where constraints are real explicit ranges (e.g. 0≤x≤10, 0≤y≤20, -∞≤z≤∞ ……). – Today, we are talking about more generalized constrained optimization

21 Convex Optimization How to solve a constrained optimization problem? Enumeration? Maybe for small, finite feasible set Use constraints to reduce number of variables? Works occasionally Lagrange multiplier method – a general method (harder to understand)

22 Convex Optimization Example: Minimize x 2 + y 2 subject to x + y = 1 Lagrange multiplier method: Change problem to an unconstrained problem: L(x, y, p) = x 2 + y 2 + p(1-x-y) Think of p as “price”, (1-x-y) as amount of “violation” of the constraint Minimize L(x,y,p) over all x and y, keeping p fixed Obtain x*(p), y*(p) Then choose p to make sure constraint met Magically, x*(p*) and y*(p*) is the solution to the original problem!

23 Convex Optimization Example: Minimize x 2 + y 2 subject to x + y = 1 Lagrangian: L(x, y, p) = x 2 + y 2 + p(1-x-y) Setting dL/dx and dL/dy to 0, we get x = y = p/2 Since x+y=1, we get p=1 Get the same solution by substituting y=1-x

24 Convex Optimization General case: minimize f 0 (x) subject to f i (x) ≤ 0, i = 1, …, m (Ignore equality constraints for now) Optimal value denoted by f* Lagrangian: L(x, p) = f 0 (x) + p 1 f 1 (x) + … + p m f m (x) Define g(p) = inf x (f 0 (x) + p 1 f 1 (x) + … + p m f m (x)) If p i ≥0 for all i, and x feasible, then g(p) ≤ f*

25 Convex Optimization Revisit earlier example L(x,p) = x 2 + y 2 + p(1-x-y) x* = y* = p/2 g(p) = p(1-p/2) This is a concave function, with g(p*) = 1/2 We know f* is 1/2, and g(p) is a lower bound for f* with different values of p – the tightest lower bound occurs at p=p*.

26 Convex Optimization Duality For each p, g(p) gives a lower bound for f* We want to find as tight a lower bound as possible: maximize g(p) subject to p≥0 a) This is called the (Lagrange) “dual” problem, original problem the “primal” problem b) Let the optimal value of dual problem be denoted d*. We always have d* ≤ f* (called “weak duality”) c) If d* = f*, then we have “strong duality”. The difference (f*-d*) is called the “duality gap”

27 Convex Optimization Price Interpretation Solving the constrained problem is equivalent to obeying hard resource limits Imaging the resource limits can be violated; you can pay a marginal price per unit amount of violation (or receive an amount if the limit not met) When duality gap is nonzero, you can benefit from the 2 nd scenario, even if the price are set in unfavorable terms

28 Convex Optimization Duality in algorithms An iterative algorithm produces at iteration j A primal feasible x (j) A dual feasible p (j) With f 0 (x (j) )-g(p (j) ) -> 0 as j -> infinity The optimal solution f* is in the interval [g(p (j) ), f 0 (x (j) )]

29 Convex Optimization Complementary Slackness To make duality gap zero, we need to have p i f i (x) = 0 for all i This means p i > 0 => f i (x*) = 0 f i (x*) p i = 0 If “price” is positive, then the corresponding constraint is limiting If a constraint is not active, then the “price” must be zero

30 Convex Optimization KKT Optimality Conditions Satisfy primal and dual constraints f i (x*) ≤0, p i * ≥0 Satisfy complementary slackness p i * f i (x*) = 0 Stationary at optimal f 0 ’(x*) + Σ i p i * f i ’(x*) = 0 If primal problem is convex and KKT conditions met, then x* and p* are dual optimal with zero duality gap KKT = Karush-Kuhn-Tucker

31 Convex Optimization Method – Take home messages Convexity is important (non-convex problems are very difficult) Primal problem is not solved directly due to complicated constraints Using Lagrangian dual approach to obtain dual function KKT condition is used to guarantee the strong duality for convex problem

32 Convex Optimization Application: TCP Flow Control – What’s in your mind about TCP? Socket programming? Sliding window? AIMD congestion control? Retransmission? Anything else?

33 Convex Optimization Application: TCP Flow Control – Our questions: It seems that TCP works as Internet scales. Why? How does TCP allocate bandwidth to flows traversing the same bottlenecks? Is TCP optimal in terms of resource allocation?

34 Convex Optimization Application: TCP Flow Control Network Links l of capacities c l Sources i L(s) - links used by source i (routing) U i (x i ) - utility if source rate = x i i). The larger rate x i, the more happiness; ii). The increment of happiness is shrinking as x i increases.

35 Convex Optimization Application: TCP Flow Control – A simple network c1c1 c2c2 x1x1 x2x2 x3x3

36 Convex Optimization Application: TCP Flow Control – Primal problem

37 Convex Optimization Application: TCP Flow Control – Lagrangian dual problem You can solve it using KKT conditions! You need whole information!

38 Convex Optimization Application: TCP Flow Control – Question: Is distributed flow control possible without knowledge of the network?

39 Convex Optimization Application: TCP Flow Control – Primal-dual approach: Source updates sending rate x i Link generates congestion signal – Source’s action: If congestion severe, then reduce x i If no congestion, then increase x i – Congestion measures: Packet loss (TCP Reno) RTT (TCP Vegas)

40 Convex Optimization Application: TCP Flow Control – Gradient based Primal-dual algorithm: Source updates rate given congestion signal Link updates congestion signal Price of congestion at a link: packet drop prob., etc. Total prices of a flow along its route

41 Convex Optimization Application: TCP Flow Control – Relation to real TCP

42 Convex Optimization Application: Fairness concerns – Many concepts regarding fairness Max-min, proportional fairness, etc. (add some examples to explain the concepts)

43 Convex Optimization Application: Fairness concerns – How does fairness relate to optimization? Reflected by utility function – Esp. max-min fairness as alpha  infinity

44 Convex Optimization Application: TCP Flow Control Take home messages: – TCP is solving a distributed optimization problem! – Primal-dual algorithm can converge! – Packet drop, and RTT are carrying “price of congestion”! – Fairness reflected by utility function

45 Outline Toy Examples Overview Convex Optimization Linear Programming Linear Integer Programming Summary

46 Linear Programming A subset of convex programming Goal: maximize or minimize a linear function on a domain defined by linear inequalities and equations Special properties

47 Linear Programming Formulation – General form Max or min Subject to ……

48 Linear Programming Formulation – General form Max or min Subject to …… A linear objective function A set of linear constraints linear inequalities or linear equations

49 Linear Programming Formulation – Canonical form Min subject to “greater than” only Non-negative

50 Linear Programming Example Maximize Subject to 12345678 1 2 3 4 5 6 7 8 x y

51 Linear Programming Example Maximize Subject to 12345678 1 2 3 4 5 6 7 8 x y

52 Linear Programming Example – Observations: Optimum is at the corner! – Question: When can optimum be a point not at the corner? How to find optimum in a more general LP problem? feasible region

53 Linear Programming (Dantzig 1951) Simplex method For USA Air Force Very efficient in practice Exponential time in worst case (Khachiyan 1979) Ellipsoid method Not efficient in practice Polynomial time in worst case

54 Linear Programming Simplex method – Iterative method to find optimum – Finding optimum by moving around the corner of the convex polytope in cost descent sense. – Local optimum = global optimum (convexity) basic feasible solution at a corner

55 Linear Programming Application – Max flow problem

56 Outline Toy Examples Overview Convex Optimization Linear Programming Linear Integer Programming Summary

57 Linear Integer Programming Linear programming is powerful in many areas But ………

58 Linear Integer Programming Random variables are integers – Building a link between two nodes, 0 or 1? – Selecting a route, 0 or 1? – Assigning servers in a location – Caching a movie, 0 or 1? – Assigning a wireless channel, 0 or 1? – and so on…… No fractional solution !

59 Linear Integer Programming Graphical interpretation Only discrete values allowed

60 Linear Integer Programming Method – Enumeration – Tree Search, Dynamic Programming etc. Guaranteed “feasible” solution Complexity grows exponentially x 1 =0 X 2 =0X 2 =2X 2 =1 x 1 =1 x 1 =2 X 2 =0X 2 =2X 2 =1X 2 =0X 2 =2X 2 =1

61 Linear Integer Programming Method – Linear relaxation plus rounding -c T x1x1 x2x2 LP Solution Integer Solution a). Variables being continuous b). Solving LP efficiently c). Rounding the solution No guarantee of gap to optimality!

62 Linear Integer Programming Combined Method – Branch and bound algorithm Step 1: Solve LP relaxation problem Step 2:

63 Linear Integer Programming Example – Knapsack problem Which boxes should be chosen to maximize the amount of money while still keeping the overall weight under 15 kg ?

64 Linear Integer Programming Example – Knapsack problem Objective Function Unknowns or Variables Constraints

65 Linear Integer Programming Example – Knapsack problem Is the problem difficult? What is the complexity in your approach? NP hard!

66 Outline Toy Examples Overview Convex Optimization Linear Programming Linear Integer Programming Summary

67 Our course covers a macroscopic view of optimizations in networking ways of solving optimizations applications to networking research

68 Summary Keywords Convex optimization – Lagrangian dual problem, KKT Linear programming – Simplex, Interior-point Integer linear programming – Dynamic programming, Rounding, or Branch and bound

69 Summary Complexity (“solve” means solving optimum) Linear programming – [P], fast to solve Nonlinear programming – Convex: [P], easy to solve – Non-convex: usually [NP], difficult to solve (Mixed) Integer linear programming – Usually [NP], difficult to solve

70 Summary Thanks!

71 Backup slides

72 Convex Optimization Concepts – Convex function: more examples (see Byod’s book) We are lucky to find that many networking problems have convex obj.s

73 Convex Optimization Example – waterfilling problem To Tom: you can write The Lagrangian dual function On the white board.

74 Convex Optimization Method – Roadmap Treat the original optimization problem as the Primal problem Transform primal problem into dual problem Solve dual problem and validate the optimality

75 Convex Optimization Method – Lagrangian dual function

76 Convex Optimization Method – For given, solving dual problem

77 Convex Optimization Method – Comparison Min f 0 (x) s.t. f i (x) ≤ 0; i=1,…,m h i (x) = 0; i=1,…,p Primal:Dual: Min If λ ≥ 0, dual minimum is lower bound of primal minimum What shall we do next?

78 Convex Optimization Method – The Lagrangian dual problem Much easier after getting rid of ugly constraints!

79 Convex Optimization Method – Question: are these two problems the same?

80 Convex Optimization Method – Karush-Kuhn-Tucker (KKT) conditions For the convex problem, satisfying KKT means strong duality!


Download ppt "Introduction to Network Mathematics (1) - Optimization techniques Yuedong Xu 10/08/2012."

Similar presentations


Ads by Google