11.17.08
Решение нелинейных минимаксных задач с помощью r-алгоритмов
Цитата из книги Н. З. Шора «Методы минимизации недифференцируемых функций и их приложения», К., «Наукова думка» 1979.
Глава4, §5. Использование r-алгоритмов для решения нелинейных минимаксных задач.
Рассмотрим вопросы минимизации функций вида , где
— гладкие функции,
. Если
— выпуклые функции,
, то в качестве обобщенного градиента можно брать субградиент
, где
— индекс функции
для которой
.
В связи с важностью минимаксных задач большое внимание в настоящее время уделяется разработке методов их решения. Ряд таких методов для определенных классов задач предложен в работах В. М. Демьянова, Б. Н. Пшеничного, Е. Г. Евтушенко и др.
В принципе задача отыскания минимакса может быть сведена к решению следующей задачи выпуклого программирования: найти при ограничениях
,
.
Для решения этой задач могут быть использованы итеративные методы возможных направлений. Однако такой путь решения задач связан с опредленными вычислительными трудностями: во-первых, нахождение минимума при данных ограничениях методами возможных направлений связано с необходимостью решения на каждой итерации ряда воспомогательных задач линейного или квадратичного программирования; во-вторых, для обеспечения сходимости методов возможных направлений нужно использовать меры предосторожности против зигзагообразного движения; в-третьих, на каждом шаге метода возможных направлений нужно определять минимум по направлению — довольно трудоемкая процедура, так как приходится определять минимум негладкой функции в условиях, когда определение значения функции требует значительной вычислительной работы, и, наконец, скорость сходимости этих методов слабо изучена как теоретически, так и экспериментально.
Более простым с вычислительной точки знения является метод обобщенного градиентного спуска, который в принципе позволяет решать выпуклые минимаксные задачи. Однако скорость сходимости этого метода недостаточно высока, особенно при решении задач овражного типа, которые характерны при отыскании минимаксов. В этом случае минимум, как правило, достигается при равенстве значений нескольких функций, при чем их число в регулярном случае определяет размерность оврага, равную , где
— число функций, на которых достигается минимаксное значение.
Ускорение сходимости метода обобщенного градиентного спуска может быть достигнуто за счет растяжения пространства в направлении обобщенного градиента или в направлении разности обобщенных градиентов, вычисленных в двух последовательных точках. При использовании обобщенного градиентного спуска с растяжением пространства определение минимизирующей последовательости связано с вычислением обобщенного градиента функции в каждой точке последовательности и применением оператора растяжения пространства. Обычно при анализе эффективности вычислительных алогритмов предполагается, что вычисление градиента функции
переменных требует примеро столько же времени, сколько
-кратное вычисление функции. Если считать, что каждая из функций
непрерывно дифференцируема, затраты на ее вычисление не зависят от индекса
, а сложность вычисления градиента в
раз превосходят сложность вычисления функции, то сложность вычисления функции
будет составлять
-ю часть сложности вычисления ее субградиента. Таким образом, с ростом $m$ уменьшяется относительная сложность вычисления субградиента
по сравнению со сложностью вычисления функции
. Поэтоу для обеспечения высокой эффективности разрабатываемых алогритмов решения минимаксных задач нужно особенно стремиться к упрощению процедур нахождения минимума по направлению, связанных с вычислением значений функции максимума. Исходя из этого, Л. П. Шабашова и автор предложили и экспериментально исследовали несколько модификаций r-алоритмов решения минимаксных задач, различающихся способом регулировки шагового множителя и точностью поиска минимума по направлению.
Рассмотрим одну из модификаций. Движение начинаем из произвольной точки . При этом полагаем
,
, где
— единичная матрица размерности
. Предположим, что выполнено
итераций (
), в результате чего определены точки
, а так же вектор
и матрица
. Для определения точки
производим следующие действия.
- Определяем значение функции в
-й токе последовательности
- Вычисляем обобщенный градиент функции
в точке
- Находим обобщенный градиент
функции
в точке
в преобразованном пространстве по формуле
где
— оператор преобразования пространства;
— оператор, обратный оператору
;
— оператор, сопряженный оператору
.
- Определяем разность обобщенных градиентов
.
- Находим отношение норм векторов
и
которое характеризует изменение направления обобщенного градиента в точкеотносительно направления обобщенного градиента в точке
в растянутом пространстве.
- Сравниваем
с заданной величиной
: а) если
, то определяем следующую точку минимизирующей последовательности
соответствующую перемещению в растянутом пространстве точки $y$ в том же направлении и с той же величиной шага, что и на-й итерации, после чего переходим к выполнению
-й итерации; б) если
, т. е. при значительном изменении направления обобщенного градиента, переходим к выполнению следующих этапов.
- Определяем вектор
, в направлении которого будет производиться растяжение пространства,
.
- Находим оператор
, обратный оператору
, по формуле
.
- Определяем обобщенный градиент функции
в точке
, соответствующей точке
, с учетом
-го оператора растяжения простанства
в направлении антиградиента осуществляется движение на данной итерации. - Изменяем длину шага
, где $ 0 < q_2 \le 1 $.
- Определяем очередную точку минимизирующей последовательности
которая соответствует точке перемещения в растянутом пространстве в направлениина величину
из точки
. После этого переходим к выполнению
-й итерации.