Задача о рюкзаке: Классика дискретной оптимизации
Среди всех проблем комбинаторной оптимизации Задача о рюкзаке (Knapsack problem) занимает особое, почетное место. Название задачи описывает понятную бытовую ситуацию: у вора есть рюкзак ограниченной вместимости, а перед ним лежат различные ценные вещи (часы, слитки золота, ноутбуки). Каждая вещь имеет свой вес и свою стоимость. Как вору набрать вещей в рюкзак так, чтобы их суммарный вес не порвал рюкзак, а суммарная стоимость добычи была максимально возможной?