Jump to content

Упаковка следующего контейнера

Next-fit — это онлайн-алгоритм упаковки мусора . Его входные данные представляют собой список элементов разного размера. Результатом его работы является упаковка — распределение предметов по контейнерам фиксированной вместимости так, чтобы сумма размеров предметов в каждом контейнере не превышала вместимости. В идеале нам хотелось бы использовать как можно меньше ячеек, но минимизация количества ячеек — это NP-сложная задача. Алгоритм следующего соответствия использует следующую эвристику :

  • Он сохраняет текущий контейнер , который изначально пуст.
  • Когда товар прибывает, он проверяет, помещается ли он в текущую корзину.
    • Если он подходит, он помещается внутрь него.
    • В противном случае текущая ячейка закрывается, открывается новая ячейка, и поступающий товар помещается в эту новую ячейку.

Next-Fit — это алгоритм ограниченного пространства: для него требуется, чтобы в любой момент времени была открыта только одна частично заполненная корзина. Алгоритм был изучен Дэвидом С. Джонсоном в его докторской диссертации. [ 1 ] в 1973 году.

Время выполнения

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

Время работы NextFit может быть ограничено , где количество элементов в списке. [ 2 ]

Коэффициент аппроксимации

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

Обозначим через NF(L) количество ячеек, используемых NextFit, а через OPT(L) — оптимальное количество ячеек, возможное для списка L.

Верхняя граница

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

Затем для каждого списка , . Интуиция доказательства заключается в следующем. Количество ячеек, используемых этим алгоритмом, не более чем в два раза превышает оптимальное количество ячеек. Другими словами, невозможно, чтобы 2 контейнера были заполнены более чем наполовину, поскольку такая возможность подразумевает, что в какой-то момент ровно один контейнер был заполнен не более чем наполовину, и была открыта новая, чтобы вместить предмет размером не более . Но поскольку первый имеет по крайней мере пространство , алгоритм не откроет новую корзину для предметов, размер которых не превышает . Только после того, как контейнер наполнится более чем или если предмет размером больше прибывает, алгоритм может открыть новую корзину. Таким образом, если у нас есть контейнеры, по крайней мере контейнеры заполнены более чем наполовину. Поэтому, . Потому что — нижняя граница оптимального значения , мы поняли это и поэтому . [ 3 ] : 74 

Нижняя граница

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

Для каждого , существует список такой, что и .

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

Ограниченный размер элемента

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

Если максимальный размер элемента , то коэффициент асимптотической аппроксимации удовлетворяет:

  • для всех ;
  • для всех .

Другие объекты недвижимости

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

Next-Fit упаковывает список и его инверсию в одинаковое количество ячеек. [ 4 ]

Next- k -Fit (NkF)

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

Next-k-Fit — это вариант Next-Fit, но вместо того, чтобы держать открытым только один контейнер, алгоритм оставляет последний контейнеры открываются и выбирают первый контейнер, в который помещается товар.

Для , NkF дает результаты, улучшенные по сравнению с результатами NF, однако увеличивая к постоянным значениям, большим, чем не улучшает алгоритм в худшем случае. Если алгоритм представляет собой алгоритм ПочтиAnyFit и затем . [ 1 ]

См. также

[ редактировать ]
  • Next-fit-decreasing (NFD) — это автономный вариант Next-Fit: он принимает все входные элементы, упорядочивает их по убыванию размера и вызывает Next-Fit. Его коэффициент асимптотической аппроксимации значительно лучше: менее 1,7 вместо 2.
  1. ^ Jump up to: а б Джонсон, Дэвид С. (1973). «Почти оптимальные алгоритмы упаковки контейнеров» (PDF) . Массачусетский технологический институт .
  2. ^ Сури, Субхаш. «Бин-упаковка» . UCSB Информатика . Проверено 7 октября 2021 г.
  3. ^ Vazirani, Vijay V. (2003), Approximation Algorithms , Berlin: Springer, ISBN  3-540-65367-8
  4. ^ Фишер, Дэвид К. (1 декабря 1988 г.). «Next-fit упаковывает список и его обратную сторону в одинаковое количество ячеек» . Письма об исследованиях операций . 7 (6): 291–293. дои : 10.1016/0167-6377(88)90060-0 . ISSN   0167-6377 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f4a7e45fae863ddbb926839f969275e0__1694287260
URL1:https://arc.ask3.ru/arc/aa/f4/e0/f4a7e45fae863ddbb926839f969275e0.html
Заголовок, (Title) документа по адресу, URL1:
Next-fit bin packing - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)