4.2. Метод проекции градиента

 

Будем рассматривать задачу

, (30)

где множество необязательно совпадает со всем пространством , а функция

Непосредственное применение градиентного метода в случае может привести к затруднениям, так как точка при каком-то может не принадлежать . Однако эту трудность можно преодолеть, если полученную точку при каждом проектировать на множество . В результате мы придем к так называемому методу проекции градиента [7].

А именно, пусть - некоторое начальное приближение. Далее будем строить последовательность по правилу

, (31)

где - положительная величина. Если - выпуклое замкнутое множество и способ выбора в (31) задан, то последовательность будет однозначно определяться условием (31). В частности, при метод (31) превратится в градиентный метод.

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

В зависимости от способа выбора в (31) можно получить различные варианты метода проекции градиента [1], [13]-[15]. Укажем несколько наиболее употребительных на практике способов выбора .

1) Введем функцию одной переменной , , и определим из условий

. (32)

Очевидно, при метод (31), (32) превратится в метод наискорейшего спуска.

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

3) Если функция принадлежит и константа Липшица для градиента известна, то в (31) в качестве можно взять любое число, удовлетворяющее условиям

, (33)

где , - положительные числа, являющиеся параметрами метода.

Заметим, что описанные здесь варианты метода (31) при переходят в соответствующие варианты градиентного метода.

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

Пример 4. Решить следующую задачу нелинейного программирования

,

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

, .

Решение. В качестве начального приближения возьмём, например, точку . Градиент удовлетворяет условию Липшица: с константой , так как

.

Поэтому в формуле для последующего приближения

, (34)

где , можно положить

.,

(т. е. шаг удовлетворяет неравенству (33)). Например, положим .

Шаг 1. Так как , то по формуле (34) находим

Точка , так как . Поэтому . Требуемая точность не достигнута, так как .

Шаг 2. Как на предыдущем шаге находим , а затем

Точка , так как

.

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

.

Требуемая точность не достигнута, так как

.

Результаты остальных шагов метода проекции градиента приведены в таблице 4.

 

Таблица 4.

Метод проекции

2

(0,9965; 0,083)

0,298

(-1; 0,1661)

(1,7465; -0,0415)

3

(0,9997; -0,0232)

0,107

(-1; -0,0476)

(1,7465; -0,0415)

4

(0,99998; 0,00679)

0,031

(-1; 0,0136)

(1,74998; -0,00339)

5

(0,99998; 0,0087)

0,0087

 

 

Из таблицы следует, что , .

Отметим, что точное решение рассматриваемой задачи , .