программирование. Лекция №9. Динамическое программирование
Скачать 304.57 Kb.
|
ТЕМА: ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Лекция №9 Основные понятия (определения)
Содержание задачи ДПЗависимость элементов динамики друг от друга. Такая зависимость может быть прямо дана в условии (так часто бывает, если это задача на числовые последовательности). В противном случае вы можете попытаться узнать какой-то известный числовой ряд (вроде тех же чисел Фибоначчи), вычислив первые несколько значений вручную. Если вам совсем не повезло – придётся думать Значение начальных состояний. В результате долгого разбиения на подзадачи вам необходимо свести функцию либо к уже известным значениям (как в случае с Фибоначчи — заранее определены первые два члена), либо к задаче, решаемой элементарно. Прародитель динамического программированияРичард Эрнст Беллман 1940-х годах Основные свойства задач ДП
Принцип оптимальности Беллмана
на котором достигается минимальное значение функционала H при заданных ограничениях, называется оптимальным управлением процесса из начального состояниях0.Уравнения БеллманаРешение уравнения Беллмана
Примеры задач ДП
Примеры задач ДПГрафы и деревья
Задача о размене монет или количество способов вернуть сдачуПример. Кратчайший путь
Решение задачи методом динамического программирования (два этапа). 2. Двигаясь от начального пункта A до конечного L по отмеченным дорогам, находим наикратчайший маршрут ADFKL 1. Двигаясь от конечного пункта L к начальному пункту A, помещаем в каждую вершину графа наикратчайшее расстояние от неё до конечной вершины L и отмечаем на карте соответствующую дорогу Пример. Распределение инвестиций
Этап 1
Этап 2Строится таблица распределения денежных средств между первыми двумя предприятиями.
Остальные клетки таблицы заполняются суммированием соответствующих значений заголовков строк и столбцов.Сравниваем содержимое ячеек таблицы с одинаковым объемом инвестиций, включая ячейки первой строки и левого столбца. Содержимое ячеек с максимальной прибылью отмечаем звездочкой.
Этап 3
В первой строке помещаем данные ячеек со звездочками из таблицы второго этапа. В левом столбце показаны инвестиции и ожидаемая прибыль третьего предприятия из таблицы исходных данных. Заполняем остальные ячейки таблицы, суммируя левую и правую части содержимого исходных ячеек. Но третье предприятие является последним в списке, поэтому в соответствии с правилами решения задачи заполняем только те ячейки, в которых левая часть равна объему распределяемых инвестиций (500 у.е.). Результаты расчетов
Выполняем анализ полученных результатов: Из таблицы третьего этапа следует, что максимальная прибыль может быть получена, если третьему предприятию выделить 200 у.е., прибыль 41 у.е. Оставшийся объем распределяемых инвестиций составляет 300 у.е. Из таблицы второго этапа следует, что при распределении 300 у.е. ожидаемая максимальная прибыль составляет 62 у.е., что достигается, если второму предприятию выделить 100 у.е. При этом вклад второго предприятия в максимальную прибыль составит 18 у.е., а оставшийся объем распределяемых инвестиций равен 200 у.е. Из таблицы первого этапа следует, при выделении оставшихся средств первому предприятию, будет получена прибыль 44 у.е. Таким образом, распределение инвестиций завершено. Оптимальное решение показано в итоговой таблице. |