Уравнение беллмана простым языком + видео обзор

Уравнение беллмана простым языком

Принцип оптимальности. Уравнение Беллмана

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

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

Выбрав оптимальное управление Уравнение беллмана простым языкомна оставшихся Уравнение беллмана простым языкомшагах, получим величину Уравнение беллмана простым языком, которая зависит только от Уравнение беллмана простым языком, то есть Уравнение беллмана простым языком.

Уравнение беллмана простым языком,

Уравнение беллмана простым языком, (1)

получившего название основного функционального уравнения динамического программирования, или основного рекуррентного уравнения Беллмана.

Из уравнения (1) может быть получена функция Уравнение беллмана простым языком, если известно функция Уравнение беллмана простым языком. Аналогично можно получить Уравнение беллмана простым языком, если известно Уравнение беллмана простым языкоми т. д., пока не будет определена величина Уравнение беллмана простым языком, представляющая по определению максимальное значение показателя эффективности процесса в целом:

Уравнение беллмана простым языком.

Если начальное состояние Уравнение беллмана простым языкомзадано Уравнение беллмана простым языком, то непосредственно

определяют максимум целевой функции

Уравнение беллмана простым языком,

Уравнение беллмана простым языком. (2)

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

Уравнение беллмана простым языком,

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

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

Уравнение беллмана простым языком.

Уравнение беллмана простым языком;

Уравнение беллмана простым языком.

В результате решения этих уравнений получим последовательности

Уравнение беллмана простым языком; Уравнение беллмана простым языком.

Далее определим безусловное оптимальное управление по цепочке

Уравнение беллмана простым языком.

Источник

Уравнение Беллмана

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

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

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

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

Уравнение беллмана простым языкомЭто заготовка статьи о программировании. Вы можете помочь проекту, дополнив её.

Что такое wiki2.info Вики является главным информационным ресурсом в интернете. Она открыта для любого пользователя. Вики это библиотека, которая является общественной и многоязычной.

Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License.

Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. wiki2.info является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).

Источник

Динамическое программирование, принцип Беллмана, схема метода.

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

ДП является инструментом приведения многомерных задач к многошаговым одномерным (меньшей размерности).

Решение – не точечная акция (во времени и пространстве), а последовательность шагов (этапов), на каждом из которых принимается некоторое решение, определяющее изменение состояния системы на каждом шаге.

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

· оптимизация маршрутов на сетях;

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

Имеется система S, которая переходит из начального состояния S0 в конечное состояние S­m под воздействием вектора управлений U. В развернутом виде это выглядит:

Уравнение беллмана простым языком

Уравнение беллмана простым языком

Где Уравнение беллмана простым языком– вектор управлений.

Все эти переходы можно представиться как траекторию в фазовом пространстве:

Уравнение беллмана простым языком

(Рисунок рассмотрен для случая, когда состояния системы описываются двумерным вектором).

Управление тоже может описываться вектором.

Через Уравнение беллмана простым языком– будем обозначать доход на переходе Уравнение беллмана простым языком, Уравнение беллмана простым языком— функция перехода состояний. Интересующий нас выигрыш – Уравнение беллмана простым языком

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

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

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

Рассмотрим последовательность переходов состояний в виде следующей схемы:

Уравнение беллмана простым языком

Доход на i – м шаге: Уравнение беллмана простым языком. Уравнение беллмана простым языком– наилучшая эффективность при движении из Si в Sm– называется Условно Оптимальным Выигрышем (УОВ). УОВ зависит только от состояния, это непосредственно вытекает из формулы для УОВ. Управление, при котором достигается УОВ называется Условно Оптимальным Управлением (УОУ) и обозначается Уравнение беллмана простым языком.

Назовем конструкцию Уравнение беллмана простым языком– полуоптимальным выигрышем (ПОВ). В таком случае УОВ на i-м шаге будет иметь вид (Уравнение Беллмана):

Уравнение беллмана простым языком

где ui – все возможные управления на i-м шаге, Si – получается из функции перехода состояний Уравнение беллмана простым языком.

Реализация вышеописанных идей предполагает 2 этапа:

1. Обратная прогонка.

m-й шаг: Уравнение беллмана простым языком

Уравнение беллмана простым языком, где Уравнение беллмана простым языком– множество возможных «предпоследних» состояний. Уравнение беллмана простым языком— УОУ.

m-1-й шаг: Уравнение беллмана простым языком

Уравнение беллмана простым языком, где Уравнение беллмана простым языком. Уравнение беллмана простым языком– УОУ. УОВ Уравнение беллмана простым языком– полученна предыдущем шаге.

i-йшаг: Уравнение беллмана простым языком

Уравнение беллмана простым языком, где Уравнение беллмана простым языком. Уравнение беллмана простым языком– УОУ.

1-йшаг: Уравнение беллмана простым языком

Уравнение беллмана простым языком, где Уравнение беллмана простым языком. Уравнение беллмана простым языком– УОУ.

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

Уравнение беллмана простым языком

Уравнение беллмана простым языком

35. Динамическое программирование. Задача распределения капиталовложений (ресурсов).

Уравнение беллмана простым языком

Уравнение беллмана простым языком

Для решения задачи данной задачи необходимо:

· решить, что есть управление;

· сформировать оценки управлений.

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

Уравнение беллмана простым языком

Уравнение беллмана простым языком

с учетом требования к трате всего ресурса на последнем шаге получаем:

Источник

Принцип оптимальности и уравнения Беллмана

Уравнение беллмана простым языком Уравнение беллмана простым языком Уравнение беллмана простым языком Уравнение беллмана простым языком

Уравнение беллмана простым языком

Уравнение беллмана простым языком

Принцип оптимальности впервые был сформулирован Ричардом Эрнестом Беллманом в 1953 г. (в трактовке Е.С. Вентцель):

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

Р.Э. Беллманом были сформулированы и условия, при которых принцип верен. Основное требование ­– процесс управления должен быть без обратной связи, т.е. управление на данном шаге не должно оказывать влияния на предшествующие шаги.

Рассмотрим общую задачу динамического программирования, приведенную выше. На каждом шаге кроме последнего для любого состояния системы sk-1 управленческое решение Xk необходимо выбирать «с оглядкой», так как этот выбор влияет на последующее состояние системы sk.

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

Рассмотрим последний n-й шаг:

sn-1 – состояние системы к началу n-го шага;

sn – конечное состояние системы;

Согласно принципу оптимальности, Xn нужно выбирать таким образом, чтобы для любых состояний системы sn-1 получить оптимум целевой функции на этом шаге.

Уравнение беллмана простым языкомназывают условным максимумом целевой функции на n-ом шаге, и определяют по следующей формуле:

Уравнение беллмана простым языком. (11.5)

Максимизация ведется по всем допустимым управлениям Xn.

Решение Xn, при котором достигается Уравнение беллмана простым языком, также зависит от sn-1 и называется условным оптимальным решением на n-ом шаге. Обозначим его через Уравнение беллмана простым языком.

Решив одномерную задачу локальной оптимизации по уравнению (11.5), определим для всех возможных состояний sn-1 две функции Уравнение беллмана простым языкоми Уравнение беллмана простым языком.

Рассмотрим двухшаговую задачу: присоединим к n-му шагу (n–1)-й.

Для любых состояний sn-2, произвольных управленческих решений Xn-1 и оптимальном управлении на n-ом шаге значение целевой функции на двух последних шагах вычисляется по формуле:

Уравнение беллмана простым языком. (11.6)

Согласно принципу оптимальности Беллмана для любых sn-2 решение нужно выбирать так, чтобы оно вместе с оптимальным управлением на последнем (n-ом) шаге приводило бы к оптимуму целевой функции на двух последних шагах. Следовательно, необходимо отыскать оптимум выражения (11.6) по всем допустимым управленческим решениям Xn-1:

Уравнение беллмана простым языком. (11.6)

Уравнение беллмана простым языком– называют условным максимумом целевой функции при оптимальном управлении на двух последних шагах. Необходимо отметить, что выражение в фигурных скобках в формуле (11.6), зависит только от sn-2 и Xn-1, так как sn-1 можно найти из уравнения состояний (11.1) при Уравнение беллмана простым языком:

Уравнение беллмана простым языком. (11.7)

Соответствующее управление Xn-1 на (n–1)-ом шаге обозначается через Уравнение беллмана простым языкоми называют условным оптимальным управлением на (n–1)-ом.

Аналогично определяются условные оптимумы целевой функции при оптимальном управлении на (nk+1) шагах, начиная с k-го до конца, при условии, что к началу k-го шага система находилась в состоянии sk-1:

Уравнение беллмана простым языком. (11.8)

Управление Xk на k-ом шаге, при котором достигается максимум по (11.8), обозначается Уравнение беллмана простым языкоми называется условным оптимальным управлением на k-ом шаге.

Уравнения (11.5) и (11.8) называют рекуррентными уравнения Беллмана (обратная схема). Процесс решения данных уравнений называют условной оптимизацией.

В результате условной оптимизации получаются две последовательности:

Уравнение беллмана простым языком, Уравнение беллмана простым языком, …, Уравнение беллмана простым языком, Уравнение беллмана простым языком– условные максимумы целевой функции на последнем, двух последних, …, на n шагах;

Уравнение беллмана простым языком, Уравнение беллмана простым языком, …, Уравнение беллмана простым языком, Уравнение беллмана простым языком– условные оптимальные управления на n-ом, (n–1)-ом, …, на 1-ом шагах.

Используя данные последовательности, можно найти решение задачи динамического программирования при данных n и s0:

Уравнение беллмана простым языком

Уравнение беллмана простым языком

В результате получаем оптимальное решение задачи динамического программирования: Уравнение беллмана простым языком.

Аналогично рассуждая, можно выстроить и прямую схему условной оптимизации:

Уравнение беллмана простым языком, (11.9)

Уравнение беллмана простым языком. (11.10)

Оптимальное решение задачи в данном случае находится по следующей схеме:

Уравнение беллмана простым языком

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

1. Выбирают способ деления процесса управления на шаги.

2. Определяют параметры состояния sk и переменные управления Xk на каждом шаге, записывают уравнения состояний.

3. Вводят целевые функции k-ого шага и суммарную целевую функцию, а также условные оптимумы Уравнение беллмана простым языкоми условное оптимальное управление на k-ом шаге Уравнение беллмана простым языком( Уравнение беллмана простым языком).

4. Записывают в соответствии с обратной или прямой схемой рекуррентные уравнения Беллмана и после выполнения условной оптимизации получают две последовательности: < Уравнение беллмана простым языком> и < Уравнение беллмана простым языком>.

5. Определяют оптимальное значение целевой функции Уравнение беллмана простым языкоми оптимальное решение Уравнение беллмана простым языком.

Источник

Видео

Поделиться или сохранить к себе:
Технологии | AltArena.ru
Добавить комментарий

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