EMIS 8373: Integer Programming - PowerPoint PPT Presentation

Loading...

PPT – EMIS 8373: Integer Programming PowerPoint presentation | free to download - id: 71c85b-Mzc2N



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

EMIS 8373: Integer Programming

Description:

EMIS 8373: Integer Programming Complexity and Problem Reductions updated 23 April 2009 – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 25
Provided by: IEOR4
Learn more at: http://lyle.smu.edu
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: EMIS 8373: Integer Programming


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 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
3
2
4
5
1
7
3
1
7
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
1
7
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 ti,j
  • let visitedi 1
  • let visitedj 1
  • if s ? k and (sumi in V visitedi card(V))
    then
  • printf certificate verified\n

complexity O(mn)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(V2)
  • H has (V2-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 2E
    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 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.
About PowerShow.com