Business & Finance
Polynomial and Pseudopolynomial Algorithms for Two Classes of Bin Packing Instances
Key Points
Announce Type: replace Abstract: The Cutting Stock Problem (CSP) and Bin Packing Problem (BPP) are classical combinatorial optimization problems extensively studied since the 1960s. State-of-the-art exact algorithms are based on set-cover and arc-flow models whose linear relaxation, rounded up, matches the integer optimum for most benchmark instances, a condition known as the Integer Round-up Property (IRUP). In 2016, Delorme et al. showed that all existing instances could be solved within...
arXiv:2604.05152v2 Announce Type: replace
Abstract: The Cutting Stock Problem (CSP) and Bin Packing Problem (BPP) are classical combinatorial optimization problems extensively studied since the 1960s. State-of-the-art exact algorithms are based on set-cover and arc-flow models whose linear relaxation, rounded up, matches the integer optimum for most benchmark instances, a condition known as the Integer Round-up Property (IRUP). In 2016, Delorme et al. showed that all existing instances could be solved within ten minutes by approaches exploiting this property. This motivated them to introduce two new classes, Augmented IRUP (AI) and Augmented Non-IRUP (ANI), designed to make IRUP less evident to state-of-the-art methods. Although these classes have motivated significant advances over the past decade, 13 out of 500 AI and ANI instances remain unsolved within standard time limits from the literature. In this paper, we show that while AI and ANI are particularly hard for MIP-based methods, the BPP restricted to these classes is not strongly NP-hard. We present polynomial-time algorithms for the AI class and pseudopolynomial-time algorithms for the ANI class, which solve all such instances orders of magnitude faster than previous approaches. They are also straightforward to adapt to the Skiving Stock Problem, the dual counterpart of the CSP. In addition, they can be used as preprocessing routines in exact methods, as their runtime is independent of the instance class, although they are guaranteed to return an optimality status only for instances belonging to the class for which they were designed.