# An Encoder-Decoder Approach for Packing Circles

arXiv: https://arxiv.org/abs/2308.07335 · HTML: https://mlsanity.com/paper/2308.07335/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 7 of its 30 references that are in the map.
- First posted on arXiv 11 Aug 2023.

## Builds on (most cited first, 7 of 7)

- [Neural Combinatorial Optimization with Reinforcement Learning](https://mlsanity.com/paper/1611.09940/) (2016)
- [Self-Normalizing Neural Networks](https://mlsanity.com/paper/1706.02515/) (2017)
- [Disciplined Convex-Concave Programming](https://mlsanity.com/paper/1604.02639/) (2016)
- [A Differentiable Approach to Combinatorial Optimization using Dataless Neural Networks](https://mlsanity.com/paper/2203.08209/) (2022)
- [An Efficient Quasi-physical Quasi-human Algorithm for Packing Equal Circles in a Circular Container](https://mlsanity.com/paper/1611.02323/) (2016)
- [Neural-BO: A Black-box Optimization Algorithm using Deep Neural Networks](https://mlsanity.com/paper/2303.01682/) (2023)
- [Stochastic Item Descent Method for Large Scale Equal Circle Packing Problem](https://mlsanity.com/paper/2001.08540/) (2020)

## Abstract (arXiv)

The problem of packing smaller objects within a larger object has been of interest since decades. In these problems, in addition to the requirement that the smaller objects must lie completely inside the larger objects, they are expected to not overlap or have minimum overlap with each other. Due to this, the problem of packing turns out to be a non-convex problem, obtaining whose optimal solution is challenging. As such, several heuristic approaches have been used for obtaining sub-optimal solutions in general, and provably optimal solutions for some special instances. In this paper, we propose a novel encoder-decoder architecture consisting of an encoder block, a perturbation block and a decoder block, for packing identical circles within a larger circle. In our approach, the encoder takes the index of a circle to be packed as an input and outputs its center through a normalization layer, the perturbation layer adds controlled perturbations to the center, ensuring that it does not deviate beyond the radius of the smaller circle to be packed, and the decoder takes the perturbed center as input and estimates the index of the intended circle for packing. We parameterize the encoder and decoder by a neural network and optimize it to reduce an error between the decoder's estimated index and the actual index of the circle provided as input to the encoder. The proposed approach can be generalized to pack objects of higher dimensions and different shapes by carefully choosing normalization and perturbation layers. The approach gives a sub-optimal solution and is able to pack smaller objects within a larger object with competitive performance with respect to classical methods.
