Заметим, что на каждой итерации метода парабол, кроме первой, определяется только одно новое значение f(x).
Условием окончания поиска служит близость к нулю разности ∆ чисел
, найденных на данной и предыдущей итерациях, т. е. неравенство |∆|≤ε, где ε — заданное число, характеризующее точность определения х*.
Перечислим основные шаги алгоритма метода парабол
Шаг 1. Выбрать точки х1, х2, х3 удовлетворяющие условиям (1).
Перейти к шагу 2.
Шаг 2. Найти
по формуле (2). На первой итерации перейти к шагу 4, на остальных - к шагу 3.
Шаг 3. Проверка на окончание поиска. Сравнить модуль разности значений
на данной и предыдущей итерациях ∆ с числом ε. Если |∆|≤ε, то поиск завершить, полагая х* ≈
, f*≈ f (х), иначе - перейти к шагу 4.
Шаг 4. Вычислить значение f(
). Перейти к шагу 5.
Шаг 5. Определить новую тройку чисел х1, х2, х3 . Присвоить f(x1), f(x2) и f(x3) соответствующие значения f(x), найденные ранее. Перейти к шагу 2.
Пример. Метод парабол
Решить задачу
с точностью ![]()
Итерация 1
Шаг 1. Выберем точки: х1=0,25, х2 =0,5, х3 =0,75. Функция принимает в этих точках значения, соответственно f1 = 0,7817, f 2 = 0,6690, f 3 = 0,7888, удовлетворяющие неравенствам (1). Переходим к шагу 2.
Шаг 2. По формуле (56) находим
=0,4968. Переходим к шагу 4.
Шаг 4. Вычисляем: f (
) = 0,6694 . Переходим к шагу 5.
Шаг 5. На данной итерации имеем
![]()
следовательно,
Поэтому полагаем х2 =
= 0,4968,
а точки х2, х3 и значения f (х) в них не изменяются. Переходим к следующей итерации, начиная с шага 2.
Итерация 2
Шаг 2. Находим:
= 0,5224 . Переходим к шагу 3.
Шаг 3.
поэтому переходим к шагу 4.
Шаг 4. Вычисляем: f (
)= 0,6676 . Переходим к шагу 5.
Шаг 5. На этой итерации
поэтому
полагаем:

а точка х3 и значение f(х3) остаются прежними. Переходим к следующей итерации.
Итерация 3
Шаг 2. Находим х = 0,5248. Переходим к шагу 3.
Шаг 3.
Определяем
т. е. требуемая точность достигнута. Поэтому полагаем 
Отметим, что в результате пяти вычислений f(x) в точке х* была найдена с весьма высокой точностью (сравните с точным до четвертого знака значением х* = 0,5283).
Численное решение задачи минимизации, как правило, связано с построением минимизирующей последовательности точек x0,x1,x2,…,xn,…, обладающих свойством
f (xk) <f (xk-1), k=0,1,… (3)
Общее правило построения минимизирующей последовательности имеет вид
x k+1=x k+t kd k, k=0,1,…,
где х0 - начальная точка поиска; dk - приемлемое направление перехода из точки xk в точку xk+1, которое обеспечивает выполнение условий (3) и называется направлением спуска; tk - величина шага. Начальная точка поиска задается исходя из физического содержания решаемой задачи и априорных данных о существовании и положении точек экстремума.
4.3. Градиентный метод как классический метод оптимизации
1. Эвристические соображения. Проанализируем один из наиболее важных в идейном отношении метод безусловной оптимизации – градиентный. Это метод, редко применяемый на практике в «чистом виде», служит моделью для построения более реалистических алгоритмов. На примере данного метода будет подробно разобран вопрос о сходимости — будут даны различные доказательства сходимости, описана общая техника построения доказательств, обсуждены соотношения между теоретическими результатами о сходимости и практическим использованием метода.
Предположим, что в любой точке х можно вычислить градиент функции
f(x). В такой ситуации наиболее простым методом минимизации f(x) является градиентный, в котором, начиная с некоторого начального приближения х0, строится итерационная последовательность
(1)
где параметр γk≥0 задает длину шага. К методу (1) можно прийти из разных соображений.
Во-первых, при доказательстве необходимых условий экстремума можно использовать то обстоятельство, что если в точке х условие экстремума не выполняется (
(x) ≠ 0), то значение функции можно уменьшить, перейдя к точке х —τ
(x) при достаточно малом τ > 0. Итеративно применяя этот прием, приходим к методу (1).
Во-вторых, в точке хk дифференцируемая функция f(x) приближается линейной
с точностью до членов порядка о(х-хk). Поэтому можно искать минимум аппроксимации fk(x) в окрестности хk. Например, можно задаться некоторым εk и решить вспомогательную задачу
(2)
Ее решение естественно принять за новое приближение xk+1. Можно остаться в окрестности хk и иначе, добавив к fk(x) «штраф» за отклонение от хk. Например, можно решить вспомогательную задачу
(3)
и ее решение взять в качестве xk+1. Читателю предоставляется убедиться в том, что решение задач (2), (3) задается формулой (1).
В-третьих, можно в точке хk выбрать направление локального наискорейшего спуска, т. е. то направление
для которого достигается минимум f'(xk; у). Используя формулу
f'(x; у)=φ′(0)=(
f(x), y )
для производной по направлению, получаем
(4)
Таким образом, направление наискорейшего спуска проти - воположно направлению градиента.
Мы привели здесь столь подробно эти соображения, поскольку они же будут использоваться при построении методов оптимизации в более сложных ситуациях (например, при наличии ограничений). Однако в этих ситуациях они могут привести к различным методам.
2. Сходимость. Рассмотрим простейший вариант градиентного метода, в котором γk ≡γ:
(5)
Нас будет интересовать поведение этого метода при различных предположениях относительно f(x) и γ.
Теорема 1. Пусть f(x) дифференцируема на Rn, градиент f(x) удовлетворяет условию Липшица:
(6)
f(x) ограничена снизу:
(7)
и γ удовлетворяет условию
(8)
Тогда в методе (5) градиент стремится к 0:

|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |


