Студопедия.Орг Главная | Случайная страница | Контакты  
 

Понятие унимодальности.Рассмотрим задачу

Численные методы отыскания экстремумов функции одной переменной.

Необходимые и достаточные условие экстремума дают аналитические методы отыскания экстремума, т.е. методы, основанные на преобразовании уравнений, неравенств, в ходе которых находится точное решения или отсутствие такового у исследуемой задачи. На практике применение аналитических методов бывает трудно реализуемо либо вообще невозможно в силу сложности исходной функции, ее ограниченной дифференцируемости, сложности решения систем нелинейных уравнений. Поэтому наряду с аналитическими методами разработано большое количество численных методов, с помощью которых экстремум функции находится приблизительно, как предел сходимости последовательности точек. Численные методы разбиваются на классы в зависимости от порядка старшей производной, используемой при проведении расчетов. Методы нулевого порядка — это методы, которые не используют производных, т.е. в вычислениях используются только значения исходной функции. В методах первого порядка используются значения функции и ее первых производных и т.д.

Понятие унимодальности.Рассмотрим задачу

. (1)

Функцию f(x) будем называть унимодальной на отрезке [a,b], если на этом отрезке существует такая точка минимума x*, что для любых двух точек x1, x2 этого отрезка имеют место следующие соотношения:

Другими словами унимодальная функция монотонна на обе стороны от точки минимума x*. Отсюда следует, что если функция f(x) унимодальна на отрезке [a,b], то минимум этой функции единственен, а локальные максимумы обязательно располагаются на его концах.

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

На рисунке 1 приведены графики непрерывных унимодальных на отрезке [a,b] функций. В случае а) на отрезке [a,b] одна точка минимума, в случае б) – одна точка максимума.

На рисунке 2 изображена неунимодальная на отрезке [a,b] функция. Однако нетрудно видеть, что на отрезках [a,x1], [x1,x2], [x2,b] она является унимодальной. Нетрудно видеть, что если функция непрерывна на отрезке [a,b] и не является постоянной, то внутри отрезка всегда можно выделить подотрезки, на которых функция будет обладать свойством унимодальности. Процедуру выделения из заданного отрезка подотрезков, на которых функция унимодальна, называют процедурой локализации экстремумов.

а) б)

Рис.1. Унимодальные на отрезке [a,b] функции.

Рис.2. Пример неунимодальной на отрезке [a,b] функции.

Поскольку минимум функции f(x) – это максимум функции –f(x), то задачи отыскания максимума и минимума идентичны. Ниже, для определенности, ограничимся рассмотрением только задачи (1).

2. Методы нулевого порядка.Пусть f(x) – унимодальная на отрезке [a,b] функция, имеющая на нём единственную точку минимума x*; x1, x2 – две точки из (a,b),x1<x2и f(x1)<f(x2) (см. рис. 3). Очевидно, поскольку f(x) унимодальна, то отрезок [x2,b] не может содержать её минимума. Дествительно, давайте допустим, что . Тогда будем иметь: x1<x2<x*, f(x1)<f(x2), f(x2)>f(x*). Но тогда отрезок [x1,x*], содержит точку максимума и эта точка является его внутренней точкой, а тем более внутренней точкой отрезка [a,b]. Выше отмечалось, что унимодальная функция, имеющая единственную точку минимума, не может иметь внутри отрезка [a,b] точки максимума. Полученное противоречие доказывает, что отрезок [x2,b] не содержит x* и его можно исключить из рассмотрения. Аналогичным образом, если, f(x1)>f(x2), то минимум не содержится в отрезке [a,x1] и его можно отбросить.

Рис. 4. Анализ унимодальной функции.

Этот факт лежит в основе группы методов нулевого порядка, которые будем называть методами сечения отрезка. Их суть в следующем.

1) на отрезке [a,b] выбираем две точки: x1 и x2– точки сечения отрезка (x1<x2);

2) вычисляем и ;

3) если , то отрезок [a,b] сужаемдо отрезка [a,x2], т.е. отбрасываем [x2,b]; если , то переходим к отрезку [x1,b], т.е. отбрасываем [a,x1];

4) полученный отрезок принимаем в качестве исходного для следующей итерации и переходим к п.1.

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

Методы сечения отрезка отличаются друг от друга способом выбора точек x1 и x2. Рассмотрим 2 из них.

2.1. Метод «золотого» сечения. Пусть [ak,bk] – отрезок на k-ой итерации метода ([a1,b1]=[a,b]). Точки , вычислим по правилу:

,

где lk=bk-ak – длина отрезка, - коэффициент сечения,

.

Коэффициент сечения подобран специально. Точки сечения располагаются таким образом, что при переходе к новому отрезку [ak+1,bk+1] та из точек , , которая остается в новом отрезке, автоматически становится точкой разбиения нового отрезка (см. рис. 5).

Рис. 5. Примерная схема перехода точек сечения от отрезка к отрезку

Поэтому, если, например, , то новый отрезок [ak+1,bk+1] и его сечение строятся по правилам:

ak+1=ak, bk+1= ;

, =

В силу этих правил нет необходимости вычислять значение функции в точке - оно было вычислено на предыдущей итерации. Его просто нужно запомнить и сохранить до нужного момента.

Собственно, в этом приеме суть метода «золотого» сечения, его «золото»: на каждой итерации метода (кроме первой) вычисляется только одно новое значение функции. При решении сложных задач, в которых одно вычисление функции занимает несколько минут, а то и часов, общее время вычислений может сократиться до двух раз.

2.2. Метод квадратичной интерполяции.Если отрезок [a,b] небольшой,а функция f(x)достаточно гладкая (например, дважды дифференцируемая), то ее график близок к графику параболы (см. рис. 5). Если y=Ax2+Bx+C – уравнение параболы, то точка ее минимума находится без каких-либо проблем: . Поэтому очевидна идея: вместо исходной функции рассмотреть близкую к ней параболу, а точку её минимума принять в качестве приближенной точки минимума исходной функции.

Известно, что для построения параболы нужно знать 3 точки, через которые она проходит. В качестве этих точек возьмем точки на графике функции f(x), соответствующие концам отрезка, и некоторой внутренней точке с (при отсутствии дополнительной информации в качестве этой точки можно взять середину отрезка: с=(a+b)/2).

Рис.5. График исходной функции (тонкая линия) и аппроксимирующей параболы (жирная линия)

По значениям f(a), f(b) и f(c) точку минимума параболы можно найти по следующей формуле:

(2)

Опишем теперь алгоритм метода сечения отрезка, базирующийся на идее метода квадратичной интерполяции. Допустим, что к началу k-ой итерации известны отрезок [ak,bk] и внутренняя точка ck вместе с соответствующими значениями функции.

1) по формуле (2) найдем точку минимума параболы, которую для удобства обозначим δk. Для определенности предположим, что δk>ck.

2) вычислим f(δk).

3) если f(δk)<f(ck), то новый отрезок [ak+1,bk+1] построим так: ak+1=ck, bk+1=bk. В качестве точки ck+1 примем точку δk.

В противном случае (f(δk)≥f(ck)) положим: ak+1=ak, bk+1k, ck+1= ck.

4) если , то перейдем к следующей итерации. В противном случае работа алгоритма завершена, .

Случай δk≥ck рассмотрите самостоятельно.

3. Методы 1-го и 2-го порядка. В этом пункте будем предполагать, что функция f(x) непрерывна и дифференцируема нужное число раз, а точка минимума x* является внутренней точкой отрезка [a,b]. В этом случае она удовлетворяет необходимому условию экстремума:

. (3)

Поэтому вместо задачи отыскания минимума функции f(x) можно решать уравнение (3) и, следовательно, для отыскания экстремума можно использовать численные методы решения уравнений. Ниже рассматриваются два метода, базирующиеся на этом принципе.

3.1. Метод дихотомии (половинного деления). Пусть [ak,bk] – отрезок на k-ой итерации метода ([a1,b1]=[a,b]). Заметим, что на концах отрезка производная функции f(x) имеет значения различных знаков.

1) найдем середину отрезка ck=(bk-ak)/2.

2) вычислим f'(ck). Если f’(ck)=0, то решение задачи окончено: x*=ck. В противном случае перейдем к п.3.

3) новый отрезок построим в зависимости от соотношения знаков значений производной функции в точке ck и на одном их концов отрезка, например ak. Если f’(ck) и f’(ak) имеют различные знаки, то ak+1=ak, bk+1=ck; в противном случае ak+1=ck, bk+1=bk.

4) если bk+1-ak+1, то работа алгоритма завершена: . В противном случае переходим к следующей итерации.

В этом алгоритме используются производные 1-го порядка. Поэтому его можно отнести к методам 1-го прядка.

3.2. Метод Ньютона. Метод Ньютона базируется на популярном методе решения уравнений. Если g(x)=0 заданное уравнение, x0 – известное приближение к решению, то решение с заданной точностью находится по итерационной формуле:

(4)

Подставляя в формулу (4) вместо g(x) производную f’(x), получаем:

Этот метод откосится к методам второго порядка.


Дата публикования: 2015-04-09; Прочитано: 6425 | Нарушение авторского права страницы



studopedia.org - Студопедия.Орг - 2014-2020 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...