Алгоритм Дэвидона–Флетчера–Пауэлла
Способы минимизации дифференцируемой функции нескольких переменных. Выработка сопряженных направлений и остановка после выполнения одной итерации. Результаты вычислений примеров методом Дэвидона–Флетчера–Пауэлла. Доказательство по индукции и дедукции.
Рубрика | Математика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 29.09.2013 |
Размер файла | 156,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Алгоритм Дэвидона - Флетчера - Пауэлла
Рассмотрим алгоритм Дэвидона - Флетчера - Пауэлла минимизации дифференцируемой функции нескольких переменных. В частности, если функция квадратичная, то, как будет показано позднее, метод вырабатывает сопряженные направления и останавливается после выполнения одной итерации, т.е. после поиска вдоль каждого из сопряженных направлений.
Начальный этап.
Пусть 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 |
|
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 |
(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 |
||
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 |
||
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 |
На каждой итерации вектор 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). Если f(yj) 0 для всех j, то направления d1, …, dn являются Н - сопряженными и Dn+1 = H-1. Кроме того, yn+1 является оптимальным решением задачи.
Доказательство.
Прежде всего покажем, что для j, такого, что 1 j n, справедливы следующие утверждения:
d1, …, dj линейно независимы.
djTHdk = 0 для i k; i, k j.
Dj+1Hpk, или, что эквивалентно, Dj+1Hdk = dk для 1 k j, pk = kdk.
Проведем доказательство по индукции. Для j = 1 утверждения 1 и 2 очевидны. Чтобы доказать утверждение 3, заметим прежде всего, что для любого k справедливы равенства
Hpk = H(kdk) = 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 diTf(yj+1) = 0 для i j. По индуктивному предположению di = Dj+1Hdi, i j. Таким образом, для i j имеем
0 = diTf(yj+1) = diTHDj+1f(yj+1) = - diTHdj+1.
Ввиду предположения индукции это равенство показывает, что утверждение 2 также справедливо для j+1.
Теперь покажем, что утверждение 3 справедливо для j+1.
Полагая k j+1, имеем
. (8)
Учитывая (7) и полагая k = j + 1 в (8), получим, что Dj+2Hpj+1 = pj+1. Теперь пусть k j. Так как утверждение 2 справедливо для j + 1, то
pj+1THpk = kj+1dj+1THdk = 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. Если в качестве D взять матрицу, столбцами которой являются векторы d1, …, dn, то . Так как D имеет обратную, то , что возможно только в том случае, если . Наконец, является оптимальным решением по теореме 2.
Теорема доказана.
Список литературы
Базара М., Шетти К. «Нелинейное программирование. Теория и алгоритмы». М., 1982.
Химмельблау Д. «Прикладное нелинейное программирование». М., 1975.
Размещено на Allbest.ru
...Подобные документы
Сущность сопряженных направлений, знакомство с основными алгоритмами. Особенности поиска минимума функции методом Пауэлла. Разработка приложений с графическим интерфейсом. Исследование квадратичных функций, решение задач методом сопряженных направлений.
курсовая работа [2,8 M], добавлен 14.07.2012Понятие функции нескольких переменных. Аргументы, частное значение и область применения функции. Рассмотрение функции двух и трех переменных. Предел функции нескольких переменных, теорема. Главная сущность непрерывности функции нескольких переменных.
реферат [86,3 K], добавлен 30.10.2010Понятия зависимой, независимой переменных, области определения функции. Примеры нахождения области функции. Примеры функций нескольких переменных: линейная, квадратическая, функция Кобба-Дугласа. Построение графика и линии уровня функции двух переменных.
презентация [104,8 K], добавлен 17.09.2013Теория математического программирования. Методы поиска глобального экстремума функции нескольких переменных. Угловые точки допустимых множеств. Постановка общей задачи нелинейного программирования. Решения уравнения f(x)=0 методом простой итерации.
контрольная работа [775,4 K], добавлен 05.01.2013Рассмотрение эффективности применения методов штрафов, безусловной оптимизации, сопряженных направлений и наискорейшего градиентного спуска для решения задачи поиска экстремума (максимума) функции нескольких переменных при наличии ограничения равенства.
контрольная работа [1,4 M], добавлен 16.08.2010Методы нахождения минимума функции одной переменной и функции многих переменных. Разработка программного обеспечения вычисления локального минимума функции Химмельблау методом покоординатного спуска. Поиск минимума функции методом золотого сечения.
курсовая работа [95,1 K], добавлен 12.10.2009Определение точки экстремума для функции двух переменных. Аналог теоремы Ферма. Критические, стационарные точки. Теорема "Достаточное условие экстремума", доказательство. Схема исследования функции нескольких переменных на экстремум, практический пример.
презентация [126,2 K], добавлен 17.09.2013Понятие генетического алгоритма и механизм минимизации функции многих переменных. Построение графика функции и ее оптимизация. Исследование зависимости решения от вида функции отбора родителей для кроссинговера и мутации потомков, анализ результатов.
контрольная работа [404,7 K], добавлен 04.05.2015Доказательство теоремы Пифагора методами элементарной алгебры: методом решения параметрических уравнений в сочетании с методом замены переменных. Существование бесконечного количества троек пифагоровых чисел и, соответственно, прямоугольных треугольников.
творческая работа [17,4 K], добавлен 25.06.2009Методы решения нелинейных уравнений: касательных и хорд, результаты их вычислений. Алгоритм и блок схема метода секущих. Исследование характерных примеров для практического сравнения эффективности рассмотренных методов разрешения нелинейных уравнений.
дипломная работа [793,2 K], добавлен 09.04.2015Понятие, предел и непрерывность функции двух переменных. Частные производные первого порядка, нахождение полного дифференциала. Частные производные высших порядков и экстремум функции нескольких переменных. Необходимые условия существования экстремума.
контрольная работа [148,6 K], добавлен 02.02.2014Нахождение экстремумов функций методом множителей Лагранжа. Выражение расширенной целевой функции. Схема алгоритма численного решения задачи методом штрафных функций в сочетании с методом безусловной минимизации. Построение линий ограничений.
курсовая работа [259,9 K], добавлен 04.05.2011Математическая задача оптимизации. Минимум функции одной и многих переменных. Унимодальные и выпуклые функции. Прямые методы безусловной оптимизации и минимизации, их практическое применение. Методы деления отрезка пополам (дихотомия) и золотого сечения.
курсовая работа [2,0 M], добавлен 26.08.2009Понятие функции двух и более переменных, ее предел и непрерывность. Частные производные первого и высших порядков. Определение полного дифференциала. Необходимые и достаточные условия существования экстремума и его нахождение на условном множестве.
реферат [145,4 K], добавлен 03.08.2010Решение систем линейных алгебраических уравнений методом простой итерации. Полиномиальная интерполяция функции методом Ньютона с разделенными разностями. Среднеквадратическое приближение функции. Численное интегрирование функций методом Гаусса.
курсовая работа [2,4 M], добавлен 14.04.2009Рассмотрение примеров задач и теорем, доказываемых при помощи контрпримера. Применение терминов "производная" и "дифференцируемая функция". Построение немецким математиком Вейерштрассом первого примера непрерывной нигде не дифференцируемой функции.
курсовая работа [400,6 K], добавлен 07.10.2013Доказательство существования или отсутствия алгоритма для решения поставленной задачи. Определение алгоритмической неразрешимости задачи. Понятия суперпозиции функций и рекурсивных функций. Анализ схемы примитивной рекурсии и операции минимизации.
курсовая работа [79,5 K], добавлен 12.07.2015Функции нескольких переменных. Локальные экстремумы функции двух переменных. Производная по направлению. Двойные и тройные интегралы. Вычисление объемов тел и площадей плоских фигур. Тройной интеграл, криволинейные интегралы первого и второго рода.
учебное пособие [511,2 K], добавлен 23.04.2012Свойства множества Кантора. Исследование заданной функции на непрерывность. Выражение множества B (кладбище Серпинского) и D (гребёнка Кантора) через множество Кантора. Свойства и построение всюду непрерывной, но нигде не дифференцируемой функции.
курсовая работа [1,1 M], добавлен 24.06.2015Алгоритм вычисления интегральной суммы для функции нескольких переменных f(x, y) по плоской кривой АВ. Ознакомление с понятием криволинейного интеграла первого рода. Представление формулы расчета криволинейного интеграла по пространственной кривой.
презентация [306,9 K], добавлен 17.09.2013