Министерство науки, высшей школы и технической политики Российской Федерации. Новосибирский Государственный Технический Университет.
Реферат по исследованию операций на тему «Метод Дэвидона - Флетчера - Пауэлла». Вариант №2. Факультет: АВТ. Кафедра: АСУ. Группа: АС-513. Студент: Бойко Константин Анатольевич. Преподаватель: Ренин Сергей Васильевич. Дата: 19 октября 1997 года. Новосибирск Введение. Первоначально метод был предложен Дэвидоном (Davidon [1959] ), а затем развит Флетчером и Пауэллом (Fletcher, Powell [1963] ). Метод Дэвидона - Флетчера - Пауэлла называют также и методом переменной метрики. Он попадает в общий класс квазиньютоновских процедур, в которых направления поиска задаются в виде -Djf(y). Направление градиента является, таким образом, отклоненным в результате умножения на -Dj , где Dj - положительно определенная симметрическая матрица порядка n ( n, аппроксимирующая обратную матрицу Гессе. На следующем шаге матрица Dj+1 представляется в виде суммы Dj и двух симметрических матриц ранга один каждая. В связи с этим схема иногда называется схемой коррекции ранга два. Алгоритм Дэвидона - Флетчера - Пауэлла. Рассмотрим алгоритм Дэвидона - Флетчера - Пауэлла минимизации дифференцируемой функции нескольких переменных. В частности, если функция квадратичная, то, как будет показано позднее, метод вырабатывает сопряженные направления и останавливается после выполнения одной итерации, т.е. после поиска вдоль каждого из сопряженных направлений. Начальный этап. Пусть (0 - константа для остановки. Выбрать точку х1 и начальную симметрическую положительно определенную матрицу D1. Положить y1 = x1, k = j = 1 и перейти к основному этапу.
Основной этап. Шаг 1. Если ((f(yj) ((( (, то остановиться; в противном случае положить dj = - Djf(yj) и взять в качестве (j оптимальное решение задачи минимизации f(yj + (dj) при ( ( 0. Положить yj+1 = yj + (jdj. Если j ( n, то перейти к шагу 2. Если j = n, то положить y1 = xk+1 = yn+1, заменить k на k+1, положить j=1 и повторить шаг 1. Шаг 2. Построить Dj+1 следующим образом : , (1) где pj = (jdj, (2) qj = f(yj+1) - f(yj). (3) Заменить j на j + 1 и перейти к шагу 1. Пример. Рассмотрим следующую задачу : минимизировать (x1 - 2)4 + (x1 - 2x2)2. Результаты вычислений методом Дэвидона - Флетчера - Пауэлла приведены в таблице 1. Таблица 1. Результаты вычислений по методу Дэвидона - Флетчера - Пауэлла. k xk f(xk) j yj f(yj) f(yj) ((f(yj) (( D dj (j yj+1
На каждой итерации вектор dj для j = 1, 2 определяется в виде–Djf(yj), где D1 – единичная матрица, а D2 вычисляется по формулам (1) - (3). Приk = 1 имеем p1 = (2.7, -1.49)T, q1 = (44.73, -22,72)T. На второй итерацииp1 = (-0.1, 0.05)T, q1 = (-0.7, 0.8)T и, наконец, на третьей итерацииp1 = (-0.02, 0.02)T, q1 = (-0.14, 0.24)T. Точка yj+1 вычисляется оптимизацией вдоль направления dj при начальной точке yj для j = 1, 2. Процедура остановлена в точкеy2 = (2.115, 1.058)T на четвертой итерации, так как норма ((f(y2) ((= 0.006 достаточно мала. Траектория движения, полученная методом, показана на рисунке 1. Рисунок 1. Метод Дэвидона - Флетчера - Пауэлла.
Лемма 1 показывает, что каждая матрица Dj положительно определена и dj является направлением спуска. Для доказательства леммы нам понадобится : Теорема 1. Пусть S - непустое множество в Еn, точка x ( cl S. Конусом возможных направлений в точке x называется множество D = {d : d ( 0, x + (d ( S при всех ( ( (0, () для некоторого ( > 0}. Определение. Пусть x и y - векторы из Еn и (xTy( - абсолютное значение скалярного произведения xTy. Тогда выполняется следующее неравенство, называемое неравенством Шварца : (xTy( ( ((x(( ((y((. Лемма 1.
Пусть y1 ( Еn, а D1 – начальная положительно определенная симметрическая матрица. Для j = 1, ..., n положим yj+1 = yj + (jdj, где dj = –Djf(yj), а (j является оптимальным решением задачи минимизации f(yj + (dj) при ( ( 0. Пусть, кроме того, дляj = 1, ..., n – 1 матрица Dj+1 определяется по формулам (1) - (3). Если f(yj) ( 0 дляj = 1, ..., n, то матрицы D1, ..., Dn симметрические и положительно определенные, так что d1, ..., dn – направления спуска. Доказательство. Проведем доказательство по индукции. При j = 1 матрица D1 симметрическая и положительно определенная по условию леммы. Кроме того, f(y1)Td1 = –f(y1)TD1f(y1) ( 0, так как D1 положительно определена. Тогда по теореме 1 вектор d1 определяет направление спуска. Предположим, что утверждение леммы справедливо для некоторого j ( n – 1, и покажем, что оно справедливо для j+1. Пусть x – ненулевой вектор из En, тогда из (1) имеем (4) Так как Dj – симметрическая положительно определенная матрица, то существует положительно определенная матрица Dj1/2, такая, что Dj = Dj1/2Dj1/2. Пустьa = Dj1/2x и b = Dj1/2qj. Тогда xTDjx = aTa, qjTDjqj = bTb и xTDjqj = aTb. Подставляя эти выражения в (4), получаем : (5) По неравенству Шварца имеем (aTa)(bTb) ( (aTb)2. Таким образом, чтобы доказать, что xTDj+1x ( 0, достаточно показать, что pjTqj ( 0 и bTb ( 0. Из (2) и (3) следует, что pjTqj = (jdjT[f(yj+1) – f(yj)]. (6) По предположениюf(yj) ( 0, и Dj положительно определена, так чтоf(yj)TDjf(yj) ( 0. Кроме того, dj – направление спуска, и, следовательно, (j ( 0. Тогда из (6) следует, что pjTqj ( 0. Кроме того, qj ( 0, и , следовательно, bTb= qjTDjqj ( 0. Покажем теперь, что xTDj+1x ( 0. Предположим, что xTDj+1x = 0. Это возможно только в том случае, если (aTa)(bTb) = (aTb)2 и pjTx = 0. Прежде всего заметим, что(aTa)(bTb) = (aTb)2 только при a = (b, т.е. Dj1/2x = (Dj1/2qj. Таким образом, x = (qj. Так как x ( 0, то ( ( 0. Далее, 0 = pjTx = ( pjTqj противоречит тому, что pjTqj ( 0 и ( ( 0. Следовательно, xTDj+1x > 0, т.е. матрица Dj+1 положительно определена. Поскольку f(yj+1) ( 0 и Dj+1 положительно определена, имеемf(yj+1)Tdj+1 = –f(yj+1)T Dj+1f(yj+1) < 0. Отсюда по теореме 1 следует, что dj+1 – направление спуска. Лемма доказана. Квадратичный случай. В дальнейшем нам понадобиться : Теорема 2. Пусть f(x) = cTx + ( xTHx, где Н - симметрическая матрица порядка n x n. Рассмотрим Н - сопряженные векторы d1, …, dn и произвольную точку x1. Пусть (k для k = 1, …, n - оптимальное решение задачи минимизацииf(xk + (dk) при ( ( Е1 и xk+1 = xk + (dk. Тогда для k = 1, …, n справедливы следующие утверждения : f(xk+1)Tdj = 0, j = 1, …, k; f(x1)Tdk = f(xk)Tdk; xk+1 является оптимальным решением задачи минимизации f(x) при условииx - x1 ( L(d1, …, dk), где L(d1, …, dk) – линейное подпространство, натянутое на векторы d1, …, dk, то есть В частности, xn+1 – точка минимума функции f на Еn. Если целевая функция f квадратичная, то в соответствии со сформулированной ниже теоремой 3 направления d1, …, dn, генерируемые методом Дэвидона - Флетчера - Пауэлла, являются сопряженными. Следовательно, в соответствии с утверждением 3 теоремы 2 метод останавливается после завершения одной итерации в оптимальной точке. Кроме того, матрица Dn+1, полученная в конце итерации, совпадает с обратной к матрице Гессе Н. Теорема 3. Пусть Н – симметричная положительно определенная матрица порядка n x n. Рассмотрим задачу минимизации f(x) = cTx + ( xTHx при условии x ( En. Предположим, что задача решена методом Дэвидона - Флетчера - Пауэлла при начальной точке y1 и начальной положительно определенной матрице D1. В частности, пусть (j, j = 1, …, n, – оптимальное решение задачи минимизации f(yj + (dj) при ( ( 0 и yj+1 = yj + (jdj, где dj = -Djf(yj), а Dj определяется по формулам (1) – (3). Если