CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III. Instructor: Shaddin Dughmi

Similar documents
CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi

CMPSCI611: The Matroid Theorem Lecture 5

1 Matroid intersection

Lecture #21. c T x Ax b. maximize subject to

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths

1 Perfect Matching and Matching Polytopes

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 24: Introduction to Submodular Functions. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Spring 2018 The Ellipsoid Algorithm. Instructor: Shaddin Dughmi

Maximum Flow Problem (Ford and Fulkerson, 1956)

Algorithms and Theory of Computation. Lecture 13: Linear Programming (2)

1 Integer Decomposition Property

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Matroids and Greedy Algorithms Date: 10/31/16

Duality of LPs and Applications

a 1 a 2 a 3 a 4 v i c i c(a 1, a 3 ) = 3

C&O 355 Mathematical Programming Fall 2010 Lecture 18. N. Harvey

Resource Constrained Project Scheduling Linear and Integer Programming (1)

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 17: Duality and MinMax Theorem Lecturer: Sanjeev Arora

Lecture 5 January 16, 2013

Iterative Rounding and Relaxation

Matroids and submodular optimization

Lecture 10 February 4, 2013

CSC 373: Algorithm Design and Analysis Lecture 12

EECS 495: Combinatorial Optimization Lecture Manolis, Nima Mechanism Design with Rounding

Multicommodity Flows and Column Generation

Combinatorial Optimization with One Quadratic Term: Spanning Trees and Forests

Outline. Outline. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

Integer Programming ISE 418. Lecture 12. Dr. Ted Ralphs

Week 8. 1 LP is easy: the Ellipsoid Method

BBM402-Lecture 20: LP Duality

6. Linear Programming

7. Lecture notes on the ellipsoid algorithm

ACO Comprehensive Exam March 20 and 21, Computability, Complexity and Algorithms

15.083J/6.859J Integer Optimization. Lecture 10: Solving Relaxations

EE595A Submodular functions, their optimization and applications Spring 2011

An Introduction to Submodular Functions and Optimization. Maurice Queyranne University of British Columbia, and IMA Visitor (Fall 2002)

Maximum flow problem

The Ellipsoid (Kachiyan) Method

Mathematical Programs Linear Program (LP)

. CS711008Z Algorithm Design and Analysis. Lecture 10. Algorithm design technique: Network flow and its applications 1. Dongbo Bu

Lecture 11 October 7, 2013

Min-max-min robustness: a new approach to combinatorial optimization under uncertainty based on multiple solutions 1

1 Some loose ends from last time

Input: System of inequalities or equalities over the reals R. Output: Value for variables that minimizes cost function

Polynomial-time Computation of Exact Correlated Equilibrium in Compact Games

Integer Programming, Part 1

Week 4. (1) 0 f ij u ij.

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization

Two Applications of Maximum Flow

Lecture 4: NP and computational intractability

Solving the MWT. Recall the ILP for the MWT. We can obtain a solution to the MWT problem by solving the following ILP:

Submodular Functions Properties Algorithms Machine Learning

The Steiner Network Problem

DEPARTMENT OF STATISTICS AND OPERATIONS RESEARCH OPERATIONS RESEARCH DETERMINISTIC QUALIFYING EXAMINATION. Part I: Short Questions

Lecture 15 (Oct 6): LP Duality

Problem set 1. (c) Is the Ford-Fulkerson algorithm guaranteed to produce an acyclic maximum flow?

Maximum-Life Routing Schedule

New algorithms for Disjoint Paths and Routing Problems

Cutting Plane Methods II

3.7 Strong valid inequalities for structured ILP problems

arxiv: v1 [cs.dm] 27 Jan 2014

u = 50 u = 30 Generalized Maximum Flow Problem s u = 00 2 u = 00 u = 50 4 = 3=4 u = 00 t capacity u = 20 3 u = 20 = =2 5 u = 00 gain/loss factor Max o

Topic: Primal-Dual Algorithms Date: We finished our discussion of randomized rounding and began talking about LP Duality.

The Cutting Plane Method is Polynomial for Perfect Matchings

NP-complete problems. CSE 101: Design and Analysis of Algorithms Lecture 20

CS 350 Algorithms and Complexity

CS 350 Algorithms and Complexity

Lecture 9 Tuesday, 4/20/10. Linear Programming

Graph Theory and Optimization Computational Complexity (in brief)

Lecture notes on the ellipsoid algorithm

Notes on Dantzig-Wolfe decomposition and column generation

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

Minimum spanning tree

VIII. NP-completeness

The Steiner k-cut Problem

Agenda. Soviet Rail Network, We ve done Greedy Method Divide and Conquer Dynamic Programming

Optimization methods NOPT048

Optimization methods NOPT048

Dual bounds: can t get any better than...

Algorithm Design and Analysis

On the dominant of the s-t-cut polytope: Vertices, facets, and adjacency

Week Cuts, Branch & Bound, and Lagrangean Relaxation

CS 6820 Fall 2014 Lectures, October 3-20, 2014

MATTHIAS GERDTS. COMBINATORIAL OPTIMISATION MSM 3M02b

CO759: Algorithmic Game Theory Spring 2015

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11

Minimum cost transportation problem

Topics in Theoretical Computer Science April 08, Lecture 8

Linear Programming. Scheduling problems

We say that a flow is feasible for G (or just feasible if the graph and capacity function in question are obvious) if

From the Zonotope Construction to the Minkowski Addition of Convex Polytopes

The traveling salesman problem

Data Structures and Algorithms

Greedy Algorithms My T. UF

Mathematics for Decision Making: An Introduction. Lecture 13

Graphs and Network Flows IE411. Lecture 12. Dr. Ted Ralphs

Optimization of Submodular Functions Tutorial - lecture I

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

Transcription:

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III Instructor: Shaddin Dughmi

Announcements Today: Spanning Trees and Flows Flexibility awarded by polyhedral perspective

Outline 1 Spanning Trees 2 Flows

Spanning Trees 1/10 The Minimum Cost Spanning Tree Problem Given a connected undirected graph G = (V, E), and costs c e on edges e, find a minimum cost spanning tree of G. Spanning Tree: an acyclic set of edges connecting every pair of nodes When graph is disconnected, can search for min-cost spanning forest instead We use n and m to denote V and E, respectively.

Kruskal s Algorithm Spanning Trees 2/10 The minimum spanning tree problem can be solved efficiently by a simple greedy algorithm Kruskal s algorithm 1 T 2 Sort edges in increasing order of cost 3 For each edge e in order if T e is acyclic, add e to T.

Kruskal s Algorithm Spanning Trees 2/10 The minimum spanning tree problem can be solved efficiently by a simple greedy algorithm Kruskal s algorithm 1 T 2 Sort edges in increasing order of cost 3 For each edge e in order if T e is acyclic, add e to T. Proof of correctness is via a simple exchange argument. Generalizes to Matroids

MST Linear Program Spanning Trees 3/10 MST LP minimize subject to e E c ex e x e = n 1 e E x e X 1, for X V. e X x e 0, for e E.

MST Linear Program Spanning Trees 3/10 MST LP Theorem minimize subject to e E c ex e x e = n 1 e E x e X 1, for X V. e X x e 0, for e E. The feasible region of the above LP is the convex hull of spanning trees.

MST Linear Program Spanning Trees 3/10 MST LP Theorem minimize subject to e E c ex e x e = n 1 e E x e X 1, for X V. e X x e 0, for e E. The feasible region of the above LP is the convex hull of spanning trees. Proof by finding a dual solution with cost matching the output of Kruskal s algorithm.

MST Linear Program Spanning Trees 3/10 MST LP Theorem minimize subject to e E c ex e x e = n 1 e E x e X 1, for X V. e X x e 0, for e E. The feasible region of the above LP is the convex hull of spanning trees. Proof by finding a dual solution with cost matching the output of Kruskal s algorithm. Generalizes to Matroids

MST Linear Program Spanning Trees 3/10 MST LP Theorem minimize subject to e E c ex e x e = n 1 e E x e X 1, for X V. e X x e 0, for e E. The feasible region of the above LP is the convex hull of spanning trees. Proof by finding a dual solution with cost matching the output of Kruskal s algorithm. Generalizes to Matroids Note: this LP has an exponential (in n) number of constraints

Solving the MST Linear Program Definition A separation oracle for a linear program with feasible set P R m is an algorithm which takes as input x R m, and either certifies that x P or identifies a violated constraint. Spanning Trees 4/10

Solving the MST Linear Program Definition A separation oracle for a linear program with feasible set P R m is an algorithm which takes as input x R m, and either certifies that x P or identifies a violated constraint. Theorem A linear program with a polynomial number of variables is solvable in polynomial time if and only if it admits a polynomial time separation oracle. Follows from the ellipsoid method, which we will see next week. Spanning Trees 4/10

Spanning Trees 5/10 Solving the MST Linear Program Primal LP minimize subject to e E c ex e x e X 1, for X V. e X x e = n 1 e E x e 0, for e E. Given x R m, separation oracle must find a violated constraint if one exists

Spanning Trees 5/10 Solving the MST Linear Program Primal LP minimize subject to e E c ex e x e X 1, for X V. e X x e = n 1 e E x e 0, for e E. Given x R m, separation oracle must find a violated constraint if one exists Reduces to finding X V with e X x e > X 1, if one exists Equivalently 1+ e X xe X > 1

Spanning Trees 5/10 Solving the MST Linear Program Primal LP minimize subject to e E c ex e x e X 1, for X V. e X x e = n 1 e E x e 0, for e E. Given x R m, separation oracle must find a violated constraint if one exists Reduces to finding X V with e X x e > X 1, if one exists Equivalently 1+ e X xe X > 1 In turn, this reduces to maximizing 1+ e X xe X over X

Solving the MST Linear Program Primal LP minimize subject to e E c ex e x e X 1, for X V. e X x e = n 1 e E x e 0, for e E. Given x R m, separation oracle must find a violated constraint if one exists Reduces to finding X V with e X x e > X 1, if one exists Equivalently 1+ e X xe X > 1 In turn, this reduces to maximizing 1+ e X xe X over X We will see how to do this efficiently later in the class, since 1+ e X xe X is a supermodular function of the set X. Spanning Trees 5/10

Spanning Trees 6/10 Application of Fractional Spanning Trees The LP formulation of spanning trees has many applications We will look at one contrived yet simple application that shows the flexibility enabled by polyhedral formulation Fault-Tolerant MST Your tree is an overlay network on the internet used to transmit data A hacker is looking to attack your tree, by knocking off one of the edges of the graph You can foil the hacker by choosing a random tree The hacker knows the algorithm you use, but not your random coins

Spanning Trees 7/10 Fault-tolerant MST LP minimize subject to e E c ex e x e X 1, for X V. e X x e = n 1 e E x e p, for e E. x e 0, for e E. Above LP can be solved efficiently Can interpret resulting fractional spanning tree x as a recipe for a probability distribution over trees T e T with probability x e Since x e p, no edge is in the tree with probability more than p.

Spanning Trees 7/10 Fault-tolerant MST LP minimize subject to e E c ex e x e X 1, for X V. e X x e = n 1 e E x e p, for e E. x e 0, for e E. Such a probability distribution exists!

Spanning Trees 7/10 Fault-tolerant MST LP minimize subject to e E c ex e x e X 1, for X V. e X x e = n 1 e E x e p, for e E. x e 0, for e E. Such a probability distribution exists! x is in the (original) MST polytope Caratheodory s theorem: x is a convex combination of m + 1 vertices of MST polytope By integrality of MST polytope: x is the expectation of a probability distribution over spanning trees.

Spanning Trees 7/10 Fault-tolerant MST LP minimize subject to e E c ex e x e X 1, for X V. e X x e = n 1 e E x e p, for e E. x e 0, for e E. Such a probability distribution exists! x is in the (original) MST polytope Caratheodory s theorem: x is a convex combination of m + 1 vertices of MST polytope By integrality of MST polytope: x is the expectation of a probability distribution over spanning trees. Consequence of Ellipsoid algorithm: can compute such a decomposition of x efficiently!

Outline 1 Spanning Trees 2 Flows

The Maximum Flow Problem Given a directed graph G = (V, E) with capacities u e on edges e, a source node s, and a sink node t, find a maximum flow from s to t respecting the capacities. maximize e δ + (s) x e e δ (s) x e subject to e δ (v) x e = e δ + (v) x e, for v V \ {s, t}. x e u e, for e E. x e 0, for e E. Can be computed either by solving the LP, or by a combinatorial algorithm such as Ford Fulkerson. Flows 8/10

Flows 9/10 Primal LP max x e s.t. e δ (v) e δ + (s) x e = e δ + (v) x e e δ (s) x e, v V \ {s, t}. x e u e, e E. x e 0, e E. Dual LP (Simplified) min e E u ez e s.t. y v y u z e, e = (u, v) E. y s = 0 y t = 1 z e 0, e E. Dual solution describes fraction z e of each edge to fractionally cut

Flows 9/10 Primal LP max x e s.t. e δ (v) e δ + (s) x e = e δ + (v) x e e δ (s) x e, v V \ {s, t}. x e u e, e E. x e 0, e E. Dual LP (Simplified) min e E u ez e s.t. y v y u z e, e = (u, v) E. y s = 0 y t = 1 z e 0, e E. Dual solution describes fraction z e of each edge to fractionally cut Dual constraints require that at least 1 edge is cut on every path from s to t. (u,v) P z uv (u,v) P y v y u = y t y s = 1

Flows 9/10 Primal LP max x e s.t. e δ (v) e δ + (s) x e = e δ + (v) x e e δ (s) x e, v V \ {s, t}. x e u e, e E. x e 0, e E. Dual LP (Simplified) min e E u ez e s.t. y v y u z e, e = (u, v) E. y s = 0 y t = 1 z e 0, e E. Every integral s t cut is feasible.

Flows 9/10 Primal LP max x e s.t. e δ (v) e δ + (s) x e = e δ + (v) x e e δ (s) x e, v V \ {s, t}. x e u e, e E. x e 0, e E. Dual LP (Simplified) min e E u ez e s.t. y v y u z e, e = (u, v) E. y s = 0 y t = 1 z e 0, e E. Every integral s t cut is feasible. By weak duality: max flow minimum cut

Flows 9/10 Primal LP max x e s.t. e δ (v) e δ + (s) x e = e δ + (v) x e e δ (s) x e, v V \ {s, t}. x e u e, e E. x e 0, e E. Dual LP (Simplified) min e E u ez e s.t. y v y u z e, e = (u, v) E. y s = 0 y t = 1 z e 0, e E. Every integral s t cut is feasible. By weak duality: max flow minimum cut Ford-Fulkerson shows that max flow = min cut i.e. dual has integer optimal

Every integral s t cut is feasible. By weak duality: max flow minimum cut Ford-Fulkerson shows that max flow = min cut i.e. dual has integer optimal Ford-Fulkerson also shows that there is an integral optimal flow when capacities are integer. Flows 9/10 Primal LP max x e s.t. e δ (v) e δ + (s) x e = e δ + (v) x e e δ (s) x e, v V \ {s, t}. x e u e, e E. x e 0, e E. Dual LP (Simplified) min e E u ez e s.t. y v y u z e, e = (u, v) E. y s = 0 y t = 1 z e 0, e E.

Generalizations of Max Flow Flows 10/10 max s.t. e δ (v) e δ + (s) x e = x e e δ + (v) x e e δ (s) x e, v V \ {s, t}. x e u e, e E. x e 0, e E. Writing as an LP shows that many generalizations are also tractable

Generalizations of Max Flow Flows 10/10 max s.t. e δ (v) e δ + (s) x e = x e e δ + (v) x e e δ (s) x e, v V \ {s, t}. x e u e, e E. x e 0, e E. Writing as an LP shows that many generalizations are also tractable Lower and upper bound constraints on flow: l e x e u e

Generalizations of Max Flow Flows 10/10 max s.t. e δ (v) e δ + (s) x e = x e e δ + (v) x e e δ (s) x e, v V \ {s, t}. x e u e, e E. x e 0, e E. Writing as an LP shows that many generalizations are also tractable Lower and upper bound constraints on flow: l e x e u e minimum cost flow of a certain amount r Objective min e c ex e Additional constraint: x e x e = r e δ + (s) e δ (s)

Generalizations of Max Flow Flows 10/10 max s.t. e δ (v) e δ + (s) x e = x e e δ + (v) x e e δ (s) x e, v V \ {s, t}. x e u e, e E. x e 0, e E. Writing as an LP shows that many generalizations are also tractable Lower and upper bound constraints on flow: l e x e u e minimum cost flow of a certain amount r Objective min e c ex e Additional constraint: x e x e = r e δ + (s) e δ (s) Multiple commodities sharing the network

Generalizations of Max Flow Flows 10/10 max s.t. e δ (v) e δ + (s) x e = x e e δ + (v) x e e δ (s) x e, v V \ {s, t}. x e u e, e E. x e 0, e E. Writing as an LP shows that many generalizations are also tractable Lower and upper bound constraints on flow: l e x e u e minimum cost flow of a certain amount r Objective min e c ex e Additional constraint: x e x e = r e δ + (s) e δ (s) Multiple commodities sharing the network...