Approximating Integer Programming Problems by Partial Resampling


February 11, 2016


David Harris


University of Maryland


A common technique for solving integer programming problems is to first relax the problem to a linear program, in which the assignments may be fractional. To convert the fractional solution to an integral solution, one often uses some type of randomized rounding, We describe a new type of randomized rounding, inspired by the Lovasz Local Lemma and the corresponding algorithm of Moser and Tardos. The main idea of this algorithm is that we draw the random variables independently according to the LP solution. When we encounter a violated constraint, we “resample” (draw again from their original distribution) a random subset of the variables that affect the constraint. The probability distribution used to select which variables to resample is carefully chosen. This rounding process yields significantly better discrepancy than previous methods, and it is also simpler to analyze in many ways — it requires only one, not iterated or multiple, applications of the LLL. Furthermore, it is able to avoid a key technical shortcoming of the LLL; namely, in many IP problems, it is possible for every variable to affect every constraint, although each of these effects may be very small individually. The LLL is only capable of distinguishing in a binary way whether a variable affects a constraint; the partial resampling approach can interpolate between these cases. We consider two related integer programming problems: Assignment-packing problems (which include multidimensional makespan minimization on unrelated machines) and covering integer problems (a generalization of set cover).


David Harris

David Harris is a graduate student at Mathematics and Statistical Computing (AMSC) program at University of Maryland, College Park. His is interested in a variety of subjects in theoretical computer science.

His current research focus is on 1) graph and network reliability, 2) The Lovasz Local Lemma and related algorithms