Классификация методов программирования

ААААААААААА

2.2 Необходимые и достаточные условия безусловного экстремума (§ 20)

Дадим общее определение задачи поиска экстремума и основные положения. Безусловного и условного.

Градиент и матрица Гессе Классификация методов программирования - student2.ru . Положительная определённость.

Выпуклые множества и функции. Условие Липшица.

Постановка задачи. Рассматриваются функции Классификация методов программирования - student2.ru – дважды непрерывно дифференцируемые.

Стратегия решения задачи состоит в нахождении точек Классификация методов программирования - student2.ru локальных экстремумов и вычисления значений функции Классификация методов программирования - student2.ru в этих точках с помощью следующих средств:

- необходимых условий первого и второго порядка (порядок используемых производных);

- достаточных условий.

Необходимые условия (1-го порядка): Классификация методов программирования - student2.ru – точка локального минимума (максимума), Классификация методов программирования - student2.ru . Это стационарная точка.

Необходимые условия (2-го порядка): Классификация методов программирования - student2.ru – точка локального минимума (максимума), Классификация методов программирования - student2.ru .

Достаточные условия: Классификация методов программирования - student2.ru Классификация методов программирования - student2.ru – точка локального минимума (максимума).

Определитель матрицы Гессе, угловые миноры, главные миноры.

Для проверки определённости знака матрицы Гессе Классификация методов программирования - student2.ru обычно используют 2 способа:

1. А) Критерий Сильвестра (с помощью угловых Классификация методов программирования - student2.ru и главных Классификация методов программирования - student2.ru миноров) – проверка достаточных (и необходимых) условий экстремума:

Классификация методов программирования - student2.ru .

Классификация методов программирования - student2.ru .

Б) Критерий проверки необходимых условий 2-го порядка:

Классификация методов программирования - student2.ru .

Классификация методов программирования - student2.ru .

2. Способ «по собственным значениям матрицы Гессе»:

Классификация методов программирования - student2.ru .

Классификация методов программирования - student2.ru .

Для скалярной функции (одной переменной) имеется более определённый критерий необходимости и достаточности. Классификация методов программирования - student2.ru

АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ

- Найти стационарные точки, т.е. Классификация методов программирования - student2.ru .

- Найти матрицу Гессе во всех стационарных точках Классификация методов программирования - student2.ru .

- Классификация методов программирования - student2.ru – локальный минимум (максимум) (проверка через угловые миноры или собственные числа);

- Классификация методов программирования - student2.ru – нет экстремума (проверка через главные миноры или собственные числа);

- Классификация методов программирования - student2.ru – возможен локальный минимум (максимум), требуется дальнейшее исследование, обычно, на основе разложения в ряд Тейлора (проверка через главные миноры или собственные числа);

Глобальные экстремумы находятся сравнением локальных. Строго выпуклые функции имеют ровно 1 минимум.

ЗАНЯТИЕ № 2 – 14 февраля 2013.

1.3 «Необходимые и достаточные условия условного экстремума».

1.3.1. Постановка задачи и основные определения. Пусть Классификация методов программирования - student2.ru :

Классификация методов программирования - student2.ru

Основным методом решения таких задач является «Метод множителей Лагранжа».

Функцией Лагранжа называется

Классификация методов программирования - student2.ru – обобщённая функция Лагранжа.

Классификация методов программирования - student2.ru – классическая функция Лагранжа.

Далее теория использует функцию Лагранжа в качестве целевой функции с параметрами Классификация методов программирования - student2.ru (которые необходимо также определить):

Классификация методов программирования - student2.ru – градиент функции Лагранжа (классической или обобщённой).

Классификация методов программирования - student2.ru – второй дифференциал функции Лагранжа (классической или обобщённой).

Классификация методов программирования - student2.ru – первый дифференциал ограничения.

Ограничение Классификация методов программирования - student2.ru называется активным в точке Классификация методов программирования - student2.ru , если Классификация методов программирования - student2.ru (иначе – пассивным).

Различают линейно независимые или линейно зависимые в точке Классификация методов программирования - student2.ru градиенты ограничений: Классификация методов программирования - student2.ru . При линейной зависимости точку Классификация методов программирования - student2.ru называют «регулярной».

1.3.3. Условный экстремум типа равенств

Стратегия решения аналогична решению задачи без ограничений, но требует для определения точек экстремума Классификация методов программирования - student2.ru нахождения значений m линейно независимых параметров из m+1 параметра Классификация методов программирования - student2.ru – для чего имеется дополнительно необходимых m уравнений.

Проверяемые условия делятся (аналогично случаю безусловного экстремума) на необходимые и достаточные:

Необходимые условия 1-го порядка:

- стационарность Классификация методов программирования - student2.ru ;

- допустимость Классификация методов программирования - student2.ru ;

- регулярность Классификация методов программирования - student2.ru , т.е. линейная независимость ( Классификация методов программирования - student2.ru ).

Условия стационарности и допустимости образуют систему n+m уравнений с n+m+1 неизвестными. Её решения называются условно-стационарными точками.

Как избавиться от одного лишнего неизвестного? Если точка регулярная, т.е. Классификация методов программирования - student2.ru ( Классификация методов программирования - student2.ru – нерегулярная точка), то на это Классификация методов программирования - student2.ru и делят уравнение для градиента и получают необходимое. Если про регулярность неизвестно (проверка затруднена), то просто рассматривают два случая: Классификация методов программирования - student2.ru , и тоже всё нормально.

В регулярной точке, имеем уравнение без Классификация методов программирования - student2.ru , т.е.классическое, тогда

Классификация методов программирования - student2.ru – т.е. антиградиент целевой функции равен линейной комбинации градиентов ограничений.

Отсюда виден физический смысл этих векторов и коэффициентов Классификация методов программирования - student2.ru . Точка экстремума Классификация методов программирования - student2.ru является точкой касания линии уровня целевой функции и кривой, описывающей ограничение. Если точка не является точкой касания, то всегда можно пройти по градиенту вдоль ограничения с увеличением функции (по антиградиенту с уменьшением функции).

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

Необходимые условия 2-го порядка:

- пусть выполнены необходимые условия 1-го порядка, т.е. Классификация методов программирования - student2.ru – регулярная точка и найдено решение Классификация методов программирования - student2.ru системы уравнений Классификация методов программирования - student2.ru , Классификация методов программирования - student2.ru ;

- Классификация методов программирования - student2.ru

Достаточные условия 2-го порядка:

- пусть Классификация методов программирования - student2.ru – решение системы уравнений Классификация методов программирования - student2.ru , Классификация методов программирования - student2.ru ;

- Классификация методов программирования - student2.ru

АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ

- Составить обобщённую функцию Лагранжа Классификация методов программирования - student2.ru .

- Составить систему уравнений Классификация методов программирования - student2.ru , Классификация методов программирования - student2.ru .

- Решить систему, т.е. найти условно стационарные точки для двух случаев: Классификация методов программирования - student2.ru . Если удаётся проверить условие линейной независимости градиентов ограничений Классификация методов программирования - student2.ru , то отсутствует случай Классификация методов программирования - student2.ru .

- Записать выражение для 2-го дифференциала классической функции Лагранжа в точке Классификация методов программирования - student2.ru : Классификация методов программирования - student2.ru .

- Записать систему уравнений для дифференциалов ограничений: Классификация методов программирования - student2.ru .

Из предыдущей системы выразить любые m дифференциалов Классификация методов программирования - student2.ru через остальные n-m и подставить в Классификация методов программирования - student2.ru :

- Классификация методов программирования - student2.ru – локальный минимум (максимум);

- Классификация методов программирования - student2.ru – нет экстремума;

- Классификация методов программирования - student2.ru – возможен локальный минимум (максимум), требуется дальнейшее исследование, обычно, на основе разложения в ряд Тейлора и нахождения следующих дифференциалов.

Глобальные экстремумы находятся сравнением локальных. Строго выпуклые функции имеют ровно 1 минимум.

ЗАДАЧИ. № 3.5, ….

ЗАНЯТИЕ №3-4 – 14, 21 февраля 2013.

1.3.4. Условный экстремум типа неравенств

1. Постановка задачи и основные определения. Пусть Классификация методов программирования - student2.ru :

Классификация методов программирования - student2.ru

Проверяемые условия делятся (аналогично случаям безусловного экстремума и ограничениям типа равенства) на необходимые и достаточные:

Необходимые условия 1-го порядка:

- стационарность Классификация методов программирования - student2.ru ;

- допустимость Классификация методов программирования - student2.ru ;

- неотрицательность для минимума Классификация методов программирования - student2.ru (неположительность для максимума Классификация методов программирования - student2.ru );

- дополняющая нежёсткость Классификация методов программирования - student2.ru ;

- регулярность Классификация методов программирования - student2.ru , т.е. линейная независимость ( Классификация методов программирования - student2.ru ).

Уже из этих условий видно, что решение задачи с ограничениями типа неравенств обладает рядом существенных, усложняющих отличий, главным из которых является условие дополняющей нежесткости Классификация методов программирования - student2.ru с дополнительным условием одинаковости знаков всех коэффициентов Классификация методов программирования - student2.ru . Определим Классификация методов программирования - student2.ru – множество индексов ограничений, активных в точке Классификация методов программирования - student2.ru , т.е. в которых неравенства реализуются равенствами: Классификация методов программирования - student2.ru , т.е. – положением точки на границе данного ограничения. Таким образом, если ограничение неактивно Классификация методов программирования - student2.ru , то соответствующее ему Классификация методов программирования - student2.ru . Это соотношение является ключом к решению задачи.

Заметим ещё, что для выпуклых функций приведённые необходимые условия являются и достаточными, а множество допустимых решений – выпукло.

Достаточные условия минимума (максимума) 1-го порядка:

- пусть точка Классификация методов программирования - student2.ru – регулярная, т.е. Классификация методов программирования - student2.ru ;

- Классификация методов программирования - student2.ru ;

- Классификация методов программирования - student2.ru .

Необходимые условия минимума (максимума) 2-го порядка:

- пусть выполнены необходимые условия 1-го порядка, т.е. Классификация методов программирования - student2.ru – регулярная точка и найдено решение Классификация методов программирования - student2.ru системы уравнений для необходимых условий 1-го порядка;

- Классификация методов программирования - student2.ru

Достаточные условия минимума (максимума) 2-го порядка:

- пусть выполнены необходимые условия 1-го порядка, т.е. Классификация методов программирования - student2.ru – регулярная точка и найдено решение Классификация методов программирования - student2.ru системы уравнений для необходимых условий 1-го порядка;

- Классификация методов программирования - student2.ru .

АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ

- Составить обобщённую функцию Лагранжа Классификация методов программирования - student2.ru .

- Составить систему уравнений Классификация методов программирования - student2.ru , Классификация методов программирования - student2.ru , Классификация методов программирования - student2.ru ( Классификация методов программирования - student2.ru ), Классификация методов программирования - student2.ru ;

- Решить систему, т.е. найти условно стационарные точки для двух случаев: Классификация методов программирования - student2.ru . Если удаётся проверить условие линейной независимости градиентов ограничений Классификация методов программирования - student2.ru , отсутствует случай Классификация методов программирования - student2.ru ;

- Решение для обоих случаев делается для всех возможных Классификация методов программирования - student2.ru комбинаций удовлетворения условий дополняющеё нежесткости;

- Определить число активных l ограничений в точке Классификация методов программирования - student2.ru ;

- Классификация методов программирования - student2.ru ;

- Если Классификация методов программирования - student2.ru , то работаем с дифференциалом 2-го порядка;

- Записать выражение для 2-го дифференциала классической функции Лагранжа в точке Классификация методов программирования - student2.ru : Классификация методов программирования - student2.ru .

- Записать систему уравнений для дифференциалов активных ограничений: Классификация методов программирования - student2.ru .

- Используя эти условия исследовать знак 2-го дифференциала Классификация методов программирования - student2.ru :

- Классификация методов программирования - student2.ru – локальный минимум (максимум);

- Классификация методов программирования - student2.ru – нет экстремума;

- Классификация методов программирования - student2.ru – возможен локальный минимум (максимум), требуется дальнейшее исследование, обычно, на основе разложения в ряд Тейлора и нахождения следующих дифференциалов.

Глобальные экстремумы находятся сравнением локальных. Строго выпуклые функции имеют ровно 1 минимум.

ПРИМЕР 3.12.

ЗАНЯТИЕ № 5 – 7 марта 2013.

1.3.4. Условный экстремум смешанного типа: равенства и неравенства

1. Постановка задачи и основные определения. Пусть Классификация методов программирования - student2.ru :

Классификация методов программирования - student2.ru

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

АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ

- Составить обобщённую функцию Лагранжа Классификация методов программирования - student2.ru .

- Составить систему уравнений Классификация методов программирования - student2.ru , Классификация методов программирования - student2.ru , Классификация методов программирования - student2.ru ;

- Решить систему, т.е. найти условно стационарные точки для двух случаев: Классификация методов программирования - student2.ru , а также для всех возможных Классификация методов программирования - student2.ru комбинаций удовлетворения условий дополняющей нежесткости (если удаётся проверить условие линейной независимости градиентов ограничений Классификация методов программирования - student2.ru , то отсутствует случай Классификация методов программирования - student2.ru );

- Проверить выполнение ограничений неравенств в стационарных точках:

Классификация методов программирования - student2.ru ,

- Определить число активных l ограничений Классификация методов программирования - student2.ru в точке Классификация методов программирования - student2.ru ;

- Классификация методов программирования - student2.ru ;

- Классификация методов программирования - student2.ru Классификация методов программирования - student2.ru – может быть min, max.

- Если Классификация методов программирования - student2.ru , то работаем с дифференциалом 2-го порядка;

- Записать выражение для 2-го дифференциала классической функции Лагранжа в точке Классификация методов программирования - student2.ru : Классификация методов программирования - student2.ru .

- Записать систему уравнений и неравенств для дифференциалов активных ограничений: Классификация методов программирования - student2.ru .

- Используя эти условия исследовать знак 2-го дифференциала Классификация методов программирования - student2.ru :

- Классификация методов программирования - student2.ru – локальный минимум (максимум);

- Классификация методов программирования - student2.ru – нет экстремума;

Классификация методов программирования - student2.ru – возможен локальный минимум (максимум), требуется дальнейшее исследование, обычно, на основе разложения в ряд Тейлора и нахождения дифференциалов более высокого порядка.

ЗАНЯТИЕ № 6 – 14 марта 2013.

Глава 2. Численные методы поиска безусловного экстремума

§4. Принципы построения численных методов поиска безусловного экстремума.

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

Большинство численных методов являются итерационными: при заданной начальной точке Классификация методов программирования - student2.ru пошагово генерируются точки последовательности Классификация методов программирования - student2.ru , точнее Классификация методов программирования - student2.ru , в которых значения функции сходятся к минимуму: Классификация методов программирования - student2.ru.

Достаточно часто итерационная последовательность Классификация методов программирования - student2.ru строиться по формуле

Классификация методов программирования - student2.ru ,

где Классификация методов программирования - student2.ru – направление движения (спуска) и величина шага.

Для выполнения условия убывание функции Классификация методов программирования - student2.ruнеобходимо

Классификация методов программирования - student2.ru

Отсюда видно, что большой класс образуют методы, где Классификация методов программирования - student2.ru определяется градиентом функции и его отдельными составляющими.

Величина шага часто определяется из условия

Классификация методов программирования - student2.ru

Сходящаяся к минимуму функции f последовательность называется «минимизирующей», а в случае сходимости Классификация методов программирования - student2.ru , к точке Классификация методов программирования - student2.ru , эта точка называется точкой минимума.

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

§5.1. Методы нулевого порядка в одномерном случае.

5.1.1 Постановка задачи и стратегия поиска

Большинство методов предполагает нахождение аргумента в интервале и унимодальность (т.е. наличие единственного локального минимума на этом интервале) функции.

Замечания. 1) Непрерывная строго выпуклая функция – унимодальна, 2) Методы одномерной оптимизации широко используются при нахождении шага интерационного процесса.

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

Последовательная стратегия имеет следующие способы реализации:

1. Применение квадратичной и кубической интерполяции для выбранных точек и поиска минимума построенной интерполяционной кривой в качестве текущего приближения искомого минимума.

2. Построение последовательности вложенных друг в друга интервалов, содержащих точку минимума.

Стратегия состоит из трёх этапов:

1. Выбор начального интервала.

2. Построение последовательности интервалов, содержащих минимум.

3. Проверку условия окончания процесса поиска.

Алгоритм Свенна [Swann W.H.] определения начального интервала Классификация методов программирования - student2.ru .

1. Задать произвольно следующие параметры: номер Классификация методов программирования - student2.ru , начальную точку Классификация методов программирования - student2.ru , величину шага Классификация методов программирования - student2.ru .

2. Вычислить значения функции в трёх точках: Классификация методов программирования - student2.ru .

3. Проверить условие окончания:

- Классификация методов программирования - student2.ru ;

- Классификация методов программирования - student2.ru ;

- условие окончания не выполняется – перейти к шагу 4.

4. Определить величину Классификация методов программирования - student2.ru :

- Классификация методов программирования - student2.ru ;

- Классификация методов программирования - student2.ru ;

5. Найти следующую точку Классификация методов программирования - student2.ru .

6. Проверить условие убывания функции:

- Классификация методов программирования - student2.ru ;

- Классификация методов программирования - student2.ru ;

- k=k+1 и перейти к шагу 5;

- Классификация методов программирования - student2.ru .

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

5.1.2 Метод равномерного поиска

Задать Классификация методов программирования - student2.ru – начальный интервал, N – число точек, где вычисляется функция f(x). Точки – равноотстоящие. Делаем: Классификация методов программирования - student2.ru .

5.1.3 Метод деления интервала пополам

Задать Классификация методов программирования - student2.ru – начальный интервал, l – требуемая точность, k=0. Вычислить точки Классификация методов программирования - student2.ru .

Сравнить эти значения в трёх точках:

1. Классификация методов программирования - student2.ru ;

2. Классификация методов программирования - student2.ru ;

3. Классификация методов программирования - student2.ru.

5.1.4 Метод дихотомии

Идея метода состоит в разделении интервала области определения функции Классификация методов программирования - student2.ru на две равные части и сравнения значения функции в двух точках из разных половин. Выбираемые точки параметризуются величиной смещения от центра Классификация методов программирования - student2.ru , которую целесообразно для эффективности брать как можно меньше:

1. Классификация методов программирования - student2.ru ,

2. Классификация методов программирования - student2.ru ,

3. Классификация методов программирования - student2.ru ,

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

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

Определение. Золотое сечение отрезка Классификация методов программирования - student2.ru точкой такое, что отношение всего отрезка к большей части равно отношению большей части к меньшей. Таких точек имеется две Классификация методов программирования - student2.ru , симметричные относительно середины отрезка:

Классификация методов программирования - student2.ru . (*)

Дополнительно точки Классификация методов программирования - student2.ru производят золотые сечения отрезков Классификация методов программирования - student2.ru , соответственно.

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

- Классификация методов программирования - student2.ru ,

- Классификация методов программирования - student2.ru,

- Классификация методов программирования - student2.ru.

5.1.6 Метод Фибоначчи

Идея этого метода аналогична методу золотого сечения и состоит в том, что из двух выбираемых точек одна остаётся такой точкой сравнения и для следующего интервала. Такая стратегия реализует максимальное гарантированное сокращение интервала при заданном количестве вычислений функции и претендует на оптимальность. Параметром метода является количество вычислений функции N. Точки вычисления функции находятся с использованием последовательности из N+1 числа Фибонччи.

Определение. Числа Фибоначчи определяются по формуле

Классификация методов программирования - student2.ru .

Начальные конкретные значения: 1, 1, 2, 3, 5,8, 13, 21,34, 55, 89.

Алгоритм вычислений имеет вид:

1. найти количество вычислений N по формуле Классификация методов программирования - student2.ru , где Классификация методов программирования - student2.ru – N-ое число Фибоначчи, начальный интервал, допустимая длина конечного интервала, соответственно,

2. Классификация методов программирования - student2.ru ,

3. Классификация методов программирования - student2.ru ,

4. Классификация методов программирования - student2.ru .

5.1.7 Метод квадратичной интерполяции (Пауэлла [Powell M.J.D.])

Идея этого метода состоит в нахождении трёх точек как можно ближе к минимуму и дальнейшем построении квадратичного интерполяционного полинома, проходящего через эти точки. За точку минимума выбирается точка минимума квадратичного полинома:

1. параметры метода: начальная точка Классификация методов программирования - student2.ru , величина шага Классификация методов программирования - student2.ru , Классификация методов программирования - student2.ru – характеристики точности,

2. Классификация методов программирования - student2.ru ,

3. Классификация методов программирования - student2.ru ,

4. Классификация методов программирования - student2.ru ,

5. найти Классификация методов программирования - student2.ru ,

6. вычислить точку минимума и значение функции в этой точке: Классификация методов программирования - student2.ru .

ЗАНЯТИЕ №7 – 21 марта 2013 – пропущено по болезни.

ЗАНЯТИЕ №8 – 28 марта 2013.

«Многомерный случай безусловных экстремумов. Методы нулевого порядка»

5.2 «Метод конфигураций (Хука-Дживса [R. Hook, T.A. Jeeves])».

Исследование ведётся от текущей базовой точки Классификация методов программирования - student2.ru вариациями сдвигов Классификация методов программирования - student2.ru , по координатам Классификация методов программирования - student2.ru в обе стороны (+ и –). В случае успешного результата делается движение по вектору, идущему из старой базовой точки Классификация методов программирования - student2.ru в новую Классификация методов программирования - student2.ru . В случае успешного результата спуска по вектору – делается следующий аналогичный цикл. В случае неуспешного – возврат в старую точку Классификация методов программирования - student2.ru и уменьшение параметров «координатных» Классификация методов программирования - student2.ru и «векторных» Классификация методов программирования - student2.ru сдвигов.

5.3 «Метод деформируемого многогранника (Нелдера-Мида [J.A. Nelder, R. Mead])».

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

Параметрами метода являются:

1. координаты вершин многогранника Классификация методов программирования - student2.ru , где n – размерность пространства координат;

2. Классификация методов программирования - student2.ru – параметры отражения, сжатия, растяжения, соответственно;

3. Классификация методов программирования - student2.ru – точность решения;

4. k – номер итерации.

5. Рекомендации по использованию параметров:

6. Классификация методов программирования - student2.ru – Нелдер и Мид;

7. Классификация методов программирования - student2.ru – Павиани (D. Paviani);

8. Классификация методов программирования - student2.ru – Паркинсон и Хатчисон [J.M. Parkinson, D. Hutchinson].

АЛГОРИТМ.

1. Задать параметры метода.

2. Найти «минимальную» (наилучшую) Классификация методов программирования - student2.ru и «максимальную» Классификация методов программирования - student2.ru и следующую по максимуму (наихудшие) Классификация методов программирования - student2.ru вершины.

3. Найти центр тяжести всех вершин многогранника.

4. Проверить условие завершения – евклидова норма расстояний от вершин до центра < Классификация методов программирования - student2.ru .

5. Операция отражения: наихудшей вершины через центр тяжести Классификация методов программирования - student2.ru и получить новый многогранник,

6. Проверить выполнение условий и сделать модификации вершин:

Классификация методов программирования - student2.ru ,

Классификация методов программирования - student2.ru ,

Классификация методов программирования - student2.ru – сжатие,

Классификация методов программирования - student2.ru ,

Классификация методов программирования - student2.ru – редукция.

5.4 «Метод Розенброка [H.H. Rosenbrok].

В этом методе осуществляется итеративный поиск направления убывания функции с помощью изменяемых дискретных шагов вдоль n векторов ортогонального базиса. Для удачного шага он увеличивается на следующей итерации, для неудачного – уменьшается, с помощью коэффициента. Если зашли в тупик, то строиться новый ортогональный базис. Новый базис поворачивается относительно старого вытегиванием вдоль «оврагов».

Параметрами метода являются:

1. начальная точка Классификация методов программирования - student2.ru ;

2. Классификация методов программирования - student2.ru – ортогональный базис;

3. Классификация методов программирования - student2.ru – длины шагов для направлений поиска;

4. Классификация методов программирования - student2.ru – параметры растяжения, сжатия, соответственно;

5. Классификация методов программирования - student2.ru – точность решения;

6. N – максимальное число неудачных серий шагов по всем направлениям на одной итерации.

АЛГОРИТМ.

1. Задать параметры метода.

2. Классификация методов программирования - student2.ru – шаг по i-му направлению.

3.

Дэвис, Свенн и Кемпи [Davies D., Swann W.H., Campey I.G.] модифицировали метод Розенброка, применив метод одномерной оптимизации при поиске вдоль каждого направления Классификация методов программирования - student2.ru .

5.5 «Метод сопряжённых направлений (Пауэлла [M.J.D. Powell])»

5.6 «Методы случайного поиска (Нелдера-Мида [J.A. Nelder, R. Mead])»

ЗАНЯТИЕ №9 – 04 апреля 2013.

6. «Многомерный случай безусловных экстремумов. Методы первого порядка»

6.1 «Метод градиентного спуска с постоянным шагом».

Строиться последовательность точек Классификация методов программирования - student2.ru по правилу Классификация методов программирования - student2.ru Шаг Классификация методов программирования - student2.ru – задаётся и остаётся постоянным, пока функция убывает. Иначе, например, делится попалам. Процесс оканчивается по условиям: 1) Классификация методов программирования - student2.ru или 2) Классификация методов программирования - student2.ru – максимальное число итераций, или 3) Классификация методов программирования - student2.ru – для двух последних шагов.

Параметры метода Классификация методов программирования - student2.ru .

Для сильно выпуклой функции метод сходится к минимуму. Для Липцишевых функций метод сходится к стационарной точке.

Пример 6.1.

6.2 «Метод наискорейшего градиентного спуска».

От предыдущего метода с постоянным шагом отличается определением оптимального шага: Классификация методов программирования - student2.ru . Последняя скалярная задача решается аналитическим или численными методами для скалярной задачи.

6.3 «Метод покоординатного спуска».

От предыдущих методов спуска по градиенту здесь на каждом цикле вычислений (состоящем из шагов по всем координатам) производиться спуск по всем отдельным частным производным: Классификация методов программирования - student2.ru .

6.4 «Метод Гаусса-Зейделя [Gauss-Seidel]».

От предыдущего метода покоординатного спуска с постоянным шагом отличается определением оптимального шага: Классификация методов программирования - student2.ru , аналогично методу «наискорейшего градиентного спуска». Последняя скалярная задача решается аналитическим или численными методами для скалярной задачи.

6.5 «Метод Флетчера-Ривса [Fletcher R., Reeves C.M.]».

В этом методе итеративная последовательность точек строится по формуле: Классификация методов программирования - student2.ru . Шаг определяется из условия оптимальности Классификация методов программирования - student2.ru .

Рассмотрим физический смысл этого метода. Пусть минимизируемая функция является квадратичной формой Классификация методов программирования - student2.ru , Классификация методов программирования - student2.ru . Тогда вычисление величины Классификация методов программирования - student2.ru обеспечивает построение последовательности H-сопряжённых направлений Классификация методов программирования - student2.ru . При этом в точках последовательности Классификация методов программирования - student2.ru последовательные пары градиентов функции Классификация методов программирования - student2.ru взаимно ортогональны: Классификация методов программирования - student2.ru . Для квадратичной функции Классификация методов программирования - student2.ru и положительной матрицы H > 0 метод сходится не более, чем за n (размерность вектора x) шагов.

Для неквадратичных функций метод не является конечным, при этом нарушается ортогональность градиентов и H-сопряжённых направлений. В этом случае применяется модификация метода Полака-Рибьера [Polak E., Ribiere G.] с более сложным вычислением коэффициента Классификация методов программирования - student2.ru . Кроме того, в отличие от метода Флетчера-Ривса метод Полака-Рибьера предусматривает использование итерации наискорейшего градиентного спуска после каждых n шагов.

6.6 «Метод Дэвидона-Флетчера-Пауэлла [Davidon W.C., Fletcher R., Powell M.J.D.]».

Это метод является обобщением метода наилучшего градиентного спуска, когда Классификация методов программирования - student2.ru и Классификация методов программирования - student2.ru . Вводится дополнительно Классификация методов программирования - student2.ru матрица Классификация методов программирования - student2.ru : Классификация методов программирования - student2.ru и Классификация методов программирования - student2.ru , которая определяется по правилу: Классификация методов программирования - student2.ru

Рассмотрим физический смысл этого метода. Пусть минимизируемая

6.7 «Метод кубической интерполяции»

Находятся две такие точки, где производная имеет разные знаки. Вместе со значениями функции в этих двух точках получаем необходимые данные для построения кубического интерполяционного полинома (имеющего 4 параметра). И находиться его минимум.

ЗАДАЧИ.

7. «Многомерный случай безусловных экстремумов. Методы второго порядка»

7.1 «Метод Ньютона».

Этот классический метод второго порядка (т.е. использующий второй дифференциал функции) является основой для многих других, представляющих его модификации. Формула для вычисления итерационной последовательности имеет вид Классификация методов программирования - student2.ru Таким образом, вместо шага Классификация методов программирования - student2.ru например, в градиентном методе, используется боле сложное выражение – обратная матрица Гессе вторых частных производных Классификация методов программирования - student2.ru . В этом случае, Классификация методов программирования - student2.ru .

Формула Классификация методов программирования - student2.ru получена из следующих соображений. Напишем разложение в ряд Тейлора в точке x с точностью до второго порядка функции Классификация методов программирования - student2.ru . Классификация методов программирования - student2.ru – квадратичная форма. Направление (векто

Наши рекомендации