Approximation algorithm for covering LPs

Dependencies:

  1. Matrix
  2. Bound on log
  3. /bounds/upper-exp-bound
  4. /optimization/lin-func-is-max-at-extreme-point-of-polytope

A linear program is called a covering linear program iff it is of the form \[ \min_{x \in \mathbb{R}^N} c^Tx \textrm{ where } Ax \ge b \textrm{ and } x \ge 0, \] where $A \in \mathbb{R}_{\ge 0}^{m \times N}$ ($m$-by-$N$ matrix over non-negative reals), $b \in \mathbb{R}^m_{>0}$ and $c \in \mathbb{R}^N_{> 0}$. Denote this covering LP by $\operatorname{covLP}(A, b, c)$.

An implicit covering LP is one where $A$ and $c$ are not given to us explicitly. Instead, we are given an input $I$, and $A$, $b$, $c$ are defined in terms of $I$. (The configuration LP for bin packing, for example, is defined implicitly.) Such an implicit definition is helpful when $N$, the number of columns in $A$, is super-polynomial in the input size $|I|$. We assume that $m$, the number of rows in $A$, is polynomial in $|I|$ and that $b$ has already been computed. Since $A$ and $c$ are not given to us explicitly, we will assume the presence of certain oracles that can help us indirectly get useful information about $A$ and $c$. We will describe the approximation algorithm of [eku-pst] called covLPsolve that solves $\covLP(A, b, c)$ in polynomial time using these oracles.

Preliminaries:

Column oracle: The column oracle for $A \in \mathbb{R}_{\ge 0}^{m \times N}$ takes $j \in [N]$ as input and returns the $j\Th$ column of $A$.

Cost oracle: The cost oracle for $c \in \mathbb{R}_{> 0}^N$ takes $j \in [N]$ as input and returns $c_j$.

Index oracle: Let $A \in \mathbb{R}_{\ge 0}^{m \times N}$ and $c \in \mathbb{R}^N_{> 0}$ be implicitly defined in terms of input $I$. For $j \in [N]$, define the function $D_j: \mathbb{R}^m_{\ge 0} \mapsto \mathbb{R}_{\ge 0}$ as \[ D_j(y) \defeq y^TA\left(\frac{e_j}{c_j}\right) = \frac{1}{c_j} \sum_{i=1}^m y_iA[i, j] \] Then for $\eta \in (0, 1]$, an $\eta$-weak index-finding oracle for $I$, denoted by indexFind, is an algorithm that takes as input $y \in \mathbb{R}^m_{\ge 0}$ and returns $k \in [N]$ such that $D_k(y) \ge \eta \max_{j=1}^N D_j(y)$.

The algorithm covLPsolve takes the following inputs:

The following two theorems are the main results of [eku-pst]. See [eku-pst] for proof.

Theorem 1: covLPsolve returns a $(1+\eps+\eps^2)/\eta$-approximate solution to $\covLP(A, b, c)$.

Theorem 2: Let \begin{align} M &\defeq 3 + 2\lg\left(\frac{1}{\eps}+1\right) + \lg\left(\frac{1}{\eta}\right) + \lg\left(\frac{q}{\opt(\covLP(A, b, c))}\right) \\ U &\defeq \Uexpr \in \Otild\left(\frac{m\rho}{\eta\eps^3}\right) \end{align} Then all of the following hold for covLPsolve:

eku-pst
Eklavya Sharma
An Approximation Algorithm for Covering Linear Programs and its Application to Bin-Packing
arXiv:2011.11268 [cs.DS]

Dependency for:

  1. BP: α(1+ε)-approx solution to config LP using α-approx algorithm for knapsack
  2. BP: α(1+ε)-approx solution to density-restricted config LP using α-approx algorithm for density-restricted knapsack

Info:

Transitive dependencies:

  1. /optimization/lin-func-is-max-at-extreme-point-of-polytope
  2. /bounds/upper-exp-bound
  3. Group
  4. Ring
  5. Semiring
  6. Matrix
  7. Bound on log