Каково надлежащее имя проблемы/алгоритм для описания этой проблемы в теории информатики?

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

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

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

Ответы

Ответ 1

Похоже на меня. Из Wikipedia:

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

EDIT: Извините, пропустил бит о каждом контейнере, который должен быть загружен аналогичным образом. Тем не менее, он пахнет множеством рюкзаков, хотя и с дополнительным ограничением.

Ответ 2

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