
- •Глава 4. Численные методы (процедуры) минимизации функции одной переменной
- •4.1. Постановка задачи.
- •4.2. Метод золотого сечения.
- •Задание к лабораторной работе №3 по теме «Минимизация функции одной переменной».
- •4.3. Поиск отрезка, содержащего точку минимума. Метод удвоения шага.
- •Задание к лабораторной работе №4 по теме «Поиск отрезка, содержащего точку минимума».
Задание к лабораторной работе №3 по теме «Минимизация функции одной переменной».
Задание 4.1. Возьмем в качестве а0=0, b0=10 и =0,1. Применить метод золотого сечения к функции
f(x) = N2(x-N3)2 + N1,
где N3 - последняя цифра номера вашей личной зачетной книжки студента (или студенческого билета);
N2 – предпоследняя цифра номера вашей личной зачетной книжки студента (или студенческого билета)и соответственно
N1 – третья с конца цифра номера вашей личной зачетной книжки студента (или студенческого билета).
Если какая-либо цифра равна нулю, то возьмите в качестве этой цифры единицу.
Задание 4.2. Взять в качестве а0=0, в качестве b0=10 и =0,1. Применить метод золотого сечения к функции из своего варианта из задания №1 в направлении антиградиента.
Начальная точка
.
4.3. Поиск отрезка, содержащего точку минимума. Метод удвоения шага.
Поиск заключается в том, что осуществляются возрастающие по величине шаги до тех пор, пока не будет пройдена точка минимума функции f(x) (предполагается, что в обоих направлениях от точки х0, значения функции когда-нибудь начнут возрастать).
Шаг 1 (нестандартный). Выбирают точку x0 и определяют направление убывания функции f(x). Для этого выбирают число h и вычисляют f(x0+h). Если f(x0 + h) < f(x0), то полагают х1 = x0+ h и переходят к шагу 2 при k=1. Если f(x0+ h) f(x0), то полагают h = -h и вычисляют f(x0+h). Если f(x0 + h) < f(x0), то полагают х1 = х0 + h и переходят к шагу 2 при k = 1. Если f(x0+ h) f(x0), то полагают h = h/2 и повторяют процедуру предварительного шага. В результате шага 1 получают число h и точки x0, x1= x0 + h такие, что f(x1) < f(x0).
Шаг 2. Удваивают h и вычисляют хk+1 = xk + h.
Шаг 3. Вычисляют f(xk+1). Если f(xk+1) < f(xk), то полагают k=k+1 и переходят к шагу 2. Если f(xk+1) f(xk), то поиск останавливают и в качестве отрезка, содержащего точку минимума, выбирают [xk-1, xk+1].
Пример 1: y = (x2-9)(x-4), x0 = -1, h=1.
Прежде чем применять данный метод необходимо убедиться, что мы не последуем в ложном направлении. А именно – можно двигаться в сторону минус бесконечности целую бесконечность времени.
Для этого реализуем метод удвоения для функции из примера 1 с начальным приближением x0 = -2. Вычисления согласно методу удвоения показаны в таблице 1.
Таблица 1
|
|
xk |
f(xk) |
Шаг 1. |
x0 = |
-2 |
30 |
|
h= |
1 |
|
|
x0+h= |
-1 |
40 |
|
|
|
|
|
h=-h |
-1 |
|
|
x0+h= |
-3 |
0 |
|
|
|
|
|
x1 = x0 +h |
-3 |
|
|
k=1 |
|
|
Шаг 2. |
h=2h |
-2 |
|
|
|
|
|
|
x2 = x1 +h |
-5 |
-144 |
|
k=k+1 = 2 |
|
|
Шаг 2. |
h=2h |
-4 |
|
|
x3 = x2 +h |
-9 |
-936 |
Из этих вычислений видно, что мы долго можем двигаться в сторону минус бесконечности. Поэтому желательно вначале построить график функции, чтобы правильно выбрать начальную точку.