- •РАЗДЕЛ 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. Задача Дирихле для двухмерного уравнения Пуассона
2. Если D1 > 0 , то изменяем знак h (h=-h).
3. Вычисляем x2 = x1 + h, D2 = f ′(x2 ) .
4. Если (D2 − D1) / h < 0, функция вогнута вверх, тогда x0 выбрана неудачно и следует закончить вычисления с этим сообщением.
5. |
Вычисляем y1 = f (x1), y2 = f (x2 ) . |
6. |
Вычисляем z1, p, q, r, zm по вышеприведенным формулам. |
7. |
x1 = x2 , y1 = y2 , D1 = D2 , x2 = x2 + zm , y2 = f (x2 ), D2 = f ′(x2 ). |
8.Проверяем zm <ε , если нет, тогда повторяем п.6.
9.xm = x2 + zm , ym = f (xm ) , конец.
Следует отметить, что вблизи точки минимума расчет по приведенным здесь простейшим формулам для p, q не всегда устойчив из-за ошибок округления, поэтому различные авторы рекомендуют использовать несколько преобразованные формулы.
1.3. Рельеф функции
Основные трудности многомерного случая удобно рассмотреть на примере функции двух переменных f (x1, x2 ) . Как в топографии, изобразим рельеф
этой поверхности линиями уровня (рис.1.2). По виду линий уровня условно выделим три типа рельефа: котлованный (рис. 1.3), овражный (рис. 1.4), неупорядоченный (рис. 1.5).
Рис. 1.2.
Рис. 1.3. |
Рис. 1.4. |
11
Рис. 1.5.
1.4. Представление функции в окрестности минимума
Разложим функцию в точке x0 , находящейся вблизи минимума, в ряд Тейлора:
|
f (xr0 + |
xr)= f (xr0 )+ xrT f (xr0 )+ 1 |
xrT G (xr0 ) |
xr +o( |
x3 ) |
(1.1) |
||||||||||||
|
|
|
|
|
|
xr |
|
|
2 |
|
|
|
|
|
|
xrT |
|
|
Здесь |
|
|
- |
вектор-строка |
приращений, |
|
|
|
- |
вектор-столбец, |
||||||||
|
|
∂f |
|
∂f |
|
|
∂f |
- вектор градиента, |
|
∂ |
2 |
f |
|
|
|
|
||
f = |
, |
|
, ... |
G = |
|
|
- матрица вторых про- |
|||||||||||
|
|
∂x |
|
∂x |
∂x ∂x |
|
||||||||||||
|
∂x |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
1 |
|
2 |
|
n |
|
|
|
i |
|
j |
|
|
||||
изводных Гессе (заметим, что она симметрична).
При небольших xr функция f (xr) вблизи минимума может быть аппрок-
симирована квадратичной функцией. В точке минимума f (xr* )= 0 . Используя
это, легко получается система уравнений для нахождения минимума квадратичной функции (1.1).
G (xr |
) |
xr* − f (xr |
) или xr* xr |
−G−1 (xr |
) f (xr |
) |
(1.2) |
|
0 |
|
0 |
0 |
0 |
|
0 |
|
|
В окрестности минимума матрица Гессе |
G положительно |
определена |
||||||
(вблизи максимума отрицательно определена).
1.5. Классификация методов оптимизации
Практически все методы минимизации функции n переменных основаны на многократном повторении следующих двух действий:
1. выбор некоторого направления спуска;
2. спускrк минимуму вдоль выбранного направления.
Если d - единичный вектор выбранного направления в точке xr0 = (rx10... xn0 ) , то уравнение прямой, проходящей через точку xr0 в направлении d , записывается в виде xr = xr0 + zd , где −∞ < z < ∞ параметр, соответст-
вующий точкам на прямой (при этом модуль z есть расстояние от текущей точки xr до xr0 ). Значения функции Y = f (x) вдоль этой прямой можно опи-
12
сать функцией одной переменной Y = f (xr0 + zd ) =ϕ(z) .Двигаясь вдоль этой прямой находится точка zm , в которой функция ϕ(z) имеет меньшее значение, чем в точке z = 0 (соответственно f (xm ) < f (xr0 ) ). Обычно спуск вдоль прямой сводится к нахождению точки zm , в которой достигается минимум функции одной переменной minϕ(z) . Эта задача более проста и ее решение нахо-
дится одним из методов нахождения минимума функции одной переменной (методы последовательного перебора, золотого сечения, квадратичной или кубической парабол). Хотя не всегда стратегия нахождения minϕ(z) эффектив-
на, часто лучшие результаты дает стратегия небольшого спуска в сторону уменьшения ϕ . После нахождения zm следует перейти в новую точку, т.е.
xr0 = xr0 + zmdr и, выбрав в этой точке новое направление, опять выполнить
спуск по направлению и т.д., пока не будет достигнут минимум. Все многообразие методов минимизации функции n переменных определяется множеством способов выбора направлений и методов спуска в выбранном направлении.
МЕТОДЫ НУЛЕВОГО ПОРЯДКА - при выборе направления спуска требуют вычисления только значений функции (методы: Гаусса-Зейделя, Пауэлла, ДСК, Розенброка, Хука-Дживса, Нелдера-Мида).
МЕТОДЫ ПЕРВОГО ПОРЯДКА - требуют вычисления (точного или приближенного) градиента функции (методы: градиентный, сопряженных градиентов, Давидона-Флетчера-Пауэлла (ДФП), Флетчера-Ривса и др.).
МЕТОДЫ ВТОРОГО ПОРЯДКА - требуют вычисления как градиента, так и матрицы вторых производных (методы: Ньютона, Ньютона-Рафсона).
Из соотношения (1.2) следует, что наилучшим направлением спуска к минимуму из точки xr0 является вектор d = −G−1 (xr0 ) f (xr0 ), т.к.за один спуск в
этом направлении можно сразу найти минимум квадратичной функции. В методах Ньютона и Ньютона-Рафсона используется это обстоятельство. Эти методы, однако, не нашли широкого распространения ввиду их малой эффективности из-за трудностей, возникающих при вычислении матрицы вторых производных.
МЕТОДЫ С ПЕРЕМЕННОЙ МЕТРИКОЙ – занимают промежуточное место между методами 1-го и 2-го порядка.
13
