Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НМО экзамен (2).docx
Скачиваний:
0
Добавлен:
24.01.2026
Размер:
22.95 Mб
Скачать

Метод трехточечного деления

Метод дихотомии эффективен, если производная в центральной точке может быть найдена аналитически. Численное нахождение производной часто приводит к существенной потере точности. Метод трехточечного деления свободен от этого недостатка, поскольку не требует вычисления производной.

Алгоритм 2: Метод трехточечного деления

В качестве примера рассмотрим оптимизацию функции

f (x) = 2x2 − 9x − 31

на интервале [−2; 10]. На рисунке 2 показан пример работы этого метода. 2 вычисления цф на итерацию.

Вопросы для самопроверки

1. Почему численное нахождение производной ухудшает точность метода дихотомии?

2. В каком случае метод трехточечного деления окажется быстрее метода дихотомии? Может ли быть обратная ситуация, когда метод дихотомии быстрее?

Метод золотого сечения

Метод золотого сечения является процедурой линейного поиска минимума унимодальной функции f(x) на замкнутом интервале [a, b], требующей не 2, а только 1 вычисление целевой функции на итерации за счет свойства самоподобия отрезков, разделенных в отношении золотого сечения.

Золотое сечение определяется следующим образом: общая длина отрезка, разделенного в отношении золотого сечения, так относится к большей части, как большая часть относится к меньшей.

Обозначая б´oльшую часть буквой Φ, а меньшую часть беря равной 1, получим пропорцию:

-неверная формула

В десятичном выражении Φ ≈ 1,618. Если продолжить делить производные отрезки в отношении золотого сечения, то золотая пропорция в отношении длин производных отрезков будет сохраняться, что порождает простейший фрактал. Это свойство золотого сечения иллюстрирует рисунок 1

Алгоритм 1: Метод золотого сечения 1 вычисление цф на итерацию

О братите внимание: когда при программировании метода в цикле используется конструкция если f(lambd k) >f(m k)..., то преимущество метода сразу же сходит на нет, поскольку так целевая функция вычисляется два раза! Поэтому вводятся буферные переменные flmbd и fm, из которых на каждой итерации обновляется только одна, и сравниваются именно они: если flmbd > fm...

В качестве примера рассмотрим оптимизацию функции f(x) = 2x2 − 9x − 31 на интервале [−2; 10]. На рисунке 2 показан пример работы этого метода. Делит интервал на каждой итерации в фи раз.

Метод Фибоначчи

Последовательность чисел Фибоначчи задается условиями F0 = F1 = 1, Fk+1 = Fk + Fk1, k = 1, 2, ... . Начальными членами последовательности будут 1, 1, 2, 3, 5, 8, 13, 21, 34....

Предел отношения двух соседних чисел Фибоначчи равен золотой пропорции:

Стратегия поиска Фибоначчи требует заранее указать n – число вычислений минимизируемой функции.

Алгоритм 2: Метод Фибоначчи

Р ассмотрим оптимизацию функции f(x) = 2x2 − 9x − 31 на интервале [−2; 10], b = 0.5. Расчеты дают:

Алгоритм сойдется за n − 2 = 7 итераций. На рисунке 3 показан пример работы этого метода.

В конце отрезки поделены как 1:1.

Вопросы для самопроверки

1. Можно ли сказать, что метод золотого сечения быстрее метода дихотомии в Φ раз?

2. Посчитайте для приведенного примера при точности е = 0.5, во сколько раз метод Фибоначчи быстрее метода золотого сечения. Существенный ли это выигрыш?