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