Решите проблему онлайн-рюкзак в Интернете невывесенные 0-1

cs.stackexchange https://cs.stackexchange.com/questions/124929

  •  29-09-2020
  •  | 
  •  

Вопрос

У меня есть $ n $ pooks и bin размер $ B $ Единицы. Каждый элемент $ j $ потребляет $ w_j $ Единицы $ B $ при помещении в рюкзак. Товар появляется односторонним в онлайн-моде. После того, как элемент $ i $ появляется, мы должны либо поместить его в корзину (безвозвратно) или игнорировать его. Цель состоит в том, чтобы максимизировать количество предметов, помещенных в корзину. (Все входы являются положительными целыми числами.)

Автономный алгоритм легко: поместите элементы в заказа $ w_1 \ leq w_2 \ leq \ cdots \ leq w_n $ до тех пор, пока бин не будет заполнен. .

Как я могу решить эту проблему в онлайн-моде? Мой подход состоит в том, чтобы рандомизировать выбор: после того, как элемент $ j $ появляется, поместите его в корзину с вероятностью $ P_J $ < / span> и игнорировать его в противном случае.

Это было полезно?

Решение

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

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

Некоторые из них, и несколько подробностей для моего ответа можно найти в документе Сюзанна Альберс, Аринам Хан и Леон Лейдевиг по имени «Улучшенные онлайн-алгоритмы для Knaxackack и Gap в режиме случайных порядков» (см. Раздел 1.1).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с cs.stackexchange
scroll top