- •1. Аналитический анализ функции
- •2. Графический анализ функции
- •3. Поиск минимума методом обратного переменного шага
- •4. Поиск минимума методом Пауэлла
- •5. Определение начального отрезка унимодальности
- •6. Расчёт минимума функции методом локализации оптимума
- •7. Расчёт минимума функции методом половинного деления
- •8. Поиск минимума функции методом золотого сечения
- •9. Расчёт минимума функции методом Фибоначчи
8. Поиск минимума функции методом золотого сечения
Для начального отрезка [a0, b0] = [-10, 6] рассчитываем две точки:
x1(0) = -10 + (1 – 0,618) * (6 + 10) = -3,89
x2(0) = -10 + 0,618 * (6 + 10) = -0,12
и значение функции в этих точках
y1(0) = f(x1(0)) = (-3,89)2 + 9 * (-3,89) = -19,88
y2(0) = f(x2(0)) = (-0,12)2 + 9 * (-0,12) = -1,07
y1(0) < y2(0), следовательно новый отрезок имеет границы:
[a1, b1] = [a0, x2(0)] = [-10, -0,12]
Проверяем условие окончания поиска: Δ1 = b1-a1= -0,12+10 > ε = 0,5 и про- должаем решение.
Для отрезка [a1, b1] = [-10, -0,12] рассчитываем новые точки
x1(1) = -10 + (1 – 0,618) * (-0,12 + 10) = -6,23
x2(1) = x1(0) = -3,89
и значение функции в точке x1(1):
y1(1) = f(x1(1)) = (-6,23)2 + 9 * (-6,23) = -17,26
Значение функции в точке x2(1) совпадает со значением в точке x1(0)
y2(1) = y1(0) = - 19,88
y1(1) > y2(1), следовательно новый отрезок составит:
[a2, b2] = [x1(1), b1] = [-6,23, -0,12]
Проверяем условие окончания поиска: Δ2 = b2-a2= -0,12+6,23 > ε = 0,5 и про- должаем решение.
Отрезок [a2, b2] = [-6,23, -0,12]
x1(2) = x2(1) = x1(0) = -3,89
x2(2) = -6,23 + 0,618 * (-0,12 + 6,23) = -2,46
y1(2) = y2(1) = -19,88
y2(2) = (-2,46)2 + 9 * (-2,46) = -16,09
y1(2) < y2(2)
Отрезок [a3, b3] = [a2, x2(2)] = [-6,23, -2,46]
x1(3) = -6,23 + 0,382 * (-2,46 + 6,23) = -4,79
x2(3) = x1(2) = x2(1) = x1(0) = -3,89
y1(3) = (-4,79)2 + 9 * (-4,79) = -20,17
y2(3) = y1(2) = - 19,88
y1(3) < y2(3)
Отрезок [a4, b4] = [a3, x2(3)] = [-6,23, -3,89]
x1(4) = -6,23 + 0,382 * (-3,89 + 6,23) = -5,34
x2(4) = x1(3) = -4,79
y1(4) = (-5,34)2 + 9 * (-5,34) = -19,55
y2(4) = y1(3) = -20,17
y1(4) > y2(4)
Отрезок [a5, b5] = [x1(4), b4] = [-5,34, -3,89]
x1(5) = x2(4) = x1(3) = -4,79
x2(5) = -5,34 + 0,618 * (-3,89 + 5,34) = -4,45
y1(5) = y2(4) = -20,17
y2(5) = (-4,45)2 + 9 * (-4,45) = -20,25
y1(5) > y2(5)
Отрезок [a6, b6] = [x1(5), b5] = [-4,79, -3,89]
x1(6) = x2(5) = -4,45
x2(6) = - 4,79 + 0,618 * (-3,89 + 4,79) = -4,24
y1(6) = y2(5) = -20,25
y2(6) = (-4,24)2 + 9 * (-4,24) = -20,19
y1(6) < y2(6)
Отрезок [a7, b7] = [a6, x2(6)] = [-4,79, -4,24]
x1(7) = -4,79 + 0,382 * (-4,24 + 4,79) = -4,58
x2(7) = x1(6) = x2(5) = -4,45
y1(7) = (-4,58)2 + 9 * (-4,58) = 20,2436
y2(7) = y1(6) = -20,25
y1(7) > y2(7)
Отрезок [a8, b8] = [x1(7), b7] = [-4,58, -4,24]
Поскольку длина отрезка составляет Δ8 = b8-a8= -4,24+4,58 < ε = 0,5, условие окончания поиска выполняется.
Вывод: Минимум функции находится на отрезке [-4,58 , -4,24]. Количество итераций равно 8 при 9 вычислениях функции. В качестве искомой точки выбираем середину отрезка [a8, b8] x*= -4,41. Значение функции в этой точке равно -20,25
9. Расчёт минимума функции методом Фибоначчи
Задаемся
константой различимости δ = 0,03 < ε и
выбираем количество расчетов n из условия
Fn
>
=
= 8:
F6 =13 > 8, следовательно количество расчётов n = 6.
Рассчитываем точки на отрезке [a0, b0]; k=0:
x1(0) = -10 + (6+10) * F4/ F6 = -10 + 16 * 5/13= -3,85
x2(0) = -10 + (6+10) * F5/ F6 = -10 + 16 * 8/13= -0,16
и значение функции в этих точках:
y1(0) = f(x1(0)) = (-3,85)2 + 9 * (-3,85) = -19,83
y2(0) = f(x2(0)) = (-0,16)2 + 9 * (-0,16) = -1,42
y1(0) < y2(0), рассчитываем границы нового отрезка:
a1 = a0 = -10
b1 = x2(0) = -0,16
Для отрезка [a1, b1] = [-10, -0,16] рассчитываем новые точки; k =1:
x1(1) = -10 + (-0,16 +10) * 3/8 = -6,31
x2(1) = x1(0) = -3,85
y1(1) = (-6,31)2 + 9 * (-6,31) = -16,98
y2(1) = y1(0) = -19,83
y1(1) > y2(1)
Отрезок [a2, b2] = [x1(1), b1] = [-6,31, -0,16]; k=2:
x1(2) = x2(1) = -3,85
x2(2) = -6,31 + (-0,16 + 6,31) * 3/5 = -2,62
y1(2) = y2(1) = -19,83
y2(2) = (-2,62)2 + 9 * (-2,62) = -16,72
y1(2) < y2(2)
Отрезок [a3, b3] = [a2, x2(2)] = [-6,31, -2,62]; k=3:
x1(3) = -6,31 + (-2,62 + 6,31) * 1/3 = -5,08
x2(3) = x1(2) = -3,85
y1(3) = (-5,08)2 + 9 * (-5,08) = -20
y2(3) = y1(2) = -19,92
y1(3) < y2(3)
Отрезок [a4, b4] = [a3, x2(3)] = [-6,31, -3,85];
Поскольку на данном шаге k=n-2= 4 точки x1(4) и x2(4) совпадают и соответствую середине отрезка x1(4) = x1(3) = x2(4) = -5,08 для обеспечения заданной точности перемещаем точку последнего вычисления функции вправо на величину константы различимости δ :
x2(4) = -5,08 + 0,03 = -5,05
y2(4) = (-5,05)2 + 9 * (-5,05) = -19,95
Так как y1(4) = y1(3) = -19,92 > y2(4), получаем конечный отрезок:
[a5, b5] = [-5,08, -3,85];
За точку минимума принимаем середину отрезка x* = (a5 + b5)/2 = (-5,08 – 3,85)/2 = -4,46
Вывод: Минимум функции соответствует точке -4,46, значение функции в этой точке -20,2484. Количество итераций равно 5 при 6 расчетах целевой функции.
Заключение
