Метод квадратичной интерполяции

Этот метод может непосредственно применяться к унимодальным функциям одной переменной. Он может быть очень полезным для поиска частного оптимума по отдельным направлениям при решении задач многомерной оптимизации.

В предыдущих двух методах была сделана попытка найти малый интервал, в котором находятся оптимум функции I(x). В рассматриваемом методе применяется иной подход. Он заключается в построении аппроксимирующей модели оптимизируемой функции I(x). Функция I(y) может быть аппроксимирована полиномом второго порядка

Метод квадратичной интерполяции - student2.ru (1.5)

по крайней мере, в небольшой области значений, в том числе в области оптимума. При этом положение экстремума I(x) определяется положением экстремума полинома (1.5), поскольку последний вычислить проще.

Экстремум функции Ia(x), как известно, расположен в точке

Метод квадратичной интерполяции - student2.ru (1.6)

Положим, что окрестность некоторой исходной точки x=x1 на области определения I(x) аппроксимирована полиномом (1.5). Задача поиска заключается в определении смещения

Метод квадратичной интерполяции - student2.ru (1.7)

которое приводит из исходного состояния x=x1 в экстремальное x=x*. Если I(x) строго квадратичная функция, то смещение Dx после первого шага сразу приведет к x*. В противном случае достижение x* требует выполнения итерационной процедуры.

Для определения смещения Dx нужно определить коэффициенты параболы (4.5). Эта задача легко решается, если известны значения I(x) в трех точках. Пусть вычисление I(x) производилось в районе исходного состояния x=x1 в точках x1, x0=x1-h, x2=x1+h и при этом получено три значения этой функции:

Метод квадратичной интерполяции - student2.ru (1.8)

где h – полуинтервал интерполяции, малая постоянная положительная величина.

Подставляя эти значения в уравнение (1.5), получаем систему из трех линейных уравнений с тремя неизвестными a, b и с:

Метод квадратичной интерполяции - student2.ru (1.9)

Для того, чтобы эта система имела решение, необходимо, чтобы ее определитель не был равен нулю, то есть

Метод квадратичной интерполяции - student2.ru (1.10)

Раскрывая этот определитель, находим

Метод квадратичной интерполяции - student2.ru ,

что всегда выполняется, поскольку h¹0.

Разрешая систему уравнений (1.9), получаем интересующие нас значения параметров a, b, cи, подставляя их в формулу (1.6), находим положение экстремума параболы

Метод квадратичной интерполяции - student2.ru (1.11)

Величина рабочего смещения Dx равна

Метод квадратичной интерполяции - student2.ru (1.12)

Зная коэффициенты a, b, с можно определить и экстремальное значение функции (1.5) по формуле

Метод квадратичной интерполяции - student2.ru (1.13)

которое является оценкой экстремума критерия I(x).

После выполнения рабочего шага Dx следует проверить, действительно ли найден экстремум. Для этого достаточно вычислить значение функции цели I(x) в предполагаемом экстремуме Метод квадратичной интерполяции - student2.ru и сопоставить его с оценкой (1.13). Если эти величины отличаются не более чем на e, то есть

Метод квадратичной интерполяции - student2.ru (1.14)

где e – заданная погрешность определения экстремума, то задачу отыскания экстремума можно считать выполненной. При этом x*=x1+Δx.

Если же условие (1.11) не соблюдается, то это означает, что исходное предположение о квадратичности целевой функции не выполняется и следует продолжать процесс поиска, то есть выполнить следующий цикл, но построение модели производить в окрестности точки x*=x1. Эта процедура повторяется до тех пор, пока не выполнится условие (1.11).

Вполне очевидно, что критерием окончания процесса поиска экстремума может служить выполнение условия

Метод квадратичной интерполяции - student2.ru (1.15)

Таким образом, с помощью итерационной процедуры значение x*уточняется до получения его с заданной погрешностью e.

Наши рекомендации