Здравствуйте, Mikola, Вы писали:
M> Только подскажите пожалуйста — каким методом эту задачу лучше решать. Я сначала думал комбинаторикой или полным перебором (Я так понял, что это задача о рюкзаке, с некоторыми наворотами), но при каждом увеличении альтернатив время работы алгоритма при этом возрастает в разы.
M> Потом еще прочитал, что такую задачу решают методами динамического программирования — при этом количество альтернатив может быть достаточно большим. Не подскажите, какие материалы (книги) стоит почитать для решения такой задачи. Вот собираюсь идти в библиотеку. А можт есть уже готовые компоненты или библиотеки для решения подобных задач. Если что, то я пишу эту прогу на Object Pascal (Delphi6)
Вообще это выглядит как типичная задача целочисленного (линейного) программирования. Задача NP-трудная (как и задача о рюкзаке), решать можно разными способами, в т.ч. и динамическим программированием. Поищите в Яндексе по "целочисленное программирование". Например:
http://www.karelia.ru/psu/Faculties/Forest/courses/decision/chap4_a.htm
По "бумажным" книгам подсказать не могу — их очень много, лучше посмотрите на месте по теме "целочисленное программирование".
Насчет готовых компонент, к сожалению, не знаю.