This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CME 305: Discrete Mathematics and Algorithms Instructor: Professor Amin Saberi ([email protected]) HW#2 – Due 02/11/11 1. In this problem we use the well known simplex algorithm to prove the strong duality theorem for linear programs. For matrix A ∈ R m × n and vectors b ∈ R m ,c ∈ R n the simplex algorithm, given a vertex x of the polytope P = { x ∈ R n : Ax ≤ b, x ≥ } , steps to an adjacent vertex of P increasing the value of the objective function x 7→ c > x and eventually outputs the maximum of { c > x : x ∈ P } provided the solution exists. Consider the following implentation of the the algorithm. For a set of indices I , we use A I to denote the rows of A with indices in I . We also denote the i th row of A by A i . Similarly, b I is a vector of elements of b indexed by I and b i is its i th entry. Select a subset I of { 1 ,...,n } such that A I is full rank and A I x = b I (i.e. x is a vertex of P ) and repeat the following steps until we output x or find the solution is unbounded. 1. Compute z ∈ R m with c > = z > I A I and zeros at entries not in I ; if z ≥ 0 return x . 2. Select the minimum index i such that z i < 0 and let w satisfies A I \ i w = 0 and A i w = 1; if Aw ≤ 0 report that the LP is unbounded. 3. Let λ = min n b j A j x A j w : j ∈ { 1 ,...,m } , A j w > o and let j be the smallest row index attaining this minimum. 4. Replace index i with index j in I and set x = x + λw . Prove that if x * is the optimal solution output at step 1 above, it satisfies c > x * = b > y * where y * solves to the dual program min { b > y : A > y ≥ c, y ≥ } . Solution: First show that at each iteration of the algorithm A I x = b I . Do this by induction since base case is given. Let the current iteration have index set I and polytope vertex x . On the next iteration these will be given by say I and x = x + λw . Note that by definition of i in step 2 we have A I x = A I x + λA I w = A I x which equals b I at all entries except possibly j since all other entries have not changed since the last iteration. And A j x = A j x + λA j w = A j x +( b j A j x ) = b j . So, we have A I x = b I on each iteration. Then c > = z > I A I on each iteration by step 1 so c > x = z > I A I x = z > I A I x = z > I b . Note that if we output a solution x then z satisfies z ≥ 0 and A > z = c , and by weak dualtity, z is the optimal solution y of the dual program. So we have strong duality. 2. Consider a game with two players: player A and player B . Player A has n strategies labeled 1 , 2 ,...,n whereas player B has m strategies labeled 1 , 2 ,...,m . When A uses strategy i and B uses strategy j the payoff to player A is denoted by a ij . We call A = ( a ij ) the payoff matrix and suppose the game is zero sum , that is, each payoff a ij to player A comes at the expense of a ij to player B ....
View
Full Document
 Spring '09
 Linear Programming, Vertex, min cut, fair driving schedule, partial karger

Click to edit the document details