Сортировать продукты в массиве в пакеты - PullRequest
1 голос
/ 21 апреля 2011

Я пытаюсь написать скрипт, который сортирует продукты в пакеты.У меня есть массив с продуктами ($ products), который содержит длину, ширину, рост и вес.Существует три разных пакета, и условия будут выглядеть следующим образом:

small: length <= 17, width <= 14, height <= 4, weight <= 2
medium: length <= 26, width <= 18, height <= 4, weight <= 2
large: length <= 35, width <= 23, height <= 4, weight <= 2

Так что теперь сценарию необходимо проверить, достаточно ли малого для всех продуктов, если не среднего, то большого.Если большого недостаточно, то я хочу, чтобы скрипт проверял, какие комбинации продуктов подходят для самого большого пакета, затем удаляю эти элементы и продолжаю проверять остальные элементы в массиве и помещать их в соответствующие пакеты.Короче говоря: он должен сортировать продукты в максимально большие пакеты, не теряя места.

Я начал с создания операторов if, чтобы увидеть, соответствуют ли общая длина и ширина продуктов в заказе разнымразмеров, но сложная часть заключается в поиске наилучшего сочетания продуктов для упаковки и удалении их из массива для дальнейшей сортировки остальных.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 21 апреля 2011

Эта проблема называется проблемой упаковки бункера (также известной как проблема рюкзака).Я не могу найти пример php, поэтому я думаю, что довольно сложно сделать что-то подобное ...

0 голосов
/ 21 апреля 2011

Этот вопрос задавался ранее.Некоторую полезную информацию можно найти в « 3-мерных алгоритмах упаковки бинов » и « 3d-алгоритме упаковки бинов ».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...