Table of Contents
Fetching ...

Shadoks Approach to Knapsack Polygonal Packing

Guilherme D. da Fonseca, Yan Gerard

TL;DR

The paper tackles the two-dimensional knapsack polygonal packing problem, where a convex container must hold a subset of polygonal items with integer values using translations only, to maximize total value. It introduces a hybrid pipeline: generate high-quality initial solutions via an integer programming formulation and a greedy geometric heuristic, then refine them with local search that repositions items and performs replacements to improve the total value. Key contributions include a scalable IP-based initialization augmented by random translations, a suite of greedy strategies with space-filling push operations, and a clusters preprocessing framework that builds and evaluates fixed-position item groups through multiple compatibility graphs. Empirical results on 180 CG:SHOP 2024 instances show that IP methods excel on small problems, while the geometric greedy with local search matches or approaches state-of-the-art performance on larger instances; engineering techniques for fast overlap checks and grid-based packing enable robust, scalable performance and point to rich future directions for hybridization and clustering enhancements.

Abstract

The 2024 edition of the CG:SHOP Challenge focused on the knapsack polygonal packing problem. Each instance consists of a convex polygon known as the container and a multiset of items, where each item is a simple polygon with an associated integer value. A feasible packing solution places a selection of the items inside the container without overlapping and using only translations. The goal is to achieve a packing that maximizes the total value of the items in the solution. Our approach to win first place is divided into two main steps. First, we generate promising initial solutions using two strategies: one based on integer linear programming and the other on employing a combination of geometric greedy heuristics. In the second step, we enhance these solutions through local search techniques, which involve repositioning items and exploring potential replacements to improve the total value of the packing.

Shadoks Approach to Knapsack Polygonal Packing

TL;DR

The paper tackles the two-dimensional knapsack polygonal packing problem, where a convex container must hold a subset of polygonal items with integer values using translations only, to maximize total value. It introduces a hybrid pipeline: generate high-quality initial solutions via an integer programming formulation and a greedy geometric heuristic, then refine them with local search that repositions items and performs replacements to improve the total value. Key contributions include a scalable IP-based initialization augmented by random translations, a suite of greedy strategies with space-filling push operations, and a clusters preprocessing framework that builds and evaluates fixed-position item groups through multiple compatibility graphs. Empirical results on 180 CG:SHOP 2024 instances show that IP methods excel on small problems, while the geometric greedy with local search matches or approaches state-of-the-art performance on larger instances; engineering techniques for fast overlap checks and grid-based packing enable robust, scalable performance and point to rich future directions for hybridization and clustering enhancements.

Abstract

The 2024 edition of the CG:SHOP Challenge focused on the knapsack polygonal packing problem. Each instance consists of a convex polygon known as the container and a multiset of items, where each item is a simple polygon with an associated integer value. A feasible packing solution places a selection of the items inside the container without overlapping and using only translations. The goal is to achieve a packing that maximizes the total value of the items in the solution. Our approach to win first place is divided into two main steps. First, we generate promising initial solutions using two strategies: one based on integer linear programming and the other on employing a combination of geometric greedy heuristics. In the second step, we enhance these solutions through local search techniques, which involve repositioning items and exploring potential replacements to improve the total value of the packing.
Paper Structure (16 sections, 1 equation, 8 figures, 1 table)

This paper contains 16 sections, 1 equation, 8 figures, 1 table.

Figures (8)

  • Figure 1: Our best solutions to jigsaw_cf2_5db5d75a_34, random_rcf4_6e323d40_100, atris1240, and satris1786 instances.
  • Figure 2: Four solutions for the instance jigsaw_rcf4_6de1b3b7_1363 obtained using the greedy algorithm with different strategies to select the direction $u$ to push the items and their value ratios compared to the best solution found during the challenge. (a) The direction $u$ is randomly chosen and fixed for all items. (b) $u$ is set to be normal to each item’s diameter with negative $y$ coordinate. (c) $u$ is again normal to the item’s diameter, but with a random choice of left or right. (d) $u$ is normal to the diameter and directed left for skinny items and right for fat items.
  • Figure 3: clusters for the instances jigsaw_cf2_xf42cb20_670, random_cf3_x21f5def_200, satris1685, and atris1660. The items of a cluster are drawn with the same color.
  • Figure 4: Our best solutions to the first 15 rows of Table \ref{['t:instances']}, in order.
  • Figure 5: The value ratio over time for the instances random_cf4_50e0d4d9_100, random_cf3_x21f5def_200, and random_rcf3_x7651267_1000 for $12$ independent executions of the greedy algorithm and a subsequent local search. Red curves are computed without cluster preprocessing, while the light blue and dark blue curves respectively include a preprocessing of clusters with at most $5$ and $10$ items.
  • ...and 3 more figures