
- •3.1. Постановка задачи 23
- •5.1. Постановка задачи 41
- •6.1. Постановка задачи 48
- •7.1. Постановка задачи 59
- •9.1. Постановка задачи 81
- •Введение
- •Тема 1. Элементы теории погрешностей
- •1.1. Точные и приближенные числа
- •1.2. Абсолютная и относительная погрешность
- •Тема 2. Методы решения нелинейных уравнений
- •2.1. Постановка задачи
- •Отделение корней (локализация корней);
- •Уточнение корней.
- •2.2. Отделение корней
- •2.2.1. Графическое отделение корней
- •2.2.2. Аналитическое отделение корней
- •2.3. Уточнение корней
- •2.3.1. Метод половинного деления
- •2.3.2. Метод итерации
- •2.3.3. Метод Ньютона (метод касательных)
- •2.3.4. Метод хорд
- •Тема 3. Интерполяция функций
- •3.1. Постановка задачи
- •3.2. Интерполяционная формула Лагранжа
- •3.3. Интерполяционные формулы Ньютона
- •3.3.1. Конечные разности
- •3.3.2. Первая интерполяционная формула Ньютона
- •3.3.3. Вторая интерполяционная формула Ньютона
- •3.4. Сплайн – интерполяция
- •Тема 4. Аппроксимация функций
- •4.1. Постановка задачи аппроксимации
- •4.2. Метод наименьших квадратов
- •Тема 5. Численное интегрирование
- •5.1. Постановка задачи
- •5.2. Методы прямоугольников
- •5.3. Формула трапеций
- •5.4. Формула Симпсона
- •5.5. Оценка погрешности численного интегрирования
- •Тема 6. Методы решения обыкновенных дифференциальных уравнений
- •6.1. Постановка задачи
- •6.2. Метод Эйлера
- •6.3. Методы Рунге-Кутты
- •6.4. Решение оду n-го порядка
- •Тема 7. Одномерная оптимизация
- •7.1. Постановка задачи
- •7.2. Метод прямого перебора с переменным шагом
- •7.3. Метод дихотомии
- •7.4. Метод золотого сечения
- •7.5. Метод средней точки
- •Тема 8. Многомерная оптимизация
- •8.1. Постановка задачи и основные определения
- •8.2. Методы спуска
- •8.3. Метод градиентного спуска с дроблением шага
- •8.4. Метод наискорейшего спуска
- •8.5. Метод покоординатного спуска
- •Тема 9. Методы решения систем линейных уравнений
- •9.1. Постановка задачи
- •9.2.Метод Гаусса
- •9.3. Метод итераций
- •Список литературы
7.4. Метод золотого сечения
В основу метода положено разбиение отрезка неопределенности [a;b] в соотношении золотого сечения, такого, что отношение длины его большей части ко всей длине отрезка равно отношению длины его меньшей части к длине его большей части:
l
l2 l1
Положим l =1, тогда l22 = 1 - l2 , а l22 + l2 -1= 0, откуда
где k1, k2 - коэффициенты золотого сечения.
В методе золотого сечения каждая точка (х1 и х2)осуществляет золотое сечение отрезка.
или
Геометрическая интерпретация метода золотого сечения приведена на рис. 7.4-1.
Рис. 7.4-1.
Нетрудно проверить, что точка х1 осуществляет золотое сечение не только отрезка [a;b], но и отрезка [a;х2]. Точно так же точка х2осуществляет золотое сечение не только отрезка [a;b], но и отрезка [х1;b]. Это приводит к тому, что значение целевой функции на каждой итерации (кроме первой) вычисляется один раз.
После каждой итерации длина отрезка неопределенности сокращается в 1.618 раза. Длина конечного отрезка неопределенности Dn = 0.618nD0, где D0= (b-a) – начальная длина отрезка.
Условие окончания процесса итераций Dn e. Отсюда можно найти количество итераций, необходимое для достижения точки минимума:
Отсюда
поэтому, логарифмируя, получим
Пример 7.4-1. Пусть минимум функции f(x) = x3 – x + e-x отделен на отрезке [0;1]. Определить количества итераций и конечные длины отрезков неопределенности, необходимые для достижения заданных точностей e=0.1 и e=0.01.
Таблица 7.4-1
-
N
a
b
x1
x2
f(x1)
f(x2)
Dn
1
0
1
0.38196
0.61803
0.35628
0.15704
0.61803
2
0.38196
1
0.61803
0.76393
0.15704
0.14772
0.382
3
0.61803
1
0.76393
0.85410
0.14772
0.19462
0.236
4
0.61803
0.85410
0.70820
0.76393
0.13953
0.14772
0.146
5
0.61803
0.76393
0.67376
0.70820
0.14188
0.13953
0.090
При e = 0.1 x*=0.718847, f(x*)=0.139925.
При e = 0.01 x*=0.704139, f(x*)=0.139516.
7.5. Метод средней точки
Алгоритм
метода средней точки основан на сокращении
длины текущего отрезка неопределенности
[a;b],
путем отбрасывания его части, не
содержащей точки минимума. Как известно,
для того чтобы на отрезке [a;b]
существовал минимум, необходимо, чтобы
первая производная на нем была
неубывающей. Выбирается пробная точка,
принадлежащая отрезку (как правило,
середина отрезка c=(a+b)/2),
и если
,
то в следствии унимодальности функции
точка минимума не может лежать левее
точки с,
а если
,
то не может лежать правее точки с.
Пусть
на отрезке [a;b]
отделен единственный минимум функции
f(x).
Требуется определить значение точки
минимума с заданной точностью
.
Рассмотрим алгоритм поиска минимума по шагам:
Положим i=0, ai=a, bi=b причем
, а
.
Вычислим
и
.
Если
, то поиск закончен и следует перейти к шагу 4.
Если
, то положить ai+1=с, bi+1=bi, i=i+1 и перейти к шагу 2.
Если
,
то положить bi+1=с,
ai+1=ai,
i=i+1
и перейти к шагу 2.
Вычислить
и
.
Поскольку
на каждой итерации отрезок унимодальности
сокращается в два раза, то очевидно, что
после некоторой n-й
итерации длина отрезка [a;b]
вычисляется как
.
Однако этот метод имеет существенный
недостаток - вычисление производной от
целевой функции.
Пример
7.5-1.
Выполнить две итерации по нахождению
минимума функции
методом средней точки, если минимум
отделен на отрезке [1;5].
1-я итерация:
a0=1, b0=5,
,
и
.
, следовательно, a1=a0=1; b1=c=3.
2-я итерация:
, следовательно, a2=a1=1; b2=c=2.