Jump to content

Проблема с крышкой мусорного бака

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

Эта задача является двойственной задаче об упаковке контейнеров : при покрытии контейнеров размеры контейнеров ограничены снизу, и цель состоит в том, чтобы максимизировать их количество; при упаковке контейнеров размеры контейнеров ограничены сверху , и цель состоит в том, чтобы минимизировать их количество. [1]

Задача NP-сложная , но существуют различные эффективные алгоритмы аппроксимации :

  • Алгоритмы, охватывающие как минимум 1/2, 2/3 или 3/4 оптимального количества интервалов асимптотически, работают во времени. соответственно. [1] [2]
  • Асимптотический PTAS , алгоритмы с ограниченным поведением в худшем случае, ожидаемое поведение которых является асимптотически оптимальным для некоторых дискретных распределений, и алгоритм обучения с асимптотически оптимальным ожидаемым поведением для всех дискретных распределений. [3]
  • Асимптотический FPTAS . [4]

Алгоритм двунаправленного заполнения контейнеров

[ редактировать ]

Csirik, Frenk, Lebbe and Zhang [2] : 16–19  представьте следующий простой алгоритм для аппроксимации 2/3. Предположим, что размер ячейки равен 1 и в ней n предметов.

  • Расположите предметы от самого большого (1) до самого маленького ( n ).
  • Заполните корзину самыми большими предметами : 1, 2, ..., m , где m — наибольшее целое число, для которого сумма предметов 1, ..., m меньше 1.
  • Добавляйте в эту корзину самые маленькие предметы : n , n -1, ..., пока его значение не превысит 1.

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

Доказательство

[ редактировать ]

Для доказательства используется следующая терминология.

  • количество ячеек, заполняемых алгоритмом.
  • ячеек t , заполненных алгоритмом.
  • Начальные элементы t элементов, которые первыми вставляются в каждую из t ячеек.
  • Последние элементы t элементов, которые вставляются последними в каждую из t ячеек.
  • Средние предметы – все предметы, которые не являются ни начальными, ни конечными.
  • := количество конечных элементов, которые не превышают 1/2 (эквивалентно, — количество конечных элементов больше 1/2).

Сумма каждого бункера не меньше 1, но если из него убрать последний элемент, то оставшаяся сумма будет меньше 1. Каждый из первых контейнеры содержит начальный элемент, возможно, несколько промежуточных элементов и последний элемент. Каждый из последних контейнеры содержит только начальный элемент и конечный элемент, поскольку оба они больше 1/2 и их сумма уже больше 1.

Доказательство рассматривает два случая.

Самый простой случай , то есть все конечные элементы меньше 1/2. Тогда сумма всех заполненных не превышает 3/2, а сумма остальных элементов не превышает 1, поэтому сумма всех элементов не превосходит . С другой стороны, в оптимальном решении сумма каждого контейнера равна не менее 1, поэтому сумма всех элементов не менее . Поэтому, по мере необходимости.

Тяжелый случай – это , то есть некоторые конечные элементы больше 1/2. Теперь мы докажем верхнюю оценку представив его в виде суммы где:

  • оптимальные ячейки без начальных/конечных предметов (только средние предметы).
  • оптимальные ячейки ровно с одним начальным/конечным предметом (и некоторыми промежуточными предметами).
  • оптимальные ячейки с двумя или более начальными/конечными предметами (и некоторыми промежуточными предметами).

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

  • Единственный начальный/конечный элемент в bins сопоставляется с исходным элементом в . Обратите внимание, что это самые крупные начальные элементы.
  • Средние предметы в и бункеры сопоставляются со средними элементами в . Обратите внимание, что эти корзины содержат все средние предметы.
  • Поэтому все предметы в и сопоставляются со всеми неконечными элементами в , плюс все средние элементы в .
  • Сумма каждого бункера без его конечного элемента меньше 1. Более того, начальный элемент больше 1/2, поэтому сумма только средних элементов меньше 1/2. Следовательно, сумма всех неконечных элементов в , плюс все средние элементы в , не более .
  • Сумма каждого оптимального интервала не менее 1. Следовательно: , что подразумевает .

Теперь мы сосредоточимся на оптимальных контейнерах в и .

  • Общее количество начальных/конечных элементов в и контейнеры - это как минимум , но их общее число также поскольку в каждой корзине ровно два начальных/конечных товара. Поэтому, .
  • Суммируя последние два неравенства, следует, что , что подразумевает .

Герметичность

[ редактировать ]

Коэффициент 2/3 является жестким для BDF. Рассмотрим следующий пример (где достаточно мал): BDF инициализирует первую корзину самым большим товаром и заполняет ее самые маленькие предметы. Затем оставшиеся предметы могут покрывать контейнеры только тройками, так что в целом контейнеры заполнены. Но в ОПТ можно заполнить корзины, каждая из которых содержит два предмета среднего размера и два мелких предмета.

Алгоритм заполнения трех классов контейнеров

[ редактировать ]

Csirik, Frenk, Lebbe and Zhang [2] : 19–24  представить другой алгоритм, который достигает приближения 3/4. Алгоритм упорядочивает элементы от большего к меньшему и разделяет их на три класса:

  • X: Предметы размером не менее 1/2;
  • Y: предметы размером менее 1/2 и не менее 1/3;
  • Z: Предметы размером менее 1/3.

Алгоритм работает в два этапа. Этап 1:

  • Инициализируйте новую корзину либо с самым большим предметом в X, либо с двумя самыми большими предметами в Y, в зависимости от того, что больше. Обратите внимание, что в обоих случаях начальная сумма интервала меньше 1.
  • Заполните новую корзину предметами из Z в порядке возрастания стоимости.
  • Повторяйте до тех пор, пока XUY или Z не станут пустыми.

Этап 2:

  • Если XUY пуст, заполните ячейки элементами из Z по простому правилу следующего соответствия.
  • Если Z пуст, упакуйте предметы, оставшиеся в X, попарно, а оставшиеся в Y — по тройкам.

В приведенном выше примере, показывающем герметичность BDF, наборы: TCF достигает оптимального результата, поскольку инициализирует все корзины с парами предметов из Y и заполняют их парами предметов из Z.

Для любого случая I обозначим через количество интервалов в оптимальном решении и количество полных бункеров в алгоритме заполнения трех классов. Затем .

Коэффициент 3/4 является жестким для TCF. Рассмотрим следующий пример (где достаточно мал):

TCF инициализирует первый контейнер двумя самыми большими элементами и заполняет его самые маленькие предметы. Затем оставшиеся предметы могут покрывать контейнеры только группами по четыре, так что в целом контейнеры заполнены. Но в ОПТ можно заполнить корзины, в каждой из которых находится по 3 предмета среднего размера и 3 предмета мелкого размера.

Схемы аппроксимации с полиномиальным временем

[ редактировать ]

Чирик, Джонсон и Кеньон [3] представить асимптотическую PTAS. Это алгоритм, который для каждого ε > 0 заполняет не менее корзины, если сумма всех предметов больше , и по крайней мере в противном случае. Он работает во времени . Алгоритм решает вариант конфигурации линейной программы , с переменные и ограничения. Этот алгоритм интересен только теоретически, поскольку для того, чтобы получить приближение лучше, чем 3/4, мы должны принять , и тогда число переменных больше, чем .

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

Янсен и Солис-Оба [4] представить асимптотическую FPTAS. Это алгоритм, который для каждого ε > 0 заполняет не менее корзины, если сумма всех предметов больше (если сумма предметов меньше этого значения, то оптимум не превышает в любом случае). Он работает во времени , где — это сложность выполнения наилучшего доступного алгоритма обращения матрицы (в настоящее время около ). Этот алгоритм становится лучше, чем приближение 3/4 уже тогда, когда , и в этом случае константы разумные - около .

Производительность с делимыми размерами предметов

[ редактировать ]

Важным частным случаем покрытия ячеек является то, что размеры элементов образуют делимую последовательность (также называемую факторизованной ). Особый случай делящихся размеров элементов возникает при распределении памяти в компьютерных системах, где все размеры элементов представляют собой степени 2. Если размеры элементов делятся, то некоторые эвристические алгоритмы покрытия ячеек находят оптимальное решение. [5] : Раздел 5

[ редактировать ]

В задаче справедливого распределения предметов участвуют разные люди, каждый из которых приписывает каждому предмету разную ценность. Цель состоит в том, чтобы выделить каждому человеку «корзину», полную предметов, так, чтобы ценность каждой корзины была как минимум определенной константой, и как можно больше людей получили корзину. В этой задаче также используются многие методы покрытия контейнеров.

Реализации

[ редактировать ]
  1. ^ Jump up to: Перейти обратно: а б Ассманн, С.Ф.; Джонсон, Д.С.; Клейтман, диджей; Люнг, JY-T (1 декабря 1984 г.). «О двойственной версии задачи об одномерной упаковке контейнеров» . Журнал алгоритмов . 5 (4): 502–525. дои : 10.1016/0196-6774(84)90004-X . ISSN   0196-6774 .
  2. ^ Jump up to: Перейти обратно: а б с Чирик, Янош; Дж.Б.Г. Френк, М. Лаббе и С. Чжан (1 января 1999 г.). «Два простых алгоритма покрытия бункеров» . Акта Кибернетика . 14 (1): 13–25. ISSN   2676-993X .
  3. ^ Jump up to: Перейти обратно: а б Чирик, Янош; Джонсон, Дэвид С.; Кеньон, Клэр (9 января 2001 г.). «Улучшенные алгоритмы аппроксимации покрытия ячеек» . Материалы двенадцатого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам . СОДА '01. Вашингтон, округ Колумбия, США: Общество промышленной и прикладной математики: 557–566. ISBN  978-0-89871-490-6 .
  4. ^ Jump up to: Перейти обратно: а б Янсен, Клаус; Солис-Оба, Роберто (21 ноября 2002 г.). «Асимптотическая полностью полиномиальная схема аппроксимации времени для покрытия контейнеров» . Материалы 13-го Международного симпозиума по алгоритмам и вычислениям . ИСААК '02. 2518 . Берлин, Гейдельберг: Springer-Verlag: 175–186. дои : 10.1007/3-540-36136-7_16 . ISBN  978-3-540-00142-3 .
  5. ^ Коффман, Э.Г.; Гэри, MR; Джонсон, Д.С. (1 декабря 1987 г.). «Корзинная упаковка с предметами, делящимися по размеру» . Журнал сложности . 3 (4): 406–428. дои : 10.1016/0885-064X(87)90009-4 . ISSN   0885-064X .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 02a21e6866a069fb8091427333510c99__1708805700
URL1:https://arc.ask3.ru/arc/aa/02/99/02a21e6866a069fb8091427333510c99.html
Заголовок, (Title) документа по адресу, URL1:
Bin covering problem - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)