Table of Contents
Fetching ...

Constraint Propagation on GPU: A Case Study for the Bin Packing Constraint

Fabio Tardivo, Laurent Michel, Enrico Pontelli

TL;DR

This work addresses accelerating constraint-based solving of the Bin Packing Problem (BPP) by GPU-accelerating the propagation of the bin_packing constraint in Constraint Programming. The authors replace the traditional $L_2$ lower bound with a set of parallelizable lower bounds derived from Dual Feasible Functions (DFFs) and the Arc-Flow model, and implement these on GPUs to run in parallel with the CP propagation loop. Empirical results across diverse benchmarks show that GPU-based DFF lower bounds offer competitive pruning and speedups, particularly for large-capacity bins, while a full GPU-knapsack approach is less favorable due to data-transfer and synchronization overhead. The study concludes that GPU-accelerated lower bounds provide a practical, scalable means to tackle large BPP instances in CP, with future work planned on broader DFF families and multidimensional packing extensions.

Abstract

The Bin Packing Problem is one of the most important problems in discrete optimization, as it captures the requirements of many real-world problems. Because of its importance, it has been approached with the main theoretical and practical tools. Resolution approaches based on Linear Programming are the most effective, while Constraint Programming proves valuable when the Bin Packing Problem is a component of a larger problem. This work focuses on the Bin Packing constraint and explores how GPUs can be used to enhance its propagation algorithm. Two approaches are motivated and discussed, one based on knapsack reasoning and one using alternative lower bounds. The implementations are evaluated in comparison with state-of-the-art approaches on different benchmarks from the literature. The results indicate that the GPU-accelerated lower bounds offers a desirable alternative to tackle large instances.

Constraint Propagation on GPU: A Case Study for the Bin Packing Constraint

TL;DR

This work addresses accelerating constraint-based solving of the Bin Packing Problem (BPP) by GPU-accelerating the propagation of the bin_packing constraint in Constraint Programming. The authors replace the traditional lower bound with a set of parallelizable lower bounds derived from Dual Feasible Functions (DFFs) and the Arc-Flow model, and implement these on GPUs to run in parallel with the CP propagation loop. Empirical results across diverse benchmarks show that GPU-based DFF lower bounds offer competitive pruning and speedups, particularly for large-capacity bins, while a full GPU-knapsack approach is less favorable due to data-transfer and synchronization overhead. The study concludes that GPU-accelerated lower bounds provide a practical, scalable means to tackle large BPP instances in CP, with future work planned on broader DFF families and multidimensional packing extensions.

Abstract

The Bin Packing Problem is one of the most important problems in discrete optimization, as it captures the requirements of many real-world problems. Because of its importance, it has been approached with the main theoretical and practical tools. Resolution approaches based on Linear Programming are the most effective, while Constraint Programming proves valuable when the Bin Packing Problem is a component of a larger problem. This work focuses on the Bin Packing constraint and explores how GPUs can be used to enhance its propagation algorithm. Two approaches are motivated and discussed, one based on knapsack reasoning and one using alternative lower bounds. The implementations are evaluated in comparison with state-of-the-art approaches on different benchmarks from the literature. The results indicate that the GPU-accelerated lower bounds offers a desirable alternative to tackle large instances.
Paper Structure (12 sections, 10 equations, 6 figures, 3 tables, 4 algorithms)

This paper contains 12 sections, 10 equations, 6 figures, 3 tables, 4 algorithms.

Figures (6)

  • Figure 1: High level architecture of a NVIDIA GPU.
  • Figure 2: Graph underling the Arc-Flow model for an instance with $c = 9$ and $W = [4, 4, 3, 3, 2, 2]$.
  • Figure 3: Illustration of a partial packing (left) and its reduction (right). Virtual items are highlighted in blue.
  • Figure 4: Illustration of $f_{\textsl{MT}}$ for $\lambda = c\frac{4}{15}$. Weights that have been increased/decreased are highlighted in green/red.
  • Figure 5: Sequential (top) and parallel (bottom) execution of the DFFs-based $\mathit{getLowerBound}$ functions.
  • ...and 1 more figures