Скажите, что у меня есть ряд весов, которые мне нужно разложить на конечное количество ранцев, чтобы каждый рюкзак имел как бы распределение весов, насколько это возможно. Захват заключается в том, что различные веса могут быть помещены только в первые сумки, где каждое значение варьируется для каждого веса.Рюкзак или аналогичный без каких-либо значений и с ограничениями относительно того, какие элементы можно назначить где?
Например, вес может быть установлен только в мешки до сумки 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
Здесь нагрузка распределяется равномерно, насколько это возможно, и проблема решена (хотя, возможно, не оптимально, так как я сделал это в моей голове)
Надеемся, что это могло бы прояснить, что я пытаюсь решить ,
У всех сумм одинаковой емкости? Какова же цель - «равномерное распределение» веса? Достаточно ли минимизировать максимальную нагрузку на мешки? Количество ограниченных сумм? – Codor
@Codor Технически емкость мешков не ограничена, так как цель состоит в том, чтобы распространять нагрузку на грузы по максимально возможному количеству мешков. Количество мешков устанавливается весом, который может входить в наибольшее количество мешков, т. Е. Если один вес может заходить в пакеты 1-6, в то время как другие могут ходить только в мешках 5 и ниже, количество мешков равно 6. –