
Лабы / Разработки / Labs1
.rtfЛабораторная работа 1
Численные методы минимизации функций одной переменной
Будем рассматривать задачу минимизации функции одной переменной
на отрезке:
Предполагается,
что целевая функция
является унимодальной на отрезке
.
В
данной работе изучаются основные методы
численного нахождения
:
метод деления отрезка пополам и метод золотого сечения.
Метод деления отрезка пополам
Основная
идея:
пусть
.
Сравнив значения
в точках
и
(пробных точках), можно сократить отрезок
поиска точки минимума
,
перейдя к отрезку
,
если
,
или к отрезку
,
если
.
Описанную процедуру можно повторить
необходимое число раз, последовательно
уменьшая отрезок, содержащий точку
минимума. Когда длина последнего отрезка
станет достаточно малой следует выбрать
середину этого отрезка в качестве
.
Алгоритм:
пусть
требуемая точность определения
.
1.
Выбирать
и
по следующим формулам
Здесь
.
Вычислить
и
.
2.
Сравнить
и
.
Если
,
то перейти
к
отрезку
,
положив
,
иначе к отрезку
,
положив
.
Вопрос: Во сколько раз уменьшается отрезок? Остается ли т. минимума на
выбранном отрезке?
3.
Найти достигнутую погрешность
.
Если
,
то перейти к следующей итерации,
вернувшись к пункту 1, в противном
случае
завершить поиск
.
4.
Положить
.
Найти
.
Дополнительно
можно посмотреть зависимость n
от
,
где n
число итераций.
Метод золотого сечения
Основная
идея: Рассмотрим
такое симметричное расположение точек
и
на отрезке
,
при котором одна из них становится
пробной точкой и на новом отрезке,
полученном
после исключения части исходного
отрезка. Использование таких точек
позволяет на каждой итерации метода
исключения отрезков, кроме первой,
ограничится определением только одного
значения
,
так как другое значение уже найдено на
одной из предыдущих итераций.
Общие сведения:
Для
отрезка
выражения для пробных точек имеют вид
Точки
и
обладают следующим свойством: каждая
из них делит отрезок
на две неравные части так, что отношение
длины отрезка к длине его большей части
равно отношению длин большей и меньшей
частей отрезка (точки золотого сечения).
Справедливы
соотношения
и
.
Поэтому
на каждой итерации пробную точку нового отрезка можно найти по перешедшей на него точке.
Вопрос:
Во сколько раз
уменьшается отрезок на k-ой
итерации?
Алгоритм:
1. Найти
и
по формулам. Вычислить
и
.
Положить
,
.
2.
Проверка на окончание поиска : если
,
то перейти к 3, иначе к
п. 4.
3.
Переход к новому отрезку и новым пробным
точкам. Если
,
то
положить
и вычислить
.
Положить
и перейти к шагу 2.
Случай
разобрать самостоятельно.
4.
,
Дополнительно
можно посмотреть зависимость n
от
,
где n
число итераций. Сравнить с методом
деления отрезка пополам