
- •Введение
- •1. Интеграция методов оптимизации в структуру сапр
- •1.1. Основные задачи оптимального проектирования
- •1.2. Методы структурной и параметрической оптимизации в сапр
- •1.3. Математическое описание объектов проектирования
- •1.4. Формализация технико-эксплуатационных требований, предъявляемых к объекту проектирования
- •1.5. Классификация задач оптимального проектирования
- •2.2. Математическое описание объектов оптимального проектирования с использованием модели надежности
- •2.3. Математическое описание объектов оптимального проектирования с использованием моделей массового обслуживания
- •3.2. Методы одномерного унимодального поиска
- •3.2.1. Эффективность алгоритмов одномерного поиска
- •3.2.2. Метод дихотомии
- •3.2.3. Обобщенный метод Фибоначчи
- •3.3. Методы безусловной оптимизации
- •3.3.1. Методы многопараметрического поиска без вычисления производных
- •3.3.2. Градиентные методы спуска
- •3.3.3. Методы минимизации квазиньютоновского типа
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
3.3.2. Градиентные методы спуска
Предположим, что минимизируемая функция Q(x) является унимодальной многопараметрической, для которой в каждой точке х может быть вычислено значение градиента:
(3.81)
Рассмотрим класс алгоритмов
,
осуществляющих последовательный
поиск точки локального минимума х*
функции Q(x) из заданного начального
приближения х° по итерационной
формуле:
(3.82)
где хk — решение задачи оптимизации:
,
(3.83)
полученное на k-й
итерации; ∆k
= (хk +
1 - хk)
— приращение варьируемых переменных;
sk — единичное направление,
вдоль которого значение функции Q(x)
может быть уменьшено;
— длина шага вдоль направления sk.
Последовательность точек испытаний (х0, х1, ..., xk), полученная по формуле (3.82) и удовлетворяющая цепочке неравенств:
Q(x0) > Q(x1) > ... > Q(xk), (3.84)
называется релаксационной последовательностью.
Разложим функцию Q(x) относительно точки хk в ряд Тейлора, ограничиваясь членами первого порядка:
Q(xk+1)
= Q(xk) +
(
QT
(хk),∆k).
(3.85)
Из условия (3.84) следует, что на каждой итерации приращение ∆k следует выбирать таким образом, чтобы выполнялось неравенство:
Q(xk+1) – Q(xk) < 0. (3.86)
Тогда, учитывая неравенство (3.86), из соотношения (3.85) получаем:
(3.87)
Из (3.85) с учетом неравенства (3.87) следует, что единичное направление sk, обеспечивающее наибольшую скорость уменьшения функции Q(x), является оптимальным решением задачи оптимизации:
(3.88)
при условии, что (sT, s) = 1.
Построим для сформулированной задачи функцию Лагранжа:
Значения s и а должны удовлетворять системе уравнений:
откуда
(3.89)
где
— обычная норма в n-мерном
евклидовом пространстве.
Таким образом, для обеспечения наибольшей скорости уменьшения функции Q(x) вдоль единичного направления sk, последнее должно совпадать с нормированным значением антиградиента.
Алгоритмы построения релаксационной
последовательности (3.84) с помощью
итерационной формулы (3.82), в которой
направление поиска зависит от
значения антиградиента (
),
образуют класс алгоритмов
,
называемых градиентными методами
спуска.
При заданном направлении поиска sk выбор точки очередного испытания согласно итерационной формуле (3.82) сводится к определению положительного значения шага вдоль этого направления. Реализация градиентного метода спуска, в котором оптимальная длина шага вдоль направления антиградиента (3.89) является решением одномерной задачи оптимизации:
(3.90)
называется методом наискорейшего
спуска
.
Достоинство метода наискорейшего спуска — его простота. Однако он имеет ряд существенных недостатков, среди которых необходимо отметить следующее. Во-первых, это — одношаговый алгоритм, в котором при выборе точки очередного испытания хk + 1 не используется информация о предыдущих испытаниях, кроме испытания в точке xk. Во-вторых, если гессиан G(x) минимизируемой функции Q(x) является плохо обусловленной матрицей, наибольшее и наименьшее собственные значения которой сильно отличаются друг от друга, то процесс поиска замедляется в связи с зигзагообразностью траектории поиска (х0, х1, ..., хk) (рисунок 3.10). При этом может потребоваться недопустимо большое число итераций, прежде чем будет получена требуемая точность локализации точки минимума x*.
Для устранения недостатка алгоритма
F10, связанного с
игнорированием информации о предыдущих
испытаниях, рассмотрим алгоритм
,
реализующий градиентный метод с памятью,
в котором при выборе очередного
приращения ∆k
учитывается информация о
приращении ∆k-1,
полученном на предыдущей итерации.
Для этого потребуем, чтобы на k-й
итерации приращение ∆k
выбиралось таким образом, чтобы
обеспечивалась наибольшая скорость
уменьшения функции Q(x) при условии,
что квадрат модуля разности приращения
∆k и взвешенного
приращения
,
оставался равным постоянной величине
К:
(3.91)
при условии, что
Построим для сформулированной задачи функцию Лагранжа:
.
Рис. 3.10. Зигзагообразная траектория движения к точке
минимума х* при минимизации квадратичной функции
Q(x) = xTGx + (bT, x) + a методом наискорейшего спуска
Значения ∆ и а должны удовлетворять системе уравнений:
(3.92)
откуда оптимальное решение задачи (3.91) получаем с помощью следующего выражения:
(3.93)
Нетрудно видеть, что метод наискорейшего
спуска F10 является частным
случаем алгоритма F11 при
.
Значения коэффициентов
и
в формуле (3.92) могут быть выбраны из
условия обеспечения минимального
значения функции
вдоль
направления
:
(3.94)
В качестве одного из подходов к решению задачи оптимизации (3.94) рассмотрим метод квазилинеризации решения эквивалентной ей системы нелинейных уравнений, предположив, что для минимизируемой функции Q(x) может быть вычислена матрица вторых производных (гессиан) G(x):
(3.95)
Пусть значения
и
на k-й итерации
вычисляются по итерационной формуле:
(3.96)
где
,
— начальные значения коэффициентов
;
— приращения коэффициентов
.
Тогда разлагая левые части уравнений
(3.95) в ряд Тейлора относительно точки
(
,)
и вводя постоянный множитель
и коэффициент направления
,
получаем систему линейных уравнений:
(3.97)
Производные, входящие в систему уравнений (3.97), вычисляем в точке:
(3.98)
по следующим формулам:
где
- гессиан функции Q(x), вычисленный
в точке
.
Решая уравнение (3.97), получаем следующие
выражения для приращений
и
:
(3.99)
где
При этом коэффициент направления определяется из условия уменьшения функции Q(x) вдоль направления ∆k. Для этого необходимо, чтобы вариация функции Q(x) по и была отрицательной. Тогда из условия
получаем, что
где
Если при
значение функции Q(x) удовлетворяет
условию
,
(3.100)
то полученные по итерационным формулам
(3.96) значения
и
выбираем как новые значения
и
.
В противном случае параметр
уменьшается до тех пор, пока не выполнится
условие (3.100). Процедуру вычисления
коэффициентов
и
считают законченной
принимают равными текущим значениям
и
),
когда приращения
и
станут меньше заданного значения
.
На первом шаге рассмотренного метода
квазилинеризации можно положить
.
В градиентном методе с памятью F11
при описанном подходе к вычислению
коэффициентов
,
требуется на каждой итерации вычислять
матрицу вторых производных минимизируемой
функции Q(x) — гессиан G(x) =
{
2Q/
xi
xj}.
Поэтому рассмотрим его модифицированный
вариант — алгоритм
,
реализующий метод сопряженных
направлений, в котором при поиске
минимума функции Q(x) используются
только значения первых производных
.
Рассмотрим свойства алгоритма F12 на примере квадратичной функции Q(x) = хT Gx + bTх + а, так как полученные при этом результаты легко обобщаются на нелинейные функции Q(x), если их аппроксимировать на каждой итерации разложением в ряд Тейлора:
(3.101)
Градиенты квадратичной функции с положительно определенной матрицей (xT Gx > 0), вычисленные на k-й и (k+1)-й итерациях, связаны между собой соотношением:
.
(3.102)
При этом градиент этой функции в точке хk + 1 ортогонален предыдущему направлению поиска sk:
.
(3.103)
Подставляя значение градиента, вычисленного в точке хk + 1, из (3.102) и значение приращения, полученного на (k - 1)-й итерации, из (3.93) в систему нелинейных уравнений (3.92) можем записать:
(3.104)
Согласно соотношению (3.103) первое слагаемое в (3.104) равно нулю, следовательно, коэффициенты и связаны соотношением:
(3.105)
Тогда, подставляя полученное значение в выражение (3.92) для приращения , получим:
(3.106)
где
(3.107)
Направления поиска s0, s1, ..., sk, получаемые с помощью соотношения (3.107), являются G-сопряженными к заданной положительно определенной матрице G квадратичной функции Q(x) = хT Gx + bT х + а:
(si)T
G sj
= 0,
(3.108)
а градиенты функции Q(x) в точках
испытаний
,
являются взаимно-ортогональными:
(3.109)
Именно свойство G-сопряженности (3.108) направлений поиска sk, выбираемых в алгоритме F11 согласно формуле (3.107), и определяет его название как метода сопряженных градиентов.
Можно показать, что коэффициент
в соотношении (3.107) может быть вычислен
с помощью следующего выражения:
(3.110)
Процесс поиска точки локального минимума х* нелинейной функции Q(x) по алгоритму сводится к следующей последовательности действий.
На первой итерации (k = 0) для начального приближения х0 вычисляют значение градиента Q (x0) определяют направление поиска s0 = - Q (х0).
Определяют точку очередного испытания:
,
где — оптимальное решение одномерной задачи оптимизации:
Вычисляют приращение
∆k = xk + 1 – xk
и значение градиента в точке xk
+ 1:
Для каждой последующей (k+1)-й итерации (k := k + 1) находят новое направление поиска:
где
Поиск точки локального минимума х* заканчивается, если выполняется условие
. В противном случае все вычисления повторяются с шага 2.
Можно сказать, что поиск точки минимума х* квадратичной функции Q(x) с помощью метода сопряженных направлений заканчивается не более чем за п итераций, т.е. алгоритм F12 обладает квадратичной скоростью сходимости.