Presentation is loading. Please wait.

Presentation is loading. Please wait.

EMIS 8373: Integer Programming

Similar presentations


Presentation on theme: "EMIS 8373: Integer Programming"— 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 Decision Problem A set of n items
A weight ai associated 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 certificate C 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 2 3 4 5 1 7 1 7 3 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 2 3 2 3 4 5 1 7 1 7 3 1 5 2 5 4 5 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  Bn indicating 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 2 3 H 2 3 1 1 1 1 s s 5 4 1 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
G 2 3 H 2 3 1 1 1 1 1 s s 5 4 1 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 Xb of 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.


Download ppt "EMIS 8373: Integer Programming"

Similar presentations


Ads by Google