Применение метода динамического программирования в задачах принятия решений

Автор работы: Пользователь скрыл имя, 15 Октября 2014 в 16:47, контрольная работа

Краткое описание

1. Основные понятия и определения.
2. Общая схема решения функционального уравнения Беллмана.

Прикрепленные файлы: 1 файл

5fan_ru_Применение метода динамического программирования в задачах принятия решений.docx

— 26.55 Кб (Скачать документ)

 

 

Применение метода динамического программирования в задачах принятия решений.

1. Основные понятия и определения.

2. Общая схема решения функционального уравнения Беллмана.

 

1. Основные понятия и определения метода динамического программирования.

Динамическое программирование представляет собой совокупность процедур, используемых для оптимизации многошаговых процессов принятия решений. Вопросы динамического программирования были освещены в работах известных ученых (Вальда, Гирши), однако основной вклад в развитие теории многошаговых процессов внес американский математик Ричард Эрнст Беллман.

Беллманом был сформулирован принцип оптимальности и получено функциональное уравнение. Кроме того Беллман разработал схемы принятия решений на основе принципа оптимальности для многочисленных оптимизационных задач. Концептуально динамическое программирование применяется для анализа систем, которые характеризуются следующими признаками:

- процесс функционирования  системы включает последовательные  этапы, текущие этапы i, конечный этап m.

- на i-м шаге управляющее воздействие переводит систему из состояния Si-1, которое достигнуто на i-1 этапе в состояние Si.

- предполагается, что для  системы выполняется принцип  отсутствия последействия. Суть  этого принципа заключается в  том, что состояние Si зависит только от состояния системы на предыдущем этапе, то есть на Si-1, а так же зависит от управляющего воздействия Ui. И не зависит от предыдущих состояний системы и предыдущих управляющих воздействий.

- так же известна частная целевая функция или локальная Wi(Si, Ui), которая определяет значение критерия оптимальности, получаемого при применении на i-м этапе управляющего воздействия Ui и при нахождении системы в состоянии Si.

 

Критерий оптимальности функционирования системы за m этапов равен сумме локальных частных критериев, полученных на каждом из этапов.

Таким образом, при решении задач методом динамического программирования необходимо найти такой вектор управлений u=(u1,…ui…um), который обеспечит максимизацию суммарного критерия оптимальности.

Понятия таких терминов динамического программирования как этап, состояние системы, управляющее воздействие и локальный критерий оптимальности зависят от предметной ориентации системы. Для организационно-экономических систем в качестве этапов могут выступать интервалы планирования (год, квартал, месяц). В качестве состояний могут выступать наличие свободных финансовых средств на каждом этапе. Управляющее воздействие может быть представлено возможными вариантами инвестирования финансовых средств на каждом этапе. Локальный критерий оптимальности или локальный доход – это может быть прибыль, получаемая на каком-то этапе. Суммарный критерий оптимальности – это суммарная прибыль.

Если применить метод динамического программирования для дискретной системы принятия решений, например для задачи коммивояжера, под этапами можно понять переезд бригады между пунктами.

Для решения задач принятия решений методом динамического программирования может быть использовано два подхода:

- Первый подход предполагает, что одновременно находятся компоненты вектора управления для всех компонентов решения. Это метод глобальной оптимизации. Этот метод имеет существенный недостаток, который заключается в том, что при большой размерности вектора управления, существенно возрастают объем и трудоемкость вычислений.

- Второй подход базируется на нахождении оптимального управления последовательно для каждого из этапов. При этом если находить оптимальное воздействие для первого этапа и не учитывать при этом влияние управляющего воздействия на последующие решения, то итоговое оптимально решение может существенно отличаться от локального оптимального решения.

Классическая идея динамического программирования основана на реализации алгоритма обратной прогонки. W=

Суть этой идеи состоит в том, что в качестве этапа, для которого на первом шаге определяется локальное оптимальное управляющее воздействие. При таком подходе является неизвестным состояние, в котором может оказаться система перед началом выполнения последнего этапа. Поэтому локальное оптимальное управление необходимо рассматривать для всех возможных состояний, в которых может находиться система.

Как только мы определили локальные оптимальные управляющие воздействия для всех возможных состояний, начинается процесс оптимизации управления на предпоследнем этапе. Далее для каждого состояния предпоследнего этапа определяется оптимальное управляющее воздействие и эта процедура повторяется для всех последующих этапов в обратном порядке. Оптимальное решение для первого этапа определяется с учетом найденных оптимальных решений для последующих этапов.

2. Общая схема решения функционального уравнения.

Суть принципа Беллмана состоит в следующем:

Каково бы ни было состояние системы на i-м этапе, управляющее воздействие должно быть выбрано из условия, что на последующих этапах управление будет оптимальным. Дословно формулировка предложенная Беллманом звучит следующим образом: оптимальное поведение обладает тем свойством, что каковы бы ни были первоначальные состояния и решения в начальный момент, последующие решения должны составлять оптимальное поведение относительно состояния полученного в результате первого решения.

Современная трактовка: Допущенную ошибку на начальных этапах нельзя исправить на последующих этапах решения.

Общая схема решения задач на основе принципа Беллмана предполагает формальное определение основных понятий процесса управления.

Первое понятие: этапы – количество этапов конечно. Качественное определение этапа зависит от природы системы и эти этапы связаны с процессом временной либо логической последовательности принятия решения.

Второе понятие: состояние системы – это набор параметров, который однозначно характеризует поведение системы. Состояние системы должно быть описано с той степени подробности, которая позволяет провести оценку текущих альтернативных решений.

Управление: это целенаправленное управляющее воздействие на i-м этапе принятия решения.

Условное оптимальное управление – наилучшая стратегия для каждого из состояний.

Оператор перехода – определяет условия перехода из одного состояния в другое, из состояния S в состояние S’. S’=

Локальный критерий оптимальности – это значение критерия оптимальности (величина прибыли), получаемое от функционирования системы на i-м этапе при условии, что система находилась в состоянии S и была выбрано управляющее воздействие Ui.

Условный суммарный критерий оптимальности – это значение критерия оптимальности (суммарный оптимальный доход), полученный от функционирования системы на i, i+1 и т.д. этапах работы.

Таким образом, с учетом принятых определений суммарный критерий оптимальности на i-м этапе для состояния S – это максимум суммы локального критерия.

В соответствии с алгоритмом обратной прогонки, решение функционального уравнения начинается с последнего этапа принятия решения, то есть полагается, что i=m. Тогда суммарная оптимальность будет определяться выражением.

 

 В результате решения  уравнения находится условное  оптимальное управление для каждого  состояния Um(S) и условный критерий оптимальности W(S). Найденные значения управляющего воздействия используются для решения функционального уравнения Беллмана при i=m-1.

 

В результате решения уравнения находится условное оптимальное управление Um(S) и условный критерий оптимальности W(S) на m-1 этапе. Таким образом, последовательное решение уравнения Беллмана позволяет определить пары условных оптимальных воздействий и условных оптимальных критериев на каждом шаге.

Для того, чтобы определить полное состояние системы, необходимо задать начальное состояние S0 и определить оптимальное управляющее воздействие U1(S0). После этого можно найти состояние системы исходя из этих данных.

 – переход из 0-го в 1-е состояние

  Формируем цепочку оптимальных состояний. Она выглядит следующим образом:

 

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

В задаче динамического программирования при использовании схемы прямой прогонки функциональное уравнение Беллмана имеет следующий вид:

 

- оператор обратного перехода устанавливающий состояние предыдущего этапа. Если провести аналогию с графом при разработке, то алгоритм прямой прогонки основан на том, что рассматриваются дуги, кратчайшие пути для которых известны.


Информация о работе Применение метода динамического программирования в задачах принятия решений