Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Модели динамического программирования



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

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

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

Постановку задачи (ДП) рассмотрим на примере инвестирования, связанного с распределением средств между предприятиями. В результате управления инвестициями система последовательно переводится из начального состояния S0 в конечное Sn. предположим, что управление можно разбить на n шагов и решение принимается последовательно на каждом шаге, а управление представляет собой совокупность n пошаговых управлений. На каждом шаге необходимо определить два типа переменных – переменную состояния системы Sk и переменную управления Хk. все Хk должны удовлетворять некоторым ограничениям.

Допустим, Х = (х12,… хn) – управление, переводящее систему из состояния S0 в состояние Sn, а состояние Sk - есть состояние системы на к-ом шаге управления. Тогда последовательность состояний системы можно представить в виде графа:

x1 x2 xk xk+1 xn

Рис.1.

Применение управляющего воздействия хk на каждом шаге переводит систему в новое состояние S1(S,xk) и приносит некоторый результат Wk(S,xk), для каждого возможного состояния на каждом шаге среди всех возможных управлений выбирается оптимальное управление х*k, такое, чтобы результат, который достигается за шаги с к – го по последний n – ный, оказался бы оптимальным. Числовая характеристика этого результата называется функцией Беллмана Fk(S) и зависит от номера шага к и состояния системы S.

Задача (ДП) формулируется следующим образом: требуется найти такое управление Х*,переводящее систему из начального состояния S0 в конечное состояние Sn, при котором целевая функция принимает наибольшее (наименьшее) значение

F(S0,X*)-->extr

Особенности математической модели (ДП) заключаются в следующем:

1) задача оптимизации формулируется как конечный многошаговый процесс управления;

2) целевая функция (выигрыш) является аддитивной и равна сумме целевых функций каждого шагa:

n

F=SF(Sk-1,xk)-->extr

k=1

3) выбор управления хk на каждом шаге зависит только от состояния системы к этому шагу Sk-1 и не влияет на предшествующие шаги (нет обратной связи).

4) состояние системы Sk после каждого шага управления зависит только от предшествующего состояния системы Sk-1 и этого управляющего воздействия хk (отсутствие последействия) и может быть записано в виде уравнения состояния:

Sk=fk(Sk-1,xr), k=1,n

5) на каждом шаге управление хk зависит от конечного числа управляющих переменных, а состояние системы Sk зависит от конечного числа параметров.

6) оптимальное управление представляет собой вектор Х*, определяемый последовательностью оптимальных пошаговых управлений: Х* = (х*1*2,… х*k,… х*n), число которых и определяет количество шагов задачи.

2.2.2. Принцип оптимальности и математическое описание динамического процесса управления

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

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

Условная оптимизация

Определяются функция Беллмана и оптимальные управления для всех возможных состояний на каждом шаге, начиная с последнего в соответствии с алгоритмом обратной прогонки. На последнем, n-ом шаге оптимальное управление -- х*n определяется функцией Беллмана

F(S)=max{Wn(S,xn)} xkÎX

В соответствии с которой максимум выбирается из всех возможных значений х, причем xkÎX.

Дальнейшие производятся согласно рекуррентному соотношению:

Fn(S)=max{Wn(S,xn)+Fk+1(S1(S,xk))} xkÎX

Этот максимум (или минимум) определяется по всем возможным для к и S значениям переменной управления Х.

Безусловная оптимизация.

Пользуясь тем, что на первом шаге (к=1) состояние системы известно – это ее начальное состояние S0, можно найти оптимальный результат за все n шагов и оптимальное управление на первом шаге х1, после применения этого управления система перейдет в другое состояние S1(S,x*1), зная которое можно, пользуясь результатами условной оптимизации, найти оптимальное управление на втором шаге х*2, и так далее до последнего n-го шага.





Дата публикования: 2015-03-26; Прочитано: 1577 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...