Каково правильное название проблемы / алгоритм для этого описания проблемы в теории информатики? - PullRequest
13 голосов
/ 11 декабря 2010

Проблема в том, что у меня есть X предметов с различными взвешенными значениями, которые должны быть в Y контейнерах. Контейнеры имеют разные размеры (например, удерживают разные максимальные веса). Общая загрузка каждого контейнера должна быть приблизительно эквивалентна другим, но контейнеры не должны быть заполнены или сведены к минимуму. Все контейнеры должны быть использованы.

Это напоминает мне о проблеме «рюкзака», но у меня есть несколько рюкзаков разного размера, и нагрузки между ними должны быть относительно эквивалентными (например, один рюкзак может вмещать только 12 фунтов, а другой рюкзак может вмещать только 8 фунтов, но они оба должны быть заполнены одинаковым процентом от общего веса, который они могут нести). Это также напоминает мне о проблеме «упаковки бункеров», но это не касается изменяющихся размеров бункеров или того, что бункеры не должны быть полными или минимизированными, им просто нужны эквивалентные нагрузки, и все они должны использоваться .

Может ли кто-нибудь указать мне правильное направление в отношении названия этой проблемы в рамках структур данных и теории алгоритмов? Я также был бы заинтересован в любых алгоритмах или эвристических методах, которые обычно используются для решения такой проблемы или информации о возможной сложности времени.

Ответы [ 2 ]

2 голосов
/ 11 декабря 2010

Для меня это звучит как несколько ранцев.Из Википедии :

Если у нас есть n предметов и m рюкзаков с емкостью Wi, мы получим проблему с несколькими рюкзаками

РЕДАКТИРОВАТЬ: извините, пропустилбит о каждом контейнере, который необходимо загрузить аналогичным образом.Тем не менее, он пахнет как несколько ранцев, хотя и с дополнительным ограничением.

1 голос
/ 20 мая 2011

Если вы сопоставите X с изображениями различной высоты; и сопоставьте Y со столбцами, тогда решение, данное здесь , должно работать и для вас. Это наиболее подходящее решение для упаковки бункеров с предварительной сортировкой и дополнительной заменой элементов, закодированных в Python с примерами.

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