Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kalitkin_N_N__Alshina_E_A__Koryakin_P_V_-_Chislennye_metody_Kniga_1_Chislenny_analiz_Universitetskiy_uchebnik_-_2013.pdf
Скачиваний:
0
Добавлен:
22.04.2025
Размер:
4.1 Mб
Скачать

Практики выработали следующие рекомендации. Выбирают

в исходной области ~ (5 + 20)N случайных точек. Из каждой

случайной точки ищут экстремум обобщенным методом Ньюто­

на, ограничиваясь при этом умеренной точностью е: схождения

итераций. Каждая траектория спуска приводит на дно котлови­

ны или оврага, принадлежащего ближайшему минимуму. При не

слишком малом е: конечная точка траектории может оказаться

далеко от точки минимума, но достигнутое значение Ф(х) будет

близко к соответствующему минимальному (отличие,...., е:2). Это

уже позволяет сравнивать конечные точки траекторий, прове­

денных из разных нулевых приближений.

Когда требуется найти глобальный минимум, выбирают ко­

нец той траектории, на котором значение Ф(х) оказалось наи­

меньшим. Из него продолжают спуск, добиваясь сходимости уже с малым е:. Конечную точку спуска принимают за положение глобального минимума.

Если требуется несколько минимумов, удовлетворяющих определенным критериям, то после сравнения выбирают не­

сколько подходящих концов траекторий и продолжают спуски

из них.

8.3. РЕШЕНИЕ СЕТОЧНЫХ УРАВНЕНИЙ

8.3.1. Градиентные спуски

При решении уравнений в частных производных эллиптиче­

ского типа сеточными методами возникает система линейных

уравнений огромной размерности

Ах=Ь.

(8.14)

Если сетка по каждой переменной содержит N узлов, то в дву­

мерном случае матрица А имеет порядок N 2 ( т. е. размер мат­ рицы равен N 2 х N 2), а в трехмерном - порядок N 3 Однако

эта матрица имеет специфический вид: она очень слабо запол­

нена. Например, в двумерном случае из N 2 элементов каждой строки матрицы лишь 5 - 9 ненулевые; в трехмерном из N 3 эле­

ментов строки ненулевые 7 - 27. При этом положение ненуле­ вых элементов фиксировано и описывается несложным прави­ лом: обычно это диагональ, две кодиагонали и т. п. Такие мат­ рицы называют разреженными. Ненулевые элементы в них не образуют плотной ленты, и применять метод Гаусса или другие

265

прямые методы для их решения крайне невыгодно. Для их ре­

шения строят специальные методы, основанные на минимизации

квадратичной функции.

В подобных задачах матрица А непроизвольная. Она всегда

вещественна и положительна А > О (это значит, что для любого

х # О выполняется (х, Ах) > О). Во многих задачах она так­

же симметрична. Пока ограничимся именно этим случаем. То­

гда (8.14) эквивалентна нахождению минимума положительно

определенной квадратичной формы

1

.

 

Ф(х) = 2(х,Ах) -

(х, Ь) = mш.

(8.15)

Доказательство этого приведено в подразд. 2.1.5. Задачу (8.15)

решать методом Ньютона бессмысленно: он требует прямого ре­

шения исходной системы (8.14).

Для таких задач предлагались различные методы градиент­ ного спуска. Они основаны на идее потока воды, стекающего по рельефу в поисках низшей точки. Вода стекает в направле­ нии наиболее крутого склона. Но функция быстрее всего убыва­

ет в направлении, противоположном градиенту grad Ф =У'Ф =

= дФ/дх. Тогда, если известно некоторое приближение x(s), то

следующее приближение ищется на прямой

(8.16)

где -r - параметр, определяющий шаг вдоль прямой.

Для квадратичной формы (8.15) градиент попросту равен

невязке линейной системы (8.14): grad Ф(х) = Ах - Ь =r. Поэто­ му для нее формула (8.16) переходит в

x(-r) = x(s) - "!Г(s), r(s) = Ax(s) - Ь.

(8.17)

Остается определить величину шага -r на каждой итерации. Выгодность подобного подхода связана с малой трудоемко­

стью каждой итерации. На ней требуется умножать матрицу А

на вектор x(s). Это делают экономично, включая в расчет только

ненулевые элементы матрицы А, местоположение которых зара­ нее точно известно. То же относится к операции сложения век­

торов.

8.3.2. Наискорейший спуск

В этом методе спуск по прямой (8.16) пор, пока значения функционала (8.15)

продолжается до тех вдоль нее убывают.

266

С учетом симметрии матрицы А проведем следующие преобра­

зования:

 

1

 

 

 

Ф(х('t)) =

2(x(s)

-

Lr(s),

 

A(x(s) - Lr(s))) - (x(s)

-

'tГ(s), Ь) =

(8.18)

,2

=-(r(s), Ar(s)) - 't(r(s), r(s)) + Ф(х(s)).

2

Для определения низшей точки вдоль прямой приравниваем

нулю производную от (8.18) по 't и получаем шаг метода наиско-

рейшего спуска:

(8.19)

Здесь числитель положителен в силу свойств скалярного произ­

ведения, а знаменатель - в силу положительности матрицы А,

так что '~~ > О. Движение действительно происходит против

градиента.

Сходимосmъ. Поскольку матрица А > О симметрична, все ее собственные значения вещественны и положительны. Для эл­ липтических уравнений этот спектр имеет специфическое рас­

пределение собственных значений, причем Amax >> Amin (отноше­

ние Amax/Лmin '""' N 2 , где N - число узлов разностной сетки по

каждой координате).

В этом случае доказывается, что метод наискорейшего спуска сходится линейно с очень близким к единице знаменателем:

fx(s+l) - x(s)f ~ qfx(s) -

x(s-l)f,

 

q = (Лmах - Amin)/(Лmax + Amin) ~

(8.20)

~ 1 - 2Amin/Amax = 1 -

O(N-2 ).

 

Отсюда видно, что сходимость итераций очень медленная. Для

нахождения точки минимума с точностью е: нужно огромное

число итераций S:

(8.21)

Метод наискорейшего спуска оказывается одним из самых

медленных методов.

Из-за близости q к единице критерий прекращения итера­

ций следует выбирать осторожно. Нельзя использовать крите­

рий fx(s+l) - x(s) f < е:. Следует определять эффективное значе­

ние q в ходе расчета по трем соседним итерациям и использовать

улучшенный критерий линейной сходимости:

267

lx(s+l) - X(s)I < e(l - q(в)),

(8.22)

q(в) = lx(s+l) - x(s)l/lx(s) - x(s-1)1·

Из (8.22) видно, что получить последние 4- 5 значащих цифр

точного решения этим методом нельзя.

8.3.3. Минимальные невязки

Возьмем ту же антиградиентную прямую (8.16), что и в мето­

де наискорейшего спуска. Однако шаг выберем из другого усло­

вия - чтобы новая невязка была минимальной в смысле нормы

вектора: (r(s+l), r(s+l)) = min. Это приводит к иной задаче на

минимум квадратичной функции от -r:

(r(s+IJ, r(s+l)) = (Ax(s+l) - Ь, Ax(s+l) -

Ь) =

= (A(x(s) - "tГ(s)) - Ь, A(x(s) - -rr(s)) -

Ь)

=

= -r2 (Ar(s), Ar(s)) - 2-r(rCsJ, Ar(s)) + (r(s), r(s))

= min.

Приравняв нулю производную по -r, получим шаг, обеспечи­

вающий минимальную невязку вдоль антиградиентной прямой:

(8.23)

Метод с таким выбором шага называют методом минималь­ ных невязок. Знаменатель положителен в силу свойств скаляр­

ного произведения, а числитель также положителен, поскольку

А > О. Следовательно, -r~2 > О.

Собственные векторы симметричной матрицы А > О образу­

ют ортогональный базис. Разложением x(s) нетрудно показать,

что

1/Лmin ~ "t~~) ~ -r~J ~ 1/Лmах > О.

Таким образом, шаг метода минимальных невязок всегда меньше, чем у наискорейшего спуска. Несмотря на это можно до­

казать, что метод минимальных невязок сходится точно с такой

же скоростью, как и метод наискорейшего спуска. Знаменатель его линейной сходимости и требуемое число итераций описыва­

ются формулами (8.20) и (8.22).

Метод минимальных невязок имеет одно преимущество пе­ ред методом наискорейшего спуска. Формула его шага приме­

нима даже в том случае, когда матрица А не является знако­

определенной. Вероятность того, что в ходе итераций Ar(s) =О,

268