Задача о рюкзаке

Материал из свободной русской энциклопедии «Традиция». Вы можете дополнить или исправить его.
(перенаправлено с «Knapsack problem»)
Перейти к навигации Перейти к поиску

Задача о рюкзаке (Knapsack problem) содержательно означает выбор предметов с наибольшей суммарной стоимостью, умещающихся в рюкзак заданного размера. Эта задача часто возникает при выборе оптимального управления в различных экономико-финансовых областях (распределение бюджета отдела по проектам и т. п.).

Задача имеет несколько более формальных постановок, представленных ниже.

0-1 Рюкзак[править | править код]

Даны натуральные числа a1,,ana_1,\ldots,a_n (называемые «размерами» или «весами» предметов), c1,,cnc_1, \ldots, c_n («стоимости» предметов) и B («размер» рюкзака).

Найти максимальное значение ff^* целевой функции fi=1nciximax f \equiv \sum_{i=1}^n c_i x_i \to \max

с ограничением на размер «рюкзака» i=1naixiB,   xi{0,1}. \sum_{i=1}^n a_i x_i \leq B, \ \ \ x_i \in \{0,1\}.


Алгоритмы[править | править код]


По крайней мере часть этого текста взята с ресурса http://lib.custis.ru/ под лицензией GDFL.Список авторов доступен на этом ресурсе в статье под тем же названием.