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> 45<br />

that no two of which are adjacent. The above problem fits this interpretation since the set O can<br />

be thought of as the edges of a graph <strong>and</strong> D as the nodes of the graph.<br />

The set packing problem is formulated as follows: there is a universal set J = {1, ..., n} <strong>and</strong> subsets<br />

S i ⊂ J, i = 1, ..., m. The task is to find a collection of subsets C = {S i } i∈{1,...,m} , such that<br />

S i1 ∩ S i2 = ∅, S i1 , S i2 ∈ C. That is, find a maximum number of subsets such that no two of these<br />

subsets have an item in common.<br />

The optimization version of the problem seeks the largest number of subsets such that the aforementioned<br />

condition is true, <strong>and</strong> there is also weighted version of the problem. Notice that our<br />

decision variables in the optimization version of the problem are the subsets S i which we wish to<br />

include.<br />

To see that independent set is a set packing problem consider a graph G = (V, E) for which we<br />

want to determine an independent set. The decision variables in the optimization version of the<br />

independent set problem are the vertices which we wish to include in the independent set. Let us<br />

consider a set packing problem in which the universal set consists of all the edges of the graph G,<br />

i.e. the universal set is the set E. For each vertex i ∈ V of the graph, let us form a subset S i<br />

which consists of all edges that are adjacent to node i, i.e. let S i = {[i, j]|[i, j] ∈ E} for all i ∈ V .<br />

As we mentioned before, the decision variables in the set packing problem are the subsets which<br />

we want to include, <strong>and</strong> since each set corresponds to a vertex of the graph of the independent set<br />

problem, each choice of subset S i in the set packing problem corresponds to a choice of vertex i for<br />

the independent set problem. We are seeking to choose the maximum number of subsets S i such<br />

that no two overlap, i.e. the maximum number of vertices such that no two share any edges, which<br />

is the independent set problem.<br />

For the formulation of the set packing optimization problem we define a binary variable x i which<br />

indicates if set S i is selected. For each subset S i we also define J i , the collection of subsets S j , j ≠ i,<br />

that S i shares an element with. That is, if S i is chosen then none of the other subsets S j ∈ J i ,<br />

j ≠ i, can be selected. We get the following problem:<br />

max ∑ m<br />

i=1 x i<br />

s.t.<br />

∑<br />

x i ≤ 1<br />

i∈J i<br />

x i ∈ {0, 1}<br />

i = 1, ..., m<br />

Set packing appears in various contexts. Examples include putting items in storage (packing a<br />

truck), manufacturing (number of car doors in a metal sheet, rolls of paper that can be cut from a<br />

giant roll), the fire station problem <strong>and</strong> the forestry problem.<br />

20.2 Branch <strong>and</strong> Cut<br />

As we mentioned in the introduction of this section, cutting planes are useful in getting better<br />

bounds to an integer problem. This is especially useful for branch <strong>and</strong> bound algorithms since<br />

more nodes of the branch <strong>and</strong> bound tree can be fathomed, <strong>and</strong> so that the fathoming can be done<br />

earlier in the process. Recall that we can eliminate node j of the tree if the LP bound for node<br />

j is no more than the value of the incumbent. Hence, the lower the bound of a node that we can<br />

produce the better, <strong>and</strong> cutting planes are useful in lowering these bounds.<br />

For cutting planes, as for any other known technique for solving general IPs, we can come up with<br />

an instance of a problem which takes an exponential amount of time to solve. The tradeoff of using<br />

cutting planes is that although we can get better bounds at each node of the branch <strong>and</strong> bound<br />

tree, we end up spending more time in each node of the tree.

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

Saved successfully!

Ooh no, something went wrong!