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

3.4 Disjunctive constraints<br />

Disjunctive (or) constraints on continuous variables can be written as conjunctive (<strong>and</strong>) constraints<br />

involving integer variables. Given u 2 > u 1 , the constraints:<br />

{<br />

x ≤ u 1 or<br />

x ≥ u 2<br />

can be rewritten as: {<br />

x ≤ u 1 + M y <strong>and</strong><br />

x ≥ u 2 − (M + u 2 ) (1 − y)<br />

where M is a ‘large number’ <strong>and</strong> y is defined by:<br />

{<br />

1 if x ≥ u 2<br />

y =<br />

0 otherwise<br />

(6)<br />

If y = 1, the first line in (6) is automatically satisfied <strong>and</strong> the second line requires that x ≥ u 2 .<br />

If y = 0, the second line in (6) is automatically satisfied <strong>and</strong> the first line requires that x ≤ u 1 .<br />

Reciprocally if x ≤ u 1 the first line is satisfied ∀y ∈ {0, 1}, <strong>and</strong> the second line is satisfied for y = 0.<br />

If x ≥ u 2 , the second line is satisfied ∀y ∈ {0, 1} <strong>and</strong> the first line is satisfied for y = 1.<br />

4 Some famous combinatorial problems<br />

4.1 Max clique problem<br />

Definition 4.1. Given a graph G(V, E) where V denotes the set of vertices <strong>and</strong> E denotes the set<br />

of edges, a clique is a subset S of vertices such that ∀i, j ∈ S, (i, j) ∈ E.<br />

Given a graph G(V, E), the max clique problem consists in finding the clique of maximal size.<br />

4.2 SAT (satisfiability)<br />

Definition 4.2. A disjunctive clause c i on a set of binary variables {x 1 , . . . , x n } is an expression<br />

of the form c i = y 1 i ∨ . . . ∨ yk i<br />

i<br />

where y j i ∈ {x 1, . . . , x n , ¬x 1 . . . , ¬x n }.<br />

Given a set of binary variables {x 1 , . . . , x n } <strong>and</strong> a set of clauses {c 1 , . . . , c p }, SAT consists of finding<br />

an assignment of the variables {x 1 , . . . , x n } such that c i is true, ∀i ∈ {1, . . . , p}.<br />

If the length of the clauses is bounded by an integer n, the problem is called n-SAT, <strong>and</strong> has<br />

been proven to be NP-hard in general. Famous instance are 2-SAT <strong>and</strong> 3-SAT. The different level of<br />

difficulty between these two problems illustrates general behavior of combinatorial problems when<br />

switching from 2 to 3 dimensions (more later). 3-SAT is a NP-hard problem, but algorithms exist<br />

to solve 2-SAT in polynomial time.<br />

4.3 Vertex cover problem<br />

Definition 4.3. Given a graph G(V, E), S is a vertex cover if ∀(i, j) ∈ E, i ∈ S or j ∈ S.<br />

Given a graph G(V, E), the vertex cover problem consists of finding the vertex cover of G of<br />

minimal size.

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

Saved successfully!

Ooh no, something went wrong!