Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №1.docx
Скачиваний:
0
Добавлен:
17.05.2026
Размер:
578.34 Кб
Скачать

Исходные данные:

f(x) = х2+9х

x(0) = 14

ε = 0,5

δ = 0,03

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1. Для заданной целевой функции найти аналитическое решение задачи одномерной минимизации f(x) min, x∈X (X⊂R) и найти промежуток (X⊂R), на котором функция унимодальна. 2. Произвести графический анализ функции с отображением первой и второй ее производных. 3. Найти минимум функции методом обратного переменного шага для заданной точности ε и начальной точки x0 . 4. Найти минимум функции методом Пауэлла для заданной точности ε и начальной точки x0. 5. Определить начальный промежуток унимодальности [a0, b0], взяв за основу первые несколько шагов метода обратного переменного шага. 6. Найти минимум функции методом локализации оптимума для заданной точности ε . 7. Определить минимум функции методом половинного деления для заданной точности ε и константы различимости δ. 8. Найти минимум функции методом золотого сечения с заданной точностью. 9. Произвести поиск минимума функции методом Фибоначчи для заданной точности ε и константы различимости δ.

1. Аналитический анализ функции

Представленная функция и ее производные непрерывны, поэтому определяем первую производную и приравниваем ее к 0, т.е f '(x) = 2x + 9 = 0 ;

Откуда следует, что функция имеет один экстремум в точке x* = -4,5

Далее находим значение второй производной в точке x*: f ''(x*) = 2 > 0, т.е. в указанной точке имеем глобальный минимум функции, который составляет: f(x*)= (-4,5)2+ 9·(-4,5)= -20,25 Поскольку вторая производная всегда положительна, функция унимодальна на интервале (-∞, ∞).

2. Графический анализ функции

Построим график функции, ее первой и второй производных в окрестности точки x*.

Рис 1. Графический анализ функции

Полученные кривые подтверждают выводы, сделанные при аналитическом анализе.

3. Поиск минимума методом обратного переменного шага

Принимаем величину начального шага ∆0 = 6, а коэффициент сжатия β = 0,4.

Для определения знака Δ в начальной точке x0 = 14 сравним значения

f(x0) = f(14) = 322

f(x0 + h0) = f(20) = 580

f(x0 - h0) = f(8) = 136

Поскольку f(x0 + Δ0 ) > f(x0) > f(x0 – Δ0 ) , то величина шага должна быть отрицательной, т.е. Δ0 = - 6.

Таким образом имеем x1 = x0 + Δ0 = 14 – 6 = 8, x0(1) = x1.

Координаты следующей точки x1(1) = x0(1) + Δ0 = 2, в которой y1(1) = f(2) = 22 . Т.к. y1(1) = f(x1(1)) =22 < y1(1) = f(x0(1)) = 136 принимаем x0(2) = x1(1) и продолжаем движение.

x1(2) = x0(2) + Δ0 = -4; y1(2) = f(x1(2)) = -20 < y0(2) = f(x0(2)) =22, продолжаем движение.

Дальнейшую последовательность вычислений представим в виде пар координат xi(k) yi(k), где i= 0; 1, а верхний индекс k является номером очередного шага сканирования.

x0(3) = x1(2) = -4; x1(3) = x0(3) + Δ0 = -10; y1(3) = 10 > y0(3) = -20, значение функции в новой точке увеличилось и т.к. Δ0 > ε = 0,5 уменьшаем шаг Δ1 = 2,4 и продолжаем движение.

x0(4) = x1(2) = -4; x1(4) = x0(4) + Δ1 = -1,6; y1(4) = -11,84 > y0(4) = -20, значение функции в новой точке увеличилось и т.к. Δ1> ε = 0,5 уменьшаем шаг Δ2 = -0,96 и продолжаем движение.

x0(5) = x1(2) = -4; x1(5) = x0(5) + Δ2 = -4,96; y1(5) = -20,04 < y0(5) = -20.

x0(6) = x1(5) = -4,96; x1(6) = x0(6) + Δ2 = -5,92; y1(6) = -18,24 > y0(6) = -20,04, значение функции в новой точке увеличилось и т.к. Δ2 > ε = 0,5 уменьшаем шаг Δ3 = 0,38 и продолжаем движение.

x0(7) = x1(5) = -4,96; x1(7) = x0(7) + Δ3 = -4,58; y1(7) = -20,25 < y0(7) = -20,04

x0(8) = x1(7) = -4,58; x1(8) = x0(8) + Δ3 = -4,2; y1(8) = -20,16 < y0(8) = -20,25

Значение функции в последней точке возросло, а поскольку Δ3 = 0,38 < ε = 0,5, поиск можно прекратить.

Вывод: Минимум функции достигается в точке x* ≈ x0(8) = -4,58 с погрешностью ε = 0,5. Количество итераций равно 8 при 11 вычислениях функции. Значение функции в этой точке равно -20,25.

4. Поиск минимума методом Пауэлла

Принимаем величину начального шага Δx = 6 для начальной точки x0 = 14.

Вычисляем x1 = x0 + Δx =14 + 6 =20; y0 = f(14) = 322 и y1 = f(x1) = 580.

Поскольку y0 ≤ y1 , x2 = x0 - Δx =14 – 6 = 8 ; y2 = f(x2) = f(8) = 136.

Используя значения x0 , x1 , x2 и y0 , y1 , y2 вычисляем x* с помощью квадратичной аппроксимации:

a0 = y0 = 322;

a1 = = = 43

a2 = = = 1

x* - = - = 17 – 21,5 = -4,5

Проверяем условие окончания поиска

= = > ε = 0,5 и продолжаем поиск.

Отбрасываем точку с наибольшим значением целевой функции, т.е. y1 = ymax = 580 при x1 = 20.

Для оставшихся точек x0 = 14 , x1 = -4,5 , x2 = 8 рассчитываем новые коэффициенты полинома:

a0 = y0 = 322;

a1 = = = 16,31

a2 = = = 1,17

x* ≈ - = - = 4,75 – 6,97 = -2,22

Проверяем условие окончания поиска

= = < ε = 0,5

Условие окончания поиска выполняется, поэтому поиск можно прекратить.

Вывод: Минимум функции достигается в точке x* ≈ - 4,5. Количество итераций равно 2 при 4 вычислениях функции. Значение функции в этой точке равно -20,25.