- •РАЗДЕЛ I. МЕТОДЫ ОПТИМИЗАЦИИ
- •1. ПОСТАНОВКА ЗАДАЧ ОПТИМИЗАЦИИ И ИХ КЛАССИФИКАЦИЯ.
- •1.1. Постановка задачи
- •1.2. Методы нахождения минимума функции одной переменной
- •Метод деления отрезка пополам
- •Метод золотого сечения
- •Метод последовательного перебора
- •Метод квадратичной параболы
- •Метод кубической параболы
- •1.3. Рельеф функции
- •1.4. Представление функции в окрестности минимума
- •1.5. Классификация методов оптимизации
- •2.МЕТОДЫ НУЛЕВОГО ПОРЯДКА
- •2.1. Описание общего алгоритма методов покоординатного спуска.
- •2.2 Метод ГАУССА-ЗЕЙДЕЛЯ
- •2.3. Метод ПАУЭЛЛА
- •2.4. Метод ДСК
- •2.5. Метод РОЗЕНБРОКА
- •2.6. Метод покоординатного последовательного перебора
- •2.7. Метод ХУКА-ДЖИВСА
- •2.8. Метод НЕЛДЕРА-МИДА
- •3. МЕТОДЫ ПЕРВОГО ПОРЯДКА И МЕТОДЫ С ПЕРЕМЕННОЙ МЕТРИКОЙ
- •3.1. Метод спуска по градиенту
- •3.3. Метод Давидона-Флетчера-Пауэлла
- •3.4. Метод проективного градиента
- •3.5. Метод Мак-Кормика 1
- •3.6. Метод Мак-Кормика 2
- •3.7. Метод Гольдфарба
- •3.8. Метод Гринстадта
- •4. МЕТОДЫ УСЛОВНОЙ ОПТИМИЗАЦИИ ФУНКЦИИ N ПЕРЕМЕННЫХ.
- •4.1. Метод штрафных функций
- •РАЗДЕЛ II. ЧИСЛЕННЫЕ МЕТОДЫ УРАВНЕНИЙ МАТЕМАТИЧЕСКОЙ ФИЗИКИ
- •1. МАТЕМАТИЧЕСКИЕ МОДЕЛИ И ЧИСЛЕННЫЕ МЕТОДЫ
- •1.1. Как исследуются физические явления и решаются задачи
- •1.2. Как оценивается погрешность вычислений?
- •1.3. Откуда возникают погрешности расчетов?
- •1.4. Итерационные методы решения задач
- •2. КЛАССИФИКИЦИЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
- •2.1. Определение дифференциальных уравнений
- •2.2. Постановка задач для обыкновенных ДУ
- •2.4. Как получают дифференциальные уравнения
- •2.5. Подобие физических явлений, безразмерные переменные
- •3. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ МЕТОДА СЕТОК
- •3.1. Теоретические основы метода сеток
- •3.2 Решение систем обыкновенных дифференциальных уравнений
- •4. РЕШЕНИЕ КРАЕВОЙ ЗАДАЧИ ДЛЯ ДИФФЕРЕНЦАЛЬНЫХ УРАВНЕНИЙ 2-ГО ПОРЯДКА МЕТОДОМ ПРОГОНКИ
- •5. РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В ЧАСТНЫХ ПРОИЗВОДНЫХ
- •5.1. Одномерное нестационарное уравнение теплопроводности
- •5.2. Задача Дирихле для двухмерного уравнения Пуассона
3. МЕТОДЫ ПЕРВОГО ПОРЯДКА И МЕТОДЫ С ПЕРЕМЕННОЙ МЕТРИКОЙ
В методах первого порядка при выборе следующего направления спуска используется градиент функции:
r |
r |
|
df |
|
df |
|
g |
= f (x) = |
|
,..., |
|
. |
|
dx |
dx |
|||||
|
|
|
1 |
|
n |
|
Как известно, направление градиента является направлением наискорейшего возрастания функции. Следовательно, противоположное направление −g
является направлением наискорейшего убывания функции. При этом направление наискорейшего убывания в данной точке не всегда оказывается наилучшим для спуска к минимуму, поэтому для повышения эффективности вводят различные поправки. При выборе очередного направления используют накопленную информацию о функции из предыдущих спусков. Множество возможностей введения таких поправок определяет многообразие различных методов первого порядка.
Алгоритм этих методов одинаков, различие состоит лишь в правиле выбора очередного направления. Задается начальная точка x0 , начальный шаг одно-
мерного спуска h и точность ε .
1.Вычисляется gr0 = f (xr0 ) и выбирается направление dr = −gr0 ;
2.С помощью метода одномерной оптимизации найти zm доставляющее r + zd )0
z
3. Перейти в новую точку xr0 = xr0 + zmd .
4- Вычислить gr1 = f (xr0 ) .
5. Проверить условие сходимости zm + gr1 <ε ,
если оно выполняется, тогда xm = xr0 , Fm = f (x0 ) , конец, иначе переходим к п.6.
6.Выбор нового направления спуска d = Π(gr1, gr0, zm ,dr) .
7.Повторить с п.2.
Программная реализация обычно содержит отдельные подпрограммы для вычисления функции f (xr) , ее градиента f (x) и нахождения минимума.
3.1. Метод спуска по градиенту
Это самый простой из рассматриваемых методов. Каждый раз направление одномерного спуска совпадает с вектором градиента g в п. 6.
d= −gr1
3.2.Метод сопраженных градиентов (Флетчера-Ривса)
Можно легко установить, что ход траектории спуска в предыдущем методе аналогичен траектории в методе покоординатного спуска с точностью до на-
19
чального угла поворота. Поэтому эта стратегия неэффективна для овражного типа рельефа.
Два направления dr1 и d2 называются сопряженными относительно сим-
метричной, положительно определенной матрицы G если dr1Т G dr2 = 0. Из-
вестно, что для квадратичной функции можно построить n взаимно сопряженных направлений, спуск по которым приведет к точке минимума ровно за n шагов. На этом свойстве основана большая группа методов - сопряженных градиентов, сопряженных направлений, параллельных касательных и др.
В простейшем варианте метода сопряженных градиентов, обоснованном Флетчером и Ривсом очередное направление в п.6 определяется следующим
образом (рекомендуется оформить в подпрограмме PREOBR): dr = −gr1 + adr, где a = gr2 / gr2; запомнить g0 = gr1;
1 0 r r
После каждых n спусков n +1 спуск следует начинать с d = −g1 (без a ).
Методами с переменной метрикой называется широкий класс эффективных градиентных методов, в которых направление очередного спуска вычисля-
ется поr формуле dk = −Hk grk ,
где Н - положительно определенная симметричная матрица размерности n ×n , которая перед каждым спуском пересчитывается по формуле
Hk = Hk −1 + Ak
Ak - корректирующая матрица, рассчитываемая по результатам предыду-
щих спусков.
На 1-м шаге (п.1) следует положить Н=Е (Е - единичная матрица), а в п.6
делается пересчет корректирующей матрицы А через векторы νr = zmdr, ur = gr0 − gr1 , (столбцы) и νrT , urT (строки)
и вычислениеr нового направления спуска
Н=Н+А; d = −Hgr1.
В результате после нескольких спусков матрица H G−1, и методы являются асимптотически второго порядка.
3.3. Метод Давидона-Флетчера-Пауэлла
Матрица А рассчитывается по формулам: |
|||
A = |
vr vrT |
H ur urT H |
|
r r − |
r |
r |
|
|
vT u |
uT |
H u |
Метод ДФП на сегодняшний день является одним из наиболее эффективных методов поиска безусловного минимума.
3.4.Метод проективного градиента
Вэтом методе матрица А рассчитывается по формуле
20
|
r |
r |
T |
A = − |
(H u )(H u ) |
||
r |
r |
|
|
|
uT H u |
|
|
после n шагов матрица H восстанавливается, H = E .
3.5. Метод Мак-Кормика 1
Матрица А рассчитывается по формуле
A = |
(vr − H ur)vrT |
|
|
|
|
|
|
|
|
|
|
|
||||
vrT ur |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
3.6. Метод Мак-Кормика 2 |
||||||||
Матрица А рассчитывается по формуле |
|
|
||||||||||||||
A = |
(vr − H ur)(urH ) |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
urT H ur |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
3.7. Метод Гольдфарба |
||||||||
Матрица А рассчитывается по формуле |
|
|
||||||||||||||
|
|
r rT |
H |
r rT |
|
|
|
|
urT H ur r rT |
|
|
|||||
|
|
−v u |
+ H u v |
|
+ 1+ |
r r |
|
v v |
|
|
||||||
A = |
|
|
|
|
|
|
|
|
|
uT v |
|
|
|
|
||
|
|
|
|
urT vr |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
3.8. Метод Гринстадта |
|||||||
Матрица А рассчитывается по формуле |
|
|
||||||||||||||
|
|
r rT |
|
|
rrT |
|
|
|
|
urT vr |
r rT |
|
|
|||
|
|
v u |
H + H u v |
− |
1 |
+ |
r |
r |
H u u |
H |
||||||
A = |
|
|
|
|
|
|
|
|
|
uT H u |
|
|
|
|
|
|
|
|
|
|
|
urT H ur |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
21
