Стохастическое программирование

Структура для моделирования задач оптимизации, которые включают неопределенность

В области математической оптимизации стохастическое программирование является структурой для моделирования задач оптимизации , которые включают неопределенность . Стохастическая программа является задачей оптимизации, в которой некоторые или все параметры задачи являются неопределенными, но следуют известным распределениям вероятностей . [1] [2] Эта структура контрастирует с детерминированной оптимизацией, в которой все параметры задачи считаются точно известными. Целью стохастического программирования является поиск решения, которое одновременно оптимизирует некоторые критерии, выбранные лицом, принимающим решения, и надлежащим образом учитывает неопределенность параметров задачи. Поскольку многие реальные решения включают неопределенность, стохастическое программирование нашло применение в широком спектре областей, начиная от финансов и заканчивая транспортом и оптимизацией энергетики. [3] [4]

Методы

Разработано несколько методов стохастического программирования:

Двухэтапное определение проблемы

Основная идея двухэтапного стохастического программирования заключается в том, что (оптимальные) решения должны основываться на данных, доступных на момент принятия решений, и не могут зависеть от будущих наблюдений. Двухэтапная формулировка широко используется в стохастическом программировании. Общая формулировка двухэтапной задачи стохастического программирования имеет вид: где — оптимальное значение задачи второго этапа мин х Х { г ( х ) = ф ( х ) + Э ξ [ В ( х , ξ ) ] } {\displaystyle \min _{x\in X}\{g(x)=f(x)+E_{\xi }[Q(x,\xi )]\}} В ( х , ξ ) {\displaystyle Q(x,\xi )} мин у { д ( у , ξ ) | Т ( ξ ) х + Вт ( ξ ) у = час ( ξ ) } . {\ displaystyle \ min _ {y} \ {q (y, \ xi) \, | \, T (\ xi) x + W (\ xi) y = h (\ xi) \}.}

Классические двухэтапные задачи линейного стохастического программирования можно сформулировать как мин х Р н г ( х ) = с Т х + Э ξ [ В ( х , ξ ) ] при условии А х = б х 0 {\displaystyle {\begin{array}{llr}\min \limits _{x\in \mathbb {R} ^{n}}&g(x)=c^{T}x+E_{\xi }[Q(x,\xi )]&\\{\text{subject to}}&Ax=b&\\&x\geq 0&\end{array}}}

где оптимальное значение задачи второго этапа Q ( x , ξ ) {\displaystyle Q(x,\xi )} min y R m q ( ξ ) T y subject to T ( ξ ) x + W ( ξ ) y = h ( ξ ) y 0 {\displaystyle {\begin{array}{llr}\min \limits _{y\in \mathbb {R} ^{m}}&q(\xi )^{T}y&\\{\text{subject to}}&T(\xi )x+W(\xi )y=h(\xi )&\\&y\geq 0&\end{array}}}

В такой формулировке — вектор переменных решения первого этапа, — вектор переменных решения второго этапа, и содержит данные задачи второго этапа. В этой формулировке на первом этапе мы должны принять решение «здесь и сейчас» до того, как станет известна реализация неопределенных данных , рассматриваемых как случайный вектор. На втором этапе, после того как реализация становится доступной, мы оптимизируем наше поведение, решая соответствующую задачу оптимизации. x R n {\displaystyle x\in \mathbb {R} ^{n}} y R m {\displaystyle y\in \mathbb {R} ^{m}} ξ ( q , T , W , h ) {\displaystyle \xi (q,T,W,h)} x {\displaystyle x} ξ {\displaystyle \xi } ξ {\displaystyle \xi }

На первом этапе мы оптимизируем (минимизируем в приведенной выше формулировке) стоимость решения первого этапа плюс ожидаемую стоимость (оптимального) решения второго этапа. Мы можем рассматривать задачу второго этапа просто как задачу оптимизации, которая описывает наше предположительно оптимальное поведение при выявлении неопределенных данных, или мы можем рассматривать ее решение как регрессный иск, где член компенсирует возможную несогласованность системы и является стоимостью этого регрессного иска. c T x {\displaystyle c^{T}x} W y {\displaystyle Wy} T x h {\displaystyle Tx\leq h} q T y {\displaystyle q^{T}y}

Рассматриваемая двухэтапная задача является линейной , поскольку целевые функции и ограничения линейны. Концептуально это не существенно, и можно рассмотреть более общие двухэтапные стохастические программы. Например, если задача первой стадии является целочисленной, можно добавить ограничения целочисленности к задаче первой стадии, чтобы допустимое множество было дискретным. Нелинейные цели и ограничения также могут быть включены, если необходимо. [5]

Предположение о распределении

Формулировка вышеприведенной двухэтапной задачи предполагает, что данные второго этапа моделируются как случайный вектор с известным распределением вероятностей. Это было бы оправдано во многих ситуациях. Например, распределение может быть выведено из исторических данных, если предположить, что распределение не претерпевает существенных изменений за рассматриваемый период времени. Кроме того, эмпирическое распределение выборки может быть использовано в качестве приближения к распределению будущих значений . Если у вас есть априорная модель для , вы можете получить апостериорное распределение с помощью байесовского обновления. ξ {\displaystyle \xi } ξ {\displaystyle \xi } ξ {\displaystyle \xi } ξ {\displaystyle \xi }

Сценарный подход

Дискретизация

Для численного решения двухэтапной стохастической задачи часто требуется предположить, что случайный вектор имеет конечное число возможных реализаций, называемых сценариями , скажем , с соответствующими вероятностными массами . Тогда ожидание в целевой функции задачи первого этапа можно записать в виде суммы: и, более того, двухэтапную задачу можно сформулировать как одну большую задачу линейного программирования (это называется детерминированным эквивалентом исходной задачи, см. раздел § Детерминированный эквивалент стохастической задачи). ξ {\displaystyle \xi } ξ 1 , , ξ K {\displaystyle \xi _{1},\dots ,\xi _{K}} p 1 , , p K {\displaystyle p_{1},\dots ,p_{K}} E [ Q ( x , ξ ) ] = k = 1 K p k Q ( x , ξ k ) {\displaystyle E[Q(x,\xi )]=\sum \limits _{k=1}^{K}p_{k}Q(x,\xi _{k})}

Когда существует бесконечное (или очень большое) число возможных реализаций, стандартный подход заключается в том, чтобы представить это распределение сценариями. Этот подход поднимает три вопроса, а именно: ξ {\displaystyle \xi }

  1. Как строить сценарии, см. § Построение сценария;
  2. Как решить детерминированный эквивалент. Такие оптимизаторы, как CPLEX и GLPK, могут решать большие линейные/нелинейные задачи. Сервер NEOS [6] , размещенный в Университете Висконсина, Мэдисон , предоставляет бесплатный доступ ко многим современным решателям. Структура детерминированного эквивалента особенно поддается применению методов декомпозиции [7] , таких как декомпозиция Бендерса или декомпозиция сценария;
  3. Как измерить качество полученного решения относительно «истинного» оптимума.

Эти вопросы не являются независимыми. Например, количество построенных сценариев повлияет как на управляемость детерминированного эквивалента, так и на качество полученных решений.

Стохастическое линейное программирование

Стохастическая линейная программа является частным случаем классической двухэтапной стохастической программы. Стохастическая LP строится из набора многопериодных линейных программ (LP), каждая из которых имеет одинаковую структуру, но несколько отличающиеся данные. Двухпериодная LP, представляющая сценарий, может рассматриваться как имеющая следующую форму: k t h {\displaystyle k^{th}} k t h {\displaystyle k^{th}}

Minimize f T x + g T y + h k T z k subject to T x + U y = r V k y + W k z k = s k x , y , z k 0 {\displaystyle {\begin{array}{lccccccc}{\text{Minimize}}&f^{T}x&+&g^{T}y&+&h_{k}^{T}z_{k}&&\\{\text{subject to}}&Tx&+&Uy&&&=&r\\&&&V_{k}y&+&W_{k}z_{k}&=&s_{k}\\&x&,&y&,&z_{k}&\geq &0\end{array}}}

Векторы и содержат переменные первого периода, значения которых должны быть выбраны немедленно. Вектор содержит все переменные для последующих периодов. Ограничения включают только переменные первого периода и одинаковы в каждом сценарии. Другие ограничения включают переменные более поздних периодов и различаются в некоторых отношениях от сценария к сценарию, отражая неопределенность относительно будущего. x {\displaystyle x} y {\displaystyle y} z k {\displaystyle z_{k}} T x + U y = r {\displaystyle Tx+Uy=r}

Обратите внимание, что решение двухпериодного LP эквивалентно предположению сценария во втором периоде без неопределенности. Чтобы включить неопределенности на втором этапе, следует назначить вероятности различным сценариям и решить соответствующий детерминированный эквивалент. k t h {\displaystyle k^{th}} k t h {\displaystyle k^{th}}

Детерминированный эквивалент стохастической задачи

При конечном числе сценариев двухэтапные стохастические линейные программы могут быть смоделированы как большие задачи линейного программирования. Эту формулировку часто называют детерминированным эквивалентом линейной программы или сокращенно детерминированным эквивалентом. (Строго говоря, детерминированный эквивалент — это любая математическая программа, которая может быть использована для вычисления оптимального решения на первом этапе, поэтому они будут существовать и для непрерывных распределений вероятностей, когда можно представить стоимость второго этапа в некоторой замкнутой форме.) Например, чтобы сформировать детерминированный эквивалент вышеприведенной стохастической линейной программы, мы назначаем вероятность каждому сценарию . Затем мы можем минимизировать ожидаемое значение цели с учетом ограничений из всех сценариев: p k {\displaystyle p_{k}} k = 1 , , K {\displaystyle k=1,\dots ,K}

Minimize f x + g y + p 1 h 1 z 1 + p 2 h 2 T z 2 + + p K h K z K subject to T x + U y = r V 1 y + W 1 z 1 = s 1 V 2 y + W 2 z 2 = s 2 V K y + W K z K = s K x , y , z 1 , z 2 , , z K 0 {\displaystyle {\begin{array}{lccccccccccccc}{\text{Minimize}}&f^{\top }x&+&g^{\top }y&+&p_{1}h_{1}^{\top }z_{1}&+&p_{2}h_{2}^{T}z_{2}&+&\cdots &+&p_{K}h_{K}^{\top }z_{K}&&\\{\text{subject to}}&Tx&+&Uy&&&&&&&&&=&r\\&&&V_{1}y&+&W_{1}z_{1}&&&&&&&=&s_{1}\\&&&V_{2}y&&&+&W_{2}z_{2}&&&&&=&s_{2}\\&&&\vdots &&&&&&\ddots &&&&\vdots \\&&&V_{K}y&&&&&&&+&W_{K}z_{K}&=&s_{K}\\&x&,&y&,&z_{1}&,&z_{2}&,&\ldots &,&z_{K}&\geq &0\\\end{array}}}

У нас есть другой вектор переменных более позднего периода для каждого сценария . Однако переменные первого периода и одинаковы в каждом сценарии, поскольку мы должны принять решение для первого периода, прежде чем узнаем, какой сценарий будет реализован. В результате ограничения, включающие только и , нужно указать только один раз, в то время как остальные ограничения должны быть заданы отдельно для каждого сценария. z k {\displaystyle z_{k}} k {\displaystyle k} x {\displaystyle x} y {\displaystyle y} x {\displaystyle x} y {\displaystyle y}

Построение сценария

На практике может быть возможным построить сценарии, выявив мнения экспертов о будущем. Количество построенных сценариев должно быть относительно скромным, чтобы полученный детерминированный эквивалент мог быть решен с разумными вычислительными усилиями. Часто утверждается, что решение, которое является оптимальным с использованием только нескольких сценариев, обеспечивает более адаптируемые планы, чем решение, которое предполагает только один сценарий. В некоторых случаях такое утверждение может быть проверено с помощью моделирования. Теоретически некоторые меры гарантируют, что полученное решение решает исходную задачу с разумной точностью. Обычно в приложениях только оптимальное решение первого этапа имеет практическую ценность, поскольку почти всегда «истинная» реализация случайных данных будет отличаться от набора построенных (сгенерированных) сценариев. x {\displaystyle x^{*}}

Предположим, что содержит независимые случайные компоненты, каждый из которых имеет три возможных реализации (например, будущие реализации каждого случайного параметра классифицируются как низкие, средние и высокие), тогда общее число сценариев равно . Такой экспоненциальный рост числа сценариев делает разработку модели с использованием экспертного мнения очень сложной даже для разумного размера . Ситуация становится еще хуже, если некоторые случайные компоненты имеют непрерывные распределения. ξ {\displaystyle \xi } d {\displaystyle d} K = 3 d {\displaystyle K=3^{d}} d {\displaystyle d} ξ {\displaystyle \xi }

Метод выборки Монте-Карло и аппроксимации выборочного среднего (SAA)

Распространенный подход к уменьшению набора сценариев до управляемого размера заключается в использовании моделирования Монте-Карло. Предположим, что общее число сценариев очень велико или даже бесконечно. Предположим далее, что мы можем сгенерировать выборку репликаций случайного вектора . Обычно предполагается, что выборка независима и одинаково распределена (выборка iid). При наличии выборки функция ожидания аппроксимируется средним значением выборки ξ 1 , ξ 2 , , ξ N {\displaystyle \xi ^{1},\xi ^{2},\dots ,\xi ^{N}} N {\displaystyle N} ξ {\displaystyle \xi } q ( x ) = E [ Q ( x , ξ ) ] {\displaystyle q(x)=E[Q(x,\xi )]}

q ^ N ( x ) = 1 N j = 1 N Q ( x , ξ j ) {\displaystyle {\hat {q}}_{N}(x)={\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})}

и, следовательно, задача первого этапа задается как

g ^ N ( x ) = min x R n c T x + 1 N j = 1 N Q ( x , ξ j ) subject to A x = b x 0 {\displaystyle {\begin{array}{rlrrr}{\hat {g}}_{N}(x)=&\min \limits _{x\in \mathbb {R} ^{n}}&c^{T}x+{\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})&\\&{\text{subject to}}&Ax&=&b\\&&x&\geq &0\end{array}}}

Эта формулировка известна как метод выборочной аппроксимации среднего . Задача SAA является функцией рассматриваемой выборки и в этом смысле является случайной. Для заданной выборки задача SAA имеет ту же форму, что и двухэтапная задача стохастического линейного программирования со сценариями ., , каждый из которых взят с одинаковой вероятностью . ξ 1 , ξ 2 , , ξ N {\displaystyle \xi ^{1},\xi ^{2},\dots ,\xi ^{N}} ξ j {\displaystyle \xi ^{j}} j = 1 , , N {\displaystyle j=1,\dots ,N} p j = 1 N {\displaystyle p_{j}={\frac {1}{N}}}

Статистический вывод

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

min x X { g ( x ) = f ( x ) + E [ Q ( x , ξ ) ] } {\displaystyle \min \limits _{x\in X}\{g(x)=f(x)+E[Q(x,\xi )]\}}

Здесь — непустое замкнутое подмножество , — случайный вектор, распределение вероятностей которого поддерживается на множестве , а . В рамках двухэтапного стохастического программирования задается оптимальным значением соответствующей задачи второго этапа. X {\displaystyle X} R n {\displaystyle \mathbb {R} ^{n}} ξ {\displaystyle \xi } P {\displaystyle P} Ξ R d {\displaystyle \Xi \subset \mathbb {R} ^{d}} Q : X × Ξ R {\displaystyle Q:X\times \Xi \rightarrow \mathbb {R} } Q ( x , ξ ) {\displaystyle Q(x,\xi )}

Предположим, что хорошо определено и имеет конечное значение для всех . Это подразумевает, что для каждого значение конечно почти наверняка. g ( x ) {\displaystyle g(x)} x X {\displaystyle x\in X} x X {\displaystyle x\in X} Q ( x , ξ ) {\displaystyle Q(x,\xi )}

Предположим, что у нас есть выборка реализаций случайного вектора . Эту случайную выборку можно рассматривать как исторические данные наблюдений , или ее можно сгенерировать с помощью методов выборки Монте-Карло. Затем мы можем сформулировать соответствующую выборочную среднюю аппроксимацию ξ 1 , , ξ N {\displaystyle \xi ^{1},\dots ,\xi ^{N}} N {\displaystyle N} ξ {\displaystyle \xi } N {\displaystyle N} ξ {\displaystyle \xi }

min x X { g ^ N ( x ) = f ( x ) + 1 N j = 1 N Q ( x , ξ j ) } {\displaystyle \min \limits _{x\in X}\{{\hat {g}}_{N}(x)=f(x)+{\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})\}}

По закону больших чисел мы имеем, что при некоторых условиях регулярности сходится поточечно с вероятностью 1 к как . Более того, при мягких дополнительных условиях сходимость равномерна. Мы также имеем , т.е. является несмещенной оценкой . Поэтому естественно ожидать, что оптимальное значение и оптимальные решения задачи SAA сходятся к своим аналогам истинной задачи как . 1 N j = 1 N Q ( x , ξ j ) {\displaystyle {\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})} E [ Q ( x , ξ ) ] {\displaystyle E[Q(x,\xi )]} N {\displaystyle N\rightarrow \infty } E [ g ^ N ( x ) ] = g ( x ) {\displaystyle E[{\hat {g}}_{N}(x)]=g(x)} g ^ N ( x ) {\displaystyle {\hat {g}}_{N}(x)} g ( x ) {\displaystyle g(x)} N {\displaystyle N\rightarrow \infty }

Согласованность оценок SAA

Предположим, что допустимое множество задачи SAA фиксировано, т. е. не зависит от выборки. Пусть и будут оптимальным значением и множеством оптимальных решений, соответственно, истинной задачи, а и будут оптимальным значением и множеством оптимальных решений, соответственно, задачи SAA. X {\displaystyle X} ϑ {\displaystyle \vartheta ^{*}} S {\displaystyle S^{*}} ϑ ^ N {\displaystyle {\hat {\vartheta }}_{N}} S ^ N {\displaystyle {\hat {S}}_{N}}

  1. Пусть и будут последовательностью (детерминированных) вещественных функций. Следующие два свойства эквивалентны: g : X R {\displaystyle g:X\rightarrow \mathbb {R} } g ^ N : X R {\displaystyle {\hat {g}}_{N}:X\rightarrow \mathbb {R} }
    • для любой и любой последовательности, сходящейся к следует, что она сходится к x ¯ X {\displaystyle {\overline {x}}\in X} { x N } X {\displaystyle \{x_{N}\}\subset X} x ¯ {\displaystyle {\overline {x}}} g ^ N ( x N ) {\displaystyle {\hat {g}}_{N}(x_{N})} g ( x ¯ ) {\displaystyle g({\overline {x}})}
    • функция непрерывна на и сходится равномерно на любом компактном подмножестве g ( ) {\displaystyle g(\cdot )} X {\displaystyle X} g ^ N ( ) {\displaystyle {\hat {g}}_{N}(\cdot )} g ( ) {\displaystyle g(\cdot )} X {\displaystyle X}
  2. Если цель задачи SAA сходится к цели истинной задачи с вероятностью 1, как , равномерно на допустимом множестве . Тогда сходится к с вероятностью 1, как . g ^ N ( x ) {\displaystyle {\hat {g}}_{N}(x)} g ( x ) {\displaystyle g(x)} N {\displaystyle N\rightarrow \infty } X {\displaystyle X} ϑ ^ N {\displaystyle {\hat {\vartheta }}_{N}} ϑ {\displaystyle \vartheta ^{*}} N {\displaystyle N\rightarrow \infty }
  3. Предположим, что существует компактное множество такое, что C R n {\displaystyle C\subset \mathbb {R} ^{n}}
    • множество оптимальных решений истинной задачи непусто и содержится в S {\displaystyle S} C {\displaystyle C}
    • функция конечна и непрерывна на g ( x ) {\displaystyle g(x)} C {\displaystyle C}
    • последовательность функций сходится к с вероятностью 1, как , равномерно по g ^ N ( x ) {\displaystyle {\hat {g}}_{N}(x)} g ( x ) {\displaystyle g(x)} N {\displaystyle N\rightarrow \infty } x C {\displaystyle x\in C}
    • для достаточно большого множества это множество непусто и с вероятностью 1 N {\displaystyle N} S ^ N {\displaystyle {\hat {S}}_{N}} S ^ N C {\displaystyle {\hat {S}}_{N}\subset C}
тогда и с вероятностью 1 как . Обратите внимание, что обозначает отклонение множества от множества , определяемое как ϑ ^ N ϑ {\displaystyle {\hat {\vartheta }}_{N}\rightarrow \vartheta ^{*}} D ( S , S ^ N ) 0 {\displaystyle \mathbb {D} (S^{*},{\hat {S}}_{N})\rightarrow 0} N {\displaystyle N\rightarrow \infty } D ( A , B ) {\displaystyle \mathbb {D} (A,B)} A {\displaystyle A} B {\displaystyle B}
D ( A , B ) := sup x A { inf x B x x } {\displaystyle \mathbb {D} (A,B):=\sup _{x\in A}\{\inf _{x'\in B}\|x-x'\|\}}

В некоторых ситуациях оценивается допустимое множество задачи SAA, тогда соответствующая задача SAA принимает вид X {\displaystyle X}

min x X N g ^ N ( x ) {\displaystyle \min _{x\in X_{N}}{\hat {g}}_{N}(x)}

где — подмножество, зависящее от выборки, и, следовательно, является случайным. Тем не менее, результаты согласованности для оценок SAA все еще могут быть получены при некоторых дополнительных предположениях: X N {\displaystyle X_{N}} R n {\displaystyle \mathbb {R} ^{n}}

  1. Предположим, что существует компактное множество такое, что C R n {\displaystyle C\subset \mathbb {R} ^{n}}
    • множество оптимальных решений истинной задачи непусто и содержится в S {\displaystyle S} C {\displaystyle C}
    • функция конечна и непрерывна на g ( x ) {\displaystyle g(x)} C {\displaystyle C}
    • последовательность функций сходится к с вероятностью 1, как , равномерно по g ^ N ( x ) {\displaystyle {\hat {g}}_{N}(x)} g ( x ) {\displaystyle g(x)} N {\displaystyle N\rightarrow \infty } x C {\displaystyle x\in C}
    • для достаточно большого множества это множество непусто и с вероятностью 1 N {\displaystyle N} S ^ N {\displaystyle {\hat {S}}_{N}} S ^ N C {\displaystyle {\hat {S}}_{N}\subset C}
    • если и сходится с вероятностью 1 к точке , то x N X N {\displaystyle x_{N}\in X_{N}} x N {\displaystyle x_{N}} x {\displaystyle x} x X {\displaystyle x\in X}
    • для некоторой точки существует последовательность такая, что с вероятностью 1. x S {\displaystyle x\in S^{*}} x N X N {\displaystyle x_{N}\in X_{N}} x N x {\displaystyle x_{N}\rightarrow x}
тогда и с вероятностью 1 как . ϑ ^ N ϑ {\displaystyle {\hat {\vartheta }}_{N}\rightarrow \vartheta ^{*}} D ( S , S ^ N ) 0 {\displaystyle \mathbb {D} (S^{*},{\hat {S}}_{N})\rightarrow 0} N {\displaystyle N\rightarrow \infty }

Асимптотика оптимального значения SAA

Предположим, что выборка является iid и фиксируем точку . Тогда выборочная средняя оценка , из , является несмещенной и имеет дисперсию , где предполагается конечной. Более того, по центральной предельной теореме мы имеем, что ξ 1 , , ξ N {\displaystyle \xi ^{1},\dots ,\xi ^{N}} x X {\displaystyle x\in X} g ^ N ( x ) {\displaystyle {\hat {g}}_{N}(x)} g ( x ) {\displaystyle g(x)} 1 N σ 2 ( x ) {\displaystyle {\frac {1}{N}}\sigma ^{2}(x)} σ 2 ( x ) := V a r [ Q ( x , ξ ) ] {\displaystyle \sigma ^{2}(x):=Var[Q(x,\xi )]}

N [ g ^ N g ( x ) ] D Y x {\displaystyle {\sqrt {N}}[{\hat {g}}_{N}-g(x)]{\xrightarrow {\mathcal {D}}}Y_{x}}

где обозначает сходимость в распределении и имеет нормальное распределение со средним значением и дисперсией , записанное как . D {\displaystyle {\xrightarrow {\mathcal {D}}}} Y x {\displaystyle Y_{x}} 0 {\displaystyle 0} σ 2 ( x ) {\displaystyle \sigma ^{2}(x)} N ( 0 , σ 2 ( x ) ) {\displaystyle {\mathcal {N}}(0,\sigma ^{2}(x))}

Другими словами, имеет асимптотически нормальное распределение, т.е. для больших имеет приблизительно нормальное распределение со средним значением и дисперсией . Это приводит к следующему (приблизительному) доверительному интервалу % для : g ^ N ( x ) {\displaystyle {\hat {g}}_{N}(x)} N {\displaystyle N} g ^ N ( x ) {\displaystyle {\hat {g}}_{N}(x)} g ( x ) {\displaystyle g(x)} 1 N σ 2 ( x ) {\displaystyle {\frac {1}{N}}\sigma ^{2}(x)} 100 ( 1 α ) {\displaystyle 100(1-\alpha )} f ( x ) {\displaystyle f(x)}

[ g ^ N ( x ) z α / 2 σ ^ ( x ) N , g ^ N ( x ) + z α / 2 σ ^ ( x ) N ] {\displaystyle \left[{\hat {g}}_{N}(x)-z_{\alpha /2}{\frac {{\hat {\sigma }}(x)}{\sqrt {N}}},{\hat {g}}_{N}(x)+z_{\alpha /2}{\frac {{\hat {\sigma }}(x)}{\sqrt {N}}}\right]}

где (здесь обозначает функцию распределения стандартного нормального распределения) и z α / 2 := Φ 1 ( 1 α / 2 ) {\displaystyle z_{\alpha /2}:=\Phi ^{-1}(1-\alpha /2)} Φ ( ) {\displaystyle \Phi (\cdot )}

σ ^ 2 ( x ) := 1 N 1 j = 1 N [ Q ( x , ξ j ) 1 N j = 1 N Q ( x , ξ j ) ] 2 {\displaystyle {\hat {\sigma }}^{2}(x):={\frac {1}{N-1}}\sum _{j=1}^{N}\left[Q(x,\xi ^{j})-{\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})\right]^{2}}

— это выборочная оценка дисперсии . То есть, ошибка оценки имеет (стохастически) порядок . σ 2 ( x ) {\displaystyle \sigma ^{2}(x)} g ( x ) {\displaystyle g(x)} O ( N ) {\displaystyle O({\sqrt {N}})}

Приложения и примеры

Биологическое применение

Стохастическое динамическое программирование часто используется для моделирования поведения животных в таких областях, как поведенческая экология . [8] [9] Эмпирические испытания моделей оптимального кормодобывания , переходов жизненного цикла , таких как оперение у птиц и откладывание яиц у паразитоидных ос, показали ценность этого метода моделирования в объяснении эволюции принятия поведенческих решений. Эти модели, как правило, многоэтапные, а не двухэтапные.

Экономические приложения

Стохастическое динамическое программирование является полезным инструментом для понимания принятия решений в условиях неопределенности. Накопление капитала в условиях неопределенности является одним из примеров; часто оно используется экономистами ресурсов для анализа биоэкономических проблем [10] , где присутствует неопределенность, например, погода и т. д.

Пример: многоэтапная оптимизация портфеля

Ниже приведен пример из области финансов многоэтапного стохастического программирования. Предположим, что в момент времени у нас есть начальный капитал для инвестирования в активы. Предположим далее, что нам разрешено время от времени перебалансировать наш портфель , но без вливания в него дополнительных денежных средств. В каждый период мы принимаем решение о перераспределении текущего богатства между активами. Пусть будут начальными суммами, инвестированными в n активов. Мы требуем, чтобы каждый из них был неотрицательным и чтобы уравнение баланса выполнялось. t = 0 {\displaystyle t=0} W 0 {\displaystyle W_{0}} n {\displaystyle n} t = 1 , , T 1 {\displaystyle t=1,\dots ,T-1} t {\displaystyle t} W t {\displaystyle W_{t}} n {\displaystyle n} x 0 = ( x 10 , , x n 0 ) {\displaystyle x_{0}=(x_{10},\dots ,x_{n0})} x i 0 {\displaystyle x_{i0}} i = 1 n x i 0 = W 0 {\displaystyle \sum _{i=1}^{n}x_{i0}=W_{0}}

Рассмотрим общую доходность за каждый период . Это формирует векторный случайный процесс . В период времени мы можем перебалансировать портфель, указав суммы, инвестированные в соответствующие активы. В это время доходность в первом периоде была реализована, поэтому разумно использовать эту информацию в решении о перебалансировке. Таким образом, решения второго этапа в момент времени на самом деле являются функциями реализации случайного вектора , т. е . . Аналогично, в момент времени решение является функцией доступной информации, предоставленной историей случайного процесса до момента времени . Последовательность функций , , при этом будучи постоянной, определяет реализуемую политику процесса принятия решений. Говорят, что такая политика осуществима , если она удовлетворяет ограничениям модели с вероятностью 1, т. е. ограничениям неотрицательности , , , и ограничениям баланса богатства, ξ t = ( ξ 1 t , , ξ n t ) {\displaystyle \xi _{t}=(\xi _{1t},\dots ,\xi _{nt})} t = 1 , , T {\displaystyle t=1,\dots ,T} ξ 1 , , ξ T {\displaystyle \xi _{1},\dots ,\xi _{T}} t = 1 {\displaystyle t=1} x 1 = ( x 11 , , x n 1 ) {\displaystyle x_{1}=(x_{11},\dots ,x_{n1})} t = 1 {\displaystyle t=1} ξ 1 {\displaystyle \xi _{1}} x 1 = x 1 ( ξ 1 ) {\displaystyle x_{1}=x_{1}(\xi _{1})} t {\displaystyle t} x t = ( x 1 t , , x n t ) {\displaystyle x_{t}=(x_{1t},\dots ,x_{nt})} x t = x t ( ξ [ t ] ) {\displaystyle x_{t}=x_{t}(\xi _{[t]})} ξ [ t ] = ( ξ 1 , , ξ t ) {\displaystyle \xi _{[t]}=(\xi _{1},\dots ,\xi _{t})} t {\displaystyle t} x t = x t ( ξ [ t ] ) {\displaystyle x_{t}=x_{t}(\xi _{[t]})} t = 0 , , T 1 {\displaystyle t=0,\dots ,T-1} x 0 {\displaystyle x_{0}} x i t ( ξ [ t ] ) 0 {\displaystyle x_{it}(\xi _{[t]})\geq 0} i = 1 , , n {\displaystyle i=1,\dots ,n} t = 0 , , T 1 {\displaystyle t=0,\dots ,T-1}

i = 1 n x i t ( ξ [ t ] ) = W t , {\displaystyle \sum _{i=1}^{n}x_{it}(\xi _{[t]})=W_{t},}

где в периоде богатство определяется как t = 1 , , T {\displaystyle t=1,\dots ,T} W t {\displaystyle W_{t}}

W t = i = 1 n ξ i t x i , t 1 ( ξ [ t 1 ] ) , {\displaystyle W_{t}=\sum _{i=1}^{n}\xi _{it}x_{i,t-1}(\xi _{[t-1]}),}

который зависит от реализации случайного процесса и принятых решений . t {\displaystyle t}

Предположим, что цель состоит в том, чтобы максимизировать ожидаемую полезность этого богатства в последний период, то есть рассмотреть задачу

max E [ U ( W T ) ] . {\displaystyle \max E[U(W_{T})].}

Это многоэтапная задача стохастического программирования, где этапы пронумерованы от до . Оптимизация выполняется по всем реализуемым и возможным политикам. Для завершения описания задачи также необходимо определить распределение вероятностей случайного процесса . Это можно сделать различными способами. Например, можно построить конкретное дерево сценариев, определяющее временную эволюцию процесса. Если на каждом этапе случайная доходность каждого актива может иметь два продолжения, независимо от других активов, то общее количество сценариев равно t = 0 {\displaystyle t=0} t = T 1 {\displaystyle t=T-1} ξ 1 , , ξ T {\displaystyle \xi _{1},\dots ,\xi _{T}} 2 n T . {\displaystyle 2^{nT}.}

Для того чтобы написать уравнения динамического программирования , рассмотрим вышеприведенную многоэтапную задачу назад во времени. На последнем этапе реализация случайного процесса известна и выбрана. Поэтому необходимо решить следующую задачу t = T 1 {\displaystyle t=T-1} ξ [ T 1 ] = ( ξ 1 , , ξ T 1 ) {\displaystyle \xi _{[T-1]}=(\xi _{1},\dots ,\xi _{T-1})} x T 2 {\displaystyle x_{T-2}}

max x T 1 E [ U ( W T ) | ξ [ T 1 ] ] subject to W T = i = 1 n ξ i T x i , T 1 i = 1 n x i , T 1 = W T 1 x T 1 0 {\displaystyle {\begin{array}{lrclr}\max \limits _{x_{T-1}}&E[U(W_{T})|\xi _{[T-1]}]&\\{\text{subject to}}&W_{T}&=&\sum _{i=1}^{n}\xi _{iT}x_{i,T-1}\\&\sum _{i=1}^{n}x_{i,T-1}&=&W_{T-1}\\&x_{T-1}&\geq &0\end{array}}}

где обозначает условное математическое ожидание заданного . Оптимальное значение вышеуказанной задачи зависит от и и обозначается . E [ U ( W T ) | ξ [ T 1 ] ] {\displaystyle E[U(W_{T})|\xi _{[T-1]}]} U ( W T ) {\displaystyle U(W_{T})} ξ [ T 1 ] {\displaystyle \xi _{[T-1]}} W T 1 {\displaystyle W_{T-1}} ξ [ T 1 ] {\displaystyle \xi _{[T-1]}} Q T 1 ( W T 1 , ξ [ T 1 ] ) {\displaystyle Q_{T-1}(W_{T-1},\xi _{[T-1]})}

Аналогично на этапах следует решать задачу t = T 2 , , 1 {\displaystyle t=T-2,\dots ,1}

max x t E [ Q t + 1 ( W t + 1 , ξ [ t + 1 ] ) | ξ [ t ] ] subject to W t + 1 = i = 1 n ξ i , t + 1 x i , t i = 1 n x i , t = W t x t 0 {\displaystyle {\begin{array}{lrclr}\max \limits _{x_{t}}&E[Q_{t+1}(W_{t+1},\xi _{[t+1]})|\xi _{[t]}]&\\{\text{subject to}}&W_{t+1}&=&\sum _{i=1}^{n}\xi _{i,t+1}x_{i,t}\\&\sum _{i=1}^{n}x_{i,t}&=&W_{t}\\&x_{t}&\geq &0\end{array}}}

оптимальное значение которого обозначается . Наконец, на этапе решается задача Q t ( W t , ξ [ t ] ) {\displaystyle Q_{t}(W_{t},\xi _{[t]})} t = 0 {\displaystyle t=0}

max x 0 E [ Q 1 ( W 1 , ξ [ 1 ] ) ] subject to W 1 = i = 1 n ξ i , 1 x i 0 i = 1 n x i 0 = W 0 x 0 0 {\displaystyle {\begin{array}{lrclr}\max \limits _{x_{0}}&E[Q_{1}(W_{1},\xi _{[1]})]&\\{\text{subject to}}&W_{1}&=&\sum _{i=1}^{n}\xi _{i,1}x_{i0}\\&\sum _{i=1}^{n}x_{i0}&=&W_{0}\\&x_{0}&\geq &0\end{array}}}

Поэтапно независимый случайный процесс

Для общего распределения процесса может быть сложно решить эти уравнения динамического программирования. Ситуация значительно упрощается, если процесс является поэтапно независимым, т.е. (стохастически) независим от для . В этом случае соответствующие условные ожидания становятся безусловными ожиданиями, а функция , не зависит от . То есть, является оптимальным значением задачи ξ t {\displaystyle \xi _{t}} ξ t {\displaystyle \xi _{t}} ξ t {\displaystyle \xi _{t}} ξ 1 , , ξ t 1 {\displaystyle \xi _{1},\dots ,\xi _{t-1}} t = 2 , , T {\displaystyle t=2,\dots ,T} Q t ( W t ) {\displaystyle Q_{t}(W_{t})} t = 1 , , T 1 {\displaystyle t=1,\dots ,T-1} ξ [ t ] {\displaystyle \xi _{[t]}} Q T 1 ( W T 1 ) {\displaystyle Q_{T-1}(W_{T-1})}

max x T 1 E [ U ( W T ) ] subject to W T = i = 1 n ξ i T x i , T 1 i = 1 n x i , T 1 = W T 1 x T 1 0 {\displaystyle {\begin{array}{lrclr}\max \limits _{x_{T-1}}&E[U(W_{T})]&\\{\text{subject to}}&W_{T}&=&\sum _{i=1}^{n}\xi _{iT}x_{i,T-1}\\&\sum _{i=1}^{n}x_{i,T-1}&=&W_{T-1}\\&x_{T-1}&\geq &0\end{array}}}

и является оптимальным значением Q t ( W t ) {\displaystyle Q_{t}(W_{t})}

max x t E [ Q t + 1 ( W t + 1 ) ] subject to W t + 1 = i = 1 n ξ i , t + 1 x i , t i = 1 n x i , t = W t x t 0 {\displaystyle {\begin{array}{lrclr}\max \limits _{x_{t}}&E[Q_{t+1}(W_{t+1})]&\\{\text{subject to}}&W_{t+1}&=&\sum _{i=1}^{n}\xi _{i,t+1}x_{i,t}\\&\sum _{i=1}^{n}x_{i,t}&=&W_{t}\\&x_{t}&\geq &0\end{array}}}

для . t = T 2 , , 1 {\displaystyle t=T-2,\dots ,1}

Программные инструменты

Языки моделирования

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

  • AIMMS - поддерживает определение проблем SP
  • EMP SP (Расширенное математическое программирование для стохастического программирования) — модуль GAMS, созданный для упрощения стохастического программирования (включает ключевые слова для параметрических распределений, ограничений вероятности и мер риска, таких как стоимость под риском и ожидаемый дефицит ).
  • SAMPL — набор расширений AMPL, специально разработанных для выражения стохастических программ (включает синтаксис для ограничений вероятности, интегрированных ограничений вероятности и задач надежной оптимизации )

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

Смотрите также

Ссылки

  1. ^ Шапиро, Александр; Денчева, Даринка ; Рущинский, Анджей (2009). Лекции по стохастическому программированию: Моделирование и теория (PDF) . Серия MPS/SIAM по оптимизации. Том 9. Филадельфия, Пенсильвания: Общество промышленной и прикладной математики (SIAM). стр. xvi+436. ISBN 978-0-89871-687-0. MR  2562798. Архивировано из оригинала (PDF) 2020-03-24 . Получено 2010-09-22 . {{cite book}}: Неизвестный параметр |agency=проигнорирован ( помощь )
  2. ^ Бирж, Джон Р.; Луво, Франсуа (2011). Введение в стохастическое программирование. Серия Springer по исследованию операций и финансовому инжинирингу. doi :10.1007/978-1-4614-0237-4. ISBN 978-1-4614-0236-7. ISSN  1431-8598.
  3. ^ Стайн В. Уоллес и Уильям Т. Зиемба (ред.). Приложения стохастического программирования . Серия книг MPS-SIAM по оптимизации 5, 2005.
  4. ^ Приложения стохастического программирования описаны на следующем веб-сайте: Stochastic Programming Community.
  5. ^ Шапиро, Александр; Филпотт, Энди. Учебник по стохастическому программированию (PDF) .
  6. ^ «NEOS Server для оптимизации».
  7. ^ Рущинский, Анджей ; Шапиро, Александр (2003). Стохастическое программирование . Справочники по исследованию операций и науке управления. Том 10. Филадельфия: Elsevier . С. 700. ISBN 978-0444508546.
  8. ^ Mangel, M. & Clark, CW 1988. Динамическое моделирование в поведенческой экологии. Princeton University Press ISBN 0-691-08506-4 
  9. ^ Хьюстон, А. И. и Макнамара, Дж. М. 1999. Модели адаптивного поведения: подход, основанный на состоянии . Cambridge University Press ISBN 0-521-65539-0 
  10. ^ Хауитт, Р., Мсанги, С., Рейно, А. и К. Кнапп. 2002. «Использование полиномиальных аппроксимаций для решения задач стохастического динамического программирования: или подход «Бетти Крокер» к SDP». Калифорнийский университет в Дэвисе, рабочий документ кафедры сельскохозяйственной и ресурсной экономики.

Дальнейшее чтение

  • Джон Р. Бирге и Франсуа В. Луво. Введение в стохастическое программирование . Springer Verlag, Нью-Йорк, 1997.
  • Калл, Питер; Уоллес, Стайн В. (1994). Стохастическое программирование. Серия Wiley-Interscience по системам и оптимизации. Чичестер: John Wiley & Sons, Ltd. стр. xii+307. ISBN 0-471-95158-7. МР  1315300.
  • Г. Ч. Пфлуг: Оптимизация стохастических моделей. Интерфейс между моделированием и оптимизацией . Kluwer, Дордрехт, 1996.
  • Андраш Прекопа . Стохастическое программирование. Kluwer Academic Publishers, Дордрехт, 1995.
  • Анджей Рущинский и Александр Шапиро (ред.) (2003) Стохастическое программирование . Справочники по исследованию операций и науке управления, т. 10, Elsevier.
  • Шапиро, Александр; Денчева, Даринка ; Рущинский, Анджей (2009). Лекции по стохастическому программированию: Моделирование и теория (PDF) . Серия MPS/SIAM по оптимизации. Том 9. Филадельфия, Пенсильвания: Общество промышленной и прикладной математики (SIAM). стр. xvi+436. ISBN 978-0-89871-687-0. MR  2562798. Архивировано из оригинала (PDF) 2020-03-24 . Получено 2010-09-22 . {{cite book}}: Неизвестный параметр |agency=проигнорирован ( помощь )
  • Stein W. Wallace и William T. Ziemba (ред.) (2005) Applications of Stochastic Programming . Серия книг MPS-SIAM по оптимизации 5
  • King, Alan J.; Wallace, Stein W. (2012). Моделирование с помощью стохастического программирования. Springer Series in Operations Research and Financial Engineering. New York: Springer. ISBN 978-0-387-87816-4.
  • Домашняя страница сообщества стохастического программирования
Retrieved from "https://en.wikipedia.org/w/index.php?title=Stochastic_programming&oldid=1239504766#Stochastic_linear_programming"