Unformatted text preview:

15-780: Grad AILec. 8: Linear programs, DualityGeoff Gordon (this lecture)Tuomas Sandholm TAs Erik Zawadzki, Abe OthmanAdmin•Test your handin directories‣/afs/cs/user/aothman/dropbox/USERID/‣where USERID is your Andrew ID•Poster session: ‣Mon 5/2, 1:30–4:30PM, room TBA•Readings for today & Tuesday on class siteProject idea•Answer the question: what is fairness?In case anyone thinks of slacking offLPs, ILPs, and their ilkBoyd & Vandenberghe.!Convex Optimization.!Sec 4.3 and 4.3.1.((M)I)LPs•Linear program:min 3x + 2y s.t.x + 2y ! 3x ! 2x, y " 0•Integer linear program: constrain x, y ∈ ℤ•Mixed ILP: x ∈ ℤ, y ∈ ℝExample LP•Factory makes widgets and doodads•Each widget takes 1 unit of wood and 2 units of steel to make•Each doodad uses 1 unit wood, 5 of steel•Have 4M units wood and 12M units steel•Maximize profit: each widget nets $1, each doodad nets $2Factory LPM Widgets !M Doodads !feasiblew + d ! 42w + 5d ! 12profit = w + 2dFactory LPM Widgets !M Doodads !feasiblew + d ! 42w + 5d ! 12profit = w + 2dFactory LPM Widgets !M Doodads !feasiblew + d ! 42w + 5d ! 12profit = w + 2d(8/3,4/3)OPT = 16/3Example ILP•Instead of 4M units of wood, 12M units of steel, have 4 units wood and 12 units steelFactory exampleWidgets !Doodads !w + d ! 42w + 5d ! 12profit = w + 2dOPT = 5Factory exampleWidgets !Doodads !w + d ! 42w + 5d ! 12profit = w + 2dLP relaxations•Above LP and ILP are the same, except for constraint w, d ∈ ℤ•LP is a relaxation of ILP•Adding any constraint makes optimal value same or worse•So, OPT(relaxed) " OPT(original)(in a maximization problem)Factory relaxation is pretty closeWidgets !Doodads !w + d ! 42w + 5d ! 12profit = w + 2dWidgets !Doodads !13Unfortunately…profit = w + 2dThis is called an integrality gapFalling into the gap•In this example, gap is 3 vs 8.5, or about a ratio of 0.35•Ratio can be arbitrarily bad‣but, can sometimes bound it for classes of ILPs•Gap can be different for different LP relaxations of “same” ILP14From ILP to SAT•0-1 ILP: all variables in {0, 1}•SAT: 0-1 ILP, objective = constant, all constraints of formx + (1–y) + (1–z) " 1•MAXSAT: 0-1 ILP, constraints of formx + (1–y) + (1–z) " sjmaximize s1 + s2 + …Pseudo-boolean inequalities•Any inequality with integer coefficients on 0-1 variables is a PBI•Collection of such inequalities (w/o objective): pseudo-boolean SAT•Many SAT techniques work well on PB-SAT as wellComplexity•Decision versions of ILPs and MILPs are NP-complete (e.g., ILP feasibility contains SAT)‣so, no poly-time algos unless P=NP‣in fact, no poly-time algo can approximate OPT to within a constant factor unless P=NP•Typically solved by search + smart techniques for ordering & pruning nodes•E.g., branch & cut (in a few lectures)—like DPLL (DFS) but with more tricks for pruningComplexity•There are poly-time algorithms for LPs‣e.g., ellipsoid, log-barrier methods‣rough estimate: n vars, m constraints ⇒ ~50–200 # cost of (n # m) regression•No strongly polynomial LP algorithms known—interesting open question‣simplex is “almost always” polynomial[Spielman & Teng]max 2x+3y s.t." x + y ≤ 4"" 2x + 5y ≤ 12" x + 2y ≤ 5"" x, y ≥ 0Terminologymax 2x+3y s.t." x + y ≤ 4"" 2x + 5y ≤ 12" x + 2y ≤ 5"" x, y ≥ 0Finding the optimummax 2x+3y s.t." x + y ≤ 4"" 2x + 5y ≤ 12" x + 2y ≤ 5"" x, y ≥ 0Finding the optimumWhere’s my ball?Unhappy ball‣min 2x + 3y subject to‣x " 5‣x ! 1Transforming LPs•Getting rid of inequalities (except variable bounds)•Getting rid of unbounded variablesStandard form LP•all variables are nonnegative•all constraints are equalities•E.g.: q = (x y u v w)Tmax 2x+3y s.t.x + y ! 4$2x + 5y ! 12x + 2y ! 5x, y " 0$max cTq s.t. Aq = b, q " 0(componentwise)Why is standard form useful?•Easy to find corners•Easy to manipulate via row operations•Basis of simplex algorithm Bertsimas and Tsitsiklis. Introduction to Linear Optimization. Ch. 2–3.Finding corners1 1 1 0 0 42 5 0 1 0 121 2 0 0 1 5set x, y = 01 1 1 0 0 42 5 0 1 0 121 2 0 0 1 5set v, w = 01 1 1 0 0 42 5 0 1 0 121 2 0 0 1 5set x, u = 0x y u v w RHSRow operations•Can replace any row with linear combination of existing rows‣as long as we don’t lose independence•Elim. x from 2nd and 3rd rows of A•And from c:x y u v w RHS1 1 1 0 0 42 5 0 1 0 121 2 0 0 1 52 3 0 0 0 ↑Presto change-o•Which are the slacks now?‣ ‣vars that appear in•Terminology: “slack-like” variables are called basicx y u v w RHS1 1 1 0 0 40 3 -2 1 0 40 1 -1 0 1 10 1 -2 0 0 ↑The “new” LPmax y – 2u y + u ! 43y – 2u ! 4y – u ! 1y, u " 0Many different-looking but equivalent LPs, depending on which variables we choose to make into slacksOr, many corners of same LPx y u v w RHS1 1 1 0 0 40 3 -2 1 0 40 1 -1 0 1 10 1 -2 0 0 ↑Basis•Which variables can we choose to make basic?x y u v w RHS1 1 1 0 0 42 2 0 1 0 53 3 0 0 1 92 1 0 0 0 ↑Nonsingular•We can assume‣n " m (at least as many vars as constrs)‣A has full row rank•Else, drop rows (w/o reducing rank) until true: dropped rows are either redundant or impossible to satisfy‣easy to distinguish: pick a corner of reduced LP, check dropped = constraints•Called nonsingular standard form LP‣means basis is an invertible m # m submatrixNaïve (slooow) algorithm•Iterate through all subsets B of n vars‣if m constraints, how many subsets?•Check each B for‣full rank (“basis-ness”)‣feasibility (A(:,B) \ RHS " 0)•If pass both tests, compute objective•Maintain running winner, return at endDegeneracy•Not every set of m variables yields a corner‣some have rank < m (not a basis)‣some are infeasible•Can the reverse be true? Can two bases yield the same corner? (Assume nonsingular standard-form LP.)Degeneracyx y u v w RHS1 1 1 0 0 4 2 5 0 1 0 12 1 2 0 0 1 16/3 1 0 0 -2 5 8/30 1 0 1 -2 4/30 0 1 1 -3 0 1 0 2 0 -1 8/30 1 -1 0 1 4/30 0 1 1 -3 0Degeneracy in 3DDegeneracy in 3Dwe’ll pretend this never happensNeighboring bases•Two bases are neighbors if they share (m–1) variables•Neighboring feasible bases correspond to vertices connected by an edge (note: degeneracy)x y z u v w RHS1 0 0 1 0 0 10 1 0 0 1 0 10 0 1 0 0 1 1Improving our search•Naïve: enumerate all possible bases•Smarter: maybe neighbors of good bases are also


View Full Document

CMU CS 15780 - Lecture

Download Lecture
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?