
- •3.1. Постановка задачи 23
- •5.1. Постановка задачи 41
- •6.1. Постановка задачи 48
- •7.1. Постановка задачи 59
- •9.1. Постановка задачи 81
- •Введение
- •Тема 1. Элементы теории погрешностей
- •1.1. Точные и приближенные числа
- •1.2. Абсолютная и относительная погрешность
- •Тема 2. Методы решения нелинейных уравнений
- •2.1. Постановка задачи
- •Отделение корней (локализация корней);
- •Уточнение корней.
- •2.2. Отделение корней
- •2.2.1. Графическое отделение корней
- •2.2.2. Аналитическое отделение корней
- •2.3. Уточнение корней
- •2.3.1. Метод половинного деления
- •2.3.2. Метод итерации
- •2.3.3. Метод Ньютона (метод касательных)
- •2.3.4. Метод хорд
- •Тема 3. Интерполяция функций
- •3.1. Постановка задачи
- •3.2. Интерполяционная формула Лагранжа
- •3.3. Интерполяционные формулы Ньютона
- •3.3.1. Конечные разности
- •3.3.2. Первая интерполяционная формула Ньютона
- •3.3.3. Вторая интерполяционная формула Ньютона
- •3.4. Сплайн – интерполяция
- •Тема 4. Аппроксимация функций
- •4.1. Постановка задачи аппроксимации
- •4.2. Метод наименьших квадратов
- •Тема 5. Численное интегрирование
- •5.1. Постановка задачи
- •5.2. Методы прямоугольников
- •5.3. Формула трапеций
- •5.4. Формула Симпсона
- •5.5. Оценка погрешности численного интегрирования
- •Тема 6. Методы решения обыкновенных дифференциальных уравнений
- •6.1. Постановка задачи
- •6.2. Метод Эйлера
- •6.3. Методы Рунге-Кутты
- •6.4. Решение оду n-го порядка
- •Тема 7. Одномерная оптимизация
- •7.1. Постановка задачи
- •7.2. Метод прямого перебора с переменным шагом
- •7.3. Метод дихотомии
- •7.4. Метод золотого сечения
- •7.5. Метод средней точки
- •Тема 8. Многомерная оптимизация
- •8.1. Постановка задачи и основные определения
- •8.2. Методы спуска
- •8.3. Метод градиентного спуска с дроблением шага
- •8.4. Метод наискорейшего спуска
- •8.5. Метод покоординатного спуска
- •Тема 9. Методы решения систем линейных уравнений
- •9.1. Постановка задачи
- •9.2.Метод Гаусса
- •9.3. Метод итераций
- •Список литературы
8.2. Методы спуска
Большинство итерационных методов, применяемых для решения задач минимизации функции нескольких переменных, относятся к классу методов спуска. Это такие методы, для которых каждая итерация (шаг) приводит к уменьшению значения целевой функции: f(xk+1)<f(xk), для всех k³0.
Структура типичного алгоритма метода спуска для функции двух переменных Q(x,y) состоит в следующем:
Задается начальная точка (x0, y0), принадлежащая области допустимых значений функции.
На текущей k-й итерации (k=0,1, …n) определяется вектор
задающий направление спуска, причем такой, чтобы для всех достаточно малых значений l>0 (где l- коэффициент, являющийся шагом поиска) выполнялось неравенство:
Q(xk+ lpk, yk+ lsk) <Q(xk,yk).
Вычисляется шаг поиска - lk, для которого выполняется условие п.2, и за очередное приближение к точке минимума принимается точка:
(xk+ lpk, yk+ lsk), где xk+ lpk = xk+1, аyk+ lsk = yk+1.
Проверяется выполнение критерия окончания итераций. Если критерий метода выполняется, то полагают (x*,y*)»(xk+1,yk+1). В противном случае осуществляется переход к п.2 и выполняется следующая итерация.
Последовательность точек х1, х2, …, хk,получаемую методом спуска, называют траекторий спуска.
В градиентных методах спуска направление движения к точке минимума целевой функции совпадает с направлением антиградиента, а направление спуска выбирается по формулам:
Для использования градиентного метода оптимизации необходимо определить правило выбора шага lk на каждой итерации и правило прекращения итерационного процесса.
При решении вопроса о выборе шага lk следует учитывать, что выбор малого шага на каждой итерации приведет к малым изменениям аргумента и функции, и, следовательно, к увеличению числа итераций, необходимых для решения задачи. Выбор слишком большого шага lk может привести не к убыванию целевой функции Q(x,y), а к ее увеличению, и, следовательно, процесс не будет сходиться к точке минимума.
По способу выбора шага спуска среди градиентных методов наиболее известными являются метод градиентного спуска с дроблением шага (ГДШ) и метод наискорейшего спуска (НС).
8.3. Метод градиентного спуска с дроблением шага
На каждой итерации шаг спуска lk выбирается таким образом, чтобы выполнялось условие:
(8.3-1)
Выбор шага в методе ГДШ заключается в следующем.
Задается начальное значение шага lk = l0 (как правило, l0=0,5). Проверяется условие сходимости, приведенное выше. Если условие сходимости выполняется, то шаг спуска для данной итерации выбран, а если оно не выполняется, то принимают новый шаг lk = lk/2, и снова проверяют условие сходимости (и т.д.).
Алгоритм метода ГДШ можно описать следующей последовательностью действий:
При k = 0 задаемся начальной точкой спуска (xk, yk), требуемой точностью e и начальным шагом l0(пусть l0 =0,5).
Вычисляем значения
(8.3-2)
Вычисляем новые значения переменных
(8.3-3)
Проверяем условие сходимости:
(8.3-4)
Если условие выполняется, то полагаем величину шага равной lk, в противном случае lk = lk/2 и переходим к п.3.
Проверка окончания процесса итераций (необходимого условия существования минимума):
(8.3-5)
Если условие выполнено, то минимум найден, а если нет - вычисление координат следующей точки (k=k+1) и передача управления п.2.
Траектория спуска с использованием метода ГДШ приведена на Рис. 8.3-1.
Рис. 8.3-1.
Пример 8.3-1. Найти минимум функции Q(x,y) методом ГДШ.
Пусть Q(x,y) = x2 +2y2; x0 = 2;y0 = 1.
Проверим достаточные условия существования минимума:
Проделаем одну итерацию согласно алгоритму.
Q(x0,y0) = 6.
При х = x0и y = y0 ,
Шаг lk = l0 = 0,5
Таким образом, 4 < 8, следовательно, условие сходимости не выполняется и требуется, уменьшив шаг (l=l /2), повторять п.п.3-4 до выполнения условия сходимости. То есть, полученный шаг используется для нахождения следующей точки траектории спуска.