Скачать .docx | Скачать .pdf |
Реферат: Методы оптимизации
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Кафедра математического анализа
Дипломная работа по математике
студентка 5 курса математического факультета
специальность 032100.01 – «Математика» с дополнительной
специальностью «Информатика»
МЕТОДЫ ОПТИМИЗАЦИИ
Научный руководитель: доцент, кандидат технических наук
Допущена к защите.
Зав. кафедрой математического анализа _________________________
«___» _______ 2010 г., протокол №__
Защищена «____» июня 2010 г.
Оценка __________________________
СОДЕРЖАНИЕ
Стр. | |
Введение……………………………………………………………………… | 3 |
Глава I. Задача отыскания экстремума функций многих переменных…............................................................................................ |
5 |
§1. Функция многих переменных…………………………………………. | 5 |
1.1 Необходимые условия экстремума……………………………. | 6 |
1.2 Необходимые условия второго порядка. Достаточные условия………………………………………………………………. |
8 |
§2. Относительный экстремум. Метод множителей Лагранжа………… | 11 |
2.1 Метод исключения……………………………………………… | 11 |
2.2 Метод множителей Лагранжа…………………………………. | 12 |
2.3 Седловая точка функции Лагранжа…………………………….. | 15 |
Глава II. Численные методы отыскания безусловного экстремума……. | 19 |
§1. Методы первого порядка (градиентные методы)…………………….. | 19 |
1.1 Метод градиентного спуска с постоянным шагом…………… | 19 |
1.2 Метод наискорейшего градиентного спуска…………………. | 25 |
1.3 Метод покоординатного спуска………………………………. | 29 |
§2. Методы второго порядка……………………………………………… | 36 |
2.1 Метод Ньютона…………………………………………………. | 36 |
2.2 Метод Ньютона-Рафсона………………………………………. | 41 |
Заключение…………………………………………………………………… | 46 |
Литература……………………………………………………………………. | 47 |
Введение
В настоящее время оптимизация находит применение в науке, технике и в любой другой области человеческой деятельности.
Оптимизация - целенаправленная деятельность, заключающаяся в получении наилучших результатов при соответствующих условиях.
Поиски оптимальных решений привели к созданию специальных математических методов и уже в 18 веке были заложены математические основы оптимизации (вариационное исчисление, численные методы и др). Однако до второй половины 20 века методы оптимизации во многих областях науки и техники применялись очень редко, поскольку практическое использование математических методов оптимизации требовало огромной вычислительной работы, которую без ЭВМ реализовать было крайне трудно, а в ряде случаев - невозможно.
Оптимизация как раздел математики существует достаточно давно. Оптимизация - это выбор, т.е. то, чем постоянно приходится заниматься в повседневной жизни. Термином "оптимизация" в литературе обозначают процесс или последовательность операций, позволяющих получить уточненное решение. Хотя конечной целью оптимизации является отыскание наилучшего или "оптимального" решения, обычно приходится довольствоваться улучшением известных решений, а не доведением их до совершенства. По этому под оптимизацией понимают скорее стремление к совершенству, которое, возможно, и не будет достигнуто.
На первоначальном этапе решения принимались без специального математического анализа, просто на основе опыта и здравого смысла.
Практика порождает все новые и новые задачи оптимизации причем их сложность растет. Требуются новые математические модели и методы, которые учитывают наличие многих критериев, проводят глобальный поиск оптимума. Другими словами, жизнь заставляет развивать математический аппарат оптимизации.
Из всего выше сказанного можно сделать вывод об актуальности темы дипломной работы.
Объект исследования: методы оптимизации как раздел математики.
Предмет исследования: методы оптимизации первого порядка (градиентные методы) и второго порядка: методы Ньютона и Ньютона- Рафсона.
Цель работы: изучить вопросы отыскания экстремума функции нескольких переменных, а также рассмотреть алгоритмы численных методов отыскания безусловного экстремума.
Задачи , решаемые в работе:
1. Изучить теорию нахождения безусловного и условного экстремумов функции нескольких переменных;
2. Рассмотреть задачи минимизации функции нескольких переменных;
3. Изучить численные методы решения задач поиска безусловного минимума функции.
В первой главе сделан анализ теоретического материала, посвященного пониманию природы задач оптимизации — выведены необходимые и достаточные условия, которым должна удовлетворять функция в экстремальных точках. Рассмотрен метод множителей Лагранжа.
Во второй главе изложены численные методы отыскания безусловного экстремума, рассмотрены алгоритмы и примеры градиентных методов оптимизации: градиентного спуска с постоянным шагом, наискорейшего градиентного спуска, покоординатного спуска. Также рассмотрены методы второго порядка: метод Ньютона и метод Ньютона-Рафсона.
Глава I . ЗАДАЧА ОТЫСКАНИЯ ЭКСТРЕМУМА ФУНКЦИИ
МНОГИХ ПЕРЕМЕННЫХ
§ 1. Функция многих переменных
Одной из важных задач анализа является задача отыскания экстремума (наибольшего или наименьшего значения) скалярной функции f (х) n -мерного векторного аргумента х при некоторых ограничениях. Эту задачу мы будем записывать следующим образом:
min f ( x ), (1)
(2)
Здесь X — некоторое подмножество n -мерного евклидова пространства Еп . Будем называть X допустимым множеством задачи (1)—(2), а точки, принадлежащие X, — ее допустимыми точками. Заметим, что задачу максимизации функции f (х) тоже можно записать в виде (1)-(2), заменив f (х) на .
В этой главе будут последовательно рассмотрены задача нахождения безусловного экстремума функции нескольких переменных (Х=Еп ) и задача на относительный экстремум, т. е. задача минимизации функции нескольких переменных при наличии ограничений типа равенств, когда X - множество решений уравнения
g ( x )=0,
где g ( x ) есть m -мерная вектор-функция, т<п.
Задача (1) - (2) является классической и рассматривается во всех курсах анализа. Теория решения таких задач развивалась еще в трудах Эйлера, Лагранжа, Бернулли, Лейбница. Она не потеряла своего значения и в настоящее время, несмотря на то, что с тех пор разработаны более общие методы, включающие классические, как частый случай. Классическая теория содержит значительную часть идей, лежащих в основе современных методов оптимизации.
1.1 Необходимое условие экстремума. Рассмотрим задачу безусловной минимизации, будем теперь считать, что f (х) — скалярная функция векторного аргумента размерности п, т. е. X = En . Если - точка ее безусловного локального экстремума, в j будет достигаться экстремум функции
одной переменной xj , которая получается из функции f ( x ), если зафиксировать все переменные, кроме xj , положив х i = i для . Для функции же одной переменной
получена теорема 1.
Теорема 1. Для того чтобы функция f ( x ), определенная на вещественной оси, имела безусловный локальный экстремум в точке , необходимо, чтобы выполнялось условие
. (3)
Проведя это рассуждение для всех j = 1, ..., п, приходим к следующей теореме.
Теорема 2. Для того чтобы в точке функция f ( x 1 , ..., хп ) имела безусловный локальный экстремум, необходимо, чтобы все ее частные производные обращались в в нуль:
i = 1, 2, …n . . (4)
Условие стационарности (4) мы будем записывать еще в одной из следующих эквивалентных форм:
grad
где — n -мерный вектор с компонентами, i =l, ..., п, который принято называть градиентом функции f (х) в точке .
Заметим, что необходимое условие экстремума (4) эквивалентно равенству нулю дифференциала функции f ( x ) в точке :
df ( ) = 0.
В самом деле, если выполнено условие (4), то для любых dxl , i = l, ..., n , имеем
.
Справедливо и обратное утверждение, так как из последнего равенства в силу произвольности независимых приращений dxi ,i = l, ..., n , следует, что все частные производные в точке равны нулю:
i = l, ..., n .
Условия (4) образуют систему п уравнений для определения п компонент вектора . Эти уравнения могут иметь различную природу и допускать любое количество решений, в частности, не иметь ни одного. Как и выше, точки ,являющиеся решениями системы уравнений (4), будем называть стационарными, а условие (4) - необходимым условием экстремума первого порядка.
1.2 Необходимое условие второго порядка. Достаточные условия. После того как решение системы уравнений (4) будет найдено, необходимо еще определить характер стационарной точки . Для этого нужно исследовать поведение функции f ( x ) в окрестности стационарной точки . Снова воспользуемся разложением функции f (х) в ряд Тейлора, предполагая ее дважды непрерывно дифференцируемой по всем переменным х1 , ...,х n . Тогда получим
(5)
Здесь через мы обозначили элементы матрицы вторых производных функции f ( x ) в стационарной точке , а через - какую-нибудь норму вектора , например, .Далее матрицу вторых производных мы будем обозначать так:
. (6)
Характер стационарной точки функции f ( x ) связан сознакоопределенностью квадратичной формы
. (7)
Напомним, что квадратичная форма называется неотрицательно определенной в точке , если
(8)
и положительно определенной, если
(9)
для любых векторов .
Соответственно, симметричная матрица вторых производных f "(х) называется неотрицательно определенной в точке , если выполнено (8), и положительно определенной, если выполнено (9). Неположительно определенным и отрицательно определенным квадратичным формам и матрицам соответствуют противоположные знаки в неравенствах (8), (9).
Таким образом, с учетом разложения (5), приходим к следующей формулировке условий второго порядка экстремальности функции f ( x 1 , ..., хп ).
Теорема 3. Для того чтобы дважды непрерывно дифференцируемая функция п переменных f ( x ) имела в стационарной точке безусловный локальный минимум (максимум), необходимо, чтобы матрица ее вторых производных была неотрицательно (неположительно) определенной, и достаточно, чтобы она была положительно (отрицательно) определенной .
Проверка знакоопределенности матриц может быть осуществлена, например, с помощью критерия Сильвестра . Согласно этому критерию, необходимым и достаточным условием положительной определенности квадратичной формы (х, Ах), где А = { aij } — симметричная матрица, является выполнение п неравенств:
, , …,
Необходимым и достаточным условием отрицательной определенности квадратичной формы (х, Ах) является выполнение цепочки следующих п неравенств:
, , …,
Если квадратичная форма не меняет знака, но обращается в нуль при ненулевых значениях аргумента, то для определения характера стационарной точки требуется исследование производных более высокого порядка.
Пример. Определить экстремальные значения функции
Из необходимых условий (2.1) имеем
Поэтому , - стационарная точка. Коэффициенты квадратичной формы (7), вычисленные в ней, равны
Тогда, согласно теореме 3, имеем следующие случаи:
1) а>0, b >0 - функция f (х) имеет в точке = {0, 0}T минимум;
экстремума нет
4) а<0, b<0 - функция f (х) имеет в точке ={0, 0}T максимум. Отметим, что случаи 1) и 4) соответствуют поверхности, являющейся эллиптическим параболоидом, а случаи 2) и 3) - гиперболическому параболоиду, имеющему стационарную точку типа «седло».
Замечание: Здесь и далее {x 1 , ..., хп }T – вектор-столбец.
§ 2. Относительный экстремум. Метод множителей Лагранжа
2.1 Метод исключения. Рассмотрим теперь задачу на относительный экстремум. Как мы видели в § 1, решение задачи об отыскании экстремумов функции п переменных f (х) на всем пространстве Еп может быть сведено с помощью необходимых условий к решению системы уравнений (4), в результате чего определяются стационарные точки функции f ( x ). Оказывается, что аналогичное сведение возможно и для задачи отыскания экстремумов функции f ( x ) при наличии ограничений типа равенств
gi ( x ) = 0, i = 1, 2, ..., т. (10)
Условия (10) принято еще называть уравнениями связи .
Точку х , удовлетворяющую условиям (10), будем называть допустимой.
Определение . Допустимая точка доставляет относительный локальный минимум функции f (х), если можно указать такое число , что для всех х, удовлетворяющих уравнениям связи (10) и условию ||х - ||<, имеет место неравенство
.
Рассмотрим случай, когда уравнения связи (10) могут быть разрешены относительно части переменных. Будем предполагать, что функции gi ( x ), i =l,..., т ,имеют в окрестности рассматриваемой допустимой точки непрерывные частные производные по всем аргументам до второго порядка включительно и, кроме того, ранг матрицы Якоби для функций gi ( x ), i = l, ...,m , рассматриваемой в точке ,равен т .Не нарушая общности, предположим, что отличен от нуля определитель (якобиан), составленный из частных производных по первым т аргументам, т. е.
(11)
Тогда по теореме о неявных функциях в некоторой окрестности точки система уравнений (10) разрешима относительно х1 , ..., хт ,т. е. представима в виде
j = 1, 2, …, m , (12)
где - непрерывно дифференцируемые в рассматриваемой окрестности функции. Переменные хт+1 ,..., хп естественно назвать «независимыми», в отличие от «зависимых»— x 1 , ..., хт . Подставляя выражения (12) в функцию f ( x ), получим задачу отыскания безусловного экстремума функции п — т переменных
.
Однако провести исключение части компонент вектора х обычно бывает трудно или даже невозможно. Поэтому мы используем другой путь определения точки ,который не предполагает наличия явных выражений типа (12), хотя использует существенно условие (11).
2.2 Метод множителей Лагранжа. Как мы видели в замечании к теореме 2, в точке , доставляющей безусловный экстремум функции, ее полный дифференциал равен нулю, т. е.
(13)
где dxj ,j =1, ..., m , — дифференциалы «зависимых» переменных, связанные с дифференциалами «независимых» переменных dxk , k = m +1, ..., n , следующим образом:
i = l, …, m . (14)
Метод Лагранжа состоит из следующих этапов:
1) составляется функция п+т переменных, которая называется функцией Лагранжа:
(15)
2) вычисляются и приравниваются нулю ее частные производные по х и :
j = 1, 2, …, n , (16)
i = 1, 2, …, m ,
3) решается система (16) п+т уравнений относительно п+т неизвестных x 1 , ..., хп , 1 , ..., т .
Система уравнений (16) представляет собой необходимые условия первого порядка в задаче на относительный экстремум, а ее решения 1 , ...,п принято называть условно-стационарными точками. Как и в случае задач на безусловный экстремум, необходимые условия первого порядка не определяют характера условно-стационарной точки. Для выяснения этого вопроса следует привлечьпроизводные более высоких порядков функций f (х) и g ( x ).
Заметим, что требование неравенства нулю якобиана (11) является существенным.
Пример 1. Условие (11) может быть не выполнено, если решение задачи на относительный экстремум реализуется, например, в точке касания поверхностей ограничений (10) (начало координат на рис. 1).
Рис. 1
Пусть
п = 2, т = 2, f (х) = х 2 ,
,
.
Допустимая точка должна одновременно удовлетворять уравнениям g 1 ( x ) = 0 , g 2 ( x ) = 0 и является единственной: х1 = 0, x 2 = 0. Очевидно, что точка 1 =0, 2 =0 и будет решением задачи на относительный минимум функции f (х) = x 2 при ограничениях g 1 ( x ) = g 2 ( x ) = 0. Составим для этой задачи функцию Лагранжа:
Метод множителей Лагранжа приводит к уравнениям
Этим уравнениям точка относительного минимума 1 =0, 2 =0не удовлетворяет ни при каких значениях 1 , 2 ,т. е. в данном случае метод множителей Лагранжа не работает.
Пример 2. Пусть
п = 2, т = 2, f (х) = х 2 min,
g ( x )= х 2 -( x 1 )2 .
Функция Лагранжа для этой задачи имеет вид
Соответственно, правило множителей Лагранжа приводит к уравнениям
решением которых будет ,1 =0, 2 =0. Чтобы понять, доставляет точка =0 относительный минимум функции f (х) илинет, надо выяснить характер поведения квадратичной формы
на прямой
.
При , как функция одной переменной , эта форма положительно определена. Значит, в точке =0 имеем относительный минимум.
2.3 Седловая точка функции Лагранжа. Рассмотрим функцию двух переменных z = Ф(х, у) ,где х, y —скаляры или векторы.
Определение. Назовем пару {х*, y *} седловой точкой функции Ф (х, у), если для любых х, y справедливо неравенство
(17)
Очевидно, что неравенство (17) эквивалентно выражению
Снова рассмотрим задачу отыскания относительного экстремума функции f ( x ) при ограничениях g ( x ) = 0 . Необходимые условия экстремума (3.10) можно записать в виде
(18)
т. е. пара является стационарной точкой функции Лагранжа
Однако в этой точке функция не может достигать максимума или минимума по х и одновременно. В самом деле, пусть в точке достигается максимум функции по х и . Так как условия связи в точке выполнены, то Пусть, далее, в некоторой точке нарушено одно из ограничений, например Тогда в силу линейности функции L по мы можем за счет выбора добиться бесконечно большого значения L (число имеет знак, противоположный знаку gk ( x )). Следовательно, в точке функция Лагранжа не может иметь максимума по . Аналогично можно показать, что в точке не может одновременно достигаться минимум функции Лагранжа по х и .
Покажем теперь, что в точке достигается либо , либо в зависимости от того, является точкой максимума или минимума. В самом деле, при каждом фиксированном х
Следовательно,
где
Таким образом, по х и функция Лагранжа имеет экстремум противоположного характера. Если при этом оказывается, что
то точка , по определению, является седловой точкой функции Лагранжа.
Пример 3. Исследуем на экстремум функцию
.
Решение. Координаты x , y , z критической точки гладкой функции u должны удовлетворять системе:
или
Отсюда получаем пять критических точек:
, , , , .
Исследуем поведение функции u в стационарных точках с помощью достаточного условия экстремума:
Отсюда получаем . Так как является отрицательно определенной квадратичной формой, то в точке функция u имеет строгий локальный максимум.
Для анализа квадратичной формы
Применим критерий Сильвестра. Матрица этой формы:
.
Её главные миноры:
2>0;
Распределение знаков этих миноров показывает, что данная квадратичная форма знакопеременная, следовательно, в точке М1 функция u не имеет экстремума: точка М1 есть седловая точка функции u .
Точно так же устанавливается, что точки М2 , М3 , М4 также седловые точки функции u .
Глава II . ЧИСЛЕННЫЕ МЕТОДЫ ОТЫСКАНИЯ БЕЗУСЛОВНОГО ЭКСТРЕМУМА
§ 1. Методы первого порядка (градиентные методы)
Как известно из курсов анализа, градиент скалярной функции f (х) в некоторой точке xk направлен в сторону наискорейшего возрастания функции и ортогонален линии уровня (поверхности постоянного значения функции f ( x ), проходящей через точку х k ). Вектор, противоположный градиенту f '( xk ) , антиградиент, направлен в сторону наискорейшего убывания функции f ( x ). Выбирая в качестве направления спуска р k в антиградиент функции f (х) в точке xk , мы приходим к итерационному процессу вида
k =1, 2, … n .
В координатной форме этот процесс записывается следующим образом:
i =1, 2, … n .
Все итерационные процессы, в которых направление движения на каждом шаге совпадает с антиградиентом (градиентом) функции, называются градиентными методами и отличаются друг от друга способами выбора шага Рассмотрим некоторые из них.
1.1 Метод градиентного спуска с постоянным шагом
Постановка задачи
Пусть дана функция f (х) , ограниченная снизу на множестве Rn и имеющая непрерывные частные производные во всех его точках.
Требуется найти локальный минимум функции f (х) на множестве допустимых решений X = Rn , т.е. найти такую точку , что
Стратегия поиска
Стратегия решения задачи состоит в построении последовательности точек {х k } , k = 0,1,..., таких, что k = 0,1,... . Точки последовательности {х k } вычисляются по правилу
(1)
где точка х0 задается пользователем; - градиент функции f ( x ) , вычисленный в точке х k ; величина шага задается пользователем и остается постоянной до тех пор, пока функция убывает в точках последовательности, что контролируется путем проверки выполнения условия или
Рис. 2
Построение последовательности {х k } заканчивается в точке х k , для которой , где - заданное малое положительное число, или , где М - предельное число итераций, или при двукратном одновременном выполнении двух неравенств , где - малое положительное число. Вопрос о том, может ли точка х k рассматриваться как найденное приближение искомой точки минимума, решается путем проведения дополнительного исследования, которое описано ниже.
Геометрическая интерпретация метода для п =2приведена на рис. 2.
Процедура решения задачи
1. Используя алгоритм градиентного спуска с постоянным шагом, найти точку х k в которой выполнен по крайней мере один из критериев окончания расчетов.
2. Провести анализ точки х k с целью установить, является ли точка хк найденным приближением решения задачи. Процедура анализа определяется наличием у функции f (х) непрерывных вторых производных. Если , то следует провести проверку выполнения достаточных условий минимума: матрица Гессе Если то точка х k есть найденное приближение искомойточки х* . Если , то следует провести проверку функции f (х) на выпуклость в Q -окрестности точки х k , используя критерий выпуклости для функций : функция f ( x ) выпукла (строго выпукла) в том и только в том случае, если . Если функция f ( x ) выпукла (строго выпукла), то х k есть найденное приближение точки х* .
Определение: Матрицей Гессе Н(х) дважды непрерывно дифференцируемой в точке х функции f ( x ) называется матрица частных производных второго порядка, вычисленной в данной точке:
,
где
Определители , , …, называются угловыми минорами.
Пример 1.1. Найти локальный минимум функции
□ I. Определение точки х k , в которой выполнен по крайней мере один из критериев окончания расчетов.
1. Зададим х0 , , , М : х0 = (0,5; 1)T , = 0,1; = 0,15 ; М = 10. Найдем градиент функции в произвольной точке
2. Положим к = 0.
30 . Вычислим : = (3;2,5)Т .
40 . Вычислим : = 3,9 > 0,1. Переходим к шагу 5.
50 . Проверим условие : k = 0 < 10 = M . Переходим к шагу 6.
60 . Зададим = 0,5 .
70 . Вычислим х1 : х1 = (0,5; 1)T -0,5(3; 2,5)T = (-1; -0,25)T ; f (х1 ) = 2,31.
80 . Сравним f (х1 ) с f (х0 ) = 2. Имеем f (х1 ) > f (х0 ) . Вывод: условие для k = 0 не выполняется. Зададим = 0,25, переходим к повторению шагов 7, 8.
701 . Вычислим х1 : х1 = (0,5; 1)T -0,25(3; 2,5)T = (-0,25; 0,375)T ; f (х1 ) = 0,171.
801 . Сравним f (х1 ) и f (х0 ) . Вывод: f ( x 1 ) < f ( x 0 ). Переходим к шагу 9.
90 . Вычислим и :
=0,976 > 0,15; = 1,829 > 0,15.
Вывод: полагаем k =1 и переходим к шагу 3.
31 . Вычислим : = (-0,625;0,51)Т .
41 . Вычислим := 0,81. Переходим к шагу 5.
51 . Проверим условие : k = 1 < 10 = M . Переходим к шагу 6.
61 . Зададим = 0,25.
71 . Вычислим х2 : х2 = (-0,25; 0,375)T - 0,25 (-0,625; 0,5)T = (-0,094; 0,25)T ; f (х2 ) = 0,056.
81 . Сравним f (х2 ) с f (х1 ) . Вывод: f (х2 ) < f (х1 ). Переходим к шагу 9.
91 . Вычислим и :
= 0,2 > 0,15;= 0,115 < 0,15.
Вывод: полагаем k = 2 и переходим к шагу 3.
32 . Вычислим : = (-0,126; 0,406)Т .
42 . Вычислим : = 0,425 > 0,1. Переходим к шагу 5.
52 . Проверим условие : k = 2 < 10 = М , переходим к шагу 6.
62 . Зададим =0,25.
72 . Вычислим х3 : х3 = (-0,094; 0,25)T -0,25(-0,126; 0,406)T = (-0,063;0,15)T ; f (х3 ) = 0,021.
82 . Сравним f (х3 ) и f (х2 ) . Вывод: f (х3 ) < f (х2 ) .Переходим к шагу 9.
92 . Вычислим и :
= 0,105 < 0,15; = 0,035 < 0,15.
Вывод: полагаем k = 3 и переходим к шагу 3.
33 . Вычислим : = (-0,102;0,237)T .
43 . Вычислим : = 0,257 > 0,1 . Переходим к шагу 5.
53 . Проверим условие : k = 3<10 = М, переходим к шагу 6.
63 . Зададим = 0,25.
73 . Вычислим х4 : х4 = (-0,063; 0,15)T - 0,25(-0,102; 0,237)T = (-0,038; 0,091)Т ; f (х4 ) = 0,0076.
83 . Сравним f (х4 ) и f (х3 ) : f (х4 ) < f (х3 ) .
93 . Вычислим и :
= 0,064 < 0,15; = 0,015 < 0,15.
Условия , выполнены при k = 2,3. Расчет окончен. Найдена точка х4 = (-0,038; 0,091)Т ; f ( x 4 ) = 0,0076.
На рис. 3 полученные точки соединены пунктирной линией.
II. Анализ точки х4 .
Функция является дважды дифференцируемой, поэтому проведем проверку достаточных условий минимума в точке х4 . Для этого проанализируем матрицу Гессе.
Рис. 3
Матрица постоянна и является положительно определенной (т.е. H > 0) , так как оба ее угловых минора = 4 и = 7 положительны. Следовательно, точка х4 =(-0,038; 0,091)T есть найденное приближение точки локального минимума х* = (0,0)T , а значение f ( x 4 ) =0,0076 есть найденное приближение значения f ( x * ) =0. Заметим, что условие H > 0, есть одновременно условие строгой выпуклости функции . Следовательно, х4 = (-0,038; 0,091)T , f ( x 4 ) =0,0076 есть найденные приближения точки глобального минимума f ( x ) и ее наименьшего значения на R 2 . ■
1.2 Метод наискорейшего градиентного спуска
Стратегия поиска
Стратегия решения задачи состоит в построении последовательности точек {х k }, k = 0,1,..., таких, что k = 0,1,.... Точки последовательности {х k } вычисляются по правилу
(2)
где точка х0 задается пользователем; величина шага определяется для каждого значения k из условия
(3)
Решение задачи (3) может осуществляться с использованием необходимого условия минимума с последующей проверкой достаточного условия минимума . Такой путь может быть использован либо при достаточно простой минимизируемой функции , либо при предварительной аппроксимации достаточно сложной функции полиномом P ( ) (как правило, второй или третьей степени), и тогда условие замещается условием , а условие условием .
Построение последовательности {х k }, k = 0,1,..., заканчивается в точке х k , для которой , где - заданное число, или, если , М -предельное число итераций, или при двукратном одновременном выполнении неравенств , , где - малое положительное число. Вопрос о том, может ли точка х k рассматриваться как найденное приближение искомой точки локального минимума х* , решается путем дополнительного исследования.
Рис. 4
Геометрическая интерпретация метода для п = 2приведена на рис. 4.
Пример 1. 2. Найти локальный минимум функции
.
□ I. Определение точки х k , в которой выполнен по крайней мере один из критериев окончания расчетов.
1. Зададим х0 , , , М : х0 = (0,5; 1)T , = 0,1; = 0,15 ; М = 10. Найдем градиент функции в произвольной точке
2. Положим k = 0.
30 . Вычислим : = (3;2,5)Т .
40 . Вычислим : = 3,9 > 0,1. Переходим к шагу 5.
50 . Проверим условие : k = 0 < 10 = M . Переходим к шагу 6.
6° . Следующая точка находится по формуле
= (0,5; 1)T - (3; 2,5)г = (0,5 - 3; 1 - 2,5).
Подставим полученные выражения 0,5 - 3, 1 - 2,5для координат в f ( x ) :
Найдем минимум функции по с помощью необходимых условий безусловного экстремума:
.
Отсюда . Так как = 63,25 > 0, найденное значение шага обеспечивает минимум функции по .
70 . Найдем : х1 = (0,5; 1)Т - 0,24(3; 2,5)Т = (-0,22; 0,4)Т .
8°. Вычислим и :
= 0,937 >0,15; = 1,83 > 0,15.
Вывод: полагаем k = 1 и переходим к шагу 3.
31 . Вычислим : = (-0,48;0,58)T .
41 . Вычислим = 0,752 > 0,1.
51 . Проверим условие : k = 1 < 10 = М .
61 . Определим : = 0,546(см. п. 60 ).
71 . Найдем :
х2 =(-0,22; 0,4)T - 0,546 (- 0,48; 0,58)T = (0,04; 0,08)T .
81 . Вычислим и :
= 0,41 > 0,15; = 0,156 > 0,15.
Полагаем k = 2 и переходим к шагу 3.
32 . Вычислим : = (0,24;0,2)T .
42 . Вычислим : = 0,312 > 0,1.
52 . Проверим условие : k = 2 < 10 = M .
62 . Определим : =0,24 (см. п. 60 ).
72 . Найдем :
х3 =(0,04; 0,08)T - 0,24 (0,24; 0,2)T = (-0,0176; 0,032)T .
82 . Вычислим и :
= 0,0749 < 0,15; = 0,0116 < 0,15.
Полагаем k =3 и переходим к шагу 3.
33 . Вычислим : = (-0,012;-0,0816)T .
43 . Вычислим : = 0,082 < 0,1. Расчет окончен. Найденаточка х3 =(-0,0176;0,032)T , f (х3 ) = 0,00127.
II. Анализ точки х3 .
В примере 1.1 (гл.2 §1) было показано, что функция f ( x ) является строго выпуклой и, следовательно, точка х3 является найденным приближением точки глобального минимума х* . ■
1.3 Метод покоординатного спуска
Стратегия поиска
Стратегия решения задачи состоит в построении последовательности точек {х k }, k = 0,1,..., таких, что k = 0,1,... . Точки последовательности {х k }вычисляются по циклам в соответствии с правилом
. (4)
где j - номер цикла вычислений; j = 0,1,2,...; k - номер итерации внутри цикла, k = 0,1,... ,n - 1; е k +1 , k = 0,l,..., n - 1 -единичный вектор, (k +1) -я проекция которого равна 1; точка х00 задается пользователем, величина шага выбирается из условия
или .
Если выбранное условие при текущем не выполняется, шаг уменьшается вдвое и точка вычисляется заново. Легко видеть, чтопри фиксированном j за одну итерацию с номером k изменяется только одна проекция точки х jk , имеющая номер k + 1, а в течение всего цикла с номером j , т.е. начиная с k = 0 и кончая k = п -1, изменяются все п проекций точки х j 0 . После этого точке х j п присваивается номер х j + 0,1 , и она берется за начальную точку для вычислений в j + 1 цикле. Расчет заканчивается в точке х jk при выполнении по крайней мере одного из трех критериев окончания счета: , или , или двукратного выполнения неравенств , .
Полученные в результате вычислений точки могут быть записаны как элементы последовательности {х l }, где - порядковый номер точки, т.е.
Геометрическая интерпретация метода для п = 2 приведена на рис. 5.
Рис. 5
Пример 1.3. Найти локальный минимум функции
.
□ I. Определение точки xjk , в которой выполнен по крайней мере один из критериев окончания расчетов.
1. Зададим х00 , М : х00 = (0,5; 1)Т , ; М =10. Найдем градиент функции в произвольной точке
2. Зададим j = 0.
30 . Проверим выполнение условия : j = 0<10 = М .
40 . Зададим k = 0.
50 . Проверим выполнение условия : k = 0<1 = n -1.
60 . Вычислим : = (3; 2,5)T .
70 . Проверим условие : = 3,8 > 0,1.
80 . Зададим = 0,5 .
90 . Вычислим , где
, .
Отсюда х01 = (-1;1)T .
100 . Проверим условие : = 2-2 = 0. Вывод: полагаем = 0,25 и переходим к шагу 9.
901 . Вычислим х01 с шагом = 0,25: х01 = (-0,25; 1)T .
1001 . Проверим условие :
= 0,875 - 2 = -1,125 < 0.
110 . Проверим условия , :
= 0,75 > 0,15; = 1,125 > 0,15.
Полагаем k =1 и переходим к шагу 5.
51 . Проверим условие : k = 1 = n -1.
61 . Вычислим : = (0; 1,75)T .
71 . Проверим условие : = 1,75 > 0,1.
81 . Зададим =0,5.
91 . Вычислим , где ;
.
Отсюда х02 = (-0,25; 0,125)Т .
101 . Проверим условие :
= 0,109 - 0,875 = - 0,766 < 0.
111 . Проверим условия , :
= 0,875 > 0,15, = 0,766 > 0,15.
Полагаем k = 2, переходим к шагу 5.
52 . Проверим условие : k = 2 > n -1. Зададим j = 1, х10 = х02 , переходим к шагу 3.
31 . Проверим условие : j = 1 < 10 = М .
41 . Зададим k = 0.
52 . Проверим условие : k = 0 < 1 = п- 1.
62 . Вычислим : = = (-0,875; 0,00)T .
72 . Проверим условие : = 0,875 > 0,1.
82 . Зададим = 0,25.
92 . Вычислим : x 11 = (-0,03;0,125)T
102 . Проверим условие :
= 0,01-0,109 = -0,099 < 0.
112 . Проверим условия , :
= 0,22 > 0,15, = 0,099 < 0,15.
Полагаем k =1 и переходим к шагу 5.
53 . Проверим условие : k = 1 = n -1.
63 . Вычислим : = (0,005; 0,22)T .
73 . Проверим условия : = 0,22 > 0,1.
83 . Зададим =0,25.
93 . Вычислим : x 12 =(-0,03; 0,07)T .
103 . Проверим условие :
= 0,0046 -0,01 = -0,0054 < 0.
113 . Проверим условия , :
= 0,055 < 0,15, = 0,0054 < 0,15.
Зададим k = 2 и переходим к шагу 5.
54 . Проверим условие : k = 2 > п- 1.
Полагаем j = 2, х20 = х12 и переходим к шагу 3.
32 . Проверим условие : j = 2 < 10 = М.
42 . Зададим k =0.
54 . Проверим условие :k = 0 <1 = n -1.
64 . Вычислим : = = (-0,05; 0,11)T .
74 . Проверим условие : = 0,12 > 0,1.
84 . Зададим = 0,25.
94 . Вычислим : х21 = (- 0,02; 0,07)Т .
104 . Проверим условие : 0,0043-0,046 = -0,0003 < 0, перейдем к шагу 11.
114 . Проверим условия , :
= 0,01 < 0,15 ,= 0,0003 < 0,15.
Условия , выполнены в двух последовательных циклах с номерами j = 2 и j -1 = 1. Расчет окончен, найдена точка х21 = (- 0,02; 0,07)Т ; f (х21 ) = 0,0043 .
На рис. 6 полученные точки соединены пунктирной линией.
В методе покоординатного спуска мы спускаемся по ломаной, состоящей из отрезков прямых, параллельных координатным осям.
Рис. 6
II. Анализ точки х21 .
В примере 1.1 (гл.2 §1) было показано, что функция f (х) строго выпукла, имеет единственный минимум и, следовательно, точка х21 = = (-0,02; 0,07)Т является найденным приближением точки глобального минимума. ■
Во всех рассмотренных выше градиентных методах последовательность точек { xk } сходится к стационарной точке функции f ( x ) при достаточно общих предложениях относительно свойств этой функции. В частности, справедлива теорема:
Теорема. Если функция f ( x ) ограничена снизу , ее градиент удовлетворяет условию Липшица () и выбор значения производится одним из описанных выше способов, то, какова бы ни была начальная точка х0 :
при .
При практической реализации схемы
k =1, 2, … n .
итерации прекращаются, если для всех i , i = 1, 2, ..., n , выполнены условия типа
,
где - некоторое заданное число, характеризующее точность нахождения минимума.
В условиях теоремы градиентный метод обеспечивает сходимость по функции либо к точной нижней грани (если функция f (х) не имеет минимума; рис. 7), либо к значению функции в некоторой стационарной точке, являющейся пределом последовательности {хк }. Нетрудно придумать примеры, когда в этой точке реализуется седло, а не минимум. На практике методы градиентного спуска уверенно обходят седловые точки и находят минимумы целевой функции (в общем случае — локальные).
Рис. 7
§ 2. Методы второго порядка
2.1 Метод Ньютона
Процесс отыскания минимума с помощью метода Ньютона оказывается более эффективным (т.е. требует меньшего числа итераций), чем градиентные методы, так как квадратичная функция локально аппроксимирует минимизируемую функцию, чем линейная, лежащая в основе градиентных методов.
Основные недостатки метода Ньютона состоят в том, что он, во-первых, предполагает вычисление вторых производных, что может быть связано с существенными трудностями, и, во-вторых, может расходиться, если целевая функция не является сильно выпуклой и начальное приближение находится достаточно далеко от минимума.
Стратегия поиска
Стратегия метода Ньютона [ NewtonI. ] состоит в построении последовательности точек {х k }, k = 0,1,..., таких, что k = 0,1,.... Точки последовательности вычисляются по правилу
(5)
где х0 задается пользователем; величина шага определяется для каждого значения k по формуле
.(6)
Выбор по формуле (6) гарантирует выполнение требования при условии, что . Формула (6) получена из следующих соображений:
1. Функция f (х) аппроксимируется в каждой точке последовательности {х k } квадратичной функцией .
2. Направление определяется из необходимого условия экстремума первого порядка: Таким образом, при выполнении требования последовательность является последовательностью точек минимумов квадратичных функций Fk , k = 0,1,... (рис. 8). Чтобы обеспечить выполнение требования , k = 0,1,..., даже в тех случаях, когда для каких-либо значений матрица Гессе не окажется положительно определенной, рекомендуется для соответствующих значений k вычислить точку по методу градиентного спуска с выбором величины шага из условия .
Рис. 8
Построение последовательности {х k } заканчивается в точке х k , для которой где - заданное малое положительное число, или при (М - предельное число итераций), или при двукратном одновременном выполнении двух неравенств , где - малое положительное число. Вопрос о том, может ли точка х k рассматриваться как найденное приближение искомой точки минимума, решается путем проведения дополнительного исследования, которое описано ниже.
Сходимость
Утверждение. Пусть f ( x ) дважды непрерывно дифференцируемая сильновыпуклая функция с константой l > 0 на Rn и удовлетворяет условию
,
где L > 0, а начальная точка такова, что , т.е.
,
где . . Тогда последовательность { xk } сходится к точке минимума с квадратичной скоростью .
Замечание 1. Сходимость метода Ньютона доказана лишь для сильно выпуклых функций и для достаточно хорошего начального приближения, определяемого условием , практическое использование которого крайне затруднено, так как постоянные l и L , как правило, неизвестны или требуют трудоемкого исследования для их определения. Поэтому при практическом использовании метода Ньютона следует:
а) анализировать матрицу Н(х k )на выполнение условия Н(х k ) < 0 и заменять формулу на формулу в случае его невыполнения;
б) производить анализ точки х k с целью выяснения, является ли она найденным приближением искомой точки х* .
Замечание 2. При решении задачи поиска безусловного максимума формула (6) не изменяется, так как в этом случае Н(х k ) < 0.
Процедура решения задачи
1. Используя алгоритм Ньютона, найти точку х k , в которой выполняется по крайней мере один критерий окончания расчета.
2. Так как , то осуществить проверку выполнения достаточных
условий минимума > 0. Если условие выполнено, то точка х k может рассматриваться как найденное приближение точки минимума х* . Проверку выполнения достаточных условий минимума можно заменить проверкой функции f ( x ) на выпуклость.
Пример 2.1. Найти локальный минимум функции
.
□ I. Определение точки х k , в которой выполняется по крайней мере один критерий окончания расчетов.
1. Зададим х0 , М : х0 = (0,5; 1)Т , ; М =10. Найдем градиент функции в произвольной точке и матрицу Гессе .
2. Положим k = 0.
30 . Вычислим : = (3; 2,5)Т .
40 . Проверим выполнение условия : = 3,9 > 0,1.
Переходим к шагу 5.
50 . Проверим выполнение условия : k = 0 < 10. Переходим к шагу 6.
60 . Вычислим : .
70 . Вычислим :.
80 . Проверим выполнение условия >0. Так как , , то согласно критерию Сильвестра > 0.
90 . Определим .
100 . Вычислим .
110 . Проверим выполнение условий , :
= 1,12 > 0,15; = 2>0,15.
Полагаем k = 1, переходим к шагу 3.
31 . Вычислим := (0,0)T .
41 . Проверим выполнение условия := 0 <0,1. Расчет окончен. Заметим, что в точке х1 выполняется необходимое условие первого порядка, поэтому она является стационарной точкой.
II. Анализ точки х1 .
Функция является строго выпуклой, так как ее матрица вторых производных в силу того, что , .
Найденная точка х1 =(0,0)T есть точка локального и одновременно глобального минимума f (х) .
Рис. 9
На рис. 9 траектория спуска изображена сплошной линией. ■
2.2 Метод Ньютона-Рафсона
Стратегия поиска
Стратегия метода Ньютона-Рафсона [Newton-Raphson] состоит в построении последовательности точек {х k }, k = 0,1,..., таких, что k = 0,1,.... Точки последовательности вычисляются по правилу
(7)
где х0 задается пользователем; величина шага определяется из условия
.(8)
Задача (7.5) может решаться либо аналитически с использованием необходимого условия минимума с последующей проверкой достаточного условия , либо численно как задача
(9)
где интервал [a , b ]задается пользователем.
Если функция достаточно сложна, то возможна ее замена полиномом второй или третьей степени и тогда шаг может быть определен из условия при выполнении условия .
При численном решении задачи определения величины шага степень близости найденного значения к оптимальному значению , удовлетворяющему условиям , , зависит от задания интервала [a , b ]и точности методов одномерной минимизации.
Построение последовательности {х k } заканчивается в точке х k , для которой , где - заданное число, или при (М - предельное число итераций), или при двукратном одновременном выполнении двух неравенств , , где - малое положительное число.
Вопрос о том, может ли точка х k рассматриваться как найденное приближение искомой точки минимума, решается путем проведения дополнительного исследования, которое описано ниже.
Сходимость
Утверждение. Пусть функция f ( x ) дважды непрерывно дифференцируема и сильно выпукла на Rn , а ее матрица Гессе Н(х) удовлетворяет условию Липшица
.
Тогда последовательность {х k } сходится независимо от выбора начальной тонки х0 к точке минимума х* с квадратичной скоростью
,
где т - оценка наименьшего собственного значения матрицы .
Замечание. Сходимость к точке минимума метода Ньютона-Рафсона гарантируется независимо от выбора начального приближения лишь для сильно выпуклых функций. Поэтому при практическом использовании метода Ньютона-Рафсона следует:
а) анализировать матрицу Гессе на выполнение условия >0,k = 0,1,..., и заменять формулу на формулу метода градиентного спуска в случае его невыполнения;
б) производить анализ точки х k с целью выяснения, является ли она найденным приближением искомой точки х* .
Процедура решения задачи
1. Используя алгоритм Ньютона-Рафсона, построить точку х k , в которой выполняется по крайней мере один критерий окончания расчетов.
2. Так как , то осуществить проверку выполнения достаточных
условий минимума >0. Если условие выполнено, то точка х k может рассматриваться как найденное приближение точки минимума х* . Проверку выполнения достаточных условий минимума можно заменить проверкой функции f ( x ) на выпуклость.
Пример 2.2. Найти локальный минимум функции
.
□ I. Определение точки х k , в которой выполняется по крайней мере один критерий окончания расчетов.
1. Зададим х0 , М : х0 = (0,5; 1)Т , ; М =10. Найдем градиент функции в произвольной точке и матрицу Гессе .
2. Положим k = 0.
30 . Вычислим : = (3; 2,5)Т .
40 . Проверим выполнение условия : = 3,9 > 0,1.
Переходим к шагу 5.
50 . Проверим выполнение условия : k =0 < 10. Переходим к шагу 6.
60 . Вычислим : .
70 . Вычислим :.
80 . Проверим выполнение условия >0. Так как , , то согласно критерию Сильвестра > 0.
Поэтому найдем .
90 . Определим: .
100 . Определим из условия .
Получаем
.
Из условия находим = 1. При этом , т.е. найденная величина шага обеспечивает минимум функции .
11°. Вычислим :.
12°. Проверим выполнение условий , :
= 1,12 > 0,15; = 2 > 0,15.
Положим k =1 и перейдем к шагу 3.
31 . Вычислим : .
41 . Проверим выполнение условия : = 0 < 0,1. Расчет
окончен: х* = х1 .
II. Анализ точки х1 .
Точка х* = (0;0)T - точка локального и одновременно глобального минимума f ( x ) .
На рис. 9траектория спуска изображена штрихпунктирной линией. ■
Заключение
В результате проделанной работы можно сделать следующие выводы:
1. Более или менее сложные задачи отыскания экстремума при наличии ограничений требуют специальных подходов, методов.
2. Многие алгоритмы решения задач с ограничениями включают минимизацию без ограничений как некоторый этап.
3. Различные методы спуска отличаются друг от друга способами выбора направления спуска и длины шага вдоль этого направления.
4. Среди всех наиболее употребительных методов методы второго порядка требуют для получения результата с заданной точностью наименьшего числа шагов (итераций).
5. Нет пока такой теории, которая учла бы любые особенности функций, описывающих постановку задачи. Следует отдавать предпочтение таким методам, которыми проще управлять в процессе решения задачи.
Реальные прикладные задачи оптимизации очень сложны. Современные методы оптимизации далеко не всегда справляются с решением реальных задач без помощи человека.
Исследования по данной теме можно продолжить, если рассмотреть другие методы оптимизации первого и второго порядка.
Литература
1. Моисеев Н.Н., Иванилов Ю.П., Столярова Е.М. Методы оптимизации. – М. Наука, 1978.
2. Кудрявцев Л.Д. Курс математического анализа (в двух томах): Учебник для студентов университетов и втузов. – М.: Высшая школа, 1981.
3. Измаилов А.Ф., Солодов М.В. Численные методы оптимизации: Учеб. пособие. – М.: Физматлит, 2005.
4. Виноградова И.А., Олехник С.Н., Садовничий В.А. Задачи и упражнения по математическому анализу: Пособие для университетов. – М.: Дрофа, 2001.
5. Пантелеев А.В., Методы оптимизации в примерах и задачах: Учеб. Пособие. – М.: Высш. школа, 2005.
6. Васильев Ф.П. Численные методы решения экстремальных задач. - М.: Наука, 1980.
7. Сухарев А.Г., Тимохов А.В., Федоров В.В. Курс методов оптимизации. - М.: Наука, 1986.
8. Поляк Б.Т. Введение в оптимизацию. - М.: Наука, 1983.
9. Сеа Ж. Оптимизация. Теория и алгоритмы. - М.: Мир, 1973.
10. Зангвилл У. Нелинейное программирование. Единый подход. - М.: Сов. радио,1973.
11. Банди Б. Методы оптимизации (вводный курс). - М.: Радио и связь,1988.
12. Компьютерное методическое пособие по методам параметрической оптимизации. МГТУ им. Баумана, 1997.
13. http://sapr.mgsu.ru/biblio/optimiz/opt.htm.
14. http://math.nsc.ru/LBRT/k5/Plyasunov/opt-2.html.
15. http://www.matmetod.ru/metods_optimize.