Для оптимизации использования пространства в трёхмерных коробках можно использовать следующие подходы:
- Динамическое программирование. 1 Если контейнер представляет собой сетку в виде параллелепипеда, и элементы помещаются точно в ячейки сетки, для представления переменной состояния можно использовать трёхмерный массив. 1 В противном случае — более сложные структуры данных. 1
- Генетический алгоритм. 24 В качестве критерия оптимизации используется отношение полезного объёма, занимаемого блоками (с учётом образовавшихся между блоками пустот), к общему объёму контейнера. 2 Целью решения задачи является уменьшение пустот в области упаковки. 2
- Метод покоординатного спуска (метод Гаусса-Зайделя). 5 Процесс решения разбивается на две части: моделирование плотного движения объектов в области размещения и формирование и изменение последовательности упаковываемых объектов. 5
Также для уплотнения упаковки при формировании начальной популяции можно использовать эвристику: более крупные блоки удобнее размещать первыми, затем упаковывать меньшие блоки. 4