Рассмотрим класс оперативных задач стохастического программирования, в которых необходимо минимизровать целевую функцию , измеряемую в условиях действия погрешностей.
Точное значение самой функции , а также ее производных
, определить невозможно. Впрочем имеется возможность многократно наблюдать состояния природы
(внешней среды) и оценивать реализации целевой функции
. В этом случае целесообразно использование прямых методов стохастического программирования, к числу которых относится метод проектирования стохастических квазиградинтов (СКГ), или стохастический квазиградиентный метод, разработанный Ю. М. Ермольевым [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). Поскольку вторые производные функции
считаются ограниченными, то
и величины
,
,
следует выбирать так, чтобы выполнялись условия
,
,
,
.
В этом случае последовательность будет сходиться к точке минимума
.