- •Введение
- •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.3. Методы минимизации квазиньютоновского типа
Рассмотрим класс алгоритмов , которые основаны на квадратичной апроксимации минимизируемой функции Q(x) в ∆-окрестности каждого приближения хk разложением в ряд Тейлора (3.101). В связи с тем, что для определения очередного приращения ∆k эти алгоритмы требуют вычисления первых и вторых производных функций Q(x), они получили название методов второго порядка.
В том случае, когда гессиан G(xk) является положительно определенной матрицей, приращение ∆k, обеспечивающее наибольшую скорость уменьшения функции Q(x) при постоянном значении квадратичной части разложения в ряд Тейлора, определяется из решения задачи оптимизации:
(3.111)
при условии, что
Построим для сформулированной задачи функций Лагранжа:
Значения ∆ и а должны удовлетворять системе уравнений:
откуда следует, что оптимальным решением задачи (3.111) является вектор:
(3.112)
где (G–1(хk) — матрица, обратная гессиану функции Q(x), вычисленному в точке хk.
Алгоритм , основанный на использовании итерационной формулы (3.82), где процедуры выбора длины шага и направления поиска sk совмещены и сводятся к вычислению приращения ∆k по формуле (3.112), является реализацией метода Ньютона. Основная идея этого метода заключается в том, что на каждой итерации осуществляется выбор приращения А*, соответствующего расстоянию до минимального значения квадратичной формы (3.101), аппроксимирующей нелинейную функцию Q(x) в точке хk рядом Тейлора (рис. 3.11). При минимизации квадратичной функции Q(x) = xTGx + bT х + а, независимо от значения коэффициентов обусловленности матрицы G, метод Ньютона F13 позволяет найти точку локального минимума х* из любого начального приближения х0 за одну итерацию.
Недостатком метода Ньютона является требование, чтобы начальное приближение х0 находилась в достаточно малой окрестности точки локального минимума х*. При выполнении этого требования алгоритм F13 обладает квадратичной скоростью сходимости. Однако на практике это условие часто трудно выполнить, в связи с чем при неудачном начальном приближении х0 использование метода Ньютона может привести к расходящемуся процессу.
Для обеспечения сходимости метода Ньютона к точке минимума х* независимо от значения начального приближения х0 будем определять приращение ∆k следующим образом:
(3.113)
где длина шага является оптимальным решением одномерной задачи оптимизации:
x2
Рис. 3.11. Геометрическая интерпретация метода Ньютона с точки зрения квадратичной аппроксимации минимизируемой функции Q(x) усеченными рядами Тейлора относительно точек испытаний х0, х1, х2 (пунктирные линии уровня)
Вместо решения задачи оптимизации (3.114) длину шага можно выбирать из условия:
(3.115)
Для этого на каждой итерации, начиная с значения , уменьшают шаг до тех пор, пока не выполнится неравенство (3.115). Если приближение хk находится далеко от точки минимума хk, то длину шага назначают небольшой, при приближении точки хk к точке х* длина шага будет стремиться к единице.
Алгоритм , основанный на итерационной формуле (3.82), в которой приращение ∆k определяется выражением (3.113), а длина шага регулируется условием (3.114) или (3.115), называется методом Ньютона с регулируемым шагом.
Общим недостатком алгоритмов F13 и F14 является то, что в них процесс поиска точки минимума х* может расходиться, если гессиан G(xk) не является положительно определенной матрицей.
Для обеспечения требования, чтобы на каждой итерации гессиан G(xk) был положительно определенной матрицей, можно использовать следующий прием:
(3.116)
где Е — единичная матрица; — достаточно большое положительное число.
Тогда существует ортогональная матрица V такая, что
VTG(xk) V = VTG(xk)V + E = Д(xk) + E, (3.117)
где Д(xk) — диагональная матрица, элементы dii(xk) которой равны собственным значениям гессиана G(xk). Из соотношения получаем:
(Д(xk) + E)–1 = 1 / (dii(xk)+ ). (3.118)
Следовательно, использование в выражении (3.118) значения:
(3.119)
позволяет уничтожить отрицательные собственные значения в преобразованной матрице . Однако при слишком больших значениях может оказаться, что тогда процесс поиска точки минимума х* по алгоритму F13 (или Fl4) приближается к процессу поиска по методу наискорейшего спуска F10 со всеми его недостатками.
В связи со сказанным выше выбор параметра будем осуществлять путем решения следующей одномерной задачи оптимизации:
(3.120)
при условии, что
Необходимым условием существования оптимального решения для задачи оптимизации (3.120) является неравенство нулю первой производной от минимизируемой функции по :
Нетрудно видеть, что
Следовательно, оптимальное значение параметра , является решением уравнения:
(3.121)
Алгоритм , в котором используется преобразованная матрица и параметр выбирают из решения уравнения (3.121), реализует модифицированный метод Ньютона. Процедура поиска точки минимума х* по алгоритму F15 сводится к следующей последовательности действий.
На первой итерации (k = 0) для заданного начального приближения х0 вычисляют значение градиента и гессиана G(x0) минимизируемой функции Q(x).
Определяют точку очередного испытания
где — оптимальное решение одномерной задачи оптимизации
Если выполняется неравенство
Q(xk + 1) < Q(xk),
то в точке хк + 1 вычисляют градиент и гессиан G(xk), принимают: k := k + 1 и все вычисления повторяют с шага 2. В противном случае , переходят к шагу 4.
Гессиан G(xk) преобразуют в матрицу
где — решение уравнения:
Определяют точку очередного испытания:
где — оптимальное решение одномерной задачи оптимизации:
Поиск точки локального минимума х* заканчивается, если выполняется условие . В противном случае все вычисления повторяют с шага 2.
Общим недостатком алгоритмов, реализующих различные модификации метода Ньютона является то, что в них требуется вычислять матрицу вторых производных G(xk) и осуществлять обращение этой матрицы G-1(xk). В связи с этим рассмотрим класс алгоритмов , не требующих вычисления матриц G(xk) и G-1(xk). Алгоритмы этого класса основаны на формировании специальным образом последовательности матриц (H0, H1, …, Hk). Эта последовательность обладает тем свойством, что каждый элемент матрицы Нk аппроксимирует на k-м шаге соответствующий элемент матрицы G-1(xk), но вычисляется только на основании информации о значениях первых производных функции Q(x).
Как было показано, для квадратичной функции Q(x) = xTGx + bTх + а метод Ньютона позволяет получить точку минимума х* из любого начального приближения, например, хk + 1 и хk, за одну итерацию:
Откуда получаем равенство, характерное для метода Ньютона:
∆k = xk + 1 – xk = G–1yk , (3.122)
где
В дальнейшем потребуем, чтобы для любой матрицы H1, …, Hk, получаемой из рекуррентного соотношения:
Hk + 1 = Hk + ∆Hk, k = 0, 1, 2, … (3.123)
выполнялось условие, называемое квазиньютоновским уравнением:
∆k = Hk + 1Уk (3.124)
или, учитывая соотношение (3.123), вместо соотношения (3.124) получаем равенство
(3.125)
где
Гессиан квадратичной функции является симметричной матрицей (G = GT), поэтому потребуем, чтобы каждая из матриц Нk также была симметричной. Чтобы сохранить это свойство у матрицы Нk+1, необходимо, чтобы для поправки ∆Нk выполнялось условие:
(3.126)
Класс алгоритмов , в которых направление поиска на каждой итерации определяется с помощью выражения
(3.127)
где матрица Нk удовлетворяет условиям (3.123) — (3.126), получил название квазиньютоновских методов минимизации.
В связи с тем, что матрица ∆Нk, удовлетворяющая условиям (3.125) — (3.126), является не единственной, будем определять значения ее элементов из решения следующей задачи оптимизации:
(3.128)
при условии, что
∆Hkyk = ∆k – Hkyk = (3.129)
∆Hk = ∆ (3.130)
где Ф(∆Н) — сумма квадратов диагональных элементов матрицы ∆Н;
Тr (∆Н, ∆НT) — след (трек) матрицы (∆H, ∆HТ);
.
Можно показать, что оптимальное решение задачи (3.128) — (3.130) получают с помощью следующего выражения:
В зависимости от вида матрицы П из выражения (3.131) могут быть получены различные модификации квазиньютоновских методов минимизации, принадлежащих классу алгоритмов .
В том случае, когда матрица П является единичной (П = Е), для поправки ∆Нk получаем выражение:
(3.132)
Если матрица П совпадает с текущим значением матрицы Hk, аппроксимирующей матрицу G–1 на k-м шаге (П = Hk), то для поправки ∆Hk получаем выражение:
(3.133)
Широко известной является поправка ∆Hk, используемая в алгоритме Давидона-Флетчера-Пауэла :
(3.134)
Теоретическое сравнение методов сопряженных направлений и квазиньютоновских методов минимизации показывает, что при минимизации квадратичных функций они полностью совпадают. При минимизации нелинейных функций Q(x) квазиньютоновские методы оказываются предпочтительнее, если "дно оврага" функции Q(x) не очень извилистое. Однако программная реализация квазиньютоновских методов требует больших затрат оперативной памяти, чем при реализации методов сопряженных направлений.