核心概念
The authors present efficient heuristic algorithms to solve the CG:SHOP 2024 Challenge, which involves packing a set of polygonal items inside a convex container to maximize the total value of the packed items.
要約
The CG:SHOP 2024 Challenge involves a 2-dimensional knapsack packing problem, where the goal is to pack a set of polygonal items inside a convex container to maximize the total value of the packed items. The authors describe their winning approach, which consists of two main components:
-
Initial Solution Generation:
- Integer Programming (IP) Approach: The authors model the problem as a maximum weight independent set problem in a graph, where vertices represent translated item placements and edges represent overlaps. They solve this IP model using the CPLEX solver to obtain initial solutions.
- Greedy Heuristic: The authors develop a greedy algorithm that places items one by one in a carefully ordered list of grid and random positions inside the container, optimizing the item placement using a push operation.
-
Local Search Optimization:
- The authors apply a local search procedure to improve the initial solutions, alternating between a "fill" routine (similar to the greedy heuristic) and a "push" routine that rearranges the packed items to free up space for unpacked items.
The authors also introduce a preprocessing step called "Slates", where they precompute sets of items that can be efficiently assembled together. This technique is particularly effective for instances with polyomino-like items.
The authors analyze the performance of their algorithms on a set of 18 instances of varying sizes and item characteristics. They demonstrate the effectiveness of their approach, with their best solutions achieving value ratios close to 1 for most instances.
統計
The authors report the value ratio (ratio of the solution value to the best known solution value) for their algorithms on 18 instances of the CG:SHOP 2024 Challenge. The value ratios are provided for the initial solutions obtained using integer programming (IP) and the greedy heuristic (Gr), as well as the solutions after local search optimization (IP + LS and Gr + LS).
引用
"Our strategy consists of finding a good initial solutions (using integer programming or a greedy heuristic) and subsequently optimizing them with local search."
"The greedy heuristic starts by creating an initial list L of n grid points inside the container (typically n = 1000). The list L is shuffled and we compute its centroid c rounded to integer coordinates. The point c is inserted in the beginning of L."
"Slates work particularly well for the atris instances where the items resemble polyominoes."