- •Введение
- •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 обладает квадратичной скоростью сходимости.