- •1. Введение в оптимизацию 4
- •2. Безусловная оптимизация функции одной переменной 13
- •1. Введение в оптимизацию
- •Ограничения на допустимое множество
- •Структура оптимизационных задач математического программирования
- •Примеры постановки задачи оптимизации для решения методами математического программирования
- •Классификация методов оптимизации
- •2. Безусловная оптимизация функции одной переменной
- •Свойства функции одной переменной
- •Идентификация экстремумов функции одной переменной
- •Прямые методы поиска экстремума функции одной переменной
- •Метод равномерного поиска
- •Метод золотого сечения
- •Сравнение методов исключения интервалов
- •Полиномиальная аппроксимация
- •Методы с использованием производных
- •Метод Ньютона-Рафсона
- •Метод средней точки
- •Метод секущих
- •3. Безусловная оптимизация функции нескольких переменных
- •Критерии оптимальности для функции нескольких переменных
- •Методы прямого поиска для нескольких переменных
- •Метод эволюционной оптимизации
- •Метод поиска по симплексу ( метод)
- •Градиентные методы
- •Метод Коши (Наискорейшего спуска)
- •Метод покоординатного спуска.
- •С хема метода Гаусса – Зейделя
- •4. Условная оптимизация. Линейное программирование
- •Общие сведения о линейном программировании
- •Постановка задачи линейного программирования
- •Пример постановки задачи линейного программирования
- •Геометрическая интерпретация задачи линейного программирования
- •Симплекс-метод решения задачи линейного программирования.
- •5. Классическое вариационное исчисление
- •Критерий оптимизации в задачах вариационного исчисления
- •Вариация функционала
- •Необходимые условия экстремума. Уравнение Эйлера.
- •Уравнение Эйлера и условия Лежандра для функционалов, зависящих от нескольких функций и от высших производных
- •6. Динамическое программирование
- •Задача о Черепашке
- •Оптимальное управление представляет собой вектор, определяемый последовательностью оптимальных пошаговых управлений
- •Организация процесса оптимизации в динамическом программировании
Градиентные методы
Важность прямых методов несомненна, поскольку в ряде практических инженерных задач информация о значениях целевой функции является единственной надежной информацией, которой располагает исследователь. Однако, применение даже самых эффективных прямых методов часто требует очень большого числа вычислений функции. Это приводит к необходимости изучения методов, основанных на использовании градиента целевой функции. Указанные методы носят итеративный характер, так как компоненты градиента являются, как правило, нелинейными функциями управляемых переменных.
Основная идея всех градиентных методов состоит в том, чтобы двигаться к минимуму в направлении наиболее быстрого убывания функции, которое определяется антиградиентом. Эта идея может реализоваться, например, следующим образом.
Выберем каким-либо способом начальную точку, вычислим в ней градиент рассматриваемой функции и сделаем небольшой шаг в обратном, антиградиентном направлении. В результате мы придем в точку, в которой значение функции будет меньше первоначального. В новой точке повторим процедуру: снова вычислим градиент функции и сделаем шаг в обратном направлении. Продолжая этот процесс, мы будем двигаться в сторону убывания функции.
Наглядной интерпретацией задачи градиентного спуска можно считать положение человека, который хочет максимально быстро спуститься на дно котловины, заросшей лесом, но видит перед собой лишь ограниченный участок местности. В такой ситуации логичным алгоритмом действия является движение в ту сторону, где местность наиболее круто идет вниз, т.е. в сторону антиградиента функции высоты.
Далее везде будем предполагать, что , существуют и непрерывны. Предполагается, что компоненты градиента могут быть записаны в аналитическом виде или с достаточно высокой точностью вычислены при помощи численных методов.
Замечание.
В практических задачах найти значения
производных целевых функций вида
аналитически, как правило, не удается
и их вычисляют приближенно:
.
Выбор
величин приращений по координатам
зависит от возможностей используемой
ЭВМ и необходимой точности вычислений.
Все градиентные методы поиска минимума основаны на итерационной процедуре, реализуемой в соответствии с формулой
,
где
– текущее приближение к решению
;
– параметр, регулирующий
длину
-го
шага;
– направление поиска
в
-
мерном пространстве управляемых
переменных
,
.
Способ определения и на каждой итерации связан с особенностями применяемого метода.
Ранее уже отмечалось,
что градиент функции
в точке
это вектор
,
проекции
которого являются производными по
координатам и вычислены для
.
Длина вектора градиента
(3.2)
характеризует скорость возрастания функции в этой точке, а направление соответствует направлению быстрейшего возрастания функции. Антиградиент - это вектор такой же длины, направленный в противоположную сторону (рис. 3.3). В точке минимума градиент функции равен нулю.
Единичный вектор градиента определяется как
.
Рис. 3.3. Градиент и антиградиент функции
При поиске минимума
каждая следующая точка поиска
(каждый новый член минимизирующей
последовательности) получается в
результате перемещения из предыдущей
точки по направлению антиградиента
целевой функции по формуле
.
Если в результате
этого перемещения наблюдается увеличение
значения целевой функции, то значение
рабочего шага поиска уменьшается.
Поиск прекращается, когда выполняется
необходимое условие
,
например, длина вектора градиента
становится меньше требуемой точности:
.
(3.4)
Различают методы
градиента с переменным шагом и с
постоянным шагом (рис. 3.4). При использовании
метода градиента с переменным шагом
изменение значений
производится согласно выражению
, i=1,2,...,n
, k=0,1,2…,
(3.5)
а
останов поиска - при выполнении неравенства
(3.4). При возникновении ситуации
значение параметра h уменьшается,
например, делится на число
.
Характер изменения значений
,
согласно (3.5), зависит от величины и знака
соответствующих частных производных
целевой функции.
Рис. 3.4. Методы с постоянным и переменным шагом
К недостаткам метода
можно отнести то, что, во-первых, на
каждом шаге необходимо определять
значение градиента. Это может быть не
просто, если градиент определяется
экспериментально. Во-вторых, по мере
приближения к точке
абсолютные величины частных производных
уменьшаются, следовательно, и шаг поиска
является переменным – уменьшается по
мере приближения к искомой точке. Такой
характер поиска
требует иногда весьма значительных
затрат времени.
Второй из отмеченных недостатков может быть устранен применением метода градиента с постоянным шагом. Метод позволяет сократить затраты времени, но требует несколько большего объема вычислений при изменении значений аргументов целевой функции. Его основное соотношение:
,
i=1,2,...,n;
k=0,1,2,... .
(3.6)
Метод использует
вектор градиента единичной длины,
который определяет лишь направление
градиента, поэтому движение по
осуществляется с постоянной скоростью,
зависящей от величины шага
.
Если изменение аргументов целевой
функции в соответствии с (3.6) приводит
к увеличению ее значения, параметр
поиска
уменьшается. Останов поиска
по методу градиента с постоянным шагом
осуществляется при выполнении неравенства
.
