Список задач про наповнення рюкзака

Задача про наповнення рюкзака — це одна з задач комбінаторної оптимізації. Задача отримала назву від максимізаційної задачі пакування якомога більшої кількості речей в рюкзак при умові, щоб загальний об'єм (чи вага) всіх предметів, здатних поміститись в рюкзак, обмежений. Тому в цієї задачі існує декілька підвидів. Загальним для всіх видів є наявність набору з n предметів, кожен з двома параметрами — вага і ціна , .Є рюкзак, визначеної місткості . Завдання — зібрати рюкзак з максимальною цінністю предметів всередині, зберігаючи при цьому вагове обмеження рюкзака. Зазвичай всі параметри є цілими невід'ємними числами.

Рюкзак 0-1 (англ. 0-1 Knapsack Problem)

Це найбільш поширений різновид рюкзака. Нехай приймає два значення: , якщо вантаж запакований, і в іншому випадку, де . Завдання: Максимізувати

при наявності обмеження на місткість рюкзака.

Обмежений рюкзак (англ. Bounded Knapsack Problem)

Кожен предмет може бути обраний обмежену кількість раз. Завдання: Максимізувати

так, щоб виконалась умова на місткість

і для всіх .

Число називають границею, межею.

Необмежений рюкзак (цілочисельний рюкзак) (англ. Unbounded Knapsack Problem (integer knapsack))

Кожен предмет може бути обраний необмежену кількість раз. Завдання: максимізувати

так щоб виконалась умова на місткість

і ціле для всіх .

Рюкзак з мультивибором (англ. Multiple-choice Knapsack Problem)

Всі предмети розділяють на класів . Обов'язковою є умова вибору предмета з кожного класу. приймає значення тільки 0 і 1. Завдання: максимізувати

так щоб виконувалась умова на місткість,

для всіх

Мультиплікативний рюкзак (англ. Multiple Knapsack Problem)

Нехай в нас є предметів та рюкзаків . У кожного предмета, як і раніше, є вага і ціна , у кожного рюкзака відповідно своя місткість Завдання: максимізувати

так щоб виконувалась умова для всіх ,

для всіх .

Багатовимірний рюкзак (англ. Multy-dimensional knapsack problem)

Якщо є більше одного обмеження на рюкзак, наприклад об'єм і вага, задачу називають m-вимірною задачею про рюкзак. Наприклад, для необмеженого варіанта: максимізувати

так щоб

и для всіх .

Література

  1. В. Н. Бурков, И. А. Горгидзе, С. Е. Ловецкий. Прикладные задачи теории графов. — М., 1974. — 232 с. (рос.)
  2. Silvano Martelo, Paolo Toth Knapsack problems. — Wiley, 1990. — 306 с. (англ.)
  3. David Pisinger Knapsack problems. — 1995. (англ.)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.