250 likes | 442 Views
EMIS 8373: Integer Programming. Combinatorial Optimization Problems updated 27 January 2005. Combinatorial Optimization Problems. Input A finite set N = {1, 2, …, n} Weights (costs) c j for all j N A set F of feasible subsets of N Optimization Problem
E N D
EMIS 8373: Integer Programming Combinatorial Optimization Problems updated 27 January 2005
Combinatorial Optimization Problems • Input • A finite set N = {1, 2, …, n} • Weights (costs) cj for all j N • A set F of feasible subsets of N • Optimization Problem • Find a minimum-weight feasible subset
COP Example: Minimum Spanning Tree (MST) • Input • A (simple) graph G = (V,E) • Edge cost cij for each edge (i,j) E • Optimization Problem • Find a minimum-cost spanning tree • Spanning tree: a set of |V|-1 edges S such that each vertex is incident to at least one edge in S and S contains no cycles.
1 3 2 5 4 3 4 5 7 3 1 2 MST Example: Input
MST Example: Some Feasible Spanning Trees 3 3 3 3 2 2 4 4 5 cost = 11 1 1 3 cost = 14 1 2 5 5 4 4 3 3 3 2 2 cost = 12 cost = 9 7 1 1 3 3 1 1 2 2 5 5 4 4
Example MST as COP • N = {(1, 2), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (4, 5)}. • c12 = 4, c15 = 2, c23 = 3, c24 = 5, c25 = 7, c34 = 3, c45 =1. • F is the set of all spanning trees in G • {(1, 2), (2, 3), (3, 4), (4, 5)} F. • {(1, 2), (1, 5), (2, 3), (2, 4)} F. • {(1, 2), (1, 5), (2, 5), (3, 4)} F. • |F| can be very large relative to |E| • Optimization Problem • Find a minimum-weight feasible subset
The Traveling Salesman Problem (TSP) • Input • N is a set of cities {1, 2, …, n} • Travel time tij between cities i and j • Optimization Problem • Find a tour of N that starts at city 1, visits each other city exactly once, and then returns to city 1 in the minimum possible time.
Symmetric TSP Example tij Table Graph Representation 3 3 2 4 5 1 7 3 7 1 5 2 5 4 1
3 3 2 4 5 3 2 4 5 3 7 1 5 3 1 7 5 2 5 4 1 2 5 4 STSP Example: Feasible Tours 3 2 1 Tour 1 cost = 13 1 5 4 Tour 2 cost = 25 Tour 3 cost = 19
Example STSP as COP • N = {(1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3,4), (3,5), (4,5)}. • c12 = 4, c13 = 7, c12 = 7, etc. • F is the set of tours G where a tour is cycle that contains all the vertices of the graph. • {(1, 2), (1, 5), (2, 3), (3,4), (4,5)} F. • Optimization Problem • Find a minimum-weight feasible subset
Solving TSP by Enumeration • Each feasible tour can be represented by as a permutation of the cites. • The salesman visits the cities in the order determined by the permutation. • Tour 1 corresponds to = (1, 2, 3, 4, 5) • Tour 2 corresponds to = (1, 3, 5, 2, 4) • Tour 3 corresponds to = (1, 2, 4, 3, 5) • For n cities there are n – 1 choices for the second city, n – 2 for the third, etc. Thus, there are (n-1)! permutations that need be evaluated. • Solving a TSP with 11 cities this way requires evaluating 3.6 million permutations!
Formulation TSP as BIP • Let xij = 1 if the tour goes from city i to city j; and zero, otherwise. • Constraints • The tour enters city j exactly once • The tour leaves city i exactly once • Objective function
3 4 1 1 1 BIP Solution for Example STSP • x12 = x23 = x31 = x45 = x54 =1 and all other variables = 0. • Objective function value = 10 • “Tour” 3 2 1 5 4
Subtour Elimination Constraints • To eliminate (prevent) the subtour (cycle) of the cities 1, 2, and 3, add the constraint x12 + x13 + x21 + x23 + x31 + x32 2. • To eliminate (prevent) the subtour (cycle) of the cities 4 and 5, add the constraint x45 + x54 1.
BIP with Subtour Elimination: Solution for Example STSP • x15 = x54 = x42 = x23 = x31 =1 and all other variables = 0. • Objective function value = 12. • Need to add 25-6 = 26 subtour elimination constraints. • Solving BIP with branch-and-bound may be faster than enumeration, but the number of constraints need grows exponentially with number of cities.
COP Example: Minimum-Cost Cycle Cover (MCCP) • Input • A (simple) graph G = (V,E) • Edge cost cij for each edge (i,j) E • Optimization Problem • Find a minimum-cost set of cycles C = {C1, C2, …, Cj} in G such that each edge in E is covered by (contained in) at least one cycle in C. • The cost of a cycle is the total cost of the edges it covers. • The cost of a cycle cover is the total cost of its cycles.
3 3 3 2 3 2 4 2 5 4 5 3 7 1 3 7 1 1 4 2 5 4 2 2 5 5 7 5 4 1 MCCP Example Cycle 1 Cost = 13 Cycle 2 Cost = 13 Cycle 3 Cost = 11 Cost of cycle cover = 13+13+11 =37
Cycle 1 Cost = 13 3 3 2 3 2 3 4 2 4 3 1 3 5 7 2 1 1 4 2 1 5 4 5 4 1 2 5 4 7 1 2 2 5 5 7 5 4 1 Cycles in MCCP Example Cycle 3 Cost = 11 Cycle 2 Cost = 13 3 Cycle 4 Cost = 13 3 2 5 3 4 Cycle 6 Cost = 14 Cycle 5 Cost = 12
Example MCCP as COP • N is the set of all cycles in G • N = {Cycle 1, Cycle 2, Cycle 3, Cycle 4, Cycle 5, Cycle 6} • Cycle 1 = {(1, 2), (1,5), (2, 5)}, Cycle 2 = {(2,4),(2,5),(4,5)}, etc. • In general, |N| >> |E| • c[Cycle 1] = 13, c[Cycle 2] = 13, …, c[Cycle 6] = 14. • F: a subset S of N is feasible if the union of all the cycles in S = E. • S = {Cycle 1, Cycle 2} is not feasible. • S = {Cycle 1, Cycle 2, Cycle 3} if feasible.
Formulation of MCCP as BIP • Sets • Let C ={C1, C2, …C|C|} be the set of all cycles in the graph G=(V,E). • Constants • Let aij = 1 if cycle j covers edge i; and zero, otherwise. • Label the edges 1, 2, 3, …, |E| • Let wj = the cost of cycle j • Decision variables • Let the binary variable xj = 1 iff cycle j is selected as part of the cycle cover.
Formulation of MCCP as BIP • Constraints • For each edge i, we must select at least one cycle j such where aij = 1. Therefore, • Objective Function
The Set Covering Problem • Input • An m-row, n-column, zero-one matrix A (aij {0,1}) • A cost cj associated with each column j • Optimization Problem
The Set Covering Problem • The matrix A is know as an incidencematrix and the columns are know as incidence vectors. • MCCP is a special case of set covering.