Реферат: Метод Дэвидона-Флетчера-Пауэлла
Название: Метод Дэвидона-Флетчера-Пауэлла Раздел: Рефераты по информатике, программированию Тип: реферат | ||||||||||||||||||||||||||||||||||||||||||||||||||
Министерство науки, высшей школы и технической политики Российской Федерации. Новосибирский Государственный Технический Университет. Реферат по исследованию операций на тему «Метод Дэвидона - Флетчера - Пауэлла». Вариант №2.
Факультет: АВТ. Кафедра: АСУ. Группа: АС-513. Студент: Бойко Константин Анатольевич. Преподаватель: Ренин Сергей Васильевич. Дата: 19 октября 1997 года. Новосибирск Введение. Первоначально метод был предложен Дэвидоном (Davidon [1959] ), а затем развит Флетчером и Пауэллом (Fletcher, Powell [1963] ). Метод Дэвидона - Флетчера - Пауэлла называют также и методом переменной метрики . Он попадает в общий класс квазиньютоновских процедур, в которых направления поиска задаются в виде -Dj f(y). Направление градиента является, таким образом, отклоненным в результате умножения на -Dj , где Dj - положительно определенная симметрическая матрица порядка n х n, аппроксимирующая обратную матрицу Гессе. На следующем шаге матрица Dj +1 представляется в виде суммы Dj и двух симметрических матриц ранга один каждая. В связи с этим схема иногда называется схемой коррекции ранга два . Алгоритм Дэвидона - Флетчера - Пауэлла. Рассмотрим алгоритм Дэвидона - Флетчера - Пауэлла минимизации дифференцируемой функции нескольких переменных. В частности, если функция квадратичная, то, как будет показано позднее, метод вырабатывает сопряженные направления и останавливается после выполнения одной итерации, т.е. после поиска вдоль каждого из сопряженных направлений. Начальный этап . Пусть >0 - константа для остановки. Выбрать точку х1 и начальную симметрическую положительно определенную матрицу D1 . Положить y1 = x1 , k = j = 1 и перейти к основному этапу. Основной этап . Шаг 1. Если çêf(yj ) çê< e, то остановиться; в противном случае положить dj = - Dj f(yj ) и взять в качестве lj оптимальное решение задачи минимизации f(yj + ldj ) при l ³ 0. Положить yj+1 = yj + lj dj . Если j < n, то перейти к шагу 2. Если j = n, то положить y1 = xk+1 = yn+1 , заменить k на k+1, положить j=1 и повторить шаг 1. Шаг 2. Построить Dj +1 следующим образом : , (1) где pj = lj dj , (2) qj = f(yj+1 ) - f(yj ). (3) Заменить j на j + 1 и перейти к шагу 1.
Пример. Рассмотрим следующую задачу : минимизировать (x1 - 2)4 + (x1 - 2x2 )2 . Результаты вычислений методом Дэвидона - Флетчера - Пауэлла приведены в таблице 1. Таблица 1. Результаты вычислений по методу Дэвидона - Флетчера - Пауэлла.
На каждой итерации вектор dj
для j = 1, 2 определяется в виде Рисунок 1. Метод Дэвидона - Флетчера - Пауэлла . Лемма 1 показывает, что каждая матрица Dj положительно определена и dj является направлением спуска. Для доказательства леммы нам понадобится : Теорема 1 . Пусть S - непустое множество в Еn , точка x Î cl S. Конусом возможных направлений в точке x называется множество в = {d : в ¹ 0, x + ld Î S при всех l Î (0, d) для некоторого в > 0}. Определение. Пусть x и y - векторы из Еn и |xT y| - абсолютное значение скалярного произведения xT y. Тогда выполняется следующее неравенство, называемое неравенством Шварца : |xT y| £ ||x|| ||y||.
Лемма 1. Пусть y1
Î Еn
, а D1
– начальная положительно определенная симметрическая матрица. Для j = 1, ..., n положим yj+1
= yj
+ lj
dj
, где dj
= –Dj
f(yj
), а lj
является оптимальным решением задачи минимизации f(yj
+ ldj
) при l ³ 0. Пусть, кроме того, для Доказательство. Проведем доказательство по индукции. При j = 1 матрица D1
симметрическая и положительно определенная по условию леммы. Кроме того, (4) Так как Dj
– симметрическая положительно определенная матрица, то существует положительно определенная матрица Dj
1
/2
, такая, что Dj
= Dj
1
/2
Dj
1
/2
. Пусть (5) По неравенству Шварца имеем (aT a)(bT b) ³ (aT b)2 . Таким образом, чтобы доказать, что xT Dj+1 x ³ 0, достаточно показать, что pj T qj > 0 и bT b > 0. Из (2) и (3) следует, что pj T qj = lj dj T [f(yj+1 ) – f(yj )]. (6) По предположениюf(yj
) ¹ 0, и Dj
положительно определена, так что Покажем теперь, что xT
Dj+1
x > 0. Предположим, что xT
Dj+1
x = 0. Это возможно только в том случае, если (aT
a)(bT
b) = (aT
b)2
и pj
T
x = 0. Прежде всего заметим, что Поскольку f(yj
+1
) ¹ 0 и Dj+1
положительно определена, имеем Лемма доказана. Квадратичный случай.
В дальнейшем нам понадобиться : Теорема 2.
Пусть f(x) = cT
x + 1 xT
Hx, где Н - симметрическая матрица порядка n x n. Рассмотрим Н - сопряженные векторы d1
, …, dn
и произвольную точку x1
. Пусть lk
для k = 1, …, n - оптимальное решение задачи минимизации 1. f(xk+1 )T dj = 0, j = 1, …, k; 2. f(x1 )T dk = f(xk )T dk ; 3. xk+1
является оптимальным решением задачи минимизации f(x) при условии
Если целевая функция f квадратичная, то в соответствии со сформулированной ниже теоремой 3 направления d1 , …, dn , генерируемые методом Дэвидона - Флетчера - Пауэлла, являются сопряженными. Следовательно, в соответствии с утверждением 3 теоремы 2 метод останавливается после завершения одной итерации в оптимальной точке. Кроме того, матрица Dn+1 , полученная в конце итерации, совпадает с обратной к матрице Гессе Н. Теорема 3
.
Пусть Н – симметричная положительно определенная матрица порядка n x n. Рассмотрим задачу минимизации f(x) = cT
x + 1 xT
Hx при условии x Î En
. Предположим, что задача решена методом Дэвидона - Флетчера - Пауэлла при начальной точке y1
и начальной положительно определенной матрице D1
. В частности, пусть lj
, j = 1, …, n, – оптимальное решение задачи минимизации f(yj
+ ldj
) при l ³ 0 и yj
+1
= yj
+ lj
dj
, где dj
= -Dj
f(yj
), а Dj
определяется по формулам (1) – (3). Если f(yj
) ¹ 0 для всех j, то направления Доказательство. Прежде всего покажем, что для j, такого, что 1 £ j £ n, справедливы следующие утверждения : 1. d1 , …, dj линейно независимы. 2. dj T Hdk = 0 для i ¹ k; i, k £ j. 3. Dj+1 Hpk , или, что эквивалентно, Dj+1 Hdk = dk для 1 £ k £ j, pk = lk dk . Проведем доказательство по индукции. Для j = 1 утверждения 1 и 2 очевидны. Чтобы доказать утверждение 3, заметим прежде всего, что для любого k справедливы равенства Hpk = H(lk dk ) = H(yk+1 - yk ) = f(yk+1 ) –f(yk ) = qk . (7) В частности, Hp1 = q1 . Таким образом, полагая j = 1 в (1), получаем , т.е. утверждение 3 справедливо при j = 1. Теперь предположим, что утверждения 1, 2 и 3 справедливы для j £ n – 1. Покажем, что они также справедливы и для j + 1. Напомним, что по утверждению 1 теоремы 2 di T f(yj+1 ) = 0 для i £ j. По индуктивному предположению di = Dj+1 Hdi , i £ j. Таким образом, для i £ j имеем 0 = di T f(yj+1 ) = di T HDj+1 f(yj+1 ) = –di T Hdj+1 . Ввиду предположения индукции это равенство показывает, что утверждение 2 также справедливо для j+1. Теперь покажем, что утверждение 3 справедливо для j+1. Полагая k £ j+1, имеем . (8) Учитывая (7) и полагая k = j + 1 в (8), получим, что Dj+2 Hpj+1 = pj+1 . Теперь пусть k £ j. Так как утверждение 2 справедливо для j + 1, то pj+1 T Hpk = lk lj+1 dj+1 T Hdk = 0. (9) По предположению индукции из (7) и вследствие того, что утверждение 2 справедливо для j + 1, получаем . (10) Подставляя (9) и (10) в (8) и учитывая предположение индукции, получаем . Таким образом, утверждение 3 справедливо для j+1. Осталось показать, что утверждение 1 справедливо для j+1. Предположим, что . Умножая это равенство на и учитывая, что утверждение 2 справедливо для j+1, получаем, что . По условию теоремы , а по лемме 1 матрица положительно определена, так что . Так как H положительно определена, то и, следовательно, . Отсюда следует, что , и так как d1 , …, dj линейно независимы по предположению индукции, то для i = 1, …, j. Таким образом, d1 , …, dj +1 линейно независимы и утверждение 1 справедливо для j+1. Следовательно, утверждения 1, 2 и 3 выполняются. В частности сопряжённость d1 , …, dn следует из утверждений 1 и 2, если положить j = n. Пусть теперь j = n в утверждении 3. Тогда для k = 1, …, n. Если в качестве в взять матрицу, столбцами которой являются векторы d1 , …, dn , то . Так как в имеет обратную, то , что возможно только в том случае, если . Наконец, является оптимальным решением по теореме 2. Теорема доказана. Список литературы. 1. Базара М., Шетти К. «Нелинейное программирование. Теория и алгоритмы». М., 1982. 2. Химмельблау Д. «Прикладное нелинейное программирование». М., 1975. |