Как указывалось выше, направлением наискорейшего спуска является антиградиент целевой функции. Однако при наличии ограничений движение вдоль направления наискорейшего спуска может привести в недопустимые точки. В методе проекции градиента, предложенном Розеном, антиградиент проектируется таким образом, что значение целевой функции улучшается и в то же время обеспечивается допустимость точек траектории движения. Прежде чем изложить метод, рассмотрим некоторые необходимые понятия из проективной геометрии [2].
Определение 6.2. Матрица порядка называется матрицей проектирования, если и .
Справедливы следующие утверждения, определяющие свойства матрицы проектирования,
1. Если – матрица проектирования, то она положительно полуопределена.
2. Для того чтобы была матрицей проектирования, необходимо и достаточно, чтобы была матрицей проектирования.
3. Пусть – матрица проектирования, а . Тогда подпространства и являются ортогональными. Кроме того, любая точка может быть представлена однозначно в виде , где .
Доказательство.
1. Пусть – матрица проектирования, а – произвольная точка из . Тогда и, следовательно – положительно полуопределена.
2. Справедливость второго утверждения следует из определения матрицы проектирования.
3. Ясно, что и - линейные подпространства. Заметим, что , и, следовательно, и – ортогональны.
Пусть теперь – произвольная точка из . Тогда
, где (6.6.1)
Покажем единственность этого представления . Предположим, что
, где (6.6.2)
Сравнивая выражения (6.6.1) и (6.6.2), получим . Следовательно, ; так как единственной точкой пересечения и является начало координат, то . Таким образом, представление единственное.
Рассмотрим задачу НП:
минимизировать (6.6.3)
при условиях , (6.6.4)
где – матрица порядка ; - -мерный вектор; - -мерный вектор; функция дифференцируема. В заданной допустимой точке направлением наискорейшего спуска является вектор . Однако движение вдоль направления может нарушить допустимость. Чтобы ее сохранить, спроектируем так, чтобы двигаться вдоль направления , где – соответствующая матрица проектирования.
В следующей лемме приводится вид соответствующей матрицы проектирования и доказывается, что является возможным направлением спуска.
Лемма 6.3. Рассмотрим задачу (6.6.3), (6.6.4). Пусть – допустимая точка, для которой , где , а . Кроме того, предположим, что функция дифференцируема в . Если – матрица проектирования такая, что , то вектор является направлением спуска для функции в точке . Кроме того, если имеет полный ранг и если
, (6.6.5)
то – возможное направление спуска.
Доказательство. Заметим, что
. (6.6.6)
Таким образом, согласно лемме 6.1 вектор является направлением спуска. Кроме того, если , то , так что и . И по лемме 6.1 направление будет в таком случае возможным.
Заметим, что матрица , определяемая выражением (6.6.5), является действительно матрицей проектирования, удовлетворяющей равенствам и . Кроме того, , т.е. . Таким образом, матрица проектирует каждую вектор-строку матриц в нулевой вектор. А так как строками матриц являются градиенты функций активных ограничений, то – это матрица, проектирующая градиенты функций активных ограничений в нулевой вектор.
На рис. 6.16 показан процесс проектирования градиента для задачи с ограничениями-неравенствами. На нем обозначено: 1 – линии уровня целевой функции; 2 – оптимальное решение.
В точке активным является только одно ограничение, градиент которого равен . Заметим, что – возможное направление спуска.
Если , то, как мы только что показали, вектор является возможным направлением спуска. Рассмотрим теперь случай, когда . Тогда
(6.6.7)
где .
Если , то точка удовлетворяет условиям Куна-Таккера. Если же , то как показано ниже, можно определить новую матрицу проектирования такую, что вектор будет возможным направлением спуска.
Теорема 6.4. Рассмотрим задачу НП (6.6.3), (6.6.4). Пусть – допустимая точка, для которой , где , а . Предположим, что – матрица полного ранга и . Далее предположим, что , . Если , то является точкой Куна-Таккера. В противном случае пусть некоторая компонента вектора отрицательна, а . Здесь получили из матрицы вычеркиванием строки, соответствующей . Обозначим , и пусть . Тогда вектор является возможным направлением спуска.
Доказательство. Рассмотрим соотношение (6.6.7), справедливое для случая, когда . Если , то точка – это точка Куна-Таккера (т.е. оптимальное решение).
Предположим, что , и пусть . Покажем, что . Предположим противное, т.е., что . Положим . По определению имеем
(6.6.8)
Заметим, что вектор может быть представлен в виде , где является -й строкой матрицы .Таким образом, из (6.6.7) имеем
(6.6.9)
Вычитая (6.6.9) из (6.6.8), получим . Так как , то это противоречит предположению о том, что матрица имеет полный ранг. Следовательно, и по лемме 6.3 вектор является направлением спуска.
Покажем теперь, что – возможное направление (спуска). Заметим, что , следовательно
(6.6.10)
По лемме 6.3 вектор является возможным направлением, если и . Чтобы убедиться в том, что – возможное направление, достаточно, учитывая (6.6.10), показать, что . Умножим (6.6.9) на . Учитывая, что , получим
(6.6.11)
По свойству 2 матрица положительно полуопределена, так что . Так как , то из (6.6.11) следует, что .
Итак, пусть задана задача НП вида
минимизировать
при условиях.
Предварительный этап. Выбрать точку , для которой и . Представим и в виде и соответственно . Положить и перейти к основному этапу.
Основной этап. Первый шаг. Положить . Если Æ, т.е. не содержит ни одного столбца, то положить . В противном случае положить . Положить . Если , то перейти ко второму шагу. Если и Æ, то остановиться. Если же Æ, то положить . Пусть . Если , то остановиться; – точка Куна-Таккера. Иначе, выбрать отрицательную компоненту этого вектора и переопределить матрицу , вычеркивая строку, соответствующую , и повторить первый шаг.
Второй шаг. Взять в качестве оптимальное решение следующей задачи линейного поиска:
минимизировать
при условии ,
где определяется в соответствии с соотношением
(6.6.12)
Положить , заменить на и перейти к первому шагу.
Пример 6.6. Решить методом проекции градиента задачу
минимизировать
при условиях
Выберем в качестве начальной точку
Первая итерация. Первый шаг. В точке имеем . Кроме того, в точке активными являются только ограничения неотрицательности, так что
Тогда и . Учитывая, что ограничения-равенства в задаче отсутствуют, вычислим .
Выберем и удалим строку, отвечающую четвертому ограничению из . Матрица преобразуется к виду . Преобразованная матрица проектирования принимает вид – направление движения определяется вектором
Второй шаг. Линейный поиск. Любая точка,полученная движением из точки по направлению , может быть представлена в виде . Соответствующее ей значение ц.ф. равно . Максимальное значение , для которого точка допустима, получается в соответствии с (6.6.12) и равно
,
следовательно, является оптимальным решением следующей задачи:
минимизировать
при условии
и равно , так что .
Вторая итерация. Первый шаг. В точке имеем . Кроме того, в этой точке активными являются второе и третье ограничение, поэтому получим
.
Далее вычисляем и, следовательно, . Вычисляем
.
Так как , то соответствующая строка вычеркивается из , и получаем матрицу . Матрица проектирования и соответствующее направление определяются следующим образом:
Так как для выбора направления длина вектора не имеет значения, то вектор эквивалентен вектору
Второй шаг. Линейный поиск. Итак, рассмотрим точку x2+λS2=[5λ;1-λ]T , в которой значение ц.ф. равно f(x2+λS2)=62λ2-28λ-4.
Максимальное значение , для которого точка x2+λS2 допустима, в соответствии с (6.6.12) равно
Таким образом, определяется из решения следующей задачи:
минимизировать
при условии .
Оптимальным решением ее является , так что .
|
|
Следовательно точка оптимальна.
|
Процесс решения задачи приведен на рис. 6.17.