Решение задач методом Фибоначчи
Метод золотого сечения может быть трансформирован в так называемый метод чисел Фибоначчи. Однако при этом в силу свойств чисел Фибоначчи количество итераций строго ограничено. Это удобно, если сразу задано количество возможных обращений к функции. Алгоритм: Шаг 1. Задаются начальные границы отрезка и число итераций, рассчитывают начальные точки деления: Т.к. F (X71) при итерации 7 меньше, чем F… Читать ещё >
Решение задач методом Фибоначчи (реферат, курсовая, диплом, контрольная)
В силу того, что в асимптотике.
метод золотого сечения может быть трансформирован в так называемый метод чисел Фибоначчи. Однако при этом в силу свойств чисел Фибоначчи количество итераций строго ограничено. Это удобно, если сразу задано количество возможных обращений к функции. Алгоритм :
Шаг 1. Задаются начальные границы отрезка и число итераций, рассчитывают начальные точки деления:
и значения в них целевой функции:
.
- 1. Шаг 2. .
- · если, то
.
Иначе .
- 2. Шаг 3.
- · Если, то и останов.
- · Иначе возврат к шагу 2.
Пример решения задачи методом Фибоначчи.
Найти min функции.
F (x) = 28x2 -30x — 42.
на отрезке с ограничением [ 0; 50 ].
Решение :
Fn+2= F10 =55.
Fn+1=F9=34.
Fn=F8=21.
Fn-1=F7=13.
Fn-2=F6=8.
Fn-3=F5=5.
Fn-4=F4=3.
Fn-5=F3=2.
Fn-6=F2=1.
Fn-7=F1=1.
Итерация 1.
Х1 1=a + Fn/Fn+2 =a+ F8/F10(b-a) = 21/55 * 50 =19,1.
X12 =a+ Fn+1/Fn+2(b-a) =a+ F9/F10(b-a) = 34/35 * 50= 30,9.
F (X11) = 28*(19,1)2 -30*19,1−42 =10 214,7- 573−42 = 9599,7.
F (X12) = 28(30,9)2 — 30* 30,9 -42 = 26 734,6 — 927- 42 = 25 765,6.
Т.к F (X11) при 1 итерации меньше, чем F (X12) при 1 итерации, то получаем отрезок ограничений [0; 30,9].
Итерация 2.
X21= a+ Fn-1/Fn+1(b-a) = a+ F7/F9(b-a)= 13/34 * 30,9= 11,8.
X22= a+ Fn/Fn+1(b-a) = a+ F8/F9(b-a) = 21/34 * 30,9 = 19,1.
F (X12)= 28* (11,8)2 — 30*11,8−42 =3898,7−354−42= 3502,7.
F (X22) = 28 * (19,1)2-30(19,1)-42 = 10 214,7 — 573 -42 =9599,7.
Т.к. F (X12) при 2 итерации меньше, чем F (X22) при 2 итерации, то получаем отрезок ограничений [0; 19,1 ].
Итерация 3.
X31=a+ Fn-2/Fn (b-a) = a+ F6/F8(b-a) = 8/21 * 19,1= 7,3.
X32=a+ Fn-1/Fn (b-a)= a+ F7/F8(b-a)= 13/21 * 19,1= 11,8.
F (X31) = 28 *(7,3)2— 30* 7,3−42 = 1492,1- 219−42= 1231,1.
F (X32) = 28* (11,8)2 — 30*11,8−42 =3898,7−354−42= 3502,7.
Т.к. F (X31) при 3 итерации меньше, чем F (X32) при 3 итерации, следовательно получаем отрезок ограничений [0; 11, 8 ].
Итерация 4.
X41 = a+ Fn-3/Fn-1(b-a) = a+F5/F7(b-a)= 5/13 * 11,8= 4,5.
X42=a+ Fn-2/Fn-1(b-a)=a+ F6/F7(b-a)= 8/13 *11,8=7,3.
F (X41)=28 *(4,5)2-30*4,5−42=567−135−42=390.
F (X42)= 28 *(7,3)2— 30* 7,3−42 = 1492,1- 219−42= 1231,1.
Т.к F (X41) при итерации 4 меньше, чем F (X42) при 4 итерации, следовательно получаем отрезок ограничений [0; 7,3].
Итерация 5.
X51=a+ Fn-4/Fn-2(b-a)= a+F4/F6(b-a)= 3/8 *7,3= 2,7.
X52=a+Fn-3/Fn-2(b-a) = a+ F5/F6(b-a) = 5/8 * 7,3=4,5.
F (X51)= 28*(2,7)2-30*2,7−42= 204,1−81−42=81,1.
F (X52)= 28 *(4,5)2-30*4,5−42=567−135−42=390.
Т.к. F (X51) при итерации 5 меньше, чем F (X52) при 5 итерации, следовательно получаем отрезок ограничений [0; 4,5].
Итерация 6.
X61=a+Fn-5/Fn-3(b-a)=a+F3/F5(b-a)= 2/5*4,5=1,8.
X62=a+Fn-4/Fn-3(b-a)= a+F4/F5(b-a)= 3/5*4,5=2,7.
F (X61)=28*(1,8)2-30*1,8−42=90,7−54−42=-5,3.
F (X62)= 28*(2,7)2-30*2,7−42= 204,1−81−42=81,1.
Т.к. F (X61) при итерации 6 меньше, чем F (X62) при 6 итерации, следовательно получаем отрезок ограничений [0; 2,7].
Итерация 7.
X71=a+Fn-6/Fn-4(b-a)=a+F2/F4(b-a)=1/3*2,7=0,9.
X72=a+Fn-5/Fn-4(b-a)= a+F3/F4(b-a)=2/3*2,7=1,8.
F (X71)=28*(0,9)2-30*0,9−42= 22,7−27−42= -46,3.
F (X72)= =28*(1,8)2-30*1,8−42=90,7−54−42=-5,3.
Т.к. F (X71) при итерации 7 меньше, чем F (X72) при 7 итерации, следовательно получаем отрезок ограничений [0 ;1,8 ].
Итерация 8.
X81=a+Fn-7/Fn-5(b-a)=a+ F1/F3(b-a) = Ѕ*1,8=0,9.
X82= a+Fn-6/Fn-5(b-a)=a+F2/F3(b-a)= Ѕ*1,8=0,9.
F (X81)= 28*(0,9)2-30*0,9−42= 22,7−27−42= -46,3.
F (X82)= 28*(0,9)2-30*0,9−42= 22,7−27−42= -46,3.
Ответ: -46,3 — это и есть точка минимума.