- •1.1. Метрические пространства
- •1.3. Нормированные пространства
- •2.1. Метод Гаусса
- •2.2. Норма и обусловленность матриц
- •2.3. Метод простых итераций
- •2.4. Метод Зейделя
- •2.5. Метод прогонки Метод прогонки используется для решения систем специального вида
- •Локализация корней.
- •3.2. Метод итераций
- •3.3. Метод Ньютона (метод касательных)
- •Метод секущих
- •4.1. Постановка задачи
- •4.2. Многочлен Тейлора
- •4.3. Интерполяционный полином Лагранжа
- •4.6. Минимизация оценки погрешности путем выбора узлов интерполяции
- •4.8. Конечные и разделенные разности
- •4.9. Интерполяционный полином Ньютона
- •4.7. Интерполяция с равноотстоящими узлами
- •4.10. Формулы конечного дифференцирования
- •4.11. Сплайны
- •Способы получения краевых условий
- •Метод наименьших квадратов
- •5.1. Метод прямоугольников
- •5.2. Метод трапеций
- •5.3. Метод Симпсона
- •Полиномы Лежандра
- •Дискретизация дифференциальной задачи: разностная сетка, шаблон и схема. Явная и неявная схемы.
- •6.1. Постановка задачи. Разностные схемы для ду 1 порядка
- •6.2. Метод Эйлера
- •Градиентный метод с дроблением шага
- •Метод наискорейшего спуска
- •Метод покоординатного спуска Алгоритм
- •Критерий останова
- •Сходимость метода
Градиентный метод с дроблением шага
В этом
варианте градиентного метода величина
шага
на
каждой итерации выбирается из условия
выполнения неравенства
(2)
,
где
-
некоторая заранее выбранная константа.
Процедуру
нахождения такого
обычно
оформляют так. Выбирается число
и
некоторый начальный шаг
.
Теперь для каждого k полагают
и
делают шаг градиентного метода. Если с
таким
условие
(2)
выполняется, то переходят к следующему
k. Если же (2)
не выполняется, то умножают
на
("дробят
шаг") и повторяют эту процедуру до
тех пор пока неравенство (2)
не будет выполняться. В условиях теоремы
1 эта процедура для каждого k за конечное
число шагов приводит к нужному
.
Можно
показать, что в условиях теоремы 2
градиентный метод с дроблением шага
линейно сходится. Описанный алгоритм
избавляет нас от проблемы выбора
на
каждом шаге, заменяя ее на проблему
выбора параметров
и
,
к которым градиентный метод менее
чувствителен. При этом, разумеется,
объем вычислений возрастает (в связи с
необходимостью процедуры дробления
шага), впрочем, не очень сильно, поскольку
в большинстве задач основные вычислительные
затраты ложатся на вычисление градиента.
Метод наискорейшего спуска
Рис.3 Геометрическая
интерпретация метода наискорейшего
спуска. На каждом шаге
выбирается
так, чтобы следующая итерация была
точкой минимума функции
на
луче L.
Этот вариант
градиентного метода основывается на
выборе шага из следующего соображения.
Из точки
будем
двигаться в направлении антиградиента
до тех пор пока не достигнем минимума
функции f на этом направлении, т. е. на
луче
:
.
Другими словами, выбирается так, чтобы следующая итерация была точкой минимума функции f на луче L (см. рис. 3). Такой вариант градиентного метода называется методом наискорейшего спуска. Заметим, кстати, что в этом методе направления соседних шагов ортогональны.
Метод наискорейшего спуска требует решения на каждом шаге задачи одномерной оптимизации. Практика показывает, что этот метод часто требует меньшего числа операций, чем градиентный метод с постоянным шагом.
В общей ситуации, тем не менее, теоретическая скорость сходимости метода наискорейшего спуска не выше скорости сходимости градиентного метода с постоянным (оптимальным) шагом.
МЕТОД КООРДИНАТНОГО СПУСКА
Метод покоординатного спуска Алгоритм
Рис.1 Иллюстрация метода
Вход:
функция
Выход:
найденная точка оптимума
Инициализация некоторым значением
повторять:
для
фиксируем значения всех переменных кроме
,
получая одномерную функцию
проводим одномерную оптимизацию по переменной , любым методом одномерной оптимизации
если выполен критерий останова (варианты описаны ниже), то возвращаем текущее значение
Критерий останова
Критерии остановки процесса приближенного нахождения минимума могут быть основаны на различных соображениях. Некоторые из них:
Здесь
-
значение, полученное после
-го
шага оптимизации.
-
наперед заданное положительное число.
Сходимость метода
Рис.2
Легко убедится, что существуют функции, когда метод координатного спуска не приводит даже в локальный оптимум.
Пусть линии уровня образуют истинный овраг (рис.2), когда спуск по любой координате приводит на <<дно>> оврага, а любое движение по следующей координате (пунктирная линия) ведет на подъем. Никакой дальнейший спуск по координатам в данном случае невозможен, хотя минимум еще не достигнут.
Теорема о сходимости метода покоординатного спуска.
Для простоты
рассмотрим функцию двух переменных
.
Выберем некоторое начальное приближение
и
проведем линию уровня через эту точку.
Пусть в области
,
ограниченной этой линией уровня,
выполняются неравенства, означающий
положительную определенность квадратичной
формы:
Тогда спуск по координатам сходится к минимуму из данного начального приближения, причем линейно.
Все описанные до сих пор прямые методы min-ии требуют бесконечного числа итераций для точного определения точки min0ма целевой функции. Это относится и к сильно выпуклым квадратичным функциям.
Однако существуют прямые итерационные методы, приводящие к точки min-ма сильно выпуклой квадратичной функции за конечное число шагов.
От таких методов разумно ожидать высокой эффективности и в случае выпуклой неквадратичной целевой функции. Опишем один из них.
Рассмотрим сначала проблему поиска точки min-ма сильно выпуклой квадратичной функции двух переменных. Ее линиями уровня являются эллипсы.
Пусть p
и
p
-
направления главных осей эллипсов. Если
из произвольной точки х
ЄЕ
выполнить
итерационную процедуру х
=х
+
p
,
k=1,2, где величина шага
-
находится из условия исчерпывающего
спуска, то, очевидно, потребуется не
более двух шагов для отыскания х*.
|
|
Того же результата можно достичь и другим способом. Выберите некоторое направление p и две точки х и у такие, чтобы векторы х -у и p были неколлинеарны. Выполнив исчерпывающий спуск из точек х и у в направлении p , получив точки х и у .
По свойству исчерпывающего спуска в точках х и у имеет место касание соответствующих прямых (направлений убывания) и эллипсов (линий уровня целевой функции). Точки х*, х и у расположены на одной прямой.
Поэтому, полагая p =х -у и решая задачу f(х + p )→min, мы находим точку х*. Таким образом, и в этом случае решение задач min-ии квадратичной сильно выпуклой функции будет получено законченное число шагов.
Определение направления p в процессе min-ии сильно выпуклой квадратичной функции двух переменных:
Рассмотренному методу min-ии квадратичной функции двух переменных соответствует алгоритм:
ШАГ 0:
Выбрать начальную точку х ЄЕ .
ШАГ1:
Положить p =е . Найти точку х с помощью исчерпывающего спуска из точки х по направлению p :
f(х
)=min
f(х
+
p
)
ШАГ2:
а) положить у =х + е ;
б) найти точку у из условия исчерпывающего спуска из точки у по направлению p :
f(у )=min f(у + p );
в) положить p =х -у , найти точку х из условия f(х )=min f(х + p ), вычисления закончить, положив х*=х
В данном алгоритме поиск точки min-ма проводится по так называемым сопряженным направлениям.
Определение:
Ненулевые векторы p …p называется сопряженным относительно матрицы А размера (n*n), если
<Аp , p >=0, i=j; I,j=1,…,k (2)
Лемма 1:
Система из n векторов p
…p
,
сопряженных относительной положительно
определенной матрицы А, линейно независима
(или назыв. А – ортогональными).
Таким образом, n ненулевых А-ортогональных векторов образуют базис в En.
Рассмотрим
min-ию в Еn квадратичной функции
f(x)=
<Ax,x>+<b,x>+c
с положительно определенной матрицей
А с помощью итерационного процесса
х =х + p , k=1,2… (3)
где векторы p А – ортогональны.
Лемма 2: Если в итерационном процессе (3) на каждом шаге используется исчерпывающий спуск, то величина шага будет:
=-
,
k=1,2,… (4)
Теорема:
Последний исчерпывающий спуск по А-ортогональным направлениям (3) приводит к точке min-ма квадратичной функции не более чем за n-шагов.
Вопрос о нахождении базиса из А-ортогональных векторов в пространстве Еn решается неоднозначно. В качестве такого базиса можно взять ортогональный базис из собственных векторов матрицы А.
Однако поиск особенно при n>2 представляет собой самостоятельную довольно сложную задачу.
Итерационный процесс (1) можно организовать и без предварительного построения векторов p …p , последовательно находя их в процессе min-ии.
Опишем процедуру метода сопряженных направлений для min-ии функции n-переменных, обобщающую приведенному выше алгоритму для n=2.
ШАГ 0:
Выбрать начальную точку х ЄЕ .
ШАГ1:
Положить p =е . Найти точку х из условия
f(х )=min f(х + p )
ШАГ2:
а) положить у =х + е ;
б) найти точку у из условия:
f(у )=min f(х + p );
в) положить p =х -у , найти точку х из условия f(х )=min f(х + p ).
ШАГ3:
а) положить
у
=х
+
е
;
б) найти у , минимизируя f(x) последовательно по направлениям p и p , начиная из точки у ;
в) положить p =х -у , найти точку х из условия f(х )=min f(х + p ).
ШАГn:
а) положить
у
=х
+е
;
б) найти точку у , минимизируя f(x) последовательно по направлениям p ,…,p , начиная из точки у ;
в) положить
p
=х
-у
,
найти точку х
из
условия f(х
)=min
f(х
+
p
).
Замечание:
Как и в двумерном случае можно показать, что направления p ,…,p , построенные при выполнении этого алгоритма, являются А-ортогональными. Поэтому, если f(x) является квадратичной функцией с положительно определенной матрицей А и все задачи одномерной min-ии решаются точно, то х*=х и вычисления на этом этапе завершаются. Если ее f(x) не является квадратичной функцией или вспомогательные задачи одномерной min-ии решаются приближенно, то необходимо перейти к следующему шагу.
ШАГn+1 (проверка):
Если
||х
-х
||
,
где
-
параметр точности, то поиск завершить,
полагая х*=х
,
иначе положить х
=х
и
перейти к шагу 1.
Метод сопряженных направлений относится к числу наиболее эффективных прямых методов. Недостатком является необходимость решать довольно большое количество задач одномерной min-ии
