Vous êtes sur la page 1sur 2

Вопрос №22

Пусть дана функция f(x), унимодальная на отрезке [a;b]. Обозначим a0 = a и


b0 = b. Поиск минимума начинают с выбора на отрезке неопределенности [a0;b0] двух
симметричных относительно середины точек:

a 0 + b0 a0 + b0 b−a
α1 = − δиβ 1 = δ, + 0 δ < <, где δ - параметр
2 2 2
метода.

Сравнивая вычисленные в точках α 1 и β 1 значения функций f(α 1) и f(β 1), в силу


унимодальности функции можно провести сокращение отрезка неопределенности
следующим образом:
1) если f(α 1) ≤ f(β 1), то x*∈[a0;β 1] (Рис. 6.6.1-3.а);
2) если f(α 1) > f(β 1), то x*∈[α 1;b0] (Рис. 6.6.1-3.b).
y

f(x) fx)

a0 β1 b0 a0 α1 β1
x
α1 b1 a1
(а) (b)
Рис. 6.6.1-3
Если описанную процедуру принять за одну итерацию, то алгоритм поиска
минимума можно описать следующим образом. Опишем k+1 итерацию, исходя из того,
что k-й отрезок неопределенности найден [ak$bk]:

1. Вычисляются

ak + bk ak + bk
αk + 1 = − δиβ k +1 = δ. +
2 2

2. Находят значения f(α k+1 ) и f(β k+1 ).

3. Находят k+1-й отрезок неопределенности по правилу:


если f(α k+1) > f(β k+1), то x* ∈[α k+1;bk],
если f(α k+1) ≤ f(β k+1), то x*∈[ak;β k+1]).

Вычисления проводятся до тех пор, пока не выполнится неравенство

bn−1 − an−1
Δ n = bn − an ≤ ε , Δn = + δ,
2

где ∆ – длина n-го отрезка неопределенности.


n
Заметим, что от итерации к итерации ∆ n убывает и при n→∞ стремится к
величине 2δ , оставаясь больше этой величины. Поэтому добиться при некотором
значении n длины отрезка неопределенности ∆ n = |an - bn| меньше заданной точности
можно лишь выбирая 0<δ < ε /2.
Длину конечного интервала неопределенности, обеспечивающего заданную
величину ε , можно вычислить по формуле

Δ − 2δ
Δn = + 2δ.
2n

Положив ∆ n = ε , можно определить соответствующее количество итераций:

 b − a − 2δ 
n ≥ log2  .
 ε − 2δ 

Vous aimerez peut-être aussi