The colored knapsack problem: structural properties and exact algorithms
Fabio Ciccarelli, Alexander Helber, Erik Mühmer
TL;DR
The paper introduces the Colored Knapsack Problem (CKP), a CKP generalization of the Knapsack Problem that imposes a color-based ordering constraint and is weakly NP-hard. It develops two exact dynamic programming approaches, DP1 and DP2, with pseudo-polynomial runtimes $O(b n^4)$ and $O(b^2 n^3)$ respectively, and strengthens them with dominance and fathoming rules to prune the search space. A key theoretical result is that the linear programming relaxation of CKP has at most two fractional items and can be solved in $O(n)$ time via Megiddo’s low-dimensional LP technique, after identifying a potentially critical color from the KP LP relaxation. The authors also construct a CKP benchmark derived from CBPP pricing subproblems and show that the proposed DP methods outperform state-of-the-art MIP solvers on most test instances, highlighting the practical value of these approaches. Together, the results offer both deep theoretical insights into CKP’s LP structure and highly effective exact algorithms with strong empirical performance, with potential applications in CBPP pricing and related coloring-constrained packing problems.
Abstract
We introduce and study a novel generalization of the classical Knapsack Problem (KP), called the Colored Knapsack Problem (CKP). In this problem, the items are partitioned into classes of colors and the packed items need to be ordered such that no consecutive items are of the same color. We establish that the problem is weakly NP-hard and propose two exact dynamic programming algorithms with time complexities of $\mathcal{O}(bn^4)$ and $\mathcal{O}(b^2n^3)$, respectively. To enhance practical performance, we derive various dominance and fathoming rules for both approaches. From a theoretical perspective, we analyze the linear programming relaxation of the natural CKP formulation, proving that an optimal solution exists with at most two fractional items. We also show that the relaxation can be solved in $\mathcal{O}(n)$ time, matching the complexity of the classical KP. Finally, we establish a comprehensive benchmark of CKP instances, derived from the Colored Bin Packing Problem. Extensive computational experiments demonstrate that the proposed dynamic programming algorithms significantly outperform state-of-the-art MIP solvers on most of these instances.
