Санкт-Петербургский государственный университет
факультет прикладной математики - процессов управления
Курсовая работа №2: Минимизация квадратных функций. Градиентный метод наискорейшего спуска.
Задание №1
Выполнил: Винницкий Иван
группа 28
Санкт-Петербург, 2003
Изложить градиентный метод наискорейшего спуска(ГМНС) для отыскания минимума квадратной функции
f(x) = 0,5<Ax,x>+<c,x> (1)
где x=(x1, … , xn)T, c=(c1, … , cn)T , A=(aij) i,j=1…n – симметричная положительно определённая матрица. Указать скорость его сходимости и связь с решением системы уравнений Ax+b=0.
Реализовать ГМНС на компьютере. В качестве критерия прекращения спуска предусмотреть любой из трёх следующих:
a) ||f’(xk) ||< ξ
b) ||xk-xk-1||< ξ
c) f(xk-1)-f(xk)< ξ
Продемонстрировать работу программы для
/ 1.5 1.6 1.7 1.8 \
A= | 1.6 2.5 1.2 1.3 |
| 1.7 1.2 3.5 1.4 |
\ 1.8 1.3 1.4 4.5 /
c= (3,4; 3,8; 2,6; 5,8)T
Выходные данные программы: xk, ||xk-xk-1||, k –номер последнего шага
ОПР.(градиент) Рассмотрим вещественную функцию F(x)=F(x1, x2… xn) определённую в Rn. Предполагаем, что функция F(x)=F(x1, x2… xn) имеет непрерывные частные производные. Пусть y – произвольный вектор единичной длины: (y,y)=||y||2=1 и α – вещественное число. Производная функции F(x) по направлению y обозначается ¶F(x)/ ¶y и определяется следующим образом:
¶F(x)/ ¶y = lim{α ®0}[f(x+ αy) – F(x)]/α = ¶F(x+αy)/ ¶α |α=0
Очевидно, имеем:
¶F(x)/ ¶y = dF(x1+ α y1, x2 + αy2, … xn + αyn)/dα |α=0=(¶F(x)/ ¶x1) y1+(¶F(x)/¶x2) y2+…+ (¶F(x)/¶xn)yn=(z, y),
где z= (¶F(x)/¶x1 , ¶F(x)/¶x2 , … ¶F(x)/¶xn )T есть вектор, называемый градиентом функции F(x).
Итак, для производноц функции F(x) по направдению y получили формулу. По неравенству Буняковского:
-||z||2 =<(z,y)=<||z||2
Таким образом, видно, что при y=z/||z||2 производная по направлению ¶F(x)/ ¶y = ||z||2 имеет наибольшее значение, а при y = -z/||z||2 – наименьшее: ¶F(x)/ ¶y = -||z||2. Следовательно, направление градиента в точке x есть направление наибольшей скорости роста функции F(x) в этой точке, а противоположное направление есть направление наибольшей скорости убывания F(x).
.
Рассмотрим функционал в Rn
f(x)= 0,5<Ax,x>+<c,x> -> 2f(x)= <Ax,x>-2<b,x>= H(x) (1)
и найдём его градиент. Имеем:
H(x+αy)=(A(x+αy),x+αy)-2(b,x+αy)=H(x)+ 2α(Ax-b,y)+ α2(Ay,y), где α –вещественное число, y – произвольный вектор единичной длины.
Полученное неравенство называется формулой сложения. Из него имеем:
[H(x+αy)-H(x)]/α=2(Ax-b,y)+α(Ay,y)
и, следовательно,
От сюда вытекает, что градиент функционала H(x) равен 2(Ax-b).
Рассмотрим линейную алгебраическю сисстему
С этой системой свяжем наш функционал (1).
ТЕОРЕМА 1Решение x* системы (2) доставляет наименьшее значение функционалу (1). Наоборот, вектор x, доставляющий наименьшее значение функционалу (1), совпадает с x*.
Дадим описание метода наискорейшего спуска для решения системы (2). Пусть x(0)– начальное приближение к решению системы (2). Градиент функционала H(x) в точке x(0) имеет направление r(0)=A x(0)-b. В направлении - r(0) функционал H(x) в точке x(0) наиболее быстро убывает. От точки x(0) будем двигаться в этом направлении по прямой x(0) - αr(0) до тех пор, пока на этой прямой H(x) не достигнет наименьшего значения.
По формуле сложения имеем:
H(x(0)+αr(0))=H(x(0))+ 2α(Ax(0)-b,r(0))+ α2(Ar(0),r(0))
Функционал H(x) на рассматриваемой прямой как функция от α является квадратным трёхчленом, у которого коэфициент при α2 равен (Ar(0),r(0)) и, следовательно положителен. Действительно, матрица А положительно определённая, и мы считаем, что начальное приближение x(0) не совпадает с решением системы (2). Значение α = α0, при котором этот квадратный трёхчлен достигает минимума, совпадает с корнем его производной
-2(r(0),r(0))+2α(Ar(0),r(0)), и мы получаем
α0=(r(0),r(0))/(Ar(0),r(0))
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.