Randomized Rounding over Dynamic Programs
By: Etienne Bamas, Shi Li, Lars Rohwedder
Potential Business Impact:
Solves hard problems with many rules faster.
We show that under mild assumptions for a problem whose solutions admit a dynamic programming-like recurrence relation, we can still find a solution under additional packing constraints, which need to be satisfied approximately. The number of additional constraints can be very large, for example, polynomial in the problem size. Technically, we reinterpret the dynamic programming subproblems and their solutions as a network design problem. Inspired by techniques from, for example, the Directed Steiner Tree problem, we construct a strong LP relaxation, on which we then apply randomized rounding. Our approximation guarantees on the packing constraints have roughly the form of a $(n^{\epsilon} \mathrm{polylog}\ n)$-approximation in time $n^{O(1/\epsilon)}$, for any $\epsilon > 0$. By setting $\epsilon=\log \log n/\log n$, we obtain a polylogarithmic approximation in quasi-polynomial time, or by setting $\epsilon$ as a constant, an $n^\epsilon$-approximation in polynomial time. While there are necessary assumptions on the form of the DP, it is general enough to capture many textbook dynamic programs from Shortest Path to Longest Common Subsequence. Our algorithm then implies that we can impose additional constraints on the solutions to these problems. This allows us to model various problems from the literature in approximation algorithms, many of which were not thought to be connected to dynamic programming. In fact, our result can even be applied indirectly to some problems that involve covering instead of packing constraints, for example, the Directed Steiner Tree problem, or those that do not directly follow a recurrence relation, for example, variants of the Matching problem.
Similar Papers
From Dynamic Programs to Greedy Algorithms
Data Structures and Algorithms
Simplifies solving puzzles with smart shortcuts.
Approximation schemes for covering and packing mixed-integer programs with a fixed number of constraints
Data Structures and Algorithms
Solves hard math problems faster for businesses.
Robust Extensible Bin Packing and Revisiting the Convex Knapsack Problem
Discrete Mathematics
Organizes items into boxes better, saving space.