- Задача об упаковке в контейнеры
-
В теории сложности вычислений задача об упаковке в контейнеры — NP-трудная комбинаторная задача. Задача заключается в упаковке объектов предопределённой формы в конечное число контейнеров предопределённой формы таким способом, чтобы число использованных контейнеров было наименьшим или количество или объём объектов (которые упаковывают) были наибольшими.
Существует множество разновидностей этой задачи (двумерная упаковка, линейная упаковка, упаковка по весу, упаковка по стоимости и т.п.), которые могут применяться в разных областях, как собственно в вопросе оптимального заполнения контейнеров, загрузки грузовиков с ограничением по весу, созданием резервных копий на съёмных носителях и т.д.
Так как задача является NP-трудной зачастую используют алгоритмы с эвристическим и метаэвристическим методом решения для получения оптимальных результатов. Также активно используются методы искусственного интеллекта, как, например, нейронные сети.
Стратегии Best Fit Decreasing и First Fit Decreasing используют не более контейнеров (где - число контейнеров при наилучшем решении задачи). Однако, существуют алгоритмы приближения, которые могут решить задачу об упаковке с любым наперёд заданным процентом наилучшего решения для больших массивов исходных данных (они называются асимптотической схемой приближения полиномиального времени). Всё это выделяет задачу среди большинства других основных NP-трудных задач, некоторые из которых не могут быть приближены вообще.
Примечания
См. также
- Задача упаковки
- Задача о ранце
- Задача о сумме подмножеств
- Оптимизация
- Упаковка шаров
Ссылки
- Онлайн-калькулятор для решения задачи об упаковке в контейнеры
- Еще один онлайн-калькулятор применительно к задаче оптимальной загрузки транспорта
- Еще пример реализации задачи об упаковке в контейнеры (оптимизация таможенных сборов)
NP-полные задачи Математика Исследование операций:Оптимизация:Комбинаторная оптимизация Максимизационная задача
укладки (упаковки)Упаковка в контейнеры (двумерная упаковка • линейная упаковка • упаковка по весу • упаковка по стоимости) • Задача о ранце (рюкзаке) Теория графов
теория множествЗадача о вершинном покрытии • Задача о клике • Задача о независимом множестве (наборе) • Задача о покрытии множества • Задача Штейнера • Задача коммивояжёра • Обобщённая задача коммивояжёра Алгоритмические задачи Задача выполнимости булевых формул (в конъюнктивной нормальной форме) Логические игры
и головоломкиОбобщённые пятнашки с костяшками >15) (задача поиска кратчайшего решения) • Задачи, решения которых применяются в Тетрис • Задача обобщённого судоку • Задача о заполнении латинского квадрата • Задача какуро См. также Прикладная математика • Теория алгоритмов • Динамическое программирование • 21 NP-полная задача Карпа Классы сложности Категория:- NP-полные задачи
Wikimedia Foundation. 2010.