Безусловная минимизация функций одной переменнойБудем решать задачу
Можно выделить три основных подхода к ее решению. Первый подход основан на численном решении уравнения Если целевая функция имеет только один минимум и является выпуклой, то решение уравнения (3.2) даст единственное решение задачи (3.1). В противном случае, корни (3.2) дадут все экстремальные точки и точки перегиба целевой функции. Та точка, в которой значение целевой функции наименьшее, будет решением задачи (3.1). На этом подходе основан метод Ньютона. Второй подход предполагает выделение на оси Ox интервала [a,b], в котором заключен минимум целевой функции и последовательное уменьшение в процессе вычислений длины этого интервала до требуемой точности Наконец, третий подход основан на локальной аппроксимации целевой функции квадратичными или кубическими многочленами. Это позволяет на каждом шаге алгоритма аппроксимировать минимум целевой функции минимумом многочлена. В процессе вычислений каждая последующая аппроксимация строится с использованием очередной точки приближения минимума целевой функции, что позволяет последовательно продвигаться к этому минимуму. Примером подобных методов является метод квадратичной аппроксимации. 3.1 Метод Ньютона. Для решения нелинейного уравнения (3.2) воспользуемся методом Ньютона. Выбрав начальное приближение Таким образом, метод Ньютона является градиентным методом второго порядка. Итерационный процесс, описываемый (3.3), завершают, когда два последовательно найденных приближения отличаются друг от друга менее чем на заранее заданную величину
или когда значение первой производной станет достаточно малым (напомним, что в точке минимума оно становится равным нулю): На практике же «для надежности» лучше требовать одновременного выполнения обоих условий (3.4) и (3.5). Алгоритм 3.1 метода Ньютона 1. Задать начальное приближение 2. 3. Выполнять цикл… 3.1. Вычислить в точке 3.2. 3.3. …до тех пор, пока 4. Вывести результат – 5. Завершить работу.
Сходимость метода Ньютона зависит от выбора начального приближения. Можно доказать, что если F(x) дважды непрерывно дифференцируема, Таким образом, главным достоинством метода Ньютона является его быстрая сходимость. Применимость метода Ньютона ограничена требованием, чтобы целевая функция была дважды дифференцируема в окрестности ее минимума, в которой осуществляется поиск решения. Основной недостаток метода Ньютона заключается в том, что при неудачном выборе начального приближения этот метод может расходиться. Кроме того, на каждом шаге требуются вычисления первой и второй производной целевой функции. Если аналитические выражения для первой и второй производных неизвестны, численный расчет производных может оказаться трудоемким и вносить в процесс вычислений непредсказуемую погрешность. 3.2 Метод «золотого сечения». Метод «золотого сечения» является методом нулевого порядка. Он может быть разбит на два последовательных этапа: 1. Локализация минимума целевой функции. 2. Последовательное сужение интервала локализации. Для локализации интервала, на котором располагается минимум целевой функции воспользуемся следующим критерием: Если для унимодальной функции одной переменной F(x) удалось найти такие три точки
что
то точка Из сказанного не следует обратное. Нельзя утверждать, что если точка Рассмотрим алгоритм локализации минимума унимодальной функции одной переменной, основанный на использовании приведенного выше критерия. Алгоритм 3.2 локализации минимума 1. Задать начальную точку 2. Пока 2.1. 2.2. Если 2.3. h:= – h. 2.4. 2.5. Если 2.6. 3. Если 4. Для r от 1 до N с шагом +1 выполнять цикл // поиск 4.1. 4.2. 4.3. Если 4.4. 5. Если r=N, сообщить о невозможности локализации минимума и завершить аварийно работу. 6. 7. Если иначе положить 8. Завершить работу Алгоритм 3.1 обеспечивает локализацию минимума унимодальной целевой функции на интервале Если в качестве Идея алгоритма метода «золотого сечения» заключается в следующем. В качестве исходных имеются 3 точки
Алгоритм 3.2а метода «золотого сечения» 1. Взять точки 2. Вычислить 3. Найти положение точки 4. Для r от 1 до N с шагом +1 выполнять цикл 4.1. Вычислить 4.2. Если 4.2.1. Если
иначе
иначе 4.2.2. Если
иначе
4.3. Положить 4.4. Если 5. Если r=N, сообщить о невозможности нахождения минимума и завершить аварийно работу. 6. Положить 7. Завершить работу. Следует предостеречь от вычисления в цикле новых значений Достоинства метода «золотого сечения» - отсутствие необходимости вычисления производных, гарантированная сходимость в том случае, если на первом шаге удалось локализовать один минимум целевой функции. Основной недостаток – относительно медленная сходимость (по сравнению, например, с методом Ньютона). 3.3 Метод квадратичной аппроксимации. Данный метод также является методом нулевого порядка и не требует вычисления производных целевой функции. Данный метод основан на локальной аппроксимации целевой функции квадратичной функцией. Для этого на оси Ox выбирают три точки
Получаем: В качестве очередного приближения минимума функции рассматривают минимум параболы – точку Затем из трех точек Метод квадратичной аппроксимации гарантированно работает для унимодальных выпуклых целевых функций. На практике начальные точки
Алгоритм 3.3 метода квадратичной аппроксимации 1. Взять точки 2. Вычислить 3. Для r от 1 до N с шагом +1 выполнять цикл 3.1. Вычислить a, b, c по формулам (3.10), (3.11), (3.12). 3.2. Положить 3.3. Упорядочить точки 3.4. Если три первые точки не локализуют минимум ( Поменять местами точки Если три первые точки снова не локализуют минимум ( Поменять местами точки 3.5. Если 4. Если r=N, сообщить о невозможности нахождения минимума и завершить аварийно работу. 5. Положить 6. Завершить работу.
Метод квадратичной аппроксимации полезен для решения задачи одномерного поиска вдоль заданного направления, возникающей при реализации различных методов минимизации функций n переменных. Метод гарантированно работает для унимодальных выпуклых функций (по крайней мере, унимодальных на участке, на котором первоначально локализован минимум).
4. Безусловная минимизация функций n переменных Рассмотрим две основные группы методов безусловной минимизации функций n переменных:
Первую группу составляют методы прямого поиска (методы нулевого порядка). Их главное достоинство – отсутствие требований к дифференцируемости целевой функции. Эти методы удобны, когда не могут быть получены аналитические выражения для производных целевой функции, и эти производные приходится вычислять с помощью конечных разностей. Наконец, многие методы прямого поиска (например, локальных вариаций или Хука-Дживса), не требуют выпуклости целевой функции. В случае многоэкстремальных задач они позволяют найти локальный экстремум, ближайший к начальной точке поиска. Главный недостаток методов прямого поиска – медленная сходимость. В отличие от методов прямого поиска, градиентные методы первого и второго порядков, составляющие вторую группу, отличаются быстрой сходиимостью. Однако, они не гарантируют сходимость для невыпуклых и, тем более, многоэкстремальных функций. Градиентные методы требуют дифференцируемости целевой функции один или два раза, в зависимости от порядка метода. Производные приходится вычислять на каждой итерации градиентного метода. 4.1 Метод покоординатного спуска. Данный метод нулевого порядка является одним из самых простых и интуитивно понятных эмпирических методов безусловной минимизации функций n переменных. В пространстве Выполнив одномерный поиск в направлении i-й координатной оси, перемещаем начальную точку поиска в точку, где функция достигает минимального значения вдоль этой оси: Проведя поиск вдоль всех координатных осей, сравниваем расстояние между начальной точкой Алгоритм 4.1 метода покоординатного спуска 1. Задать начальную точку 2. Положить 3. Для r от 1 до N с шагом +1 выполнять цикл 3.1. Для i от 1 до n с шагом +1 выполнять цикл 3.1.1. Решить задачу 3.1.2. Положить 3.2. Если 3.3. Положить 4. Если 5. Положить 6. Завершить работу
Для одномерного поиска на шаге 3.1.1 чаще всего используют метод квадратичной аппроксимации или метод «золотого сечения». При своей простоте метод покоординатного спуска не лишен недостатков. Во-первых, минимизация невыпуклых функций, даже унимодальных, может привести к задачам одномерной минимизации многоэкстремальных функций (рис. 4.2). Во-вторых, в случае, когда линии равного уровня (при 4.2. Метод локальных вариаций. Этот метод по своей идее напоминает метод покоординатного спуска, однако одномерный поиск заменен пробными шагами вдоль координатных осей. Длины шагов уменьшаются при приближении к минимуму целевой функции. В основе метода локальных вариаций лежит алгоритм покоординатного поиска. Пусть вектор Алгоритм 4.2 метода локальных вариаций 1. Задать начальную точку 2. Положить 3. Для r от 1 до N с шагом +1 выполнять цикл 3.1. Выполнить покоординатный поиск из точки 3.2. Если результат поиска совпадает с исходной точкой (то есть 4. Если 5. Положить 6. Завершить работу.
В процессе покоординатного поиска сначала выполняется пробный шаг вдоль первой координаты в положительном направлении
Алгоритм 4.2а покоординатного поиска 1. Положить 2. Для i от 1 до n с шагом +1 выполнять цикл 2.1. 2.2. Если шаг удачен ( Иначе Если шаг удачен ( 3. Завершить работу.
Данный алгоритм сходится несколько медленнее, чем метод покоординатного спуска, однако, применим для невыпуклых и даже многоэкстремальных функций, позволяя найти один из локальных минимумов многоэкстремальной функции (в зависимости от выбора начальной точки). В то же время для функций, линии (поверхности) уровня которых вытянуты в виде оврагов на вдоль одной из координатных осей, этот метод, как и метод покоординатного спуска, практически неработоспособен.
4.3. Метод Хука-Дживса. Данный метод является одним из лучших методов прямого поиска. Он, в частности, сохраняет работоспособность для функций, у которых линии (поверхности) равного уровня вытянуты не вдоль координатных осей. Метод Хука-Дживса не требует выпуклости целевых функций. Данный метод может также применяться для минимизации многоэкстремальных функций, приводя, при выборе различных начальных точек, к различным локальным минимумам таких функций. В основе метода Хука-Дживса лежит идея метода локальных вариаций. Однако, в методе Хука-Дживса направления поиска не зафиксированы вдоль координатных осей. Алгоритм стремится построить направление поиска, приближающееся к направлению наискорейшего убывания целевой функции. Таким образом, встретившись с «оврагом» целевой функции, метод Хука-Дживса стремится вытянуть направление поиска вдоль дна этого «оврага». Кроме этого, размер шага вдоль перспективного направления также может изменяться в зависимости от поведения целевой функции.
Алгоритм 4.3 метода Хука-Дживса 1. Задать начальную точку 2. Положить 3. Выполнять для r от 1 до N с шагом +1 3.1. Выполнять бесконечный цикл 3.1.1. Выполнить покоординатный поиск из точки 3.1.2. Если результат поиска не совпадает с исходной точкой (то есть 3.1.2.1. 3.1.2.2. Если 3.2. Выполнять до тех пор… 3.2.1. Экстраполировать направление к минимуму, положив 3.2.2. Выполнить покоординатный поиск из точки 3.2.3. Положить 3.2 …пока новые значения 4. Вывести предупреждение, что минимум не достигнут за заданное число шагов. 5. Завершить работу. Шаг 3.1 в литературе называется «исследующим поиском». Он заключается в том, чтобы путем покоординатного поиска вокруг базовой точки Шаг 3.2 часто называют «поиск по образцу». В том случае, если шаг 3.1 оказался удачным, новую перспективную точку пытаются построить вдоль прямой, соединяющей две предыдущие точки Во избежание зацикливания, общее число итераций алгоритма целесообразно ограничить.
4.4. Метод наискорейшего спуска. Этот метод, пожалуй, является наиболее простым градиентным методом, то есть методом, требующим вычисления производной целевой функции. Метод наискорейшего спуска относится к методам первого порядка, то есть требует возможности вычисления первой производной целевой функции в любой точке области допустимых значений варьируемых параметров. Метод наискорейшего спуска предлагает, выбрав начальную точку, искать минимальное значение целевой функции путем одномерного поиска вдоль направления, противоположного градиенту этой функции. Действительно, направление градиента – это направление наиболее быстрого возрастания функции Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... ![]() ©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (2971)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |