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

 

Прежде чем изложить метод введем определение чисел Фибоначчи [11].

Определение 2. Числа Фибоначчи определяются по формуле

Последовательность чисел Фибоначчи имеет следующий вид:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …..

Метод Фибоначчи относится к последовательным стратегиям. Задается начальный интервал неопределенности и количество N вычислений функции. Алгоритм уменьшения интервала опирается на анализ значений функции в двух точках. Точки вычисления функции находятся с использованием последовательности из N+1 чисел Фибоначчи. Как в методе «золотого» сечения на первой итерации требуются два вычисления функции, а на каждой последующей – только по одному. Условия окончания процесса поиска стандартные: поиск заканчивается, когда длина текущего интервала неопределенности оказывается меньше установленной величины.

Алгоритм метода Фибоначчи [8].

Шаг 1. Задать начальный интервал неопределенности ,  - допустимую длину конечного интервала,  - константа различимости.

Шаг 2. Найти количество вычислений функции , как наименьшее целое число, при котором удовлетворяется условие; и числа Фибоначчи , ,...., .

Шаг 3. Положить .

Шаг 4. Вычислить

Шаг 5. Вычислить J(yk), J(zk).

Шаг 6. Сравнить J(yk) c J(zk):

а) если J(yk) £  J(zk), положить

, , ,

.

Перейти к шагу 7;

б) если J(yk) > J(zk), положить

, , ,

Перейти к шагу 7.

Шаг 7. Проверить условие окончания и в случае необходимости сделать заключительное N-е вычисление функции для получения решения:

а) если , то положить   и перейти к шагу 5;

б) если , то всегда , т.е. отсутствует точка нового вычисления функции.

Следует положить: , . В точках ,  вычисляются значения функции и находятся границы конечного интервала неопределенности:

- если , положить

, ;

- если , положить

, .

Процесс поиска завершается и . В качестве приближенного решения можно взять любую точку последнего интервала, например, его середину .

Сходимость. Для метода Фибоначчи характеристика относительного уменьшения начального интервала неопределенности находится по формуле

,

где N - количество вычислений функции.

Замечания.

1. При заданном количестве вычислений функции N метод Фибоначчи обеспечивает минимальную величину конечного интервала неопределенности по сравнению с методами, рассмотренными ранее (метод перебора, метод деления отрезка пополам, метод «золотого» сечения).

2. На k-ой итерации длина интервала неопределенности сокращается по правилу .

Пример 3. Найти минимум функции

методом Фибоначчи.

Решение.

1. Зададим начальный интервал .

Пусть 

2. Найдем числа Фибоначчи:

Так как

.

3. Положим k = 0.

40. Вычислим

50. Вычислим 

60. Сравним  ;

70. Проверим условие окончания: k = 0 ¹ N - 3 = 6 - 3 = 3; L2 = [0; 6,154]. Положим k = 1 и перейдем к шагу 5.

51. Вычислим значения  (уже было вычислено на шаге 50).

61. Сравним ;

71. Проверим условие окончания: k = 1 ¹ N - 3 = 3; L2 = [0; 3,846]. Положим

k = 2 и перейдем к шагу 5.

52. Вычислим значения    (уже было вычислено на шаге 51).

62. Сравним ;

 

72. Проверим условие окончания: k = 2 ¹ N - 3 = 3; L4 = [1,538; 3,846]. Положим k = 3 и перейдем к шагу 5.

53. Вычислим значения  .

63. Сравним ;

73. Проверим условие окончания: k  = 3 ¹ N - 3 = 3; L5 = [2,308; 3,846]. Положим          

Вычислим  (было вычислено на шаге 53);

. Так как

 

Поэтому 

Заметим, что

.

 

В качестве приближенного решения возьмем середину интервала  L6: