2017-01-05 2 views
1

Скажите, что у меня есть ряд весов, которые мне нужно разложить на конечное количество ранцев, чтобы каждый рюкзак имел как бы распределение весов, насколько это возможно. Захват заключается в том, что различные веса могут быть помещены только в первые n сумки, где каждое значение n варьируется для каждого веса.Рюкзак или аналогичный без каких-либо значений и с ограничениями относительно того, какие элементы можно назначить где?

Например, вес может быть установлен только в мешки до сумки 4, то есть в мешках с 1 по 4. Другой может иметь предел до 5. Цель, как было указано ранее, состоит в том, чтобы попытаться равномерно распределить по всем мешков, с количеством мешков, установленным весом с наивысшим пределом.

Есть ли название для этой проблемы и какие существуют алгоритмы?

EDIT: Для того, чтобы помочь себе, что у меня есть 4 веса:

+----------+--------+-----------+ 
| Weight # | Weight | Bag Limit | 
+----------+--------+-----------+ 
|  1 |  2 |   2 | 
|  2 |  3 |   3 | 
|  3 |  1 |   1 | 
|  4 |  2 |   4 | 
+----------+--------+-----------+ 

Решение проблемы может выглядеть следующим образом

| 1 | | | | | | | 
| 2 | | 3 | | 2 | | | 
|___| |___| |___| |___| 

Bag 1 Bag 2 Bag 3 Bag 4 

весам 3 и 1 были помещены в мешок 1

Вес 2 был помещен в сумку 2

Вес 4 был помещен в сумку 3

Здесь нагрузка распределяется равномерно, насколько это возможно, и проблема решена (хотя, возможно, не оптимально, так как я сделал это в моей голове)

Надеемся, что это могло бы прояснить, что я пытаюсь решить ,

+0

У всех сумм одинаковой емкости? Какова же цель - «равномерное распределение» веса? Достаточно ли минимизировать максимальную нагрузку на мешки? Количество ограниченных сумм? – Codor

+0

@Codor Технически емкость мешков не ограничена, так как цель состоит в том, чтобы распространять нагрузку на грузы по максимально возможному количеству мешков. Количество мешков устанавливается весом, который может входить в наибольшее количество мешков, т. Е. Если один вес может заходить в пакеты 1-6, в то время как другие могут ходить только в мешках 5 и ниже, количество мешков равно 6. –

ответ

0

Я бы описал эту проблему как упаковку бинов с боковыми ограничениями - много проблем с NP-hard не имеют хороших имен, потому что их так много. Я бы ожидал, что методы, основанные на LP, для упаковки контейнеров с переменным размером, которые разлагают проблему, в (1) проблему упаковки над целыми бункерами (2) - проблему с рюкзаком в корзине, чтобы генерировать ячейки-кандидаты для переноса достаточно хорошо.

+0

Упаковка бина, похоже, в какой-то мере соответствует моей цели, но я больше беспокоюсь о том, чтобы каждый бункер имел равное количество веса, чем минимальное количество необходимых бункеров, так как емкость каждого бункера технически не ограничена. –

+0

@PaulClavier Проблема с решением одинакова - товары вписываются в x корзины емкости y? - так что проблемы тесно связаны. Учитывая хорошее решение проблемы решения, вы можете найти минимально возможный y (например, путем двоичного поиска). –

+0

Мне нужно исследовать вашу идею, но, надеюсь, она должна работать. Вы также можете проверить мое редактирование, которое показывает пример проблемы и решения. –

Смежные вопросы