Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Общая постановка задачи динамического программирования




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

Динамическое программирование (ДП) – метод оптимизации, приспособленный к операциям, в которых процесс принятия решения может быть разбит на этапы (шаги). Такие операции называются многошаговыми. Начало развития ДП относится к 50-м годам ХХ в. Оно связано с именем американского математика Р.Э. Беллмана.

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

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

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

Для процессов с непрерывным временем ДП рассматривается как предельный вариант дискретной схемы решения. Получаемые при этом результаты практически совпадают с теми, которые получаются методами максимума Л. С. Понтрягина или Гамильтона-Якоби-Беллмана.

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

Постановку задачи динамического программирования рассмотрим на примере инвестирования, связанного с распределением средств между предприятиями. В результате управления инвестициями система последовательно переводится из начального состояния S 0 в конечное Sn. Предположим, что управление можно разбить на n шагов и решение принимается последовательно на каждом шаге, а управление представляет собой совокупность n пошаговых управлений. На каждом шаге необходимо определить два типа переменных: переменную состояния системы Sk и переменную управления хk. Переменная Sk определяет, в каких состояниях может оказаться система на рассматриваемом k -м шаге. В зависимости от состояния S на этом шаге можно применить некоторые управления, которые характеризуются переменной хk, которые удовлетворяют определенным ограничениям и называются допустимыми.

Допустим, X = (x1, x2, …, xk, …, xn) – управление, переводящее систему из состояния S 0 в состояние Sn, a Sk – есть состояние системы на k -м шаге управления.

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

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

F (S 0, X*) → extr.

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

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

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

;

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

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

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

6) оптимальное управление представляет собой вектор X*, определяемый последовательностью оптимальных пошаговых управлений:

X* = (, , …, , …, ), число которых и определяет количество шагов задачи.





Поделиться с друзьями:


Дата добавления: 2016-10-30; Мы поможем в написании ваших работ!; просмотров: 2078 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Велико ли, мало ли дело, его надо делать. © Неизвестно
==> читать все изречения...

2460 - | 2139 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.