Специфика метода динамического программирования.
Министерство образование и науки Российской Федерации
Московский Авиационный Институт
(Национальный Исследовательский Университет)
Факультет № 1: ”Авиационная техника”.
Кафедра: “Внешнее проектирование
и эффективность авиационных
комплексов”.
Специальность: ”Моделирование и
исследование операций в
организационно – технических
системах”.
Курсовая работа
По Численному моделированию задач специальности.
“Решение целочисленной задачи нелинейного программирования методом динамического программирования ”.
Выполнилстудент гр.01-316
Секретарёв Максим Дмитриевич
ПринялГорлов Валентин
Михайлович
Москва
Содержание
1)Постановка задачи………………………………………………………стр.2
2)Теория………………………………………………………………………….стр.3
Технология системного моделирования…………………..стр.3
А)Динамическое программирование………………….…стр.3
Б)Специфика метода динамического
программирования…………………………………………….стр.4
В)Сущность подхода динамического
программирования……………………………………………..стр.5
Г)Принцип оптимальности и уравнение
Беллмана………………………………………………………………стр.6
Е)Решение многошаговых задач оптимизации
методом динамического программирования..…стр.10
3)Решение поставленной задачи………………………………….стр.15
4)Решение контрольного варианта………………………………стр.19
5)Решение поставленной задачи, с измененными исходными данными…………………………………………………….стр.21
Постановка задачи.
Вариант №9.
Решить задачу методом динамического программирования.
Составить оптимальный план использования однотипных поисковых средств, если задана вероятность обнаружение объекта в – ом районе одним поисковым средством. Известно, что объект может находиться в одном из районов поиска с вероятностью .
Пусть - количество средств, назначаемых в - й район поиска. В этом случае вероятность обнаружения объекта в – ом районе , а математическое ожидание обнаружения объекта определяется:
.
Необходимо максимизировать при ограничениях:
,
- целые,
.
Исходные данные:
N=13
| J=3
|
| 0.225
|
| 0.426
|
| 0.527
|
| 0.127
|
| 0.323
|
| 0.528
|
Для проверки сделать контрольный расчет для варианта (из лекций).
Сделать расчеты для заданного , для и . Результаты свести в таблицу.
Теория.
Технология системного моделирования.
Динамическое программирование.
В пятидесятые годы прошлого века был развит новый общий метод решения оптимизационных задач динамического программирования. Динамическое программирование представляет собой математический метод оптимизации решений, приспособленный для исследования многошаговых (многоэтапных) операций.
Рассмотрим некоторую физическую систему, которая может с течением времени менять свое состояние. Пусть в любой момент времени ей соответствует некоторый вектор состояния . Обычно вектор – многомерный, состоящий из конечного набора величин – называемых переменными состояния.
Будем считать, что система из одного состояния в другое переходит за счет управления. То есть всю систему мероприятий, с помощью которой система меняет свое состояние во времени, обозначим вектором . Вектор нужно выбрать так, что бы система , то есть ее состояние, изменилось в некотором заранее предписанном образе.
С процессом изменения состояния системы обычно связано некоторая оценка выраженная числом или численно с помощью критерия , который зависит от состояния системы и принятого управления .
.
Для постановки задачи оптимизации необходимо еще учесть условия, накладываемые на начальное состояние и конечное состояние . В простейшем случае оба эти состояния полностью заданы.
В других задачах эти состояния могут быть ограничены заданием области начальных данных (состояний) и области конечных значений .
В общем виде задача оптимального управления формулируется следующим образом:
Из множества возможных уравнений найти такое уравнение , которое переводит систему из начального состояния в конечное состояние так, что бы критерий принимал максимальное значение.
Специфика метода динамического программирования.
Специфика метода динамического программирования заключается в том, что задача отыскания ОУ управляемый процесс разделяется на ряд последовательных “этапов” (шагов). Решения многих задач существенно упрощается если развернуть процесс поэтапно, то есть методом динамического программирования.
Идея метода заключается в том, что бы отыскания максимума сложной функции многих переменных свести к операции - последовательной максимизации функции одной переменной. То есть вместо того, что бы один раз решать сложную задачу, мы предпочитаем много раз решать задачу относительно более простую.
.
В основе метода динамического программирования лежит принцип оптимальности, сформулированный Беллманом Р. для широкого круга процессов или систем, сформулированный следующим образом:
Оптимальная стратегия обладает тем свойством, что каковыми бы не были начальные состояния и начальные решения, последующие решение должно составлять оптимальную стратегию лишь относительно состояния рассматриваемое в данный момент времени.
Другими словами оптимальная стратегия не зависит от “предыстории” системы и определяется ее состоянием в данный момент времени. Принцип оптимальности динамического программирования не предполагает, что выбирая управление на данном шаге можно забыть обо всех остальных. Напротив, управление на каждом шаге должно выбираться с учетом его последствий.
Общее правило формулирования управления таково: в процессе многошагового планирования управление на каждом шаге должно приниматься с учетом “будущего”, однако среди всех шагов существует такой, на который это правило не распространяется. На последний шаг, единственный из всех, можно планировать так, что бы он приносил наибольшее приращение критерия .
Спланировав его оптимально, можно к нему “пристроить” предпоследний, к этому в свою очередь еще предпоследний, и.т.д. Поэтому процесс динамического программирования удобно разворачивать в возвратном времени. То есть с конца процесса к началу. Оптимальное управление на предпоследнем шаге зависит от того, каково было возможное состояние оптимального управления на последнем шаге.
Необходимо выбрать такое управление, которое переводило бы систему в конечное состояние и при этом позволяло бы получить максимальное приращение функции . Таким образом, мы получаем, что последний шаг спланирован для любого исхода предпоследнего шага. Планирование на шаге зависит от того, какие оптимальные шаги были сделаны на предыдущих шагах . Планирование управления в динамическом программировании зависит от того, какие управления были выбраны на предыдущих шагах .
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|