Faster Knapsack Algorithms via Bounded Monotone Min-Plus-Convolution
We present new exact and approximation algorithms for 0-1-Knapsack and Unbounded Knapsack: * Exact Algorithm for 0-1-Knapsack: 0-1-Knapsack has known algorithms running in time O(n + min{n OPT, n W, OPT^2, W^2}), where n is the number of items, W is the weight budget, and OPT is the optimal profit. We present an algorithm running in time O(n + (W + OPT)^1.5). This improves the running time in case n,W,OPT are roughly equal. * Exact Algorithm for Unbounded Knapsack: Unbounded Knapsack has known algorithms running in time O(n + min{n · p_max, n · w_max, p_max^2, w_max^2}) [Axiotis, Tzamos '19, Jansen, Rohwedder '19, Chan, He '20], where n is the number of items, w_max is the largest weight of any item, and p_max is the largest profit of any item. We present an algorithm running in time O(n + (p_max + w_max)^1.5), giving a similar improvement as for 0-1-Knapsack. * Approximating Unbounded Knapsack with Resource Augmentation: Unbounded Knapsack has a known FPTAS with running time O(min{n/ε, n + 1/ε^2}) [Jansen, Kraft '18]. We study weak approximation algorithms, which approximate the optimal profit but are allowed to overshoot the weight constraint. We present the first approximation scheme for Unbounded Knapsack in this setting, achieving running time O(n + 1/ε^1.5). Our algorithms can be seen as reductions to Min-Plus-Convolution on monotone sequences with bounded entries. These structured instances of Min-Plus-Convolution can be solved in time O(n^1.5) [Chi,Duan,Xie,Zhang '22] (in contrast to the conjectured n^2-o(1) lower bound for the general case).
READ FULL TEXT