Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Метод Девідона-Флетчера-Пауелла

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Спочатку метод було запропоновано Дэвидоном (Davidon), та був розвинений Флетчером і Пауеллом (Fletcher, Powell). Метод Дэвидона — Флетчера — Пауелла називають ще й методом перемінної метрики. Він потрапляє у єдиний клас квазиньютоновских процедур, у яких напрями пошуку задаються якDjf (y). Напрям градієнта є, таким чином, відхиленим внаслідок множення наDj, де Dj — позитивно певна симметрическая… Читати ще >

Метод Девідона-Флетчера-Пауелла (реферат, курсова, диплом, контрольна)

Міністерство науки, вищій школі та програмах технічної політики Російської Федерации.

Новосибірський Государственный.

Технічний Университет.

[pic].

Реферат дослідження операцій на тему.

«Метод Дэвидона — Флетчера — Пауэлла».

Варіант № 2.

Факультет: АВТ. Кафедра: АСУ. Група: АС-513. Студент: Бойко Костянтин Анатолійович. Викладач: Ренин Сергію Васильовичу. Дата: 19 жовтня 1997 года.

Новосибирск.

Спочатку метод було запропоновано Дэвидоном (Davidon [1959]), та був розвинений Флетчером і Пауеллом (Fletcher, Powell [1963]). Метод Дэвидона — Флетчера — Пауелла називають ще й методом перемінної метрики. Він потрапляє у єдиний клас квазиньютоновских процедур, у яких напрями пошуку задаються якDj[pic]f (y). Напрям градієнта є, таким чином, відхиленим внаслідок множення наDj, де Dj — позитивно певна симметрическая матриця порядку n (n, аппроксимирующая зворотний матрицю Гессе. На наступному кроці матриця Dj+1 представляється в вигляді суми Dj і двох симетричних матриць рангу один кожна. У зв’язку з цим схема іноді називається схемою корекції рангу два.

Алгоритм Дэвидона — Флетчера — Пауэлла.

Розглянемо алгоритм Дэвидона — Флетчера — Пауелла мінімізації дифференцируемой функції кількох змінних. Зокрема, якщо функція квадратична, те, як буде показано пізніше, метод виробляє поєднані напряму, і зупиняється після виконання однієї ітерації, тобто. після пошуку вздовж кожного з пов’язаних направлений.

Початковий этап.

Нехай [pic](0 — константа для зупинки. Вибрати точку х1 і початкову симметрическую позитивно певну матрицю D1. Покласти y1 = x1, k = j = 1 перейти до основному этапу.

Основний этап.

Крок 1. Якщо (([pic]f (yj) ((((, то зупинитися; інакше покласти dj = - Dj[pic]f (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 так :

[pic], (1) де pj = (jdj, (2) qj = [pic]f (yj+1) — [pic]f (yj). (3).

Заменить j на j + 1 перейти до кроку 1.

Пример.

Розглянемо таку завдання :

мінімізувати (x1 — 2)4 + (x1 — 2×2)2.

Результати обчислень методом Дэвидона — Флетчера — Пауелла наведено в таблиці 1.

Таблица 1. Результати обчислень методом Дэвидона — Флетчера — Пауэлла.

|k|xk |j|yj |[pic]f (|(([pic]f|D |dj |(j |yj+1 | | |f (xk) | |f (yj) |yj) |(yj) ((| | | | | |1|(0.00, |1|(0.00, |(-44.00|50.12 |[pic] |(44.00, |0.06|(2.70, | | |3.00) | |3.00) |, | |[pic] |-24.00) |2 |1.51) | | |(52.00)| |(52.00)|24.00) | | | | | | | | | | | |1.47 | | | | | | | |2| | | | |(-0.67, |0.22|(2.55, | | | | |(2.70, |(0.73, | | |-1.31) | |1.22) | | | | |1.51) |1.28) | | | | | | | | | |(0.34) | | | | | | | |2|(2.55, |1|(2.55, |(0.89, |0.99 |[pic] |(-0.89, |0.11|(2.45, | | |1.22) | |1.22) |-0.44) | |[pic] |0.44) | |1.27) | | |(0.1036| |(0.1036| | | | | | | | |) | |) | |0.40 | | | | | | | |2| |(0.18, | | |(-0.28, |0.64|(2.27, | | | | |(2.45, |0.36) | | |-0.25) | |1.11) | | | | |1.27) | | | | | | | | | | |(0.0490| | | | | | | | | | |) | | | | | | | |3|(2.27, |1|(2.27, |(0.18, |0.27 |[pic] |(-0.18, |0.10|(2.25, | | |1.11) | |1.11) |-0.20) | |[pic] |0.20) | |1.13) | | |(0.008)| |(0.008)| | | | | | | | | | | | |0.06 | | | | | | | |2| |(0.04, | | |(-0.05, |2.64|(2.12, | | | | |(2.25, |0.04) | | |-0.03) | |1.05) | | | | |1.13) | | | | | | | | | | |(0.004)| | | | | | | |4|(2.12, |1|(2.12, |(0.05, |0.09 |[pic] |(-0.05, |0.10|(2.115, | | |1.05) | |1.05) |-0.08) | | |0.08) | |1.058) | | |(0.0005| |(0.0005| | | | | | | | |) | |) | |0.006 | | | | | | | |2| |(0.004,| | | | | | | | | |(2.115,|0.004) | | | | | | | | | |1.058) | | | | | | | | | | |(0.0002| | | | | | | | | | |) | | | | | | |.

В кожній ітерації вектор dj для j = 1, 2 визначається виде.

-Dj[pic]f (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. Метод Дэвидона — Флетчера — Пауелла. [pic].

Лема 1 показує, кожна матриця Dj позитивно визначена і dj є напрямом спуска.

Аби довести леми нам знадобиться :

Теорему 1. Нехай P. S — непорожнє безліч в Еn, точка x (cl P. S. Конусом можливих напрямів у точці x називається безліч D = {d: d (0, x.

+ (d (P.S попри всі (((0, () для деякого (> 0}.

Визначення. Нехай x і y — вектори з Еn і (xTy (- абсолютне значення скалярного твори xTy. Тоді виконується таке нерівність, зване нерівністю Шварца: (xTy ((((x ((((y ((.

Лема 1.

Нехай y1 (Еn, а D1 — початкова позитивно певна симметрическая матриця. Для j = 1, …, n між іншим yj+1 = yj + (jdj, де dj = -Dj[pic]f (yj), а (j є оптимальним розв’язанням завдання мінімізації f (yj + (dj) при ((0. Нехай, ще, для.

j = 1, …, n — 1 матриця Dj+1 визначається по формулам (1) — (3). Якщо [pic]f (yj) (0 для.

j = 1, …, n, то матриці D1, …, Dn симметрические і позитивно певні, отже d1, …, dn — напрями спуска.

Доказательство.

Проведемо доказ по індукції. При j = 1 матриця D1 симметрическая і позитивно певна за умовою леми. Крім того,.

[pic]f (y1)Td1 = -[pic]f (y1)TD1[pic]f (y1) (0, оскільки D1 позитивно визначено. Тоді теоремі 1 вектор d1 визначає напрям спуску. Припустимо, що затвердження леми справедливо для деякого j (n — 1, і покажемо, що його справедливо для j+1. Нехай x — ненульовий вектор з En, тоді з (1) имеем.

[pic] (4).

Оскільки Dj — симметрическая позитивно певна матриця, то існує позитивно певна матриця Dj½, така, що Dj = Dj½Dj½. Пусть.

a = Dj½x і b = Dj½qj. Тоді xTDjx = aTa, qjTDjqj = bTb і xTDjqj = aTb. Підставляючи ці висловлювання на (4), отримуємо :

[pic] (5).

По нерівності Шварца маємо (aTa)(bTb) ((aTb)2. Отже, щоб довести, що xTDj+1x (0, досить показати, що pjTqj (0 і bTb (0. З (2) і (3) слід, что.

pjTqj = (jdjT[[pic]f (yj+1) — [pic]f (yj)].

(6).

По предположению[pic]f (yj) (0, і Dj позитивно визначено, так что.

[pic]f (yj)TDj[pic]f (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, тобто. Dj½x = (Dj½qj. Таким чином, x = (qj. Оскільки x (0, то ((0. Далі, 0 = pjTx = (pjTqj суперечить з того що pjTqj (0 і ((0. Отже, xTDj+1x > 0, тобто. матриця Dj+1 позитивно определена.

Оскільки [pic]f (yj+1) (0 і Dj+1 позитивно визначено, имеем.

[pic]f (yj+1)Tdj+1 = -[pic]f (yj+1)T Dj+1[pic]f (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 справедливі такі затвердження :

1. [pic]f (xk+1)Tdj = 0, j = 1, …, k;

2. [pic]f (x1)Tdk = [pic]f (xk)Tdk;

3. xk+1 є оптимальним розв’язанням завдання мінімізації f (x) при условии.

x — x1 (L (d1, …, dk), де L (d1, …, dk) — лінійне підпростір, натягнуте на вектори d1, …, dk, тобто [pic] Зокрема, 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 = -Dj[pic]f (yj), а Dj визначається по формулам (1) -.

(3). Якщо [pic]f (yj) (0 всім j, то направления.

d1, …, dn є М — сполученими і Dn+1 = H-1. З іншого боку, yn+1 є оптимальним розв’язанням задачи.

Доказательство.

Насамперед покажемо, що з j, такого, що 1 (j (n, справедливі такі затвердження :

1. d1, …, dj лінійно независимы.

2. djTHdk = 0 для і (k; і, k (j.

3. Dj+1Hpk, чи, що еквівалентно, Dj+1Hdk = dk для 1 (k (j, pk =.

(kdk.

Проведемо доказ по індукції. Для j = 1 затвердження 1 і 2 очевидні. Щоб довести твердження 3, зауважимо передусім, що з будь-якого k справедливі равенства.

Hpk = H ((kdk) = H (yk+1 — yk) = [pic]f (yk+1) -[pic]f (yk) = qk.

(7).

Зокрема, Hp1 = q1. Отже, вважаючи j = 1 в (1), получаем.

[pic], тобто. твердження 3 справедливо при j = 1.

Тепер припустимо, що твердження 1, 2 і трьох справедливі для j (n — 1. Покажемо, що вони також справедливі й у j + 1. Нагадаємо, що у утвердженню 1 теореми 2 diT[pic]f (yj+1) = 0 для і (j. По індуктивному припущенню di = Dj+1Hdi, і (j. Отже, для і (j имеем.

0 = diT[pic]f (yj+1) = diTHDj+1[pic]f (yj+1) = -diTHdj+1.

Через припущення індукції це рівність показує, що твердження 2 також справедливо для j+1.

Тепер покажемо, що затвердження 3 справедливо для j+1.

Вважаючи k (j+1, имеем.

[pic]. (8).

З огляду на (7) і вважаючи k = j + 1 в (8), одержимо, що Dj+2Hpj+1 = pj+1. Тепер нехай k (j. Оскільки твердження 2 справедливо для j + 1, то pj+1THpk = (k (j+1dj+1THdk = 0. (9).

За припущенням індукції з (7) і через те, що затвердження 2 справедливо для j + 1, получаем.

[pic]. (10).

Підставляючи (9) і (10) в (8) та враховуючи припущення індукції, получаем.

[pic]. Отже, твердження 3 справедливо для j+1.

Залишилося показати, що затвердження 1 справедливо для j+1. Припустимо, що [pic]. Примножуючи це рівність на [pic]и враховуючи, що твердження 2 справедливо для j+1, отримуємо, що [pic]. За умовою теореми [pic], а, по лемме 1 матриця [pic] позитивно визначено, отже [pic]. Оскільки H позитивно визначено, то [pic] і, отже, [pic]. Звідси слід, що [pic], й, оскільки d1, …, dj лінійно незалежні за припущенням індукції, то [pic] для і = 1, …, j. Отже, d1, …, dj+1 лінійно незалежні і запровадження 1 справедливо для j+1. Отже, затвердження 1, 2 і трьох виконуються. Зокрема сопряжённость d1, …, dn випливає з тверджень 1 і 2, якщо покласти j = n.

Нехай тепер j = n утвердженню 3. Тоді [pic] для k = 1, …, n. Якщо як D взяти матрицю, стовпчиками якої є вектори d1, …, dn, то [pic]. Оскільки D має зворотний, то [pic], що можна в тому разі, якщо [pic]. Нарешті, [pic] є оптимальним розв’язанням по теоремі 2.

Теорему доказана.

1. Базару М., Шетти До. «Нелінійне програмування. Теорія і алгоритми». М., 1982. Химмельблау Д. «Прикладне нелінійне програмування». М., 1975.

Показати весь текст
Заповнити форму поточною роботою