
- •Лабораторная работа №1
- •1. Краткие теоретические сведения
- •1.1 Постановка задачи одномерной безусловной
- •Если при любых x1,x2,X неравенство будет строгим, то функция f(X)называется строго выпуклой.
- •1.2 Алгоритм пассивного поиска минимума
- •1.3 Алгоритмы активного поиска минимума
- •1.3.1 Алгоритм равномерного блочного поиска
- •1.3.2 Алгоритм деления интервала пополам
- •1.3.3 Метод дихотомии
- •1.3.4 Метод золотого сечения
- •1.4 Методы поиска, основанные на аппроксимации
- •1.4.1 Метод касательных
- •1.4.2 Метод парабол
- •2. Задание на лабораторную работу
- •3. Варианты заданий
1.4 Методы поиска, основанные на аппроксимации
целевой функции
Суть этих методов заключается в том, что по полученной в ходе вычислений информации строится аппроксимирующая функция и её минимум принимается за точку очередного вычисления. Такие методы дают хорошие результаты при минимизации достаточно гладких унимодальных функций.
1.4.1 Метод касательных
Пусть
функция
выпукла и дифференцируема на
.
Идея метода состоит в следующем. Пусть
- отрезок неопределённости и
- результаты вычислений в точках
и
.
По этой информации строится аппроксимирующая
функция, представляющую из себя
кусочно-линейную функцию, состоящую из
касательной
к
в точке
и касательной
к
в точке
.
Полученная
аппроксимирующая функция есть ломанная
состоящая из прямой
на
и
на
,
гдес
– точка пересечения касательных. Легко
заметить, что при
и
минимум аппроксимирующей функции
достигается в точкес.
Значение точки пересечения с
можно определить по формуле
В
точке с
производятся вычисления
и
.
Если
,
то решением задачи будет
.
Если же
,
то в качестве следующего отрезка
неопределённости будет
.
Если же
,
то – отрезок
.
Процесс повторяется до тех пор, пока
или отрезок неопределённости не достигнет
заданной точности.
Схема алгоритма
Шаг
1. Заданы
.
Вычислить
.
Шаг
2. Если
,
то полагаем
.
Поиск окончен. Если
,
то вычислить
.
Еслиz=0,
то полагаем
и поиск окончен. Если
,
то
.
Если
,
то
.
Повторить шаг 2.
1.4.2 Метод парабол
Рассмотрим алгоритм квадратичной интерполяции или метод парабол, т.е. в качестве аппроксимирующей функции используется парабола. Для однозначного задания параболы необходимы три точки. Пусть имеются три точки, для которых выполняется a<c<b, f(c)f(a), f(c)f(b). Так как [a,b] – отрезок неопределенности и f(x) – унимодальная функция, то найти такую точку c нетрудно. Парабола, проходящая через три точки (a,f(a)), (c,f(c)), (b,f(b)), имеет вид
Поскольку f – унимодальная функция, то хотя бы одно из неравенств f(c)f(a), f(c)f(b) строгое и, следовательно, коэффициент при старшем члене P(x) положителен. Тогда P(x) достигает минимума в точке
,
причем (a+c)/2t(c+b)/2. Эта точка и выбирается в качестве точки очередного вычисления значения функции.
Если оказалось, что t=c, условимся в качестве точки очередного вычисления выбирать точку (a+c)/2. Итак, следующее вычисление проводится в точке
Определим новый отрезок неопределенности с лежащей внутри него точкой, для которой выполняются условия аналогичные условиям, которым удовлетворяла точка c. В силу унимодальности функции f и в зависимости от выполнения или невыполнения условий x<c, f(x)<f(c), f(x)=f(c) это будут отрезки с точкой внутри: [a,c] и x; [x,b] и c; [x,c] и (x+c)/2; [a,x] и c; [c,b] и x; [c,x] и (x+c)/2. Смотри рисунок. Далее строится парабола, определяется ее минимум, и т.д., до тех пор, пока длина отрезка неопределенности не удовлетворяет заданной точности.
Схема алгоритма
Шаг 1. Задаются a,c,b и . Вычислить ya=f(a), yc=f(c), yb=f(b).
Шаг
2. Вычислить
,
y=f(x),
где
Шаг 3. А) При x<c.
Если y<yc, то b=c, c=x, yb=yc, yc=y.
Если y>yc, то a=x, ya=y.
Если y=yc, то a=x, b=c, c=(x+c)/2, ya=y, yb=yc, yc=f(c).
Б) При x>c.
Если y<yc, то a=c, c=x, ya=yc, yc=y.
Если y>yc, то b=x, yb=y.
Если y=yc, то a=c, b=x, c=(x+c)/2, ya=yc, yb=y, yc=f(c).
Шаг
4. Если b-a,
то закончить
поиск, положив
,иначе
перейти к шагу 2.