Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМиМОвЭ Очное Шестакович 2011 / ВМиМОвЭ Шестакович 2011 модифицированный.doc
Скачиваний:
24
Добавлен:
13.05.2023
Размер:
4.32 Mб
Скачать

7.2. Методы нахождения минимума функции одной переменной

Задача нахождения минимума функции одной переменной minf(x) нередко возникает в практических приложениях. Кроме того, многие методы решения задачи минимизации функции многих переменных сводятся к многократному поиску одномерного минимума. Поэтому разработка новых, более эффективных одномерных методов оптимизации продолжается и сейчас, несмотря на кажущуюся простоту задачи.

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

Нахождение минимума функции осуществляется в два этапа:

1. Приближенное определение местоположения минимума.

2. Вычисление точки минимума xmin c заданной точностью одним из нижеприведенных методов.

На первом этапе, задав некоторую начальную точку x0, спускаются с заданным шагом h в направлении уменьшения функции и устанавливают интервал длиной 2h, на котором находится минимум, из условия f(x-h)> f(x) < f(x+h). Для функции, изображенной на рис. 7.1, если A < x0 < xg , будет выделен интервал [a,b] с локальным минимумом xmin1, а если xg < x0 < B – с глобальным минимумом xmin2, т. е. тот, в области «притяжения» которого оказалась начальная точка x0. Если на отрезке [a,b] функция f(x) унимодальна, т. е. она имеет на этом отрезке единственную точку минимума xmin и слева от этой точки является строго убывающей, а справа – строго возрастающей, то для вычисления точки минимума с заданной точностью могут использоваться нижеприведенные методы.

Рис. 7.1. Виды минимумов

7.2.1. Метод деления отрезка пополам

Алгоритм метода.

Задаются интервал [a, b] и погрешность .

  1. Вычисляется середина интервала [a, b]: .

2. Отбрасывается половина интервала, не содержащая минимум:

Если то иначе

3. Если |b-a| > , то повторяем с п. 1.

4. Вычисляем

Этот метод прост в реализации, позволяет находить минимум разрывной функции, однако требует большого числа вычислений функции для обеспечения заданной точности.

7.2.2. Метод золотого сечения

Золотое сечение – это такое деление отрезка [a, b] на две неравные части при котором отношение большего отрезка ко всему интервалу равно отношению меньшего отрезка к большему. При этом имеет место следующее соотношение

О точке, которая расположена на расстоянии длины от одного из концов отрезка, говорят, что она осуществляет золотое сечение данного отрезка. Каждый отрезок имеет две такие точки, расположенные симметрично относительно середины. Алгоритм поиска минимума аналогичен вышеописанному методу деления пополам и отличается тем, что вначале точки x1 и x2 выбираются так, чтобы они осуществляли золотое сечение отрезка, и вычисляются значения функции в этих точках

В последующем, после сокращения интервала путем отбрасывания неблагоприятной крайней точки, на оставшемся отрезке уже имеется точка, делящая его в золотом отношении, (точка x1 на рис. 7.2) известно и значение функции в этой точке. Остается лишь выбрать ей симметричную и вычислить значение функции в этой точке для того, чтобы вновь решить, какую из крайних точек отбросить.

Алгоритм метода.

Задаются a, b и погрешность .

1. Вычисляются две точки золотого сечения

.

2. Если то ,

иначе

3. Если , то повторить с п. 2.

4. Вычисляется .

При одинаковом количестве вычислений функции отрезок, на котором находится xmin, уменьшается быстрее, чем в методе деления пополам.