1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.

Slides:



Advertisements
Similar presentations
The simplex algorithm The simplex algorithm is the classical method for solving linear programs. Its running time is not polynomial in the worst case.
Advertisements

Using linear programming to solve discrete problems
Solving LP Models Improving Search Special Form of Improving Search
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
Linear Programming (LP) (Chap.29)
C&O 355 Mathematical Programming Fall 2010 Lecture 22 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A.
1 Cutting Plane Technique for Solving Integer Programs.
Gomory’s cutting plane algorithm for integer programming Prepared by Shin-ichi Tanigawa.
EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011.
1 State of the art for TSP TSP instances of thousand of cities can be consistently solved to optimality. Instances of up to cities have been solved:
Branch and Bound Searching Strategies
Solving Integer Programs. Natural solution ideas that don’t work well Solution idea #1: Explicit enumeration: Try all possible solutions and pick the.
1 dKS, Spring Some practical information Lecturers: Kristoffer Arnsfelt Hansen and Peter Bro Miltersen. Homepage:
Introduction to Linear and Integer Programming Lecture 7: Feb 1.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
Mathematical Modeling and Optimization: Summary of “Big Ideas”
Computational Methods for Management and Economics Carla Gomes
Approximation Algorithms
1 Traveling Salesman Problem (TSP) Given n £ n positive distance matrix (d ij ) find permutation  on {0,1,2,..,n-1} minimizing  i=0 n-1 d  (i),  (i+1.
The max flow problem
1 Branch and Bound Searching Strategies 2 Branch-and-bound strategy 2 mechanisms: A mechanism to generate branches A mechanism to generate a bound so.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
1 The Min Cost Flow Problem. 2 Flow Networks with Costs Flow networks with costs are the problem instances of the min cost flow problem. A flow network.
1 Ford-Fulkerson method Ford-Fulkerson(G) f = 0 while( 9 simple path p from s to t in G f ) f := f + f p output f Runs in time O(|f max | |E|) where f.
1 Integrality constraints Integrality constraints are often crucial when modeling optimizayion problems as linear programs. We have seen that if our linear.
1 The Min Cost Flow Problem. 2 The Min Cost Flow problem We want to talk about multi-source, multi-sink flows than just “flows from s to t”. We want to.
Cutting Planes II. The Knapsack Problem Recall the knapsack problem: n items to be packed in a knapsack (can take multiple copies of the same item). The.
LP formulation of Economic Dispatch
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Decision Procedures An Algorithmic Point of View
Programming & Data Structures
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
1 Decision Procedures for Linear Arithmetic Presented By Omer Katz 01/04/14 Based on slides by Ofer Strichman.
Mathematical Modeling and Optimization: Summary of “Big Ideas”
1 EL736 Communications Networks II: Design and Algorithms Class5: Optimization Methods Yong Liu 10/10/2007.
Types of IP Models All-integer linear programs Mixed integer linear programs (MILP) Binary integer linear programs, mixed or all integer: some or all of.
MIT and James Orlin1 NP-completeness in 2005.
Notes 5IE 3121 Knapsack Model Intuitive idea: what is the most valuable collection of items that can be fit into a backpack?
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Gomory Cuts Updated 25 March Example ILP Example taken from “Operations Research: An Introduction” by Hamdy A. Taha (8 th Edition)“Operations Research:
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
&d1 Algorithms and networks Period 3, 2010/2011. &d2 Today Graphs and networks and algorithms: what and why? This course: organization Case introduction:
Integer Programming, Branch & Bound Method
1 Approximation algorithms Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij TexPoint fonts used in EMF. Read the TexPoint manual.
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
Branch and Bound Searching Strategies
Approximation algorithms
Discrete Optimization
Lap Chi Lau we will only use slides 4 to 19
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Optimization problems such as
Topics in Algorithms Lap Chi Lau.
The minimum cost flow problem
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Chapter 5. Optimal Matchings
Gomory Cuts Updated 25 March 2009.
1.3 Modeling with exponentially many constr.
Chapter 6. Large Scale Optimization
Integer Programming (정수계획법)
Integer Linear Programming
2. Generating All Valid Inequalities
1.3 Modeling with exponentially many constr.
Integer Programming (정수계획법)
Part II General Integer Programming
Lecture 19 Linear Program
Branch-and-Bound Algorithm for Integer Program
Integer LP: Algorithms
Chapter 6. Large Scale Optimization
Discrete Optimization
Presentation transcript:

1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search Worst case exponential time. = reduction TSP The course so far … …

2 Two topics of today Worst case polynomial time algorithms for LP. State of the art for solving TSP (uses ILP, is practical, but runs in worst case exponential time)

3 State of the art for TSP TSP instances of thousand of cities can be consistently solved to optimality. Instances of up to cities have been solved: All cities in Sweden! Technique: Branch-and-Bound combined with cutting plane algorithms: Branch- and-cut.

4

5

6 x 2 · 2 is a valid inequality and a cutting plane

7 Valid inequality for an ILP Given integer linear program, a new inequality is called valid if it does not change the set of integer solutions to the program. It is a cutting plane if it removes the (non- integer) optimum solution to the relaxed linear program.

8 Cutting plane algorithm for ILP input ILP instance P P’ := LP-relaxation of P while(optimal solution to P’ is not integer){ add valid cutting plane to P P’ := LP-relaxation of P } return optimal solution to P’ How to find valid cutting plane?

9 Gomory Cutting Plane Algorithm Assume that all initial coefficients in (standard form) ILP instance are integer. Solve LP-instance using simplex method. Suppose the simplex method terminates with a non-integer optimal solution.

10 Some line in final dictionary reads x i = b i +  j a j x j where b i is not integer. Let b’ i = b i - b b i c and a’ j = a j - b a j c. x i - b b i c -  j b a j c x j = b’ i +  j a j ’ x j For every feasible integer solution: Left hand side is integer. Right hand side is strictly bigger than zero. x i - b b i c -  j b a j c x j ¸ 1 is a valid cut.

11 Gomory Cutting Plane Algorithm For ILP Partial correctness is obvious. Termination is not guaranteed. Can be guaranteed if simplex algorithm uses special pivot rule and line of final dictionary is chosen carefully (non-trivial!) Not very practical.

12 Cutting planes for TSP (and other problems) Use ILP formulation of TSP. Use specially tailored cutting planes.

13 TSP as ILP

14 Symmetric TSP Distance from i to j is equal to distance from j to i. Let y ij = x ij + x ji

15 The TSP tour has to pass every cut at least twice. S T  i 2 S, j 2 T y ij ¸ 2 is a valid inequality.

16 Cutting plane algorithm for TSP Find optimal solution x * of LP-relaxation of Let y * ij = x * ij + x * ji Check if some S,T has  i 2 S, j 2 T y ij < 2. This can be efficiently done by Max flow algorithm. Add inequality  i 2 S, j 2 T y ij ¸ 2.

17 Cutting plane algorithm for TSP At some point we will fail to find new cuts. Still may not have integer solution. If not, add other kinds of specially tailored inequalities (big literature) or BRANCH.

18 Branch-and-cut for TSP Branch-and-bound with relaxation being LP-relaxation + set of valid inequalities. When to stop adding inequalities and start branching is a matter of heuristics and experiments. Yields state-of-the art solver. Many non- trivial implementation issues.

19 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search Worst case exponential time. = reduction TSP The course so far … … ?

20 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search Worst case exponential time = reduction TSP… NP-completeness (dSoegOpt) (unless P=NP)