Изменить: мне нужна эффективная реализация 3D-упаковки на Ruby, JavaScript, Java или Python с указанными ниже ограничениями
Я ищу эффективный алгоритм для правильного определения количества контейнеров, необходимых для хранения списка элементов. Контекст заключается в создании точного количества и типа отгрузочных этикеток для заказа электронной коммерции.
Дано:
- Предметы имеют известную ширину, длину, глубину и вес
- Предметы имеют тип упаковки, указывающий, что они могут быть объединены с другими предметами в одном контейнере («сверхупаковка») или должны быть отправлены в отдельном контейнере («отдельно на корабле»).
- Контейнеры имеют известную ширину, длину, глубину и грузоподъемность.
- Доступно несколько контейнеров разного размера и вместимости.
Проблема:
- Существует список предметов, возможно, различных размеров и типов упаковки, а также, возможно, в нескольких количествах. Разделите список предметов так, чтобы их можно было хранить в минимально возможном количестве контейнеров.
Я полагаю, что это интересная объемная математическая задача, которая может понравиться некоторым из вас. Я ищу лучшее программное решение для этого.
Благодарен за решения на любом языке с предпочтением Java, JavaScript, Python или Ruby.
Заранее спасибо!