22.01.2014 Views

IEOR 269, Spring 2010 Integer Programming and Combinatorial ...

IEOR 269, Spring 2010 Integer Programming and Combinatorial ...

IEOR 269, Spring 2010 Integer Programming and Combinatorial ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>IEOR</strong><strong>269</strong> notes, Prof. Hochbaum, <strong>2010</strong> 29<br />

4. O(n 100 ) is polynomial. An algorithm that is polynomial is considered to be “good”. So<br />

an algorithm with O(n 100 ) complexity is considered good even though, for reasons already<br />

alluded to, it may be completely impractical.<br />

Still, complexity analysis is in general a very useful tool in both determining the intrinsic “hardness”<br />

of a problem <strong>and</strong> measuring the quality of a particular algorithm.<br />

16 Complexity classes <strong>and</strong> NP-completeness<br />

In optimization problems, there are two interesting issues: one is evaluation, which is to find the<br />

optimal value of the objective function (evaluation problems); the other one is search, which is to<br />

find the optimal solution (optimization problems).<br />

16.1 Search vs. Decision<br />

Decision Problem - A problem to which there is a yes or no answer.<br />

Example. SAT = {Does there exist an assignment of variables which satisfies the boolean function<br />

φ; where φ is a conjunction of a set of clauses, <strong>and</strong> each clause is a disjunction of some of the<br />

variables <strong>and</strong>/or their negations?}<br />

Evaluation Problem - A problem to which the answer is the cost of the optimal solution.<br />

Note that an evaluation problem can be solved by solving a auxiliary decision problems of the form<br />

“Is there a solution with value less than or equal to M?”. Furthermore, using binary search, we<br />

only have to solve a polynomial number of auxiliary decision problems.<br />

Optimization Problem - A problem to which the answer is an optimal solution.<br />

Optimization problem <strong>and</strong> evaluation problem are equivalent. 4<br />

To illustrate, consider the Traveling Salesperson Problem (TSP). TSP is defined on an undirected<br />

graph, G = (V, E), where each edge (i, j) ∈ E has an associated distance c ij .<br />

TSP OPT = { Find a tour (a cycle that visits each node exactly once) of total minimum distance.<br />

}<br />

TSP EVAL = { What is the total distance of the tour with total minimum distance in G = (V, E)?<br />

}<br />

TSP DEC = { Is there a tour in G = (V, E) with total distance ≤ M? }<br />

Given an algorithm to solve TSP DEC, we can solve TSP EVAL as follows.<br />

1. Find the upper bound <strong>and</strong> lower bound for the TSP optimal objective value. Let C min =<br />

min (i,j)∈E c ij , <strong>and</strong> C max = max (i,j)∈E c ij . Since a tour must contain exactly n edges, then an<br />

upper bound (lower bound) for the optimal objective value is n · C max , (n · C min ). One upper<br />

2. Find the optimal objective value by binary search in the range [n·C min , n·C max ]. This binary<br />

search is done by calling the algorithm to solve TSP DEC O(log 2 n(C max − C min ) times,<br />

which is a polynomial number of times.<br />

In Assignemnt 2 you are to show that if you have an algorithm for TSP EVAL then in polynomial<br />

time you can solve TSP OPT.<br />

An important problem for which the distinction between the decision problem <strong>and</strong> giving a solution<br />

to the decision problem – the search problem – is significant is primality. It was an open question<br />

(until Aug 2002) whether or not there exist polynomial-time algorithms for testing whether or not<br />

2009.<br />

4 J.B. Orlin, A.P. Punnen, A.S. Schulz, <strong>Integer</strong> programming: Optimization <strong>and</strong> evaluation are equivalent, WADS

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!