Resource Sharing, Routing, Chip Design. Jens Vygen

Size: px
Start display at page:

Download "Resource Sharing, Routing, Chip Design. Jens Vygen"

Transcription

1 Resource Sharing, Routing, Chip Design Jens Vygen University of Bonn joint work with Markus Ahrens, Michael Gester, Stephan Held, Niko Klewinghaus, Dirk Müller, Tim Nieberg, Christian Panten, Sven Peyer, Klaus Radke, Daniel Rotter, Pietro Saccardi, Rudolf Scheifele, Christian Schulte, Gustavo Tellez, Vera Traub, et al.

2 Chip design: placement telecommunication chip with 1 billion transistors 8 million circuits

3 Chip design: routing 9 routing layers 30 million pins million nets million wire segments million vias 1 kilometer total wire length

4 Combinatorial optimization in chip design shortest paths, TSP, spanning trees, Steiner trees rectangle packing, knapsack problem, bin packing facility location, partitioning, clustering maximum flows, discrete time-cost tradeoff problem minimum mean cycles, parametric shortest paths transportation and minimum cost flows multicommodity flows, disjoint paths and trees, resource sharing

5 The BonnTools, I developed by our group at the University of Bonn, I cover all major areas of layout and timing optimization, I include libraries for combinatorial optimization, advanced, data structures, computational geometry, etc., I have more than one million lines of C++ code, I are being used worldwide by IBM and other companies, I have been used for the design of thousands of chips, I including several complete microprocessor series I and the most complex chips of major technology companies.

6 Detail of the routing (less than one millionth)

7 Detail of the routing (less than one millionth) Vias

8 Detail of the routing (less than one millionth) Vias

9 Routing: task Instance: a number of routing planes a set of nets, where each net is a set of pins (terminals) a set of shapes for each pin a set of blockage shapes rules that tell if two given shapes are connected, separated Task: Compute a feasible routing, i.e., a set of wire shapes for each net, connecting the pins, separate from blockages and shapes of other nets

10 Routing: task Instance: a number of routing planes a set of nets, where each net is a set of pins (terminals) a set of shapes for each pin a set of blockage shapes rules that tell if two given shapes are connected, separated timing constraints information on power consumption, yield,... Task: Compute a feasible routing, i.e., a set of wire shapes for each net, connecting the pins, separate from blockages and shapes of other nets such that all timing constraints are met and the (estimated) power consumption and/or manufacturing cost is minimized.

11 Routing: simplified view Find vertex-disjoint Steiner trees connecting given terminal sets in a 3-dimensional grid graph. NP-hard: no polynomial-time algorithm unless P = NP Order of magnitude: 10 million Steiner trees in a graph with 500 billion vertices Even linear-time algorithms are too slow!

12 Global and detailed routing Routing is usually performed in three phases: Global routing: performs global optimization, determines a routing area (corridor) for each net, but no detailed view Detailed routing: constructs wires connecting each net within this corridor, respecting all design rules necessary for the lithographic process in fabrication Postoptimization: fix remaining violated constraints, improve the wiring by spreading and do some postprocessing for more robust manufacturing Graphs are huge: vertices in detailed routing, still vertices in global routing.

13 Detailed routing in global routing corridor

14 Global routing: classical model In each routing plane: contract regions of approx. 70x70 tracks to a single vertex compute capacities of edges between adjacent regions pack Steiner trees with respect to these edge capacities global optimization of objective functions Steiner tree yields routing corridor for each net Detailed routing computes detailed wires in these corridors by fast goal-oriented variants of Dijkstra s algorithm and optimal pin access (Hetzel [1998], Müller [2009], Peyer, Rautenbach, Vygen [2009], Klewinghaus [2013], Gester et al. [2013], Ahrens et al. [2015],...)

15 Global routing: classical problem formulation Instance: a global routing (grid) graph with edge capacities a set of nets, each consisting of a set of vertices (terminals) Task: find a Steiner tree for each net such that the edge capacities are respected, and (weighted) netlength is minimum.

16 Simple example edge-disjoint paths problem 3 terminal pairs: blue, red, green each terminal pair has demand 1 each edge has capacity

17 Simple example edge-disjoint paths problem 3 terminal pairs: blue, red, green each terminal pair has demand 1 each edge has capacity 1 no solution exists edge-disjoint paths problem is NP-hard (even in planar grids) 01 01

18 Simple example edge-disjoint paths problem 3 terminal pairs: blue, red, green each terminal pair has demand 1 each edge has capacity 1 no solution exists fractional solution exists (route 1 2 along each colored path) edge-disjoint paths problem is NP-hard (even in planar grids) fractional relaxation can be solved in polynomial time by linear programming (but not fast enough) 01 01

19 Real example: global routing congestion map

20 Min-max resource sharing Instance finite sets R of resources and C of customers for each c C: a set B c R R 0 of feasible solutions Task Find a b c B c for each c C with minimum congestion (b c ) r. max r R c C

21 Min-max resource sharing Instance finite sets R of resources and C of customers for each c C: a set B c R R 0 of feasible solutions given by an oracle function f c : R R 0 B c with Task y r (f c (y)) r r R σ inf b B c r R y r b r for all price vectors y R R 0 and some fixed σ 1 (a σ-approximate oracle). Find a b c B c for each c C with minimum congestion (b c ) r. max r R c C

22 Min-max resource sharing Instance finite sets R of resources and C of customers for each c C: a set B c R R 0 of feasible solutions given by an oracle function f c : R R 0 B c with Task y r (f c (y)) r r R σ inf b B c r R y r b r for all price vectors y R R 0 and some fixed σ 1 (a σ-approximate oracle). Find a b c conv(b c ) for each c C with minimum congestion max r R (b c ) r. c C

23 Resource sharing for global routing Each net is a customer. Define a resource r (with a capacity cap(r)) for each edge of the global routing graph the total power consumption the critical area (for estimating the yield loss) each edge of the timing propagation graph For each net c, let B c contain, for each routing solution s for c, the vector ( usg(s,r) ) cap(r) where usg(s, r) tells how much s uses from r. r R We look for a solution with congestion at most 1. An objective function can be viewed as an additional resource (determine its capacity by binary search).

24 Rounding A solution to the min-max resource sharing instance is a convex combination b B c p b b of solutions for each net c (p b 0 (b B c ), b B c p b = 1) However, we need a single solution for each net. Use randomized rounding: randomly choose b with probability p b, independently for each net. (Raghavan, Thompson [1987,1991], Raghavan [1988]) If no solution consumes very much of any capacity, this yields a solution that exceeds capacities only slightly. New rounding and correction algorithms even better?

25 Algorithms for min-max resource sharing oracle # oracle calls Grigoriadis, Khachiyan [1994] strong, bounded Õ(ω 2 C 2 ) Grigoriadis, Khachiyan [1994] strong, bounded Õ(ω 2 C ) random. Grigoriadis, Khachiyan [1996] strong, unbounded Õ(ω 2 C R ) Jansen, Zhang [2008] weak, unbounded Õ(ω 2 C R ) Müller, Radke, Vygen [2011] weak, unbounded Õ(ω 2 ( C + R )) Müller, Radke, Vygen [2011] weak, bounded Õ(ω 2 C ) All these algorithms and predecessors for special cases (Plotkin, Shmoys, Tardos [1995], Young [1995], Villavicencio, Grigoriadis [1996], Garg, Könemann [2007],...) compute a σ(1 + ω)-approximate solution for any given ω > 0. Running times dominated by number of oracle calls. Logarithmic terms and dependency on σ omitted. For a strong oracle, σ can be chosen arbitrarily close to 1. A bounded oracle respects a given upper bound on resource usage.

26 Algorithms for min-max resource sharing oracle # oracle calls Grigoriadis, Khachiyan [1994] strong, bounded Õ(ω 2 C 2 ) Grigoriadis, Khachiyan [1994] strong, bounded Õ(ω 2 C ) random. Grigoriadis, Khachiyan [1996] strong, unbounded Õ(ω 2 C R ) Jansen, Zhang [2008] weak, unbounded Õ(ω 2 C R ) Müller, Radke, Vygen [2011] weak, unbounded Õ(ω 2 ( C + R )) Müller, Radke, Vygen [2011] weak, bounded Õ(ω 2 C ) All these algorithms and predecessors for special cases (Plotkin, Shmoys, Tardos [1995], Young [1995], Villavicencio, Grigoriadis [1996], Garg, Könemann [2007],...) compute a σ(1 + ω)-approximate solution for any given ω > 0. Running times dominated by number of oracle calls. Logarithmic terms and dependency on σ omitted. For a strong oracle, σ can be chosen arbitrarily close to 1. A bounded oracle respects a given upper bound on resource usage.

27 Weak duality Let { λ := inf max r R (the optimum congestion ). } (b c ) r : b c B c (c C) c C Lemma (Weak duality) Let y R R 0 be some price vector, not all-zero, and opt c (y) := inf b Bc r R y r b r. Then c C opt c (y) r R y λ. r

28 Weak duality Let { λ := inf max r R (the optimum congestion ). } (b c ) r : b c B c (c C) c C Lemma (Weak duality) Let y R R 0 be some price vector, not all-zero, and opt c (y) := inf b Bc r R y r b r. Then c C opt c (y) r R y λ. r Proof Let (b c B c ) c C be a solution with congestion (1 + δ)λ. Then c C opt c (y) c C r R y r R y r (b c ) r r R r r R y = y r c C (b c) r r r R y r r R y r (1 + δ)λ r R y = (1 + δ)λ. r

29 Bounding λ Lemma (Weak duality) Let y R R 0 be some price vector, not all-zero. Then c C opt c (y) r R y λ. r

30 Bounding λ Lemma (Weak duality) Let y R R 0 be some price vector, not all-zero. Then c C opt c (y) r R y λ. r Corollary Let b c := f c (1) (c C) and λ ub := max r R c C (b c) r. Then λ ub R σ r R c C (b c) r R σ c C opt c (1) λ λ ub. R

31 Scaling We know λub R σ λ λ ub.

32 Scaling We know λub R σ λ λ ub. 1. Set j := Scale B (j) c := { 2j λ ub b : b B c }. Note that λ (j) 1.

33 Scaling We know λub R σ λ λ ub. 1. Set j := Scale B (j) c := { 2j λ ub b : b B c }. Note that λ (j) Find a solution with congestion λ (j) 5 4 σλ (j)

34 Scaling We know λub R σ λ λ ub. 1. Set j := Scale B (j) c := { 2j b : b B λ ub c }. Note that λ (j) Find a solution with congestion λ (j) 5 4 σλ (j) If λ (j) 1 2, then increment j and go to 2.

35 Scaling We know λub R σ λ λ ub. 1. Set j := Scale B (j) c := { 2j b : b B λ ub c }. Note that λ (j) Find a solution with congestion λ (j) 5 4 σλ (j) If λ (j) 1 2, then increment j and go to Now 1 5σ λ (j) Find a solution with congestion λ (j) σ(1 + ω 2 )λ (j) + ω 10 (hence at most σ(1 + ω) times the optimum).

36 Scaling We know λub R σ λ λ ub. 1. Set j := Scale B (j) c := { 2j b : b B λ ub c }. Note that λ (j) Find a solution with congestion λ (j) 5 4 σλ (j) If λ (j) 1 2, then increment j and go to Now 1 5σ λ (j) Find a solution with congestion λ (j) σ(1 + ω 2 )λ (j) + ω 10 (hence at most σ(1 + ω) times the optimum). Lemma (Main Lemma) Let δ, δ > 0. Suppose that λ 1. Then we can compute a solution with congestion at most σ(1 + δ)λ + δ in ( ) O (δδ ) 1 ( C + R ) θ log R time, where θ is the time for an oracle call.

37 Core algorithm ( multiplicative weights method ) Input: An instance of the min-max resource sharing problem. Output: A convex combination of vectors in B c for each c C. t := 3σ ln R δδ, ɛ := δ 3σ. α r := 0, y r := 1 for each r R. x c,b := 0 for each c C and b B c. For p := 1 to t do: For c C do: b := f c (y). (perform t phases) (call oracle) x c,b := x c,b + 1. (record solution) α := α + b. (update resource consumption) For each r R with b r 0 do: y r := e ɛαr. (update prices) x c,b := 1 t x c,b for each c C and b B c. (normalize)

38 Core algorithm ( multiplicative weights method ) Input: An instance of the min-max resource sharing problem. Output: A convex combination of vectors in B c for each c C. t := 3σ ln R δδ, ɛ := δ 3σ. α r := 0, y r := 1 for each r R. x c,b := 0, X c := 0 for each c C and b B c. For p := 1 to t do: (perform t phases) While there exists c C with X c < p do: b := f c (y). (call oracle) ξ := min{p X c, 1/ max{b r : r R}}. x c,b := x c,b + ξ, X c := X c + ξ. (record solution) α := α + ξb. (update resource consumption) For each r R with b r 0 do: y r := e ɛαr. (update prices) x c,b := 1 t x c,b for each c C and b B c. (normalize)

39 Proof of performance guarantee (sketch) Lemma Let (x, y) be the output of the algorithm with congestion λ := max r R λ r, where λ r := ( ) x c,b b r c C b B c Then λ 1 ( ɛt ln y r ). r R

40 Proof of performance guarantee (sketch) Lemma Let (x, y) be the output of the algorithm with congestion λ := max r R λ r, where λ r := ( ) x c,b b r c C b B c Then λ 1 ( ɛt ln y r ). r R Proof: For r R: λ r = x c,b b r = α r t c C b B c = 1 ɛt ln (eɛαr ) = 1 ɛt ln y r 1 ( ɛt ln y r ). r R

41 Proof of performance guarantee (sketch) Lemma (Main Lemma) Let δ, δ > 0. Suppose that ɛ λ < 1, where ɛ := (e ɛ 1)σ. Then the algorithm computes a solution with congestion at most σ(1 + δ)λ + δ.

42 Proof of performance guarantee (sketch) Lemma (Main Lemma) Let δ, δ > 0. Suppose that ɛ λ < 1, where ɛ := (e ɛ 1)σ. Then the algorithm computes a solution with congestion at most Sketch of proof: σ(1 + δ)λ + δ. Congestion is at most 1 ɛt ln ( r R y (t) r ). where y (i) is the price vector at the end of the i-th phase.

43 Proof of performance guarantee (sketch) Lemma (Main Lemma) Let δ, δ > 0. Suppose that ɛ λ < 1, where ɛ := (e ɛ 1)σ. Then the algorithm computes a solution with congestion at most σ(1 + δ)λ + δ. Sketch of proof: ( ) Congestion is at most 1 ɛt ln r R y (t) r. ( ) Initially, we have r R y (0) r = R. where y (i) is the price vector at the end of the i-th phase.

44 Proof of performance guarantee (sketch) Lemma (Main Lemma) Let δ, δ > 0. Suppose that ɛ λ < 1, where ɛ := (e ɛ 1)σ. Then the algorithm computes a solution with congestion at most σ(1 + δ)λ + δ. Sketch of proof: ( ) Congestion is at most 1 ɛt ln r R y (t) r. ( ) Initially, we have r R y (0) r = R. Price y r multiplied by e ɛξbr Short calculation yields y (p) r y (p 1) r + ɛ opt c (y (p) ), r R c C r R (1 + (e ɛ 1)ξb r ) in each iteration. where y (i) is the price vector at the end of the i-th phase.

45 Proof of performance guarantee (sketch) We had r R y (p) r r R y (p 1) r + ɛ c C opt c (y (p) ).

46 Proof of performance guarantee (sketch) We had r R r R By weak duality, ɛ c C opt c (y (p) ) r R y (p) We get y (p) r r R y (p) r y (p 1) r + ɛ c C opt c (y (p) ). r ɛ λ < ɛ λ r R y (p 1) r

47 Proof of performance guarantee (sketch) We had r R r R By weak duality, ɛ c C opt c (y (p) ) r R y (p) We get and thus r R y (t) r y (p) r r R y (p) r y (p 1) r + ɛ c C opt c (y (p) ). r ɛ λ < ɛ λ r R y (p 1) r R (1 ɛ λ ) t = R (1 + ɛ λ ) t 1 ɛ λ R e tɛ λ /(1 ɛ λ ).

48 Proof of performance guarantee (sketch) We had r R r R By weak duality, ɛ c C opt c (y (p) ) r R y (p) We get and thus r R y (t) r y (p) r r R y (p) r y (p 1) r + ɛ c C opt c (y (p) ). r ɛ λ < ɛ λ r R y (p 1) r R (1 ɛ λ ) t = R (1 + ɛ λ ) t 1 ɛ λ R e tɛ λ /(1 ɛ λ ). Together with λ 1 ɛt ln( r R y (t) ) r, this proves the claim.

49 Number of oracle calls After each oracle call either X c = p (happens only t C times) or ξb r = 1 for some r R (increases the price of r by e ɛ ). Hence the number of oracle calls is ( ) O (δδ ) 1 ( C + R ) log R.

50 Number of oracle calls After each oracle call either X c = p (happens only t C times) or ξb r = 1 for some r R (increases the price of r by e ɛ ). Hence the number of oracle calls is ( ) O (δδ ) 1 ( C + R ) log R. The above scaling algorithm computes a σ(1 + ω)-approximate solution in O((ω 2 + log R )( C + R ) θ log R ) time, where θ is the time for an oracle call.

51 Main result The above scaling algorithm computes a σ(1 + ω)-approximate solution in O((ω 2 + log R )( C + R ) θ log R ) time.

52 Main result The above scaling algorithm computes a σ(1 + ω)-approximate solution in O((ω 2 + log R )( C + R ) θ log R ) time. Using binary search instead of simple scaling, and a variant of the Main Lemma in which λ 1 is not guaranteed, we obtain: Theorem We can compute a σ(1 + ω)-approximate solution in O((ω 2 + log log R )( C + R ) θ log R ) time. Faster and more general than all previous algorithms!

53 Main result The above scaling algorithm computes a σ(1 + ω)-approximate solution in O((ω 2 + log R )( C + R ) θ log R ) time. Using binary search instead of simple scaling, and a variant of the Main Lemma in which λ 1 is not guaranteed, we obtain: Theorem We can compute a σ(1 + ω)-approximate solution in O((ω 2 + log log R )( C + R ) θ log R ) time. Faster and more general than all previous algorithms! Extensions for practical application: Most oracle calls not necessary; reuse previous result if still good enough. Use lower bounds to decide Speed-up heuristics, fast approximate oracles Parallelization (without loss of theoretical guarantees!)

54 The algorithm in practice In practice, results are much better than theoretical performance guarantees. Usually iterations suffice. Only few constraints are violated (even after rounding); these are corrected easily by ripup-and-reroute. Detailed routing can realize the solution well, due to good capacity estimations. Small integrality gap and approximate dual solution infeasibility proof can be found for most infeasible instances New constraints can be added easily Open problems: What if one resource is very bad? Guarantee for the rest? Warmstart with good prices?

55 Near optimality chip ɛ = 100 λ t fract λ lb λ rounded λ final % gap % gap running (# nets) (fract.) (final) time Rose :01:45 ( ) :01: :00:28 Georg :02:38 ( ) :01: :00:49 Camilla :51:09 ( ) :33: :11:23 Tomoko :23:43 ( ) :15: :07:09 Andre :18:54 ( ) :50: :17:32

56 Global routing result for the telecommunication chip

57 Overall result: comparison to an industrial router Time (h:mm:ss) Wires Vias Scenic nets Errors BonnRoute Total (m) 25% 50% 100% Industrial 9:18: Bonn 1:17:35 3:55: % -10.3% -22.6% -93.9% -98.4% -98.9% -61.1% 14 nm testbed (14 instances with a total of nets) both routers with 20 threads BonnRoute followed by industrial cleanup tool

58 Congestion map of a difficult instance 110% 100% 94% 87% 76% 60% 30% 0% CRB_PCL RESEARCH INSTITUTE FOR DISCRETE MATHEMATICS, UNIVERSITY OF BONN

59 Modeling timing constraints via dynamic delay budgets Timing constraints are modeled by an acyclic digraph Arrival times at sources and latest allowed arrival times at sinks are given Delays on arcs depend on routing solution Add a resource for each of these arcs Add new customers for determining arrival times at intermediate vertices Results in dynamic delay budgets v 1 v 2 v 3 v 4 N1 N 2 N 3 usg(n 1 ) resource capacity usg(n 3 ) usg(v 2 ) usg(n 2 ) usg(v 2 ) a(v 2 ) a(v 3 ) a(v 1 ) a min (v 2 ) a max(v 2 ) a min (v 3 ) a max(v 3 ) a(v 4 )

60 Theorem (Held, Müller, Rotter, Traub, Vygen [2015]) Let ω > 0. (a) Given a σ-approximate routing oracle, we can compute, with Õ(ω 2 (C + R )) oracle calls, a solution that minimizes the congestion up to a factor σ(1 + ω). (b) For nets with a bounded number of pins, we can obtain σ = 1 in polynomial time. Then, if there is a solution that satisfies all constraints, we get a solution that overloads edges by at most a factor 1 + ω and violates timing constraints by at most ω h, where h is a constant that depends on the instance only. Sketch of proof: Oracle for arrival time customers is trivial Resource sharing algorithm yields (a) Routing oracle for routing a net based on Dijkstra-Steiner algorithm (Hougardy, Silvanus, Vygen [2017]) Increase capacities of timing resources so that all source-sink paths have the same capacity h.

61 Experimental results Bounds Industrial Our algorithm after... timing- routing- tool iteration iteration iteration rounding unaware unaware (heuristic) (final)

62 Conclusion: mathematics leads to better chips! D. Müller, K. Radke, J. Vygen: Faster min-max resource sharing in theory and practice. Mathematical Programming Computation 3 (2011), 1 35 M. Gester, D. Müller, T. Nieberg, C. Panten, C. Schulte, J. Vygen: BonnRoute: Algorithms and data structures for fast and good VLSI routing. ACM Transactions on Design Automation of Electronic Systems 18 (2013), Article 32 S. Held, D. Müller, D. Rotter, V. Traub, J. Vygen: Global routing with inherent static timing constraints. Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD, 2015), S. Hougardy, J. Silvanus, J. Vygen: Dijkstra meets Steiner: a fast exact goal-oriented Steiner tree algorithm. Mathematical Programming Computation 9 (2017), to appear

Faster Min-Max Resource Sharing in Theory and Practice

Faster Min-Max Resource Sharing in Theory and Practice Faster Min-Max Resource Sharing in Theory and Practice Dirk Müller 1 Klaus Radke 2 Jens Vygen 1 Abstract We consider the (block-angular) min-max resource sharing problem, which is defined as follows. Given

More information

Steiner Trees in Chip Design. Jens Vygen. Hangzhou, March 2009

Steiner Trees in Chip Design. Jens Vygen. Hangzhou, March 2009 Steiner Trees in Chip Design Jens Vygen Hangzhou, March 2009 Introduction I A digital chip contains millions of gates. I Each gate produces a signal (0 or 1) once every cycle. I The output signal of a

More information

Multicommodity Flows and Column Generation

Multicommodity Flows and Column Generation Lecture Notes Multicommodity Flows and Column Generation Marc Pfetsch Zuse Institute Berlin pfetsch@zib.de last change: 2/8/2006 Technische Universität Berlin Fakultät II, Institut für Mathematik WS 2006/07

More information

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

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs LP-Duality ( Approximation Algorithms by V. Vazirani, Chapter 12) - Well-characterized problems, min-max relations, approximate certificates - LP problems in the standard form, primal and dual linear programs

More information

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

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs Instructor: Shaddin Dughmi Outline 1 Introduction 2 Shortest Path 3 Algorithms for Single-Source Shortest

More information

Fast and Simple Approximation Algorithms for Generalized Flow

Fast and Simple Approximation Algorithms for Generalized Flow Fast and Simple Approximation Algorithms for Generalized Flow (flow with losses and gains) Kevin Wayne Princeton University www.cs.princeton.edu/ wayne (with Lisa Fleischer) γ =3/4 40 v w 30 Fast and Simple

More information

Integer Linear Programming (ILP)

Integer Linear Programming (ILP) Integer Linear Programming (ILP) Zdeněk Hanzálek, Přemysl Šůcha hanzalek@fel.cvut.cz CTU in Prague March 8, 2017 Z. Hanzálek (CTU) Integer Linear Programming (ILP) March 8, 2017 1 / 43 Table of contents

More information

The Maximum Flow Problem with Disjunctive Constraints

The Maximum Flow Problem with Disjunctive Constraints The Maximum Flow Problem with Disjunctive Constraints Ulrich Pferschy Joachim Schauer Abstract We study the maximum flow problem subject to binary disjunctive constraints in a directed graph: A negative

More information

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502) Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik Combinatorial Optimization (MA 4502) Dr. Michael Ritter Problem Sheet 1 Homework Problems Exercise

More information

4. Duality Duality 4.1 Duality of LPs and the duality theorem. min c T x x R n, c R n. s.t. ai Tx = b i i M a i R n

4. Duality Duality 4.1 Duality of LPs and the duality theorem. min c T x x R n, c R n. s.t. ai Tx = b i i M a i R n 2 4. Duality of LPs and the duality theorem... 22 4.2 Complementary slackness... 23 4.3 The shortest path problem and its dual... 24 4.4 Farkas' Lemma... 25 4.5 Dual information in the tableau... 26 4.6

More information

Resource Constrained Project Scheduling Linear and Integer Programming (1)

Resource Constrained Project Scheduling Linear and Integer Programming (1) DM204, 2010 SCHEDULING, TIMETABLING AND ROUTING Lecture 3 Resource Constrained Project Linear and Integer Programming (1) Marco Chiarandini Department of Mathematics & Computer Science University of Southern

More information

Matroids and Integrality Gaps for Hypergraphic Steiner Tree Relaxations

Matroids and Integrality Gaps for Hypergraphic Steiner Tree Relaxations Matroids and Integrality Gaps for Hypergraphic Steiner Tree Relaxations Rico Zenklusen Johns Hopkins University Joint work with: Michel Goemans, Neil Olver, Thomas Rothvoß 2 / 16 The Steiner Tree problem

More information

Exact and Heuristic Algorithms for the Symmetric and Asymmetric Vehicle Routing Problem with Backhauls

Exact and Heuristic Algorithms for the Symmetric and Asymmetric Vehicle Routing Problem with Backhauls Exact and Heuristic Algorithms for the Symmetric and Asymmetric Vehicle Routing Problem with Backhauls Paolo Toth, Daniele Vigo ECCO IX - Dublin 1996 Exact and Heuristic Algorithms for VRPB 1 Vehicle Routing

More information

Introduction to Bin Packing Problems

Introduction to Bin Packing Problems Introduction to Bin Packing Problems Fabio Furini March 13, 2015 Outline Origins and applications Applications: Definition: Bin Packing Problem (BPP) Solution techniques for the BPP Heuristic Algorithms

More information

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

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs Instructor: Shaddin Dughmi Outline 1 Introduction 2 Shortest Path 3 Algorithms for Single-Source

More information

Efficient Primal- Dual Graph Algorithms for Map Reduce

Efficient Primal- Dual Graph Algorithms for Map Reduce Efficient Primal- Dual Graph Algorithms for Map Reduce Joint work with Bahman Bahmani Ashish Goel, Stanford Kamesh Munagala Duke University Modern Data Models Over the past decade, many commodity distributed

More information

New algorithms for Disjoint Paths and Routing Problems

New algorithms for Disjoint Paths and Routing Problems New algorithms for Disjoint Paths and Routing Problems Chandra Chekuri Dept. of Computer Science Univ. of Illinois (UIUC) Menger s Theorem Theorem: The maximum number of s-t edgedisjoint paths in a graph

More information

CS6999 Probabilistic Methods in Integer Programming Randomized Rounding Andrew D. Smith April 2003

CS6999 Probabilistic Methods in Integer Programming Randomized Rounding Andrew D. Smith April 2003 CS6999 Probabilistic Methods in Integer Programming Randomized Rounding April 2003 Overview 2 Background Randomized Rounding Handling Feasibility Derandomization Advanced Techniques Integer Programming

More information

Unit 1A: Computational Complexity

Unit 1A: Computational Complexity Unit 1A: Computational Complexity Course contents: Computational complexity NP-completeness Algorithmic Paradigms Readings Chapters 3, 4, and 5 Unit 1A 1 O: Upper Bounding Function Def: f(n)= O(g(n)) if

More information

Multi-criteria approximation schemes for the resource constrained shortest path problem

Multi-criteria approximation schemes for the resource constrained shortest path problem Noname manuscript No. (will be inserted by the editor) Multi-criteria approximation schemes for the resource constrained shortest path problem Markó Horváth Tamás Kis Received: date / Accepted: date Abstract

More information

Combinatorial optimization problems

Combinatorial optimization problems Combinatorial optimization problems Heuristic Algorithms Giovanni Righini University of Milan Department of Computer Science (Crema) Optimization In general an optimization problem can be formulated as:

More information

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Week Cuts, Branch & Bound, and Lagrangean Relaxation Week 11 1 Integer Linear Programming This week we will discuss solution methods for solving integer linear programming problems. I will skip the part on complexity theory, Section 11.8, although this is

More information

Lecture 15 (Oct 6): LP Duality

Lecture 15 (Oct 6): LP Duality CMPUT 675: Approximation Algorithms Fall 2014 Lecturer: Zachary Friggstad Lecture 15 (Oct 6): LP Duality Scribe: Zachary Friggstad 15.1 Introduction by Example Given a linear program and a feasible solution

More information

arxiv: v1 [cs.ds] 26 Feb 2016

arxiv: v1 [cs.ds] 26 Feb 2016 On the computational complexity of minimum-concave-cost flow in a two-dimensional grid Shabbir Ahmed, Qie He, Shi Li, George L. Nemhauser arxiv:1602.08515v1 [cs.ds] 26 Feb 2016 Abstract We study the minimum-concave-cost

More information

Scheduling Parallel Jobs with Linear Speedup

Scheduling Parallel Jobs with Linear Speedup Scheduling Parallel Jobs with Linear Speedup Alexander Grigoriev and Marc Uetz Maastricht University, Quantitative Economics, P.O.Box 616, 6200 MD Maastricht, The Netherlands. Email: {a.grigoriev, m.uetz}@ke.unimaas.nl

More information

Topics in Theoretical Computer Science April 08, Lecture 8

Topics in Theoretical Computer Science April 08, Lecture 8 Topics in Theoretical Computer Science April 08, 204 Lecture 8 Lecturer: Ola Svensson Scribes: David Leydier and Samuel Grütter Introduction In this lecture we will introduce Linear Programming. It was

More information

Improving Christofides Algorithm for the s-t Path TSP

Improving Christofides Algorithm for the s-t Path TSP Cornell University May 21, 2012 Joint work with Bobby Kleinberg and David Shmoys Metric TSP Metric (circuit) TSP Given a weighted graph G = (V, E) (c : E R + ), find a minimum Hamiltonian circuit Triangle

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms What do you do when a problem is NP-complete? or, when the polynomial time solution is impractically slow? assume input is random, do expected performance. Eg, Hamiltonian path

More information

7. Lecture notes on the ellipsoid algorithm

7. Lecture notes on the ellipsoid algorithm Massachusetts Institute of Technology Michel X. Goemans 18.433: Combinatorial Optimization 7. Lecture notes on the ellipsoid algorithm The simplex algorithm was the first algorithm proposed for linear

More information

Lectures 6, 7 and part of 8

Lectures 6, 7 and part of 8 Lectures 6, 7 and part of 8 Uriel Feige April 26, May 3, May 10, 2015 1 Linear programming duality 1.1 The diet problem revisited Recall the diet problem from Lecture 1. There are n foods, m nutrients,

More information

Solutions to Exercises

Solutions to Exercises 1/13 Solutions to Exercises The exercises referred to as WS 1.1(a), and so forth, are from the course book: Williamson and Shmoys, The Design of Approximation Algorithms, Cambridge University Press, 2011,

More information

Data Structures in Java

Data Structures in Java Data Structures in Java Lecture 21: Introduction to NP-Completeness 12/9/2015 Daniel Bauer Algorithms and Problem Solving Purpose of algorithms: find solutions to problems. Data Structures provide ways

More information

Some Open Problems in Approximation Algorithms

Some Open Problems in Approximation Algorithms Some Open Problems in Approximation Algorithms David P. Williamson School of Operations Research and Information Engineering Cornell University February 28, 2011 University of Bonn Bonn, Germany David

More information

Hardness of Directed Routing with Congestion

Hardness of Directed Routing with Congestion Hardness of Directed Routing with Congestion Julia Chuzhoy Sanjeev Khanna August 28, 2006 Abstract Given a graph G and a collection of source-sink pairs in G, what is the least integer c such that each

More information

Linear Programming. Scheduling problems

Linear Programming. Scheduling problems Linear Programming Scheduling problems Linear programming (LP) ( )., 1, for 0 min 1 1 1 1 1 11 1 1 n i x b x a x a b x a x a x c x c x z i m n mn m n n n n! = + + + + + + = Extreme points x ={x 1,,x n

More information

Routing. Topics: 6.976/ESD.937 1

Routing. Topics: 6.976/ESD.937 1 Routing Topics: Definition Architecture for routing data plane algorithm Current routing algorithm control plane algorithm Optimal routing algorithm known algorithms and implementation issues new solution

More information

3.4 Relaxations and bounds

3.4 Relaxations and bounds 3.4 Relaxations and bounds Consider a generic Discrete Optimization problem z = min{c(x) : x X} with an optimal solution x X. In general, the algorithms generate not only a decreasing sequence of upper

More information

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

Outline. Outline. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING Lecture 3 and Mixed Integer Programg Marco Chiarandini 1. Resource Constrained Project Model 2. Mathematical Programg 2 Outline Outline 1. Resource Constrained

More information

Machine scheduling with resource dependent processing times

Machine scheduling with resource dependent processing times Mathematical Programming manuscript No. (will be inserted by the editor) Alexander Grigoriev Maxim Sviridenko Marc Uetz Machine scheduling with resource dependent processing times Received: date / Revised

More information

An Exact Algorithm for the Steiner Tree Problem with Delays

An Exact Algorithm for the Steiner Tree Problem with Delays Electronic Notes in Discrete Mathematics 36 (2010) 223 230 www.elsevier.com/locate/endm An Exact Algorithm for the Steiner Tree Problem with Delays Valeria Leggieri 1 Dipartimento di Matematica, Università

More information

Topic: Balanced Cut, Sparsest Cut, and Metric Embeddings Date: 3/21/2007

Topic: Balanced Cut, Sparsest Cut, and Metric Embeddings Date: 3/21/2007 CS880: Approximations Algorithms Scribe: Tom Watson Lecturer: Shuchi Chawla Topic: Balanced Cut, Sparsest Cut, and Metric Embeddings Date: 3/21/2007 In the last lecture, we described an O(log k log D)-approximation

More information

Introduction to Integer Linear Programming

Introduction to Integer Linear Programming Lecture 7/12/2006 p. 1/30 Introduction to Integer Linear Programming Leo Liberti, Ruslan Sadykov LIX, École Polytechnique liberti@lix.polytechnique.fr sadykov@lix.polytechnique.fr Lecture 7/12/2006 p.

More information

The Steiner Network Problem

The Steiner Network Problem The Steiner Network Problem Pekka Orponen T-79.7001 Postgraduate Course on Theoretical Computer Science 7.4.2008 Outline 1. The Steiner Network Problem Linear programming formulation LP relaxation 2. The

More information

A Multi-Exchange Local Search Algorithm for the Capacitated Facility Location Problem

A Multi-Exchange Local Search Algorithm for the Capacitated Facility Location Problem A Multi-Exchange Local Search Algorithm for the Capacitated Facility Location Problem Jiawei Zhang Bo Chen Yinyu Ye October 19, 2003 Abstract We present a multi-exchange local search algorithm for approximating

More information

On Fixed Cost k-flow Problems

On Fixed Cost k-flow Problems On Fixed Cost k-flow Problems MohammadTaghi Hajiaghayi 1, Rohit Khandekar 2, Guy Kortsarz 3, and Zeev Nutov 4 1 University of Maryland, College Park, MD. hajiagha@cs.umd.edu. 2 Knight Capital Group, Jersey

More information

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved. Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved. 1 P and NP P: The family of problems that can be solved quickly in polynomial time.

More information

The Complexity of Maximum. Matroid-Greedoid Intersection and. Weighted Greedoid Maximization

The Complexity of Maximum. Matroid-Greedoid Intersection and. Weighted Greedoid Maximization Department of Computer Science Series of Publications C Report C-2004-2 The Complexity of Maximum Matroid-Greedoid Intersection and Weighted Greedoid Maximization Taneli Mielikäinen Esko Ukkonen University

More information

Multicriteria approximation through decomposition

Multicriteria approximation through decomposition Multicriteria approximation through decomposition Carl Burch Sven Krumke y Madhav Marathe z Cynthia Phillips x Eric Sundberg { Abstract We propose a general technique called solution decomposition to devise

More information

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved. Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved. 1 Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should

More information

From Primal-Dual to Cost Shares and Back: A Stronger LP Relaxation for the Steiner Forest Problem

From Primal-Dual to Cost Shares and Back: A Stronger LP Relaxation for the Steiner Forest Problem From Primal-Dual to Cost Shares and Back: A Stronger LP Relaxation for the Steiner Forest Problem Jochen Könemann 1, Stefano Leonardi 2, Guido Schäfer 2, and Stefan van Zwam 3 1 Department of Combinatorics

More information

Local Search Based Approximation Algorithms. Vinayaka Pandit. IBM India Research Laboratory

Local Search Based Approximation Algorithms. Vinayaka Pandit. IBM India Research Laboratory Local Search Based Approximation Algorithms The k-median problem Vinayaka Pandit IBM India Research Laboratory joint work with Naveen Garg, Rohit Khandekar, and Vijay Arya The 2011 School on Approximability,

More information

3.10 Lagrangian relaxation

3.10 Lagrangian relaxation 3.10 Lagrangian relaxation Consider a generic ILP problem min {c t x : Ax b, Dx d, x Z n } with integer coefficients. Suppose Dx d are the complicating constraints. Often the linear relaxation and the

More information

Reconnect 04 Introduction to Integer Programming

Reconnect 04 Introduction to Integer Programming Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, Reconnect 04 Introduction to Integer Programming Cynthia Phillips, Sandia National Laboratories Integer programming

More information

Lecture 11 October 7, 2013

Lecture 11 October 7, 2013 CS 4: Advanced Algorithms Fall 03 Prof. Jelani Nelson Lecture October 7, 03 Scribe: David Ding Overview In the last lecture we talked about set cover: Sets S,..., S m {,..., n}. S has cost c S. Goal: Cover

More information

Approximation Algorithms and Hardness of Integral Concurrent Flow

Approximation Algorithms and Hardness of Integral Concurrent Flow Approximation Algorithms and Hardness of Integral Concurrent Flow Parinya Chalermsook Julia Chuzhoy Alina Ene Shi Li May 16, 2012 Abstract We study an integral counterpart of the classical Maximum Concurrent

More information

Fast and Simple Approximation Schemes for Generalized Flow

Fast and Simple Approximation Schemes for Generalized Flow Fast and Simple Approximation Schemes for Generalized Flow Lisa K. Fleischer Kevin D. Wayne July 19, 2001 Abstract We present fast and simple fully polynomial-time approximation schemes (FPTAS) for generalized

More information

2001 Dennis L. Bricker Dept. of Industrial Engineering The University of Iowa. Reducing dimensionality of DP page 1

2001 Dennis L. Bricker Dept. of Industrial Engineering The University of Iowa. Reducing dimensionality of DP page 1 2001 Dennis L. Bricker Dept. of Industrial Engineering The University of Iowa Reducing dimensionality of DP page 1 Consider a knapsack with a weight capacity of 15 and a volume capacity of 12. Item # Value

More information

Mathematics for Decision Making: An Introduction. Lecture 13

Mathematics for Decision Making: An Introduction. Lecture 13 Mathematics for Decision Making: An Introduction Lecture 13 Matthias Köppe UC Davis, Mathematics February 17, 2009 13 1 Reminder: Flows in networks General structure: Flows in networks In general, consider

More information

Some Open Problems in Approximation Algorithms

Some Open Problems in Approximation Algorithms Some Open Problems in Approximation Algorithms David P. Williamson School of Operations Research and Information Engineering Cornell University August 18, 2011 APPROX 2011 David P. Williamson (Cornell

More information

On Column-restricted and Priority Covering Integer Programs

On Column-restricted and Priority Covering Integer Programs On Column-restricted and Priority Covering Integer Programs Deeparnab Chakrabarty Elyot Grant Jochen Könemann November 24, 2009 Abstract In a 0,1-covering integer program (CIP), the goal is to pick a minimum

More information

Branch-and-cut (and-price) for the chance constrained vehicle routing problem

Branch-and-cut (and-price) for the chance constrained vehicle routing problem Branch-and-cut (and-price) for the chance constrained vehicle routing problem Ricardo Fukasawa Department of Combinatorics & Optimization University of Waterloo May 25th, 2016 ColGen 2016 joint work with

More information

Colored Bin Packing: Online Algorithms and Lower Bounds

Colored Bin Packing: Online Algorithms and Lower Bounds Noname manuscript No. (will be inserted by the editor) Colored Bin Packing: Online Algorithms and Lower Bounds Martin Böhm György Dósa Leah Epstein Jiří Sgall Pavel Veselý Received: date / Accepted: date

More information

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

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 8 Dr. Ted Ralphs ISE 418 Lecture 8 1 Reading for This Lecture Wolsey Chapter 2 Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Duality for Mixed-Integer

More information

CS 583: Approximation Algorithms: Introduction

CS 583: Approximation Algorithms: Introduction CS 583: Approximation Algorithms: Introduction Chandra Chekuri January 15, 2018 1 Introduction Course Objectives 1. To appreciate that not all intractable problems are the same. NP optimization problems,

More information

Santa Claus Schedules Jobs on Unrelated Machines

Santa Claus Schedules Jobs on Unrelated Machines Santa Claus Schedules Jobs on Unrelated Machines Ola Svensson (osven@kth.se) Royal Institute of Technology - KTH Stockholm, Sweden March 22, 2011 arxiv:1011.1168v2 [cs.ds] 21 Mar 2011 Abstract One of the

More information

Lecture notes on the ellipsoid algorithm

Lecture notes on the ellipsoid algorithm Massachusetts Institute of Technology Handout 1 18.433: Combinatorial Optimization May 14th, 007 Michel X. Goemans Lecture notes on the ellipsoid algorithm The simplex algorithm was the first algorithm

More information

On Two Class-Constrained Versions of the Multiple Knapsack Problem

On Two Class-Constrained Versions of the Multiple Knapsack Problem On Two Class-Constrained Versions of the Multiple Knapsack Problem Hadas Shachnai Tami Tamir Department of Computer Science The Technion, Haifa 32000, Israel Abstract We study two variants of the classic

More information

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

CS 6820 Fall 2014 Lectures, October 3-20, 2014 Analysis of Algorithms Linear Programming Notes CS 6820 Fall 2014 Lectures, October 3-20, 2014 1 Linear programming The linear programming (LP) problem is the following optimization problem. We are given

More information

Duality of LPs and Applications

Duality of LPs and Applications Lecture 6 Duality of LPs and Applications Last lecture we introduced duality of linear programs. We saw how to form duals, and proved both the weak and strong duality theorems. In this lecture we will

More information

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

Topic: Primal-Dual Algorithms Date: We finished our discussion of randomized rounding and began talking about LP Duality. CS787: Advanced Algorithms Scribe: Amanda Burton, Leah Kluegel Lecturer: Shuchi Chawla Topic: Primal-Dual Algorithms Date: 10-17-07 14.1 Last Time We finished our discussion of randomized rounding and

More information

Interconnect Yield Model for Manufacturability Prediction in Synthesis of Standard Cell Based Designs *

Interconnect Yield Model for Manufacturability Prediction in Synthesis of Standard Cell Based Designs * Interconnect Yield Model for Manufacturability Prediction in Synthesis of Standard Cell Based Designs * Hans T. Heineken and Wojciech Maly Department of Electrical and Computer Engineering Carnegie Mellon

More information

An approximation algorithm for the minimum latency set cover problem

An approximation algorithm for the minimum latency set cover problem An approximation algorithm for the minimum latency set cover problem Refael Hassin 1 and Asaf Levin 2 1 Department of Statistics and Operations Research, Tel-Aviv University, Tel-Aviv, Israel. hassin@post.tau.ac.il

More information

Bandwidth Allocation in Networks: A Single Dual Update Subroutine for Multiple Objectives

Bandwidth Allocation in Networks: A Single Dual Update Subroutine for Multiple Objectives Bandwidth Allocation in Networks: A Single Dual Update Subroutine for Multiple Objectives Sung-woo Cho University of Southern California Ashish Goel Stanford University May 31, 2005 Abstract We study the

More information

1 Investing and combining expert advice

1 Investing and combining expert advice Cornell University, Fall 2013 CS 6820: Algorithms Lecture notes: The multiplicative weights update method October 9 11, 2013 The multiplicative weights update method is a family of algorithms that have

More information

Power-Driven Global Routing for Multi-Supply Voltage Domains

Power-Driven Global Routing for Multi-Supply Voltage Domains Power-Driven Global Routing for Multi-Supply Voltage Domains Tai-Hsuan Wu, Azadeh Davoodi, and Jeffrey T. Linderoth Department of Electrical and Computer Engineering Department of Industrial and Systems

More information

Representations of All Solutions of Boolean Programming Problems

Representations of All Solutions of Boolean Programming Problems Representations of All Solutions of Boolean Programming Problems Utz-Uwe Haus and Carla Michini Institute for Operations Research Department of Mathematics ETH Zurich Rämistr. 101, 8092 Zürich, Switzerland

More information

12. LOCAL SEARCH. gradient descent Metropolis algorithm Hopfield neural networks maximum cut Nash equilibria

12. LOCAL SEARCH. gradient descent Metropolis algorithm Hopfield neural networks maximum cut Nash equilibria 12. LOCAL SEARCH gradient descent Metropolis algorithm Hopfield neural networks maximum cut Nash equilibria Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley h ttp://www.cs.princeton.edu/~wayne/kleinberg-tardos

More information

Optimization of Submodular Functions Tutorial - lecture I

Optimization of Submodular Functions Tutorial - lecture I Optimization of Submodular Functions Tutorial - lecture I Jan Vondrák 1 1 IBM Almaden Research Center San Jose, CA Jan Vondrák (IBM Almaden) Submodular Optimization Tutorial 1 / 1 Lecture I: outline 1

More information

Locating Depots for Capacitated Vehicle Routing

Locating Depots for Capacitated Vehicle Routing Locating Depots for Capacitated Vehicle Routing Inge Li Gørtz Viswanath Nagarajan Abstract We study a location-routing problem in the context of capacitated vehicle routing. The input to the k-location

More information

Algorithm Design Strategies V

Algorithm Design Strategies V Algorithm Design Strategies V Joaquim Madeira Version 0.0 October 2016 U. Aveiro, October 2016 1 Overview The 0-1 Knapsack Problem Revisited The Fractional Knapsack Problem Greedy Algorithms Example Coin

More information

The traveling salesman problem

The traveling salesman problem Chapter 58 The traveling salesman problem The traveling salesman problem (TSP) asks for a shortest Hamiltonian circuit in a graph. It belongs to the most seductive problems in combinatorial optimization,

More information

Introduction to Integer Programming

Introduction to Integer Programming Lecture 3/3/2006 p. /27 Introduction to Integer Programming Leo Liberti LIX, École Polytechnique liberti@lix.polytechnique.fr Lecture 3/3/2006 p. 2/27 Contents IP formulations and examples Total unimodularity

More information

Lecture 20: LP Relaxation and Approximation Algorithms. 1 Introduction. 2 Vertex Cover problem. CSCI-B609: A Theorist s Toolkit, Fall 2016 Nov 8

Lecture 20: LP Relaxation and Approximation Algorithms. 1 Introduction. 2 Vertex Cover problem. CSCI-B609: A Theorist s Toolkit, Fall 2016 Nov 8 CSCI-B609: A Theorist s Toolkit, Fall 2016 Nov 8 Lecture 20: LP Relaxation and Approximation Algorithms Lecturer: Yuan Zhou Scribe: Syed Mahbub Hafiz 1 Introduction When variables of constraints of an

More information

Preface to the Fifth Edition

Preface to the Fifth Edition Preface to the Fifth Edition When preparing the first edition of this book, more than ten years ago, we tried to accomplish two objectives: it should be useful as an advanced graduate textbook, but also

More information

Weighted Acyclic Di-Graph Partitioning by Balanced Disjoint Paths

Weighted Acyclic Di-Graph Partitioning by Balanced Disjoint Paths Weighted Acyclic Di-Graph Partitioning by Balanced Disjoint Paths H. Murat AFSAR Olivier BRIANT Murat.Afsar@g-scop.inpg.fr Olivier.Briant@g-scop.inpg.fr G-SCOP Laboratory Grenoble Institute of Technology

More information

Branching Rules for Minimum Congestion Multi- Commodity Flow Problems

Branching Rules for Minimum Congestion Multi- Commodity Flow Problems Clemson University TigerPrints All Theses Theses 8-2012 Branching Rules for Minimum Congestion Multi- Commodity Flow Problems Cameron Megaw Clemson University, cmegaw@clemson.edu Follow this and additional

More information

Transactions on Algorithms. Two-stage Robust Network Design with Exponential Scenarios

Transactions on Algorithms. Two-stage Robust Network Design with Exponential Scenarios Transactions on Algorithms Two-stage Robust Networ Design with Exponential Scenarios Journal: Transactions on Algorithms Manuscript ID: draft Manuscript Type: Original Article Date Submitted by the Author:

More information

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle Directed Hamiltonian Cycle Chapter 8 NP and Computational Intractability Claim. G has a Hamiltonian cycle iff G' does. Pf. Suppose G has a directed Hamiltonian cycle Γ. Then G' has an undirected Hamiltonian

More information

Improved Bounds for Flow Shop Scheduling

Improved Bounds for Flow Shop Scheduling Improved Bounds for Flow Shop Scheduling Monaldo Mastrolilli and Ola Svensson IDSIA - Switzerland. {monaldo,ola}@idsia.ch Abstract. We resolve an open question raised by Feige & Scheideler by showing that

More information

Connectedness of Efficient Solutions in Multiple. Objective Combinatorial Optimization

Connectedness of Efficient Solutions in Multiple. Objective Combinatorial Optimization Connectedness of Efficient Solutions in Multiple Objective Combinatorial Optimization Jochen Gorski Kathrin Klamroth Stefan Ruzika Communicated by H. Benson Abstract Connectedness of efficient solutions

More information

Machine Minimization for Scheduling Jobs with Interval Constraints

Machine Minimization for Scheduling Jobs with Interval Constraints Machine Minimization for Scheduling Jobs with Interval Constraints Julia Chuzhoy Sudipto Guha Sanjeev Khanna Joseph (Seffi) Naor Abstract The problem of scheduling jobs with interval constraints is a well-studied

More information

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths Matroids Shortest Paths Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths Marc Uetz University of Twente m.uetz@utwente.nl Lecture 2: sheet 1 / 25 Marc Uetz Discrete Optimization Matroids

More information

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

ACO Comprehensive Exam March 20 and 21, Computability, Complexity and Algorithms 1. Computability, Complexity and Algorithms Part a: You are given a graph G = (V,E) with edge weights w(e) > 0 for e E. You are also given a minimum cost spanning tree (MST) T. For one particular edge

More information

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof T-79.5103 / Autumn 2006 NP-complete problems 1 NP-COMPLETE PROBLEMS Characterizing NP Variants of satisfiability Graph-theoretic problems Coloring problems Sets and numbers Pseudopolynomial algorithms

More information

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} Preliminaries Graphs G = (V, E), V : set of vertices E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) 1 2 3 5 4 V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} 1 Directed Graph (Digraph)

More information

Scheduling and Optimization Course (MPRI)

Scheduling and Optimization Course (MPRI) MPRI Scheduling and optimization: lecture p. /6 Scheduling and Optimization Course (MPRI) Leo Liberti LIX, École Polytechnique, France MPRI Scheduling and optimization: lecture p. /6 Teachers Christoph

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock, crew scheduling, vehicle

More information

In the original knapsack problem, the value of the contents of the knapsack is maximized subject to a single capacity constraint, for example weight.

In the original knapsack problem, the value of the contents of the knapsack is maximized subject to a single capacity constraint, for example weight. In the original knapsack problem, the value of the contents of the knapsack is maximized subject to a single capacity constraint, for example weight. In the multi-dimensional knapsack problem, additional

More information

Algorithms for multiplayer multicommodity ow problems

Algorithms for multiplayer multicommodity ow problems Noname manuscript No. (will be inserted by the editor) Algorithms for multiplayer multicommodity ow problems Attila Bernáth Tamás Király Erika Renáta Kovács Gergely Mádi-Nagy Gyula Pap Júlia Pap Jácint

More information

Maximum-Life Routing Schedule

Maximum-Life Routing Schedule Maximum-Life Routing Schedule Peng-Jun Wan wan@cs.iit.edu Peng-Jun Wan (wan@cs.iit.edu) Maximum-Life Routing Schedule 1 / 42 Outline Problem Description Min-Cost Routing Ellipsoid Algorithm Price-Directive

More information