Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лекция 15. Динамическое программирование




Решение задач нелинейного программирования в системе MATLAB

Для решения задач квадратичного программирования предназначена функция quadprog. Интерфейс quadprog практически не отличается от linprog, за исключением того, что первыми двумя входными параметрами являются массив H и вектор-столбец f, соответствующие матрице Н и вектору f целевой функции. Вместо матриц и векторов отсутствующих ограничений задаются пустые массивы.

 

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

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

Принцип оптимальности Беллмана утверждает, что оптимальный процесс (т.е. оптимальное управление и соответствующая ему оптимальная траектория) для всего периода управления обладает тем свойством, что любая его часть, рассматриваемая на промежутке времени, входящем в исходный промежуток, также представляет собой оптимальный процесс для этого частичного промежутка времени. Иными словами, любая часть опти­мального процесса необходимо является оптимальным процессом.

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

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

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

3) выбор управлений хк на к-м шаге определяется только состоянием системы SK-1 на
предыдущем шаге и не зависит от состояния системы на более ранних этапах управления;

4) состояние Sk на к-м шаге зависит только от предшествующего состояния Sk-1, и управления xk, принимаемого на данном шаге, т.е.

Sk=fk(Sk-1, xk) (1)

Схематически модель динамического программирования иллюстрирует следующая схема:

(2)

Число этапов n, как правило, считается фиксированным, однако в некоторых задачах n может быть неограниченным, что соответствует задаче с бесконечным горизонтом управления.

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

Это означает, что критерий оптимальности (целевая функция) F имеет вид

, (3)

где числовая функция φk оценивает качество управленческого решения на к-м шаге.

Оптимальное управление удовлетворяет следующему принципу оптимальности Беллмана: предположим, что, осуществляя управление, уже выбрана последовательность оптимальных управлений x 1, x2,..., xp, на первых р шагах, которой соответствует последовательность состояний (т.е. траектория) S1, S2,..., Sp. Требуется завершить процесс, т.е. выбрать xp+1.,..., хn (а значит и Sp+1,,..., Sn). Тогда, если завершающая часть процесса не будет максимизировать функцию

(4)

то и весь процесс управления не будет оптимальным. В частности, при р = п - 1 получа­ем требование максимизации функции , зависящей от переменной хn.

На основе принципа оптимальности Беллмана строится система рекуррентных соотношений (уравнения Беллмана):

(5)

где /, - заданная векторная функция соответствующих переменных, к = п,n-1,...,1, которым должен удовлетворять оптимальный процесс.

Максимум в правой части равенства (2) берется по всем управлениям х, допустимым на шаге к. Тем самым, при вычислении на каждом шаге приходится решать семейство задач максимизации функции переменной х, зависящих от состояния Sk-1 на предыдущем (k -1)-м шаге. При этом величина есть оптимальное значение критерия оптимальности.

Вычисление оптимального процесса на основе уравнений Беллмана (2) в каждом конкретном случае может оказаться непростой задачей, требующей навыка и изобретательности.

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




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


Дата добавления: 2017-02-01; Просмотров: 92; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.