Файл Моп_Л8_2сПМ.doc из "Прямые методы условной оптимизации-Лекц1.doc" из А.Г.Трифонов. "Постановка задачи оптимизации и численные методы ее решения" 3. Методы условной оптимизации. I:\RES_H\WORK\EDUCATION\ХНУРЭ - учебные курсы\МЕТОДЫ ОПТИМИЗАЦИИ\MO\MO\NewLab20807\Doc\MProection\Метод проекций гр.doc , "методы возм_направ Л1.doc"
Прямые методы условной оптимизации Лекция 1
В общем случае численные методы решения задач нелинейного программирования можно разделить на прямые и непрямые. Прямые методы оперируют непосредственно с исходными задачами оптимизации и генерируют последовательности точек {x[k]}, таких, что f(х[k+1]) < f(x[k]). Здесь в [] – индекс. В силу этого такие методы часто называют методами спуска.
Математически переход на некотором k-м шаге (k. 0, 1, 2, ...) от точки х[k] к точке x[k+1] можно записать в следующем виде:
x[k+l] x[k] + akp[k],
где р[k] — вектор, определяющий направление спуска;
аk — длина шага вдоль данного направления.
При этом в одних алгоритмах прямых методов точки х[k] выбираются так, чтобы для них выполнялись все ограничения задачи, в других эти ограничения могут нарушаться на некоторых или всех итерациях. Таким образом, в прямых методах при выборе направления спуска ограничения, определяющие допустимую область G, учитываются в явном виде.
Непрямые методы сводят исходную задачу нелинейного программирования к последовательности задач безусловной оптимизации некоторых вспомогательных функций. При этих методах ограничения исходной задачи учитываются в неявном виде. К ним относятся методы функции Лагранжа и штрафных функций, рассмотренные на прошлых лекциях. Рассмотрим теперь некоторые алгоритмы прямых методов.
Метод проекции градиента
Проведем сначала «правдоподобные рассуждения» и рассмотрим алгоритм данного метода применительно к задаче оптимизации с ограничениями-неравенствами. В качестве начальной выбирается некоторая точка допустимой области G. Если х[0] - внутренняя точка множества G
(Рис. 1), то рассматриваемый метод является обычным градиентным методом:
x[k+l] x[k] –akf’(x[k]), k 0, 1, 2, ...,
где градиент целевой функции f(х) в точке x[k].
После выхода на границу области G в некоторой граничной точке х[k] , k 0, 1, 2,..., движение в направлении антиградиента -f’(х[k]) может вывести за пределы допустимого множества (см. Рисунок 1). Поэтому антиградиент проецируется на линейное многообразие М, аппроксимирующее участок границы в окрестности точки х[k]. Двигаясь в направлении проекции вектора -f'(x[k]) на многообразие М, отыскивают новую точку х[k+1], в которой f(х[k+1]) f(x[k]), принимают х[k+1] за исходное приближение и продолжают процесс. Проведем более подробный анализ данной процедуры.
Рисунок 1. Геометрическая интерпретация метода проекции градиента
В точке х[k] часть ограничений-неравенств удовлетворяется как равенство:
hj(x) 0, j 1, ..., l; l < m. Такие ограничения называют активными.
Обозначим через J набор индексов j (1 j l) этих ограничений. Их уравнения соответствуют гиперповерхностям, образующим границу области G в окрестности точки х[k] . В общем случае эта граница является нелинейной (см. рис.1). Ограничения hj(x), j J, аппроксимируются гиперплоскостями, касательными к ним в точке х[k]:
Полученные гиперплоскости ограничивают некоторый многогранник М, аппроксимирующий допустимую область G в окрестности точки х[k] (см. Рис. 1).
Проекция р[k] антиградиента -f'(x[k]) на многогранник вычисляется по формуле p[k] [-f’(x[k])].
Здесь - оператор ортогонального проектирования, определяемый выражением E – AT(AAT)-1A, где Е - единичная матрица размерности пп;
А - матрица размеров l n . Она образуется строками – транспонированными вектор-столбцами градиентов активных ограничений из множества J: аj=(hj)T, j 1, ..., l.
(см. Лекцию 4 о конусах и проекциях – файл Моп_Л4_2сПМ.doc. Здесь x[k]Г(G) является началом координат, из которого проводится радиус-вектор f. Значит b=0, и это – проекция на подпространство, а не на многообразие ).
Далее осуществляется спуск в выбранном направлении: x[k+1] x[k] + kp[k]. Можно показать, что точка х[k+1] является решением задачи минимизации функции f(х) в области G тогда и только тогда, когда [-f’(x[k])] 0, т. е, и u (u1, ..., ul) (ATA)-1AT(-f (х[k])) > 0.
Эти условия означают, что антиградиент (-f (х[k])) целевой функции является линейной комбинацией с неотрицательными коэффициентами градиентов активных ограничений hj(x) 0. Напомним, что h есть нормаль касательной гиперплоскости.
В соответствии с изложенным, алгоритм метода проекции градиента состоит из следующих операций.
1. В точке х[k] определяется направление спуска р[k].
2. Находится величина шага k.
3. Определяется новое приближение х[k+1].
Рассмотрим детально каждую из этих операций.
1. Определение направления спуска состоит в следующем. Пусть найдена некоторая точка х[k] G и известен набор активных ограничений hi(х[k]) 0, j J. На основании данной информации вычисляют (-f (х[k])) и определяют проекцию [-f (х[k])]. При этом возможны два случая:
а) [-f’(х[k])] не равна 0. В качестве направления спуска р[k] принимают полученную проекцию;
б) [-f (х[k])] 0, т. е.
Данное выражение представляет собой систему из п уравнений для определения коэффициентов иj. Если все иj 0, j J, то в соответствии с вышеизложенным точка х[k] является решением задачи. Если же некоторый компонент иq 0, то соответствующий ему градиент выводится из матрицы А и порождается новая проецирующая матрица . Она определит новое направление спуска.
2. Для определения величины шага k целевая функция минимизируется по направлению р[k] при условии соблюдения ограничений задачи с установленной точностью. Последняя задается введением некоторого положительного числа . Считают, что точка х удовлетворяет условиям задачи с заданной точностью, если hi(х) , j 1, ..., m. Величина шага k определяется решением задачи вида:
f(x[k] + р[k]) min;
hj(x[k] + р[k]) , j 1, ..., m.
3. Определение нового приближения состоит в том, что очередная точка вычисляется по формуле
x[k+1] x[k] + k р[k].
Признаком сходимости является стремление к нулю векторов р[k].
Рассмотренный метод является в некотором смысле аналогом градиентных методов для решения задач на безусловный экстремум, и ему свойствен их недостаток - медленная сходимость.
Приведем несколько утверждений, обосновывающих метод и оценивающих скорость его сходимости (изложение согласно книге: Сухарев и др. – Курс методов оптимизации)
Рассмотрим элементы теории метода проекции градиента для решения задачи следующего вида: (1)
где - замкнутое выпуклое множество в , дифференцируемая функция на . Пусть является оптимальным решением задачи (1).
Напомним вначале свойства проекции точки на множество.
Проекцией точки на множество называется точка такая, что , т.е. точка, ближайшая к a среди всех точек из X. Если , то , если X замкнуто. Если же a не принадлежит X, и X - открыто, то проекция не существует.
Из определения следует, что является решением следующей задачи оптимизации: . (2)
Лемма 1 Пусть замкнутое выпуклое множество в . Тогда
1. Проекция любой точки существует и единственна;
2. Точка является проекцией точки a на множество X в том и только в том случае, если (3)
3. Для всех точек справедливо неравенство
(4)
т.е. оператор проектирования обладает свойством нерастяжения расстояний.
Доказательство леммы приведено в [Сухарев, с. 225].
Сформулируем необходимое и достаточное условие оптимальности для выпуклой задачи.
Лемма 2. Пусть множество X выпукло и замкнуто, функция f выпукла на X и дифференцируема в точке . Тогда является решением задачи (1) в том и только в том случае, если
(5)
при произвольном .
Доказательство леммы приведено в [Сухарев, с. 226].
Теперь рассмотрим алгоритм метода проекции градиента и его сходимость. В методе проекции градиента в качестве очередной точки приближения к решению задачи (1) выбирается проекция точки на множество X той точки, которая получается по градиентному методу:
, где (6)
Коэффициенты можно выбирать различными способами. (см. например, книги: Сухарев и др. или Реклейтис и др.). Рассмотрим теорему о сходимости проекции градиента с априорным выбором коэффициентов , то есть последовательность выбирают заранее, до начала вычислений (например, , где k=0,1,2,...).
Теорема 1. Пусть множество X выпукло и замкнуто, функция f сильно выпукла с константой и дифференцируема на X, причем ее градиент удовлетворяет условию Липшица:
(7)
Тогда последовательность , генерируемая по формуле (6), где произвольная точка из X, а сходится к решению задачи (1) со скоростью геометрической прогрессии:
(8)
где
Доказательство теоремы приведено в [Сухарев, с. 226].
Замечания:
-
В рассмотренном методе на каждой k-ой итерации требуется производить операцию проектирования точки на множество X, то есть решать задачу вида (2) при . В некоторых случаях удается указать явный вид проекции, например, если множество X шар, координатный параллелепипед, полупространство, гиперплоскость, аффинное множество. Однако, если X задается с помощью более или менее сложной системы равенств и неравенств, то метод проекции градиента практически неприменим, так как задача (2) оказывается не проще исходной.
-
В большинстве практических задач константы из теоремы 1 обычно неизвестны, что затрудняет отыскание . Тогда можно использовать другие правила выбора длины шага, например, различные модификации метода наискорейшего спуска с приближенным решением задач одномерной минимизации по или правило дробления шага [Реклейтис и др.].
-
Используя идею проектирования, можно модифицировать применительно к задачам условной оптимизации и другие методы безусловной оптимизации, в том числе метод Ньютона и метод сопряженных направлений.
Пример: Решить методом проекции градиента:
(9)
. (10)
Решение. Задачу (9)-(10) решим методом проекции градиента, используя соотношение (6). Выберем начальное приближение . Пусть шаг в выражении (6) равен . Критерий останова выберем следующий: , где .
Итерация 1. В соответствии с выражением (6) определяем .
, .
Точка выходит за пределы области X. Так как множество X- координатный параллелепипед, то можно указать явный вид проекции точки на множество. Известно, что если – координатный параллелепипед, то : (см.[Сухарев, с.227], а также лекцию о проекциях.
В нашем случае , .
Так как , то проверяем критерий останова: . Критерий останова не выполняется, значит, переходим к следующей итерации.
Итерация 2. В соответствии с выражением (6) определяем
.
, .
Точка выходит за пределы области X.
Значит, , . .
Критерий останова выполняется, значит, процесс вычислений закончен.
Вспомним некоторые определения и теоремы из прошлых лекций по математическому программированию.
Система из m линейных неравенств (ЛН) Ax b (1)
называется разрешимой, если x≥0: Ax b, xRn, bRm и неразрешимой - в противном случае.
ОзЛП max c, x Ax b (2)
разрешима, когда разрешима система (1) и максимум в (2) достигается.
Определение 1. Линейное неравенство c, x d (3)
является следствием разрешимой системы линейных неравенств (1), если для любого x, удовлетворяющего (1), выполнено (3).
Пусть - вектор-строка матрицы А, т.е. коэффициенты i-го неравенства из (1); .
Лемма 1 (Фаркаша о неразрешимости). Система ЛН (1) неразрешима тогда и только тогда, когда разрешима система
Теорема 1. (Куна-Таккера) будет использована в следующей форме
Пусть функции , имеют непрерывные частные производные на некотором открытом множестве Rn, содержащем точку x*. Если x* является точкой минимума функции при ограничениях , удовлетворяющих условию регулярности в виде линейной независимости векторов , то существуют такие неотрицательные множители Лагранжа , что
(4)
(5)
Определим функцию Лагранжа как обычно:
(6)
Тогда теорему Куна-Таккера можно записать в виде
= (m)T, i≥0,
(7)
(8)
(9)
Заметим, что множители Лагранжа i в задаче НП с ограничениями-равенствами являются знако-неопределенными, тогда как в теореме Куна-Таккера они должны быть неотрицательными.