8.3. МЕТОД ПРОЕКТИРОВАНИЯ СТОХАСТИЧескИХ КВАЗиГРАДиеНТоВ

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

Точное значение самой функции , а также ее производных , определить невозможно. Впрочем имеется возможность многократно наблюдать состояния природы  (внешней среды) и оценивать реализации целевой функции . В этом случае целесообразно использование прямых методов стохастического программирования, к числу которых относится метод проектирования стохастических квазиградинтов (СКГ), или стохастический квазиградиентный метод, разработанный Ю. М. Ермольевым [17].

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

Итак, пусть требуется минимизировать

                          (8.3.1)

при ограничении

где  – выпуклое замкнутое множество;  – выпуклая негладкая функция, точное значение которой, а также его производных вычислить невозможно. В этом случае вместо точных значений градиентов или обобщенных градиентов функции  используют случайные векторы, являющиеся статистическими оценками этих величин. В методе СКГ за направление спуска и выбирают такие случайные векторы.

Итак, пусть имеется некоторое вероятностное пространство с множеством элементарных событий . Рассмотрим последовательность случайных точек  определяемых по формуле

                          (8.3.2)

где  – оператор проектирования на множество ; x0 – произвольная начальная точка пространства;  – величина шага;  – нормируюий множитель;  – случайный вектор, условное математическое ожидание которого равно

 ,                    (8.3.3)

где скаляр ;  – случайный вектор, не зависящий от последовательности ; величины ,  измеримы по Борелю.

Как известно (см. гл. 6.8), обобщенный градиент функции  в точке  - вектор  – удовлетворяет при любом векторе  неравенству

 .                 (8.3.4)

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

При анализе процедуры (8.3.3) возникает вопрос о сходимости последовательности . Существуют различные варианты сходимости случайных последовательностей: по вероятности, в среднем квадратическом и с вероятностью 1 (то есть почти наверное).

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

Предположим, что  а  не зависит от . Обозначим через  множество оптимальных решений задачи (8.3.1). Справедлива следующая теорема [17;18].

Теорема 8.3. Пусть выполняются условия

                         (8.3.5)

                           (8.3.6)

,                    (8.3.7)

 , с вероятностью 1.                 (8.3.8)

Пусть множество  ограничено и . Тогда последовательность , определенная согласно (8.3.2), (8.3.3), сходится к  с вероятностью 1, причем .

Доказательство. Пусть , согласно определению операции проектирования  (п. 6.8) имеем

    (8.3.9)

Возьмем операцию условного математического ожидания от обеих частей неравенства (8.3.9) при условиях x1, x2, … , xs

     (8.3.10)

Поскольку  – выпуклая вниз функция, то

 ,

ведь

 .                             (8.3.11)

Поэтому, применив неравенство Коши-Буняковского  и используя (8.3.5), получим из (8.3.10)

 ,   (8.3.12)

где  – некоторая константа.

Обозначим

 .                        (8.3.13)

Тогда из (8.3.13) следует

 ,

и в силу того что  зависит только от xs,

 .

Такая последовательность случайных величин  называется супермартингалом [17]. Поскольку супермартингал неотрицателен ,

то он сходится с вероятностью 1 [17]. Отсюда с учетом (8.3.7) заключаем, что последовательность  сходится с вероятностью 1, следовательно, последовательность  ограничена и множество ее предельных точек  непусто. Пусть  – две произвольные предельные точки последовательности . Тогда для любого  имеем . Если теперь показать, что одна из предельных точек с вероятностью 1 принадлежит множеству , то из последнего равенства будет следовать, что она будет и единственной предельной точкой последовательности. Из (8.3.9) имеем

 .

Отсюда

  (8.3.14)

Поскольку левая часть (8.3.14) неотрицательна, то справедливо неравенство

 .

Переходя к пределу при  и учитывая (8.3.7), получим с вероятностью 1:

и в силу (8.3.6)

 .                   (8.3.15)

Поскольку , то отсюда следует, что найдется такая последовательность , что с вероятностью 1

 при ,

но  – обобщенный градиент, поэтому

 .

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

 , то есть с вероятностью 1 .

Теорема доказана.

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

Метод стохастической аппроксимации

Этот метод предложили Н. Роббинс и С. Монро и развили Э. Кифер и Дж. Вольфовитц для решения экстремальных стохастических задач без ограничений.

Пусть требуется найти минимум функции регрессии

 ,                   (8.3.16)

где

 .

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

В методе стохастической аппроксимации рассматриваются итеративные процедуры поиска, определяемые соотношениями

               (8.3.17)

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

 ,         (8.3.18)

где  – орт -й оси;  – результаты независимых наблюдений за состоянием природы ;  – длина шага;  – смещение.

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

 ,   (8.3.19)

где  – некоторый вектор такой, что .

Итак, метод стохастической аппроксимации является частным случаем метода СКГ, где

 .     (8.3.20)

Приведем некоторые обобщения процедуры (8.3.17). Предположим, что размерность пространства  велика, и на численное определение направления спуска  согласно (8.3.20) расходуется очень много времени, а кроме того имеются ограничения . Тогда можно использовать случайные направления  с независимыми и равномерно распределенными компонентами  на интервале [-1, 1] и рассмотреть следующий процесс поиска:

 , (8.3.21)

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

 , (8.3.22)

где  – некоторый случайный вектор, причем .

Поскольку вторые производные функции  ограничены, то , а величины , ,  следует выбирать так, чтобы

а) ,                                                  б) ,

в) ,                                             г) .

Если , то условия сходимости имеют вид

а) , , б) , в) .      (8.3.23)

Типичным примером последовательности, удовлетворяющей условию (8.3.23), является гармонический ряд

 .

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

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

 ,         (8.3.24)

где  – орт -й оси;  – смещение вдоль -й оси. Если  – достаточно велико , то вычисление численного значения градиента требует больших затрат. В этом случае отказываются от использования направления градиента и используют любое допустимое направление  такое, что угол между  и  меньше 90°. В частности, оказывается целесообразным использовать методы случайного поиска, которые представляют собой частный случай метода СКГ [40].

Рассмотрим случайный вектор  с независимыми и равномерно распределенными на интервале [–1, 1] компонентами и положим

 ,                  (8.3.25)

где  – серия независимых наблюдений вектора в -й итерации ; . Случайные величины ,  считаются всюду измеримыми по Борелю. Нетрудно показать, что

 ,                 (8.3.26)

где  – некоторый случайный вектор, причем . Итак для минимизации  можно применить метод СКГ вида в котором вектор  вычисляется в соответствии с (8.3.25). Поскольку вторые производные функции  считаются ограниченными, то  и величины , ,  следует выбирать так, чтобы выполнялись условия

 , ,

 , .

В этом случае последовательность  будет сходиться к точке минимума .