Задача про рюкзак.
Задача про рюкзак.
Найпростішою задачею цілочислового програмування, а саме задачею лише з одним обмеженням, є задача про рю-кзак (або ранець). Така задача має багато прикладів прак-тичного застосування. Назва «задача про рюкзак» пов’язана з інтерпретацією задачі вибору найкращого складу предметів, що задовольняють певні умови гіпотетичної проблеми туриста щодо вибору для походу оптимальної кількості речей.
Турист може вибирати потрібні речі із списку з Неможливо розібрати вираз (невідома помилка): n
предметів. Відома вага кожного Неможливо розібрати вираз (невідома помилка): j
-го предмета Неможливо розібрати вираз (невідома помилка): m_j(j=\overline{1,n})
.Визначена також цінність кожного виду предметів Неможливо розібрати вираз (невідома помилка): w_j
.Максимальна вага всього вантажу в рюкзаку не може перевищувати зазначеного обсягу М. Необхідно визначити, скільки предметів кожного виду турист має покласти в рюкзак, щоб загальна цінність спорядження була максимальною за умови виконання обмеження на вагу рюкзака.
Позначимо через Неможливо розібрати вираз (невідома помилка): x_j
– кількість предметів Неможливо розібрати вираз (невідома помилка): j
-го виду в рюкзаку. Тоді математична модель задачі матиме вигляд:
— цілі числа, Неможливо розібрати вираз (невідома помилка): (j=\overline{1,n})