Jump to content

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

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

Двухэтапные задачи [ править ]

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

где – оптимальное значение задачи второго этапа

Классические двухэтапные задачи линейного стохастического программирования можно сформулировать как

где – оптимальное значение задачи второго этапа

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

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

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

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

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

Дискретизация [ править ]

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

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

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

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

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

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

Стохастическая линейная программа — это частный случай классической двухэтапной стохастической программы. Стохастическая ЛП строится из набора многопериодных линейных программ (ЛП), каждая из которых имеет одинаковую структуру, но несколько разные данные. двухпериодная LP, представляющая сценарий можно рассматривать как имеющий следующий вид:

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

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

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

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

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

Построение сценария [ править ]

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

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

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

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

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

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

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

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

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

Предположим, что корректно определен и имеет конечное значение для всех . Это означает, что для каждого ценность конечен почти наверняка.

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

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

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

Предположим, что допустимое множество задачи SAA фиксирована, т. е. не зависит от выборки. Позволять и – оптимальное значение и множество оптимальных решений соответственно истинной задачи и пусть и – оптимальное значение и множество оптимальных решений соответственно задачи САА.

  1. Позволять и быть последовательностью (детерминированных) вещественных функций. Следующие два свойства эквивалентны:
    • для любого и любая последовательность сходящиеся к отсюда следует, что сходится к
    • функция постоянно включен и сходится к равномерно на любом компактном подмножестве
  2. Если цель проблемы SAA сходится к истинной цели проблемы с вероятностью 1, так как , равномерно на допустимом множестве . Затем сходится к с вероятностью 1 как .
  3. Предположим, что существует компакт такой, что
    • набор оптимальных решений истинной задачи непусто и содержится в
    • функция конечнозначен и непрерывен на
    • последовательность функций сходится к с вероятностью 1, так как , равномерно в
    • для достаточно большой набор непусто и с вероятностью 1
затем и с вероятностью 1 как . Обратите внимание, что обозначает отклонение множества из набора , определяемый как

В некоторых ситуациях допустимое множество задачи САА оценивается, то соответствующая задача САА принимает вид

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

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

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

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

где обозначает сходимость в распределении и имеет нормальное распределение со средним и дисперсия , записанный как .

Другими словами, имеет асимптотически нормальное распределение, т. е. при больших , имеет приблизительно нормальное распределение со средним и дисперсия . Это приводит к следующему (приблизительно) % доверительный интервал для :

где (здесь обозначает CDF стандартного нормального распределения) и

это выборочная оценка дисперсии . То есть ошибка оценки имеет (стохастический) порядок .

Приложения и примеры [ править ]

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

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

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

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

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

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

Рассмотрим общую прибыль за каждый период . Это формирует векторный случайный процесс . В период времени , мы можем ребалансировать портфель, указав суммы вложены в соответствующие активы. К этому моменту прибыль за первый период уже реализована, поэтому разумно использовать эту информацию при принятии решения о ребалансировке. Таким образом, решения второго этапа, в свое время , на самом деле являются функциями реализации случайного вектора , то есть, . Аналогично, во время решение это функция доступной информации, предоставленной история случайного процесса до момента времени . Последовательность функций , , с будучи константой, определяет реализуемую политику процесса принятия решений. Говорят, что такая политика осуществима , если она удовлетворяет ограничениям модели с вероятностью 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 . МР   2562798 . Архивировано из оригинала (PDF) 24 марта 2020 г. Проверено 22 сентября 2010 г. {{cite book}}: Неизвестный параметр |agency= игнорируется ( помогите )
  2. ^ Бирдж, Джон Р.; Луво, Франсуа (2011). Введение в стохастическое программирование . Серия Springer по исследованию операций и финансовой инженерии. дои : 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 для оптимизации» .
  7. ^ Рущинский, Анджей ; Шапиро, Александр (2003). Стохастическое программирование . Справочники по исследованию операций и науке управления. Том. 10. Филадельфия: Эльзевир . п. 700. ИСБН  978-0444508546 .
  8. ^ Мангель, М. и Кларк, К.В. 1988. Динамическое моделирование в поведенческой экологии. Издательство Принстонского университета ISBN   0-691-08506-4
  9. ^ Хьюстон, А. И. и Макнамара, Дж. М. 1999. Модели адаптивного поведения: подход, основанный на состоянии . Издательство Кембриджского университета ISBN   0-521-65539-0
  10. ^ Ховитт, Р., Мсанги, С., Рейно, А. и К. Кнапп. 2002. «Использование полиномиальных аппроксимаций для решения задач стохастического динамического программирования: или подход «Бетти Крокер» к SDP». Калифорнийский университет, Дэвис, рабочий документ факультета экономики сельского хозяйства и ресурсов.

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 109038a6d1a9b9760aa94f06390b468a__1694168940
URL1:https://arc.ask3.ru/arc/aa/10/8a/109038a6d1a9b9760aa94f06390b468a.html
Заголовок, (Title) документа по адресу, URL1:
Stochastic programming - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)