- •Н. Б. Борковский Математические методы в экологии
- •Часть I. Численные методы
- •Тема 1 9
- •Тема 2 14
- •Тема 3 30
- •3.0 Постановка задачи 30
- •1. Постановка проблемы
- •2. Выбор или построение математической модели
- •3. Постановка вычислительной задачи
- •4. Предварительный анализ свойств вычислительной задачи
- •5. Выбор или построение численного метода
- •6. Алгоритмизация и программирование
- •7. Отладка программы
- •8. Счет по программе
- •9. Обработка и интерпретация результатов
- •10. Использование результатов и коррекция математической модели
- •1.0 Источники приближенных чисел
- •1.1 Источники и классификация погрешностей
- •1.2 Абсолютная и относительная погрешности вычисления
- •1.3 Погрешности арифметических операций
- •1.4 Обратная задача теории погрешностей
- •Постановка задачи
- •Метод половинного деления (метод «вилки», метод дихотомии)
- •Метод Ньютона (метод касательных)
- •Метод хорд (метод пропорциональных частей)
- •Метод итерации (метод последовательных приближений)
- •Постановка задачи
- •Решение систем линейных уравнений методом итерации
- •Решение систем нелинейных уравнений методом итерации
- •Решение систем линейных уравнений – «подводные камни»
- •4.0 Интерполирование – постановка задачи
- •4.1 Интерполирование полиномами
- •4.2 Аппроксимация функций. Метод наименьших квадратов
- •4.3 Интерполирование сплайнами
- •4.4 Интерполирование – примеры и «подводные камни»
- •4.5 Сглаживание данных (скользящее среднее)
- •5.0 Постановка задачи
- •5.1 Формула трапеций
- •5.2 Формула Симпсона
- •5.3 Формула Ньютона–Котеса
- •5.4 Формула Гаусса
- •5.5 Связь формул интегрирования
- •5.6 Численное интегрирование. Сравнение методов
- •5.7 Численное интегрирование – «подводные камни»
- •6.0 Введение
- •6.1 Обыкновенные ду. Метод Эйлера
- •6.2 Обыкновенные ду. Основные методы решения
- •6.3 Обыкновенные ду. Методы прогноза и коррекции
- •6.5 Обыкновенные ду. Сравнение методов
- •6.6 Оду. Влияние неточности исходной информации
- •6.7 Оду. Представление о конечных разностях
- •6.8 Оду. Краевые задачи – введение
- •8.0 Ду в частных производных. Постановка задачи
- •8.1 Ду в частных производных. Эллиптические уравнения
- •8.2 Ду в частных производных. Гиперболические уравнения
- •8.3 Ду в частных производных. Параболические уравнения
- •9.0 Методы безусловной оптимизации. Введение
- •9.1 Методы безусловной оптимизации. Классификация методов
- •9.2 Методы безусловной оптимизации нулевого порядка
- •9.3 Методы безусловной оптимизации первого порядка
- •9.4 Методы оптимизации второго порядка
- •Тема 10
- •10.0 Метод Монте–Карло. Некоторые задачи
- •10.1 Проблема получения случайных чисел
- •10.2 Общая схема метода
- •10.3 Метод Монте–Карло. Пример
- •10.4 Вычисление кратных интегралов
- •Число испытаний n не зависит от размерности интеграла i0
9.3 Методы безусловной оптимизации первого порядка
Градиентом дифференцируемой функции f(x) в точке х[0] называется n-мерный вектор f'(х[0]), компоненты которого являются частными производными функции f(x), вычисленными в точке х[0], т. е.
.
Этот вектор перпендикулярен к плоскости, проведенной через точку х[0], и касательной к поверхности уровня функции f(x), проходящей через точку х[0].
В каждой точке такой поверхности функция f(x) принимает одинаковое значение.
Приравнивая функцию различным постоянным величинам С0, С1, ..., получим серию поверхностей, характеризующих ее топологию (рис. 9.8).
|
Рис. 9.8. Градиент функции |
Вектор-градиент направлен в сторону наискорейшего возрастания функции в данной точке.
Вектор, противоположный градиенту (–f'(x[0])), называется антиградиентом и направлен в сторону наискорейшего убывания функции.
В точке минимума градиент функции равен нулю.
Если нет дополнительной информации, то из начальной точки х[0] разумно перейти в точку х[1], лежащую в направлении антиградиента – наискорейшего убывания функции.
Выбирая в
качестве направления спуска p[k]
антиградиент
в точке x[k],
получаем итерационный процесс вида
x[k
+ 1] = x[k]
– k
,
k
> 0; k = 0, 1,
2, … .
Вектор-градиент направлен в сторону наискорейшего возрастания функции в данной точке.
В координатной форме этот процесс записывается следующим образом:
Критерий останова – либо условие малости приращения аргумента,
|| x[k + 1] – x[k] || < ,
либо выполнение условия малости градиента
||
|| <
.
Здесь , – заданные малые величины.
Возможен и комбинированный критерий.
В методе с постоянным шагом для всех итераций выбирается некоторая постоянная величина шага. Достаточно малый шаг ak обеспечит убывание функции.
Цена – (возможно) очень большое количество итераций для достижения точки минимума.
С другой стороны, слишком большой шаг может вызвать неожиданный рост функции либо привести к осцилляциям около точки минимума (зацикливанию).
Методы с постоянным шагом применяются на практике редко.
Более экономичны в смысле количества итераций и надежности градиентные методы с переменным шагом, когда в зависимости от результатов вычислений величина шага некоторым образом меняется.
Метод наискорейшего спуска
В этом методе на каждой итерации величина шага аk выбирается из условия минимума функции f(x) в направлении спуска, т. е.
Это условие означает, что движение вдоль антиградиента происходит до тех пор, пока значение функции f(х) убывает.
С математической точки зрения на каждой итерации необходимо решать задачу одномерной минимизации по α функции φ(α) = f(x[k] – αf'(x[k])).
В рассматриваемом методе направление движения из точки х[k] касается линии уровня в точке x[k + 1] (рис. 9.9).
|
Рис. 9.9. Геометрическая интерпретация метода наискорейшего спуска |
Траектория спуска – зигзаг, соседние звенья зигзага ортогональны друг другу. Действительно, шаг k выбирается путем минимизации по функции
() = f(x[k] – f '(x[k])).
Необходимое условие минимума функции d()/d = 0.
Найдя производную сложной функции, получим условие ортогональности векторов направлений спуска в соседних точках:
d()/d = –f'(x[k +1]) f'(x[k]) = 0.
Для гладких выпуклых функций градиентные методы сходятся к минимуму со скоростью геометрической прогрессии.
Есть много функций, для которых значения вдоль некоторых направлений изменяются гораздо быстрее (иногда на порядки!), чем в других направлениях.
Их поверхности уровня в простейшем случае сильно вытягиваются (рис. 9.10), а в более сложных случаях изгибаются и представляют собой овраги. Функции, обладающие такими свойствами, называют овражными.
Направление антиградиента этих функций (рис. 9.10) существенно отклоняется от направления в точку минимума, что приводит к замедлению скорости сходимости.
Скорость сходимости градиентных методов сильно зависит от точности вычислений градиента. Потеря точности (обычно в окрестности минимума или в «овражной» ситуации) может вообще нарушить сходимость процесса градиентного спуска.
Поэтому градиентные методы часто используют на начальной стадии решения задачи. При этом точка х[0] находится далеко от минимума, и шаги в направлении антиградиента позволяют достичь существенного убывания функции.
Затем применяют другие, более эффективные методы.
|
Рис. 9.10. Овражная функция |
