Для решения задачи о распределении предметов между контейнерами можно использовать, например, следующие алгоритмы:
- Алгоритм «Следующий подходящий» (NF). 2 Предметы упаковывают в произвольном порядке. 2 Первый предмет помещают в первый контейнер. 2 На k-м шаге пытаются поместить k-й предмет в текущий контейнер. 2 Если предмет входит, то помещают его и переходят к следующему шагу, иначе предмет кладут в новый контейнер. 2
- Алгоритм «Наилучший подходящий» (BF). 2 Предметы упаковывают в произвольном порядке. 2 Первый предмет помещают в первый контейнер. 2 На k-м шаге размещают k-й предмет. 2 Находят частично заполненные контейнеры, где достаточно для него свободного места, и выбирают среди них наиболее заполненный. 2 Если таких нет, то берут новый пустой контейнер и помещают k-й предмет в него. 2
- Генетический алгоритм. 3
Также для решения подобных задач можно использовать сортировку от большего к меньшему и простой перебор на заполнение: пытаться как можно оптимальнее использовать самый большой контейнер, потом второй и так далее. 3