Министерство науки, высшей школы и технической
политики Российской Федерации.
Новосибирский Государственный
Технический Университет.
Реферат по исследованию операций на тему
«Метод Дэвидона - Флетчера - Пауэлла».
Вариант №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 + ljdj. Если j < n, то перейти к шагу 2. Если j = n, то положить y1 = xk+1 = yn+1, заменить k на k+1, положить j=1 и повторить шаг 1.Шаг 2. Построить Dj+1 следующим образом :
, (1)где
pj = ljdj, (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 | lj | yj+1 |
1 | (0.00, 3.00) (52.00) | 1 2 | (0.00, 3.00) (52.00) (2.70, 1.51) (0.34) | (-44.00, 24.00) (0.73, 1.28) | 50.12 1.47 | (44.00, -24.00) (-0.67, -1.31) | 0.062 0.22 | (2.70, 1.51) (2.55, 1.22) | |
2 | (2.55, 1.22) (0.1036) | 1 2 | (2.55, 1.22) (0.1036) (2.45, 1.27) (0.0490) | (0.89, -0.44) (0.18, 0.36) | 0.99 0.40 | (-0.89, 0.44) (-0.28, -0.25) | 0.11 0.64 | (2.45, 1.27) (2.27, 1.11) | |
3 | (2.27, 1.11) (0.008) | 1 2 | (2.27, 1.11) (0.008) (2.25, 1.13) (0.004) | (0.18, -0.20) (0.04, 0.04) | 0.27 0.06 | (-0.18, 0.20) (-0.05, -0.03) | 0.10 2.64 | (2.25, 1.13) (2.12, 1.05) | |
4 | (2.12, 1.05) (0.0005) | 1 2 | (2.12, 1.05) (0.0005) (2.115, 1.058) (0.0002) | (0.05, -0.08) (0.004, 0.004) | 0.09 0.006 | (-0.05, 0.08) | 0.10 | (2.115, 1.058) |
На каждой итерации вектор dj для j = 1, 2 определяется в виде
–Dj
Рисунок 1. Метод Дэвидона - Флетчера - Пауэлла.
Лемма 1 показывает, что каждая матрица Dj положительно определена и dj является направлением спуска.
Для доказательства леммы нам понадобится :
Теорема 1. Пусть S - непустое множество в Еn, точка x Î cl S. Конусом возможных направлений в точке x называется множество D = {d : d ¹ 0, x + ld Î S при всех l Î (0, d) для некоторого d > 0}.
Определение. Пусть x и y - векторы из Еn и |xTy| - абсолютное значение скалярного произведения xTy. Тогда выполняется следующее неравенство, называемое неравенством Шварца : |xTy| £ ||x|| ||y||.
Лемма 1.
Пусть y1 Î Еn, а D1 – начальная положительно определенная симметрическая матрица. Для j = 1, ..., n положим yj+1 = yj + ljdj, где dj = –Dj
f(yj), а lj является оптимальным решением задачи минимизации f(yj + ldj) при l ³ 0. Пусть, кроме того, дляДоказательство.
Проведем доказательство по индукции. При j = 1 матрица D1 симметрическая и положительно определенная по условию леммы. Кроме того,
Так как Dj – симметрическая положительно определенная матрица, то существует положительно определенная матрица Dj1/2, такая, что Dj = Dj1/2Dj1/2. Пусть
a = Dj1/2x и b = Dj1/2qj. Тогда xTDjx = aTa, qjTDjqj = bTb и xTDjqj = aTb. Подставляя эти выражения в (4), получаем :