Уравнение Беллмана в динамическом программировании
Bellman equation
Уравнение Беллмана – необходимое условие оптимальности в динамическом программировании. Разложение сложных задач на подзадачи, применение в экономике и инженерии.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Необходимое условие оптимальности, связанное с динамическим программированием
Necessary condition for optimality associated with dynamic programming
Уравнение Беллмана, названное в честь Ричарда Э. Беллмана, является необходимым условием оптимальности, связанным с математическим методом оптимизации, известным как динамическое программирование. Оно выражает "значение" задачи принятия решения в определенный момент времени через выигрыш от некоторых начальных решений и "значение" оставшейся задачи принятия решения, возникающей в результате этих начальных решений. Это разбивает задачу динамической оптимизации на последовательность более простых подзадач, как предписывает "принцип оптимальности" Беллмана. Уравнение применимо к алгебраическим структурам с полным порядком; для алгебраических структур с частичным порядком можно использовать обобщенное уравнение Беллмана. Уравнение Беллмана впервые было применено к теории управления и другим областям прикладной математики, а затем стало важным инструментом в экономической теории; хотя базовые концепции динамического программирования были предвосхищены в «Теории игр и экономического поведения» Джона фон Неймана и Оскара Моргенштерна и в последовательном анализе Авраама Вальда. Термин «уравнение Беллмана» обычно относится к уравнению динамического программирования, связанному с задачами оптимизации в дискретное время. В задачах оптимизации в непрерывное время аналогичным уравнением является частное дифференциальное уравнение, называемое уравнением Гамильтона — Якоби — Беллмана. В дискретное время любая многоэтапная задача оптимизации может быть решена путем анализа соответствующего уравнения Беллмана. Соответствующее уравнение Беллмана можно найти, вводя новые переменные состояния (расширение состояния). Однако, полученная многоэтапная задача оптимизации с расширенным состоянием имеет пространство состояний большей размерности, чем исходная многоэтапная задача оптимизации – проблема, которая потенциально может сделать расширенную задачу неразрешимой из-за «проклятия размерности». В качестве альтернативы было показано, что если функция стоимости многоэтапной задачи оптимизации удовлетворяет структуре "обратной отделимости", то соответствующее уравнение Беллмана можно найти без расширения состояния.
A Bellman equation, named after Richard E. Bellman, is a necessary condition for optimality associated with the mathematical optimization method known as dynamic programming. It writes the "value" of a decision problem at a certain point in time in terms of the payoff from some initial choices and the "value" of the remaining decision problem that results from those initial choices. This breaks a dynamic optimization problem into a sequence of simpler subproblems, as Bellman's “principle of optimality" prescribes. The equation applies to algebraic structures with a total ordering; for algebraic structures with a partial ordering, the generic Bellman's equation can be used. The Bellman equation was first applied to engineering control theory and to other topics in applied mathematics, and subsequently became an important tool in economic theory; though the basic concepts of dynamic programming are prefigured in John von Neumann and Oskar Morgenstern's Theory of Games and Economic Behavior and Abraham Wald's sequential analysis. The term 'Bellman equation' usually refers to the dynamic programming equation associated with discrete time optimization problems. In continuous time optimization problems, the analogous equation is a partial differential equation that is called the Hamilton–Jacobi–Bellman equation. In discrete time any multi stage optimization problem can be solved by analyzing the appropriate Bellman equation. The appropriate Bellman equation can be found by introducing new state variables (state augmentation). However, the resulting augmented state multi stage optimization problem has a higher dimensional state space than the original multi stage optimization problem an issue that can potentially render the augmented problem intractable due to the “curse of dimensionality”. Alternatively, it has been shown that if the cost function of the multi stage optimization problem satisfies a "backward separable" structure, then the appropriate Bellman equation can be found without state augmentation.
Методы растворения
Метод неопределенных коэффициентов, также известный как "метод подбора и проверки", может быть использован для решения некоторых уравнений Беллмана с бесконечным горизонтом и автономных систем. Уравнение Беллмана можно решить методом обратной индукции, либо аналитически в нескольких частных случаях, либо численно с помощью компьютера. Численная обратная индукция применима к широкому кругу задач, но может оказаться невозможной при большом количестве переменных состояния из-за "проклятия размерности". Приблизительное динамическое программирование было предложено Д. П. Берцекасом и Дж. Н. Цициклисом с использованием искусственных нейронных сетей (многослойных перцептронов) для аппроксимации функции Беллмана. Это эффективная стратегия снижения влияния размерности, заключающаяся в замене запоминания полного отображения функции для всей области определения на запоминание параметров единственной нейронной сети. В частности, для систем с непрерывным временем был разработан приближенный метод динамического программирования, сочетающий итерации по политике с нейронными сетями. Для систем с дискретным временем был предложен подход к решению уравнения Гамильтона-Якоби-Беллмана (HJB), объединяющий итерации значений и нейронные сети. Вычисляя условия первого порядка, связанные с уравнением Беллмана, а затем используя теорему о конверте для исключения производных функции значения, можно получить систему разностных или дифференциальных уравнений, называемую "уравнениями Эйлера". Затем стандартные методы решения разностных или дифференциальных уравнений могут быть использованы для вычисления динамики переменных состояния и переменных управления в задаче оптимизации.
The method of undetermined coefficients, also known as 'guess and verify', can be used to solve some infinite horizon, autonomous Bellman equations. The Bellman equation can be solved by backwards induction, either analytically in a few special cases, or numerically on a computer. Numerical backwards induction is applicable to a wide variety of problems, but may be infeasible when there are many state variables, due to the curse of dimensionality. Approximate dynamic programming has been introduced by D. P. Bertsekas and J. N. Tsitsiklis with the use of artificial neural networks (multilayer perceptrons) for approximating the Bellman function. This is an effective mitigation strategy for reducing the impact of dimensionality by replacing the memorization of the complete function mapping for the whole space domain with the memorization of the sole neural network parameters. In particular, for continuous time systems, an approximate dynamic programming approach that combines both policy iterations with neural networks was introduced. In discrete time, an approach to solve the HJB equation combining value iterations and neural networks was introduced. By calculating the first order conditions associated with the Bellman equation, and then using the envelope theorem to eliminate the derivatives of the value function, it is possible to obtain a system of difference equations or differential equations called the 'Euler equations'. Standard techniques for the solution of difference or differential equations can then be used to calculate the dynamics of the state variables and the control variables of the optimization problem.
Применение в экономике
Первое известное применение уравнения Беллмана в экономике связано с Мартином Бекманом и Ричардом Мутом. Мартин Бекманн также много писал о теории потребления, используя уравнение Беллмана в 1959 году. Его работа повлияла на Эдмунда Фелпса и других. Известным экономическим применением уравнения Беллмана является основополагающая статья Роберта К. Мертона 1973 года о модели ценообразования активов во времени. (См. также проблему портфеля Мертона). Решение теоретической модели Мертона, в которой инвесторы выбирают между доходом сегодня и будущим доходом или приростом капитала, представляет собой форму уравнения Беллмана. Поскольку экономические приложения динамического программирования обычно приводят к уравнению Беллмана, которое является разностным уравнением, экономисты называют динамическое программирование «рекурсивным методом», и в настоящее время в экономике признается подполе рекурсивной экономики. Нэнси Стоки, Роберт Э. Лукас и Эдвард Прескотт подробно описывают стохастическое и нестохастическое динамическое программирование и разрабатывают теоремы о существовании решений проблем, удовлетворяющих определенным условиям. Они также описывают множество примеров моделирования теоретических проблем в экономике с использованием рекурсивных методов. Эта книга привела к тому, что динамическое программирование стало применяться для решения широкого спектра теоретических проблем в экономике, включая оптимальный экономический рост, добычу ресурсов, проблемы «принципал — агент», государственные финансы, инвестиции в бизнес, ценообразование активов, предложение факторов производства и промышленную организацию. Ларс Люнгквист и Томас Саргент применяют динамическое программирование для изучения различных теоретических вопросов в денежно-кредитной политике, фискальной политике, налогообложении, экономическом росте, теории поиска и экономике труда. Авинаш Диксит и Роберт Пиндик показали ценность этого метода для анализа вопросов капитального бюджетирования. Андерсон адаптировал эту технику для оценки бизнеса, включая частные предприятия. Использование динамического программирования для решения конкретных проблем осложняется информационными трудностями, такими как выбор ненаблюдаемой ставки дисконтирования. Существуют также вычислительные проблемы, главная из которых — «проклятие размерности», возникающее из-за огромного количества возможных действий и потенциальных переменных состояния, которые необходимо учитывать перед выбором оптимальной стратегии. Для подробного обсуждения вычислительных вопросов см. Миранда и Факлер, а также Meyn, 2007.
The first known application of a Bellman equation in economics is due to Martin Beckmann and Richard Muth. Martin Beckmann also wrote extensively on consumption theory using the Bellman equation in 1959. His work influenced Edmund S. Phelps, among others. A celebrated economic application of a Bellman equation is Robert C. Merton's seminal 1973 article on the intertemporal capital asset pricing model. (See also Merton's portfolio problem). The solution to Merton's theoretical model, one in which investors chose between income today and future income or capital gains, is a form of Bellman's equation. Because economic applications of dynamic programming usually result in a Bellman equation that is a difference equation, economists refer to dynamic programming as a "recursive method" and a subfield of recursive economics is now recognized within economics. Nancy Stokey, Robert E. Lucas, and Edward Prescott describe stochastic and nonstochastic dynamic programming in considerable detail, and develop theorems for the existence of solutions to problems meeting certain conditions. They also describe many examples of modeling theoretical problems in economics using recursive methods. This book led to dynamic programming being employed to solve a wide range of theoretical problems in economics, including optimal economic growth, resource extraction, principal–agent problems, public finance, business investment, asset pricing, factor supply, and industrial organization. Lars Ljungqvist and Thomas Sargent apply dynamic programming to study a variety of theoretical questions in monetary policy, fiscal policy, taxation, economic growth, search theory, and labor economics. Avinash Dixit and Robert Pindyck showed the value of the method for thinking about capital budgeting. Anderson adapted the technique to business valuation, including privately held businesses. Using dynamic programming to solve concrete problems is complicated by informational difficulties, such as choosing the unobservable discount rate. There are also computational issues, the main one being the curse of dimensionality arising from the vast number of possible actions and potential state variables that must be considered before an optimal strategy can be selected. For an extensive discussion of computational issues, see Miranda and Fackler, and Meyn 2007.