Approximation Algorithms for Covering/Packing Integer Programs
<|reference_start|>Approximation Algorithms for Covering/Packing Integer Programs: Given matrices A and B and vectors a, b, c and d, all with non-negative entries, we consider the problem of computing min {c.x: x in Z^n_+, Ax > a, Bx < b, x < d}. We give a bicriteria-approximation algorithm that, given epsilon in (0, 1], finds a solution of cost O(ln(m)/epsilon^2) times optimal, meeting the covering constraints (Ax > a) and multiplicity constraints (x < d), and satisfying Bx < (1 + epsilon)b + beta, where beta is the vector of row sums beta_i = sum_j B_ij. Here m denotes the number of rows of A.   This gives an O(ln m)-approximation algorithm for CIP -- minimum-cost covering integer programs with multiplicity constraints, i.e., the special case when there are no packing constraints Bx < b. The previous best approximation ratio has been O(ln(max_j sum_i A_ij)) since 1982. CIP contains the set cover problem as a special case, so O(ln m)-approximation is the best possible unless P=NP.<|reference_end|>
@article{kolliopoulos2002approximation,
    title={Approximation Algorithms for Covering/Packing Integer Programs},
    author={Stavros G. Kolliopoulos, Neal E. Young},
    journal={Journal of Computer and System Sciences 71(4):495-505(2005)},
    year={2002},
    doi={10.1016/j.jcss.2005.05.002},
    archivePrefix={arXiv},
    eprint={cs/0205030},
    primaryClass={cs.DS cs.DM}
}