1 / 24

EMIS 8373: Integer Programming

EMIS 8373: Integer Programming. Complexity and Problem Reductions updated 23 April 2009. Decision Problems. The decision or recognition version of an optimization problem is posed as a yes-no question.

mura
Download Presentation

EMIS 8373: Integer Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EMIS 8373: Integer Programming Complexity and Problem Reductions updated 23 April 2009

  2. Decision Problems • The decision or recognition version of an optimization problem is posed as a yes-no question. • Complexity Theory is based on a theoretical computer called a Turing machine: • Given a binary input string, a program on a Turning Machine either • “accepts” the input (returns a “yes” answer), • “rejects” the input (returns a “no” answer), • or fails to give an answer. • A Turing machine is a very simple machine, but, logically speaking, has all the power of any digital computer.

  3. Minimum Spanning Tree (MST) • Input • A (simple) graph G = (V, E) • Edge cost ce for each edge eE • Parameter k • Decision Problem • Is there a set of edges T E such that |T| = |V|-1, T contains no cycles, and

  4. The Traveling Salesman Problem (TSP) • Input • N is a set of cities {1, 2, …, n} • Travel time tij between cities i and j • Parameter k • Decision Problem • Is there a permutation  of N such that

  5. The Minimum-Cost Cycle-Cover Problem • Input • A (simple) graph G = (V, E) • Edge cost ce for each edge eE • Parameter k • Decision Problem • Is there a set of cycles C = {C1, C2, …, Cj} in G such that

  6. 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 • Parameter k • Decision Problem • Is there a solution to the system shown below?

  7. The 0-1 Knapsack Problem • Input • A set of n items • A weight aiassociated with each item j • A utility cj associated with each item j • Parameters b and k • Decision Problem • Is there a solution to the system

  8. Polynomial Certificates • Given a “yes” instance X of a particular decision problem (e.g., TSP), a polynomial certificateC is a binary string such that • The length of the string, L(C), is bounded by a polynomial in the length of the binary representation of X, L(X) . • There is a polynomial-time certificate-checking algorithm that takes X and C as input and verifies that X is a “yes” instance.

  9. Certificate Example: TSP tij Matrix Graph Representation 3 3 2 4 5 1 7 3 7 1 5 2 5 4 1 k = 14

  10. Certificate Example: TSP • Using the graph representation, L(X) is O(n2) for a generic TSP with n cities. • A certificate C for a generic TSP instance could be a network with n arcs forming a cycle corresponding to a tour of length k or less. • Note that L(C) is O(n). • We will show that C can be verified in polynomial time.

  11. Certificate Example: TSP G C 3 3 3 2 2 4 5 1 7 3 7 1 1 5 2 5 5 4 4 1 k = 14

  12. AMPL Certificate-Checking Algorithm for TSP param s default 0; param visited {V} default 0; for {(i, j) in C} { let s := s + t[i,j]; let visited[i] := 1; let visited[j] := 1; } if s  k and (sum{i in V} visited[i] == card(V)) then printf “certificate verified\n”; complexity = O(m+n)=O(n2)

  13. Certificate Example: 0-1 Knapsack Problem • L(X) = O(n) • A polynomial certificate could be a binary vector x Bnindicating which items are selected. • L(C) = n • We can check the certificate in O(n) time by checking that

  14. The Class NP • A decision problem q is said to be in the class NP if for every “yes” instance X of q, there is a polynomial certificate. • NP is the set of problems that can be verified or checked in polynomial time. • NP stands for Non-deterministic Polynomial. That is, a problem is in NP if there exists a non-deterministic Touring machine that accepts all “yes” instances of q in polynomial time. • MST, TSP, MCCP, Set Cover, and 0-1 Knapsack are all in NP

  15. The Class P • P is the set of problems that can be solved in polynomial time. • P is a subset of NP • MST, MCNFP, and LP are all in P • It is unknown if TSP, MCCP, Set Cover, and 0-1 Knapsack are in P. • Does P = NP? Or are there problems that cannot be solved in polynomial time?

  16. Polynomial Reductions: Example 1 • Hamiltonian Path Problem • Input: a graph G = (V, E), origin node s, and destination node t. • Decision Problem: Is there a simple path from s to t that visits every node in V? • Longest Path Problem • Input: a graph G = (V, E), origin node s, destination node t, edge cost cij for each edge and parameter k. • Decision Problem: Is there a simple path from s to t with length  k? • Both problems are clearly in NP; the yes-instance certificate would be a feasible path from s to t.

  17. Polynomial Reductions: Example 1 • How does the difficulty of Longest Path compare to the difficulty of Hamiltonian Path? • Given a graph G = (V, E) • F = {(i, j): i, jV, (i, j) E}. • Let H= (V, EF). • Let cij = 1 if (i, j) E and cij = 0 if (i, j) F. • Let k = |V|-1 • Claim: {G, s, t} is a “yes” instance of Hamiltonian Path if and only if {H, s, t, c, k} is a “yes” instance of Longest Path.

  18. Polynomial Reductions: Example 1 • If we have an algorithm for Longest Path, then we can use it to solve Hamiltonian Path. • If the conversion from G to H is “efficient”, then solving Longest Path is “at least as difficult” as solving Hamiltonian Path. • L(G) = O(|V|2) • H has (|V|2-|V|)/2 edges • L(H) is bounded by a polynomial in L(G). • We call the conversion a polynomial reduction from Hamiltonian Path to Longest Path.

  19. Analogy: LP is at Least as Hard as MCNFP • We can solve Minimum Cost Network Flow Problems (MCNFP) by formulating them as LP. • For a network G =(V, E), the corresponding LP has |E| decision variables and |V| + 2|E| constraints. • The size of the resulting LP is bounded by a polynomial in the size of the network. • Since we can solve LP in polynomial time, this implies that we can solve MCNFP in polynomial time. Thus, LP is at least as “difficult” as MCNFP.

  20. Converting Hamiltonian Path to Longest Path: Yes Instances 1 G 3 2 H 3 2 1 0 0 0 1 1 1 0 0 s s 1 5 4 5 4 1 t t k = 4 Hamiltonian Path: (1,2),(2,3),(3,4),(4,5) Path of Length 4: (1,2),(2,3),(3,4),(4,5)

  21. Converting Hamiltonian Path to Longest Path: No Instances 0 G 3 2 H 3 2 1 0 0 1 1 1 1 0 0 s s 1 5 4 5 4 1 t t k =4 No Hamiltonian Path from s to t The longest path from s to t has length 3: (1,2),(2,3),(3,4),(4,5)

  22. Proof (If Direction) • Suppose G is a “yes” instance of Hamiltonian Path and let p be a simple Hamiltonian Path from s to t. • p has |V|-1 edges. • Since each edge in p is in E, the cost of path p in H is |V|-1. • Thus, the Longest Path instance resulting from the conversion is also a “yes” instance.

  23. Proof (Only If Direction) • Suppose H is a “yes” instance of Longest Path • Let p be a simple path of length  |V|-1 from s to t. • p must have at least |V|-1 edges from E otherwise its length would be less than |V|-1. • Since p is a simple path, it cannot have more than |V|-1 edges. Otherwise, it would contain a cycle. • Since p has exactly |V|-1 edges and no cycles, it must visit each node in V exactly once • Therefore, H is a “yes” instance of Longest Path only if the original graph G is as “yes” instance of Hamiltonian Path.

  24. Polynomial Reductions • If problems A and B are in NP, and if any instance Xa of A can be converted to (formulated as) an equivalent instance Xbof B such that L(Xb) is bounded by a polynomial in L(Xa), then A is said to be polynomially reducible to B. • An algorithm that solves B can also solve A with a conversion “cost” that is polynomial in the size of the problem instance. • This implies that B is at least as difficult as A. • It does not imply that A is at least as difficult as B.

More Related