Данный исследовательский проект посвящен комплексному изучению задачи о рюкзаке, одной из классических NP-полных задач в области комбинаторной оптимизации. Основное внимание уделяется разработке и анализу алгоритмов, основанных на принципе динамического программирования, для нахождения оптимального решения. Будут рассмотрены различные вариации задачи о рюкзаке, включая задачу о 0/1 рюкзаке, задачу о безграничном рюкзаке и задачу о рюкзаке с ограниченным количеством предметов. Особое внимание будет уделено теоретическим основам динамического программирования, построению рекуррентных соотношений и оценке временной и пространственной сложности предлагаемых решений. Проект предполагает создание прототипа программного обеспечения, демонстрирующего работоспособность разработанных алгоритмов на примерах реальных данных, а также проведение сравнительного анализа эффективности различных подходов. Итогом работы станет детальный отчет, включающий теоретическую часть, описание алгоритмов, результаты экспериментов и выводы об их применимости.