Jump to content

Список проблем с рюкзаком

Задача о рюкзаке — одна из наиболее изученных задач комбинаторной оптимизации , имеющая множество практических приложений. По этой причине было рассмотрено множество частных случаев и обобщений. [1] [2]

Общим для всех версий является набор из n элементов, каждый из которых соответствующую прибыль pj имеющие и wj вес . Двоичная переменная решения x j используется для выбора элемента. Цель состоит в том, чтобы выбрать несколько предметов с максимальной общей прибылью, соблюдая при этом, что максимальный общий вес выбранных предметов не должен W. превышать Обычно эти коэффициенты масштабируются до целых чисел и почти всегда считаются положительными.

в Задача о рюкзаке ее самой простой форме:

максимизировать
при условии

Прямые обобщения [ править ]

Одним из распространенных вариантов является то, что каждый элемент можно выбрать несколько раз. Задача об ограниченном рюкзаке определяет для каждого предмета j верхнюю границу u j (которая может быть положительным целым числом или бесконечностью) количества раз, когда предмет j может быть выбран:

максимизировать
при условии
интеграл для всех j

Задача о неограниченном рюкзаке (иногда называемая задачей о целочисленном рюкзаке ) не накладывает никаких верхних границ на количество раз, когда элемент может быть выбран:

максимизировать
при условии
интеграл для всех j

показал, что неограниченный вариант является NP-полным . В 1975 году Люкер [3] И ограниченный, и неограниченный варианты допускают FPTAS (по сути тот же, что и тот, который использовался в задаче о рюкзаке 0–1).

Если предметы разделены на k классов, обозначаемых , и из каждого класса нужно взять ровно один предмет, мы получаем задачу о ранце с множественным выбором :

максимизировать
при условии
для всех
для всех и все

Если для каждого предмета прибыль и вес равны, мы получаем задачу о сумме подмножества соответствующая задача решения (часто вместо этого дается ):

максимизировать
при условии

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

максимизировать
при условии для всех
для всех
для всех и все

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

Задача о квадратичном рюкзаке :

максимизировать
при условии
для всех

Задача о рюкзаке Set-Union :

SUKP определен Келлерером и др. [2] (на странице 423) следующим образом:

Учитывая набор предметы и набор так называемые элементы , каждый предмет соответствует подмножеству набора элементов . Предметы иметь неотрицательную прибыль , , и элементы иметь неотрицательный вес , . Общий вес набора предметов определяется суммарным весом элементов объединения соответствующих наборов элементов. Цель состоит в том, чтобы найти подмножество предметов, общий вес которых не превышает вместимости рюкзака, и максимальную прибыль.

Множественные ограничения [ править ]

Если существует более одного ограничения (например, ограничение по объему и ограничение по весу, где объем и вес каждого предмета не связаны между собой), мы получаем задачу о рюкзаке с множественными ограничениями , задачу о многомерном рюкзаке или m - мерную задачу. проблема с рюкзаком . (Обратите внимание, что здесь «размер» не относится к форме каких-либо предметов.) Он имеет варианты 0–1, ограниченный и неограниченный; неограниченный показан ниже.

максимизировать
при условии для всех
, целое число для всех

Вариант 0-1 (для любого фиксированного ) было показано, что он NP-полный примерно в 1980 году и более строго, не имеет FPTAS, если только P = NP. [4] [5]

Ограниченный и неограниченный варианты (при любом фиксированном ) также обладают такой же твердостью. [6]

Для любого фиксированного , эти задачи допускают алгоритм псевдополиномиального времени (аналогичный алгоритму для базового рюкзака) и PTAS . [2]

Проблемы с рюкзаком [ править ]

Если все прибыли равны 1, мы постараемся максимизировать количество предметов, не превышающее вместимость рюкзака:

максимизировать
при условии

Если у нас есть несколько контейнеров (одного размера) и мы хотим упаковать все n предметов в как можно меньшее количество контейнеров, мы получаем проблему упаковки корзин , которая моделируется с помощью индикаторных переменных. контейнер i используется:

минимизировать
при условии

Задача о сокращении запасов идентична задаче об упаковке корзин , но поскольку в практических примерах обычно используется гораздо меньше типов товаров, часто используется другая формулировка. Предмет j необходим B j раз, каждый «шаблон» предметов, помещающихся в один рюкзак, имеет переменную x i (имеется m шаблонов), а шаблон i использует предмет j b ij раз:

минимизировать
при условии для всех
для всех

Если к задаче о рюкзаке с множественным выбором мы добавим ограничение, согласно которому каждое подмножество имеет размер n , и удалим ограничение на общий вес, мы получим задачу назначения , которая также является проблемой поиска максимального двустороннего паросочетания :

максимизировать
при условии для всех
для всех
для всех и все

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

максимизировать
при условии

Хотя они менее распространены, чем описанные выше, существуют и другие проблемы, похожие на рюкзак, в том числе:

  • Задача о вложенном рюкзаке
  • Проблема сворачивающегося рюкзака
  • Нелинейная задача о рюкзаке
  • Обратно-параметрическая задача о рюкзаке

Последние три из них обсуждаются в справочной работе Келлерера и др «Задачи о рюкзаке» . . [2]

Ссылки [ править ]

  1. ^ Мартелло, Сильвано и Тот, Паоло (1990). Задачи о рюкзаке: алгоритмы и компьютерные реализации . Джон Уайли и сыновья . ISBN  978-0471924203 . {{cite book}}: CS1 maint: несколько имен: список авторов ( ссылка )
  2. ^ Jump up to: Перейти обратно: а б с д Келлерер, Ганс и Пферши, Ульрих и Пизингер, Дэвид (2004). Проблемы с рюкзаком . Издательство Спрингер . ISBN  978-3-540-40286-2 . {{cite book}}: CS1 maint: несколько имен: список авторов ( ссылка )
  3. ^ Люкер, Г.С. (1975). Две NP-полные задачи неотрицательного целочисленного программирования . Отчет № 178, Лаборатория компьютерных наук, Принстон.
  4. ^ Генс, Г.В.; Левнер, Э.В. (1979). «Алгоритмы сложности и аппроксимации комбинаторных задач: обзор». Центральный экономико-математический институт АН СССР, Москва.
  5. ^ «О существовании схем быстрого приближения». Нелинейное программирование . 4 : 415–437. 1980.
  6. ^ Журнал Майкла Дж.; Черн, Мау-Шенг (1984). «Заметка о схемах аппроксимации многомерных задач о рюкзаке». Математика исследования операций . 9 (2): 244–247. дои : 10.1287/moor.9.2.244 .
  7. ^ Коэн, Реувен; Кацир, Лиран (2008). «Обобщенная проблема максимального покрытия». Письма об обработке информации . 108 : 15–22. CiteSeerX   10.1.1.156.2073 . дои : 10.1016/j.ipl.2008.03.017 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3c694e021829bcfda842c7a3017777e3__1707490260
URL1:https://arc.ask3.ru/arc/aa/3c/e3/3c694e021829bcfda842c7a3017777e3.html
Заголовок, (Title) документа по адресу, URL1:
List of knapsack problems - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)