- •1. Введение в оптимизацию 4
- •2. Безусловная оптимизация функции одной переменной 13
- •1. Введение в оптимизацию
- •Ограничения на допустимое множество
- •Структура оптимизационных задач математического программирования
- •Примеры постановки задачи оптимизации для решения методами математического программирования
- •Классификация методов оптимизации
- •2. Безусловная оптимизация функции одной переменной
- •Свойства функции одной переменной
- •Идентификация экстремумов функции одной переменной
- •Прямые методы поиска экстремума функции одной переменной
- •Метод равномерного поиска
- •Метод золотого сечения
- •Сравнение методов исключения интервалов
- •Полиномиальная аппроксимация
- •Методы с использованием производных
- •Метод Ньютона-Рафсона
- •Метод средней точки
- •Метод секущих
- •3. Безусловная оптимизация функции нескольких переменных
- •Критерии оптимальности для функции нескольких переменных
- •Методы прямого поиска для нескольких переменных
- •Метод эволюционной оптимизации
- •Метод поиска по симплексу ( метод)
- •Градиентные методы
- •Метод Коши (Наискорейшего спуска)
- •Метод покоординатного спуска.
- •С хема метода Гаусса – Зейделя
- •4. Условная оптимизация. Линейное программирование
- •Общие сведения о линейном программировании
- •Постановка задачи линейного программирования
- •Пример постановки задачи линейного программирования
- •Геометрическая интерпретация задачи линейного программирования
- •Симплекс-метод решения задачи линейного программирования.
- •5. Классическое вариационное исчисление
- •Критерий оптимизации в задачах вариационного исчисления
- •Вариация функционала
- •Необходимые условия экстремума. Уравнение Эйлера.
- •Уравнение Эйлера и условия Лежандра для функционалов, зависящих от нескольких функций и от высших производных
- •6. Динамическое программирование
- •Задача о Черепашке
- •Оптимальное управление представляет собой вектор, определяемый последовательностью оптимальных пошаговых управлений
- •Организация процесса оптимизации в динамическом программировании
Метод покоординатного спуска.
Желание уменьшить объем вычислительной работы, требуемой для осуществления одной итерации метода наискорейшего спуска, привело к созданию методов покоординатного спуска.
Пусть точка
с координатами
-
начальное приближение для функции
.
Рассмотрим эту функцию
при фиксированных значениях всех
переменных, кроме первой:
.
Тогда она превратится в функцию одной
переменной
.
Изменяя эту переменную, будем двигаться
от начальной точки x1=x10
в сторону убывания функции, пока не
дойдем до ее минимума при
,
после которого она начинает возрастать.
Точку с координатами
обозначим через
,
при этом
.
Зафиксируем теперь
переменные:
и рассмотрим функцию
как функцию одной
переменной
.
Изменяя
,
будем опять двигаться от начального
значения
в сторону убывания функции, пока не
дойдем до минимума при
.
Точку с координатами
обозначим через
,
при этом
.
Проведем такую же
минимизацию целевой функции по
переменным
.
Дойдя до переменной
,
снова вернемся к
и продолжим процесс. Из этой процедуры
ясно следует название метода. С ее
помощью мы строим последовательность
точек
,
которой соответствует монотонная
последовательность значений функции
Обрывая ее на некотором шаге
,
можно приближенно принять значение
функции
за ее наименьшее
значение в рассматриваемой области.
Из изложенного видно, что данный метод сводит задачу поиска наименьшего значения функции нескольких переменных к многократному решению одномерных задач оптимизации. Если целевая функция задана явной формулой и является дифференцируемой, то мы можем вычислить ее частные производные и использовать их для определения направления убывания функции по каждой переменной и поиска соответствующих одномерных минимумов. В противном случае, когда явной формулы для целевой функции нет, одномерные задачи следует решать с помощью одномерных методов.
Вычислим частную производную по первой координате и примем:
.
Следующая итерация состоит в вычислении точки по формуле:
и т. д.
Таким образом, в методах координатного спуска мы спускаемся по ломанной линии, состоящей из отрезков прямых, параллельных координатным осям. Спуск по всем координатам составляет одну «внешнюю» итерацию.
Величина шага выбирается на каждой итерации аналогично тому, как это делается в градиентных методах.
Рис. 3.6. Иллюстрация к методу покоординатного спуска
Схема алгоритма покоординатного спуска с постоянным шагом
Шаг 1.
При
вводятся исходные данные
.
Шаг 2.
Осуществляется
циклический по
покоординатный спуск из точки
по формуле:
Шаг 3.
Если
,
то поиск минимума заканчивается, причем:
Иначе
и переходим к шагу 2.
Если же шаг к выбирается из условия минимума функции
то мы получаем аналог метода наискорейшего спуска, называемый обычно методом Гаусса – Зейделя.
С хема метода Гаусса – Зейделя
Шаг 1.
При
вводятся исходные данные
.
Шаг 2.
Осуществляется циклический по покоординатный спуск из точки по формулам:
где
является
решением задачи одномерной минимизации
функции:
Шаг 3.
Если , то поиск минимума заканчивается, причем:
Иначе и переходим к шагу 2.
