Integer Linear Programming

Intro

ILP adds an extra constraint that some or all variables must be integers. ILP is NP-hard. A special case, 0-1 ILP is NP-complete.

LP relaxation allows the variables to take on non-integral values. For example, in 0-1 ILP, xi{0,1}x_i \in \{0, 1\}. After the relaxation, 0xi10 \leq x_i \leq 1. The relaxation can transform an NP-hard optimization problem to polynomial time. The trade-off is that we will only get a fractional optimal solution.

Formulation for Vertex Cover

Given an undirected graph G=(V,E)G = (V, E), for each vertex iVi \in V, xi={1,if  iV0,otherwisex_i = \begin{cases} 1, & if \; i \in V' \\ 0, & otherwise \end{cases}

The objective function: miniVximin \sum\limits_{i \in V} x_i

The constraints:

  1. At least one endpoint of each edge is in the subset VV'. e=(u,v)E,xu+xv1\forall {e} = (u, v) \in E, x_u + x_v \geq 1

  2. iV,xi{0,1}\forall i \in V, x_i \in \{0, 1\}

In order to get a poly-time algorithm, we can "relax" the constrain 2 with xi[0,1]x_i \in [0, 1].

Formulation for Set Cover

Given a set U={1,2,...,n}U = \{1, 2, ..., n\} and a collection MM of m subsets S1,S2,...,SmS_1, S_2, ..., S_m, is there a set of indices I{1,...,m}I \subseteq \{1, ..., m\} such that iISi=U\bigcup\limits_{i \in I} S_i = U ? (IK|I| \leq K in decision version)

For each subset SjMS_j \in M, xj={1,if  jI0,otherwisex_j = \begin{cases} 1, & if \; j \in I \\ 0, & otherwise \end{cases}

The objective function: minSjMxjmin \sum\limits_{S_j \in M} x_j

The constraints:

  1. for each element ehUe_h \in U, {jehSj}xj1\sum\limits_{\{j | e_h \in S_j\}} x_j \geq 1 // why we need the summation? cause we need at least one set covers the element ehe_h and more is fine too.

  2. SjM,  xj{0,1}\forall S_j \in M, \; x_j \in \{0, 1\}

Formulation for 3-SAT

References

Last updated