{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Chapter 4

# Chapter 4 - Chapter 5 Solving Integer Programs Algorithms...

This preview shows pages 1–3. Sign up to view the full content.

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Chapter 5 Solving Integer Programs Algorithms to solve integer program fall into two distinct categories: 1. problem speciFc algorithms, and 2. general purpose algorithms. The Frst class of algorithms takes advantage of the special structure of the problem considered. A seminal example is the shortest path problem, where we are given a graph G , non-negative cost for each of its edges, and two speciFc vertices s and t in V . The goal is now to Fnd a minimum-cost path connecting s and t . We will see that there is a polynomial-time algorithm to solve this problem in Section 5.1. As a second, somewhat more sophisticated example, we revisit the maximum weight matching problem. Just like for the shortest path problem, there is a polynomial-time algorithm for this problem. We will see a procedure for the special case where the graph is bipartite in Section 5.2. The second class of algorithms are algorithms for solving general integer programs. As Integer Programming is N P-hard (see Chapter 3) one cannot expect that such an algorithm will always Fnd an optimal solution in polynomial time. The running time of these algorithms can be exponential in the worst case. However, they can be quite fast for many instances, and are capable of solving many large-scale, real-life problems. These algorithms follow two general strategies: The Frst attempts to reduce integer programs to linear programs, this is known as the cutting plane approach and will be described in Section 5.3. 117 118 CHAPTER 5. SOLVING INTEGER PROGRAMS The other strategy is a divide and conquer approach which is known as branch and bound which will be discussed in Section 5.4. In practice both strategies are combined under the heading of branch and cut. This remains the preferred approach for all general purpose commercial codes. 5.1 Shortest paths Let G = ( V , E ) be a graph and recall that a path in G is a sequence v 1 v 2 , v 2 v 3 , v 3 v 4 ,..., v k- 1 v k , where v i ∈ V for all 1 ≤ i ≤ k , and v i v i + 1 ∈ E for all 1 ≤ i ≤ k- 1. Further recall that we call such a path an st-path if v 1 = s and v k = t . In the st-path problem, we are given a graph G , a non-negative cost c e for each edge e , and two speci¡c vertices s and t . The goal is to ¡nd an st-path P that minimizes ∑ e ∈ P c e , where e ∈ P if e is an edge of path P . Such a path P of smallest total cost is often also just simply referred to as a shortest st-path. In this section we will describe an algorithm that ¡nds such a path ef¡ciently if one exists. Our strategy will be to formulate the shortest path problem as an integer program, and to then present an ef¡cient algorithm to compute an exact solution to it....
View Full Document

{[ snackBarMessage ]}

### Page1 / 30

Chapter 4 - Chapter 5 Solving Integer Programs Algorithms...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online