EMIS 8373: Integer Programming

Slides:



Advertisements
Similar presentations
Instructor Neelima Gupta Table of Contents Approximation Algorithms.
Advertisements

1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
Branch and Bound See Beale paper. Example: Maximize z=x1+x2 x2 x1.
O(N 1.5 ) divide-and-conquer technique for Minimum Spanning Tree problem Step 1: Divide the graph into  N sub-graph by clustering. Step 2: Solve each.
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
Combinatorial Algorithms
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Branch and Bound Searching Strategies
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Chapter 9: Greedy Algorithms The Design and Analysis of Algorithms.
Graphs & Graph Algorithms 2 Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
Graphs & Graph Algorithms 2
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
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.
Graphs G = (V,E) V is the vertex set. Vertices are also called nodes and points. E is the edge set. Each edge connects two different vertices. Edges are.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Breadth-first search (BFS) 8-puzzle problem The breadth-first search uses a queue to hold all expanded nodes.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Approximation Algorithms Ola Svensson. Course Information Goal: – Learn the techniques used by studying famous applications Graduate Course FDD
Graphs & Graph Algorithms 2 Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
Integer programming Branch & bound algorithm ( B&B )
Hon Wai Leong, NUS (CS6234, Spring 2009) Page 1 Copyright © 2009 by Leong Hon Wai CS6234 Lecture 1 -- (14-Jan-09) “Introduction”  Combinatorial Optimization.
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
CS 312: Algorithm Analysis
Branch & Bound UPPER =  LOWER = 0.
CS 312: Algorithm Design & Analysis Lecture #34: Branch and Bound Design Options for Solving the TSP: Tight Bounds This work is licensed under a Creative.
EMIS 8374 Optimal Trees updated 25 April slide 1 Minimum Spanning Tree (MST) Input –A (simple) graph G = (V,E) –Edge cost c ij for each edge e 
Lecture 12: Algorithm Review. General Problem Solving Methods Divide & Conquer Greedy Method Dynamic Programming Graph & Tree Traversal Backtracking Branch.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
1 Branch and Bound Searching Strategies Updated: 12/27/2010.
Integer Linear Programming Terms Pure integer programming mixed integer programming 0-1 integer programming LP relaxation of the IP Upper bound O.F. Lower.
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
Minimum Spanning Trees CS 146 Prof. Sin-Min Lee Regina Wang.
Divide and Conquer Optimization problem: z = max{cx : x  S}
EMIS 8373: Integer Programming Combinatorial Relaxations and Duals Updated 8 February 2005.
Integer LP In-class Prob
Graphs and MSTs Sections 1.4 and 9.1. Partial-Order Relations Everybody is not related to everybody. Examples? Direct road connections between locations.
Chapter 2. Optimal Trees and Paths Combinatorial Optimization
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
Optimization/Decision Problems Optimization Problems – An optimization problem is one which asks, “What is the optimal solution to problem X?” – Examples:
State space search Represented by a four-tuple [N,A,S,GD], where: N is the problem space A is the set of arcs (or links) between nodes. These correspond.
Branch and Bound Searching Strategies
Approximation Algorithms
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
EMIS 8373: Integer Programming Combinatorial Optimization Problems updated 27 January 2005.
Lower bound algorithm. 1 Start from A. Delete vertex A and all edges meeting at A. A B C D 4 5 E Find the length of the minimum spanning.
Weighted Graphs and traveling Salesperson problem
EMIS 8373: Integer Programming
BackTracking CS255.
Lecture 2-2 NP Class.
Hamiltonian Cycle and TSP
Hamiltonian Cycle and TSP
Algorithms for hard problems
Approximation Algorithms
1.3 Modeling with exponentially many constr.
2 TSP algorithms: (1) AP+B&B, (2) min spanning tree.
EMIS 8373: Integer Programming
Graphs & Graph Algorithms 2
1.3 Modeling with exponentially many constr.
Branch and Bound Searching Strategies
EMIS 8373: Integer Programming
Presented by Yi-Tzu, Chen
5.4 T-joins and Postman Problems
Minimum Spanning Trees (MSTs)
We have the following incomplete B&B tree:
Chapter 9 Graph algorithms
Lecture 4: Tree Search Strategies
Presentation transcript:

EMIS 8373: Integer Programming Branch-and-Bound: Combinatorial Relaxations Revised 11 April 2005

Example 1: Assignment Relaxation for TSP 3 7 10 6 5

Assignment Problem 1 1 -1 3 1’ 3 1 2 2’ -1 5 7 5 6 1 3 3’ -1 7 7 5 6 10 7 1 4 4’ -1

Mapping Tour 1234 to an Assignment assignment cost = 3 + 6 +7 + 5 = 21. cost of tour 1  2  3  4 1 = 21. 1 1 -1 1’ 3 1 2 2’ -1 6 1 3 3’ -1 7 5 1 4 4’ -1

Optimal Assignment 1 1 -1 3 1’ 3 1 2 2’ -1 1 3 3’ -1 7 4 7 1 4’ -1

Assignment Relaxation of TSP Every TSP tour solution corresponds to a feasible assignment with the same objective function value: Tour 1  2  3  4 1  x12 = x23 = x34 = x41 = 1 Tour 1  3  2  4 1  x13 = x32 = x24 = x41 = 1 Some assignments do not map back to tours Assignment x12 = x21 = x34 = x41 = 1 gives sub-tours 1  2  1 and 3  4  3 Since every TSP tour is a feasible assignment and the cost of the tour = cost of the assignment, the assignment problem is a relaxation of TSP.

Branch-and-Bound with Assignment Relaxation Solve assignment problems to get lower bound. ZU(S) =  ZL(S) = 20 S Visit city 2 first. S13 S14 S12 Visit city 4 first. Visit city 3 first. Branch on the next city in the tour.

Assignment Problem for S12 -1 1’ 3 1 2 2’ -1 5 5 6 1 3 3’ -1 7 7 5 6 10 1 4 7 4’ -1

Optimal Assignment for S12 -1 1’ 3 1 2 2’ -1 6 1 3 3’ -1 7 5 10 1 4 4’ -1

Branch-and-Bound with Assignment Relaxation Solve assignment problems to get lower bound. ZU(S) = 21 ZL(S) = 20 S S13 S14 S12 ZU(S) = 21 ZL(S) = 21

Assignment Problem for S13 -1 3 1’ 1 2 2’ -1 7 5 6 1 3 3’ -1 7 7 5 6 4 7 1 4’ -1

Optimal assignment for S13 -1 3 1’ 1 2 2’ -1 7 1 3 3’ -1 7 6 1 4 4’ -1

Branch-and-Bound with Assignment Relaxation Solve assignment problems to get lower bound. ZU(S) = 21 ZL(S) = 20 S S13 S14 S12 ZU(S12) = 21 ZU(S13) = 23 ZL(S12) = 21 ZL(S13) = 23 1234 1342

Assignment Problem for S14 -1 3 1’ 1 2 2’ -1 5 5 6 1 3 3’ -1 7 7 6 10 4 7 1 4’ -1

Optimal assignment for S14 -1 3 1’ 1 2 2’ -1 5 1 3 3’ -1 10 4 7 1 4’ -1

Branch-and-Bound with Assignment Relaxation Solve assignment problems to get lower bound. ZU(S) = 21 ZL(S) = 21 S S13 S14 S12 ZU(S12) = 21 ZU(S13) = 23 ZU(S13) = 25 ZL(S12) = 21 ZL(S13) = 23 ZL(S13) = 25 1234 1342 1432 1234 is an optimal tour.

Example 2: Symmetric TSP tij Table Graph Representation 9 2 3 10 5 2 6 1 4 1 3 6 5 4 2

The 1-Tree Relaxation Given an graph G=(V, E) Let E1 be the set of edges adjacent to node 1. Let E2 = E \ E1 be the set of edges not adjacent 1. Let H =(V\{1}, E2) be the subgraph induced by E2. A 1-tree is subgraph T=(V,F) of G where F consists of a spanning tree of H and two edges from E1.

1-Trees G 9 T1 is TSP tour of G T2 is not a TSP tour of G All tours of G are 1-trees Not all 1-trees are tours 1-tree is a relaxation of TSP 2 3 10 5 2 6 1 4 1 3 6 5 4 2 9 2 3 2 3 10 10 2 6 T1 6 T2 1 1 6 5 4 5 4 2 2

Finding a Minimum-Cost 1-Tree 9 2 10 1 3 5 4 6 1. Find MST in H=(V\{1}, E\E1) 2. Add shortest two edges in E1 2 3 2 5 1 Cost = 14 1 4 5 4 2

Branch-and-Bound Tree ZU(S) =  ZL(S) = 0 S S{{1,3}} S{{1,4}} S{{2,5}} S{{3,5}} S{{4,5}} Branching rule: Let S{F} be the set of solutions that do not use edges in the set F.

1-Trees for S{{1,3}} and S{{1,4}} 2 3 2 3 5 2 1 5 1 1 4 1 6 5 4 6 5 4 2 2 Cost = 18 Cost = 16

Optimal 1-Tree for S{{2,5}} 9 1. Find MST in H=(V\{1}, E\E1) 2 3 10 5 2. Add shortest two edges in E1 2 6 1 4 3 6 5 4 2 2 3 2 3 5 Cost = 16 1 4 5 4 2

Optimal 1-Tree for S{{3,5}} 9 1. Find MST in H=(V\{1}, E\E1) 2 3 10 2. Add shortest two edges in E1 2 6 1 4 1 3 6 5 4 2 2 3 2 1 6 Cost = 15 1 4 5 4 2

Optimal 1-Tree for S{{4,5}} 9 1. Find MST in H=(V\{1}, E\E1) 2 3 10 5 2. Add shortest two edges in E1 2 6 1 4 1 3 6 5 4 2 3 2 3 5 1 Cost = 15 1 4 5 4

Branch-and-Bound Tree ZU(S) =  ZL(S) = 0 15 S S{{1,3}} S{{1,4}} S{{2,5}} S{{3,5}} S{{4,5}} 15 ZL(S{{1,3}}) = 18 ZL(S{{2,5}}) = 16 ZL(S{{4,5}}) = 15 ZL(S{{1,4}}) = 16 ZU(S{{4,5}}) = 15 ZL(S{{3,5}}) = 15 Optimal TSP tour found at node S{{4,5}}.

Example 3: Symmetric TSP tij Table Graph Representation 9 2 3 10 6 2 5 1 4 1 3 6 5 4 2

Finding a Minimum-Cost 1-Tree 9 2 10 1 3 5 4 6 1. Find MST in (V\{1}, E\E1) 2. Add shortest two edges in E1 2 3 2 1 5 Cost = 14 1 4 5 4 2

Branch-and-Bound Tree ZU(S) =  ZL(S) = 14 S S{{1,3}} S{{1,4}} S{{2,5}} S{{3,4}} S{{4,5}} Branching rule: Let S{F} be the set of solutions that do not use edges in the set F.

1-Trees for S{{1,3}} and S{{1,4}} 2 3 2 3 2 1 1 1 4 5 1 5 6 5 4 6 5 4 2 2 Cost = 18 Cost = 16

1-Tree for S{{2,5}} 9 Let F = E \ (E1  {2,5}) Find MST in (V\{1}, F) 2 3 10 6 2 3. Add shortest two edges in E1 5 1 4 3 6 5 4 2 2 3 2 5 Cost = 16 1 4 3 5 4 2

1-Tree for S{{3,4}} 9 Let F = E \ (E1  {3,5}) Find MST in (V\{1}, F) 2 3 10 6 2 3. Add shortest two edges in E1 1 4 1 3 6 5 4 2 2 3 2 6 Cost = 15 4 1 1 5 4 2

1-Tree for S{{4,5}} 9 Let F = E \ (E1  {4,5}) Find MST in (V\{1}, F) 2 3 10 6 2 3. Add shortest two edges in E1 5 1 4 1 3 6 5 4 2 3 2 5 Cost = 15 4 1 1 3 5 4

Branch-and-Bound Tree ZU(S) =  ZL(S) = 14 S 15 S{{1,3}} S{{1,4}} S{{2,5}} S{{3,4}} S{{4,5}} ZL(S{{1,3}}) = 18 ZL(S{{2,5}}) = 16 ZL(S{{4,5}}) = 15 ZL(S{{1,4}}) = 16 ZL(S{{3,4}}) = 15 We must continue branching since we don’t have an upper (primal) bound. Try a depth-first strategy.