Прога

From
Anton Kuznetsov (2:5030/566.13)
To
Boris Sivko
Date
2002-12-03T21:12Z
Area
RU.ALGORITHMS
                Всех тебе благ, Boris!


 RT>> 2. Имеется M различных предметов, известны вес каждого предмета и его
 RT>> стоимость. Определить какие предметы надо выбрать, чтобы общий вес не
 RT>> превышал 50, а стоимость общая стоимость была максимальна.
 BS> Эвристика: жадный алгоритм.

 Ну она совсем плохая для примера:

 вес цена
 49  49
 25  25
 25  25

 Это не работает...

 BS> Наверняка: полный перебор с отсечениями.

 Ну вообщем метод ветвей и границ...

 Рекурсия... По всем элементам и для каждого смотришь брать или нет, а если
взять и сумма веса перевалит за 50 - то вылезаешь... + зная текущее
максимальное значение стоимости скажем К и сумму того что получается на данный
момент О смотришь если попытаться добить оставшийся вес предметом с
максимальной плотностью (отношение цены к массе), то получится меньше К - то
тоже вылезаешь...

 А вообще в любой нормальной книжке это называется "Задача про Рюкзак" - и в
любой книжке она разобрана...

                            До свидания, Boris!
 * Origin: ФТШ - школа наша! (2:5030/566.13)