- •Введение
- •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.3.1. Методы многопараметрического поиска без вычисления производных
При решении задачи параметрической оптимизации часто приходится иметь дело с математическими моделями, в которых не имеется аналитических выражений для первых производных минимизируемого критерия оптимальности Q(x). В связи с чем поиск оптимального решения х* приходится вести только по испытаниям, связанным с получением численного значения многопараметрической функции Q(x1,…,xn). Алгоритмы, которые используют для выбора точки очередного испытания хk информацию только о значении функции Q(x), принадлежат классу методов прямого поиска (методов минимизации без вычисления производных; методов нулевого порядка).
Наиболее простыми из алгоритмов данного класса являются алгоритмы, реализующие идею покоординатного спуска, которая заключается в том, что поиск точки локального минимума х* сводится к поочередному изменению переменных вдоль одной из координатных осей:
(3.57)
где , — i-й координатный n-мерный вектор с компонентами:
Длина шага вдоль i-й координатной оси (направления поиска, определяемого i-м координатным вектором li) может выбираться равной некоторой постоянной величине , по следующему правилу:
(3.58)
Если окажется, что для всех , то длина пробных шагов должна быть уменьшена ( ) и поисковые движения с новым значением шага должны быть повторены по всем координатным направлениям , . Поиск считается законченным при выполнении условия:
(3.59)
Алгоритм реализующий описанную стратегию поиска точки минимума х*, называется методом покоординатного спуска с постоянным шагом.
В том случае, когда длина шага на каждой итерации (3.57) определяется с помощью решения одним из методов унимодального поиска одномерной задачи оптимизации:
(3.60)
приходим к алгоритму , реализующему релаксационный метод Гаусса—Зейделя, процедура поиска точки минимума х*, в котором сводится к следующей последовательности действий.
Задается начальное приближение хk = х0.
Осуществляется циклический покоординатный спуск из точки хk по итерационной формуле (3.57) с выбором длины поискового шага из условия (3.60) для всех i от 1 до n. Эта процедура образует внутренний цикл, в процессе которого осуществляется одномерная минимизация функции Q(xi, ..., xn) по каждой переменной хi.
(3.61)
После окончания внутреннего цикла в качестве нового начального приближения хk принимается точка хn, полученная после решения n-й задачи оптимизации (3.61), и все вычисления повторяются с шага 2.
Поиск точки минимума х* считается законченным, если после очередного внутреннего цикла выполняется условие:
(3.62)
Геометрической интерпретацией траектории поиска, которая получается по алгоритмам F5 и F6, является ломаная, состоящая из отрезков прямых, которые параллельны осям координат.
Недостатком методов покоординатного спуска является то, что при минимизации функций Q(x), имеющих овраг, дно которого не ориентировано вдоль какой-то из координатных осей, процесс поиска сильно замедляется и может остановиться далеко от точки истинного локального минимума х*.
Отмеченный выше недостаток алгоритмов F5 и F6 устранен в алгоритме , реализующем метод конфигураций, который позволяет эффективно осуществлять поиск, минимума многопараметрической функции Q(x) вдоль произвольно ориентированных относительно координатных осей "прямолинейных" оврагов.
Процесс поиска начинается из начального приближения х0, которое принимают за базовую точку хk, характеризующуюся тем, что она является исходной точкой очередной итерации. Каждая итерация состоит из двух этапов: "пробного движения" в ∆-окрестности текущей точки испытания и "движения в допустимом направлении", т.е. в направлении вдоль которого гарантируется уменьшение функции Q(x).
Этап "пробного движения" заключается в обследовании ∆-окрестности базовой точки хk с целью определения допустимого (в смысле уменьшения значения функции Q(x)) направления sk. Для этого в циклическом порядке, начиная с i=1, по итерационной формуле (3.57) изменяется каждая переменная xi, , где размер шага вдоль координатного направления li выбирают из условия (3.58). При этом начальный размер пробного шага ∆i для каждой из переменных может иметь различные значения. Если полученное значение не равно нулю, то при выполнении пробного движения вдоль (i+1)-го координатного направления в качестве значения Q(xk) рассматривается либо (если ), либо (если ). После просмотра всех координатных направлений li, , получается точка , в которой значение функции Q(x) меньше или равно значению функции в базовой точке Q(xk):
(3.63)
Если окажется, что = , т.е. ведличина принятого пробного шага ∆ настолько велика, что не позволяет определить допустимое направление, то необходимо его уменьшить и повторить все пробные движения заново. Таким образом, по мере приближения к точке минимума х* длина пробных шагов уменьшается. Поиск считают законченным, если для пробных шагов ∆i = 1, выполняется условие (3.59).
В случае выполнения неравенства (3.63) для в качестве допустимого направления sk выбирают вектор ( ), который указывает направление уменьшения функции Q(x) вдоль дна ее "прямолинейного" оврага. Периодическое повторение пробных движений позволяет подстраивать траекторию поиска вдоль дна оврага в тех случаях, когда установленное на предыдущей k-й итерации допустимое направление sk оказывается неудачным (в смысле уменьшения функции Q(x) на (k+1)-й итерации.
Этап "движения в заданном направлении" сводится к следующей последовательности действий.
Вдоль направления sk определяется точка по формуле:
(3.64)
где h > 1 — шаг вдоль допустимого направления.
Например, при h = 2 получаем:
(3.65)
После каждого i-огo шага (i = 1,2,3,...) вдоль допустимого направления относительно текущей точки проводят процедуру "пробного движения", цель которой — определить, не нуждается ли допустимое направление sk в коррекции. Если после проведения n пробных движений полученная точка не совпадает с базовой точкой ( ), то в качестве скорректированного допустимого направления выбирают вектор ( ), вдоль которого и делается очередная итерация с шагом h:
, (3.66)
где — "удачная" точка, определенная вдоль допустимого направления sk. Если точка лежит на одной прямой с точками хk и , то направление поиска sk сохраняется (не корректируется). В обоих случаях вычисление функции Q(x) вдоль допустимого направления продолжается до тех пор, пока в очередных точках испытаний получаются уменьшающиеся значения функции Q(x). Когда в допустимом направлении не удается найти точку испытания с меньшим значением функции Q(x), то поиск в направлении sk считают законченным и переходят снова к первому этапу. В этом случае точку предыдущего "удачного" испытания выбирают в качестве базовой точки для (k+1)-й итерации, из которой проводятся пробные движения с целью определения нового допустимого направления sk+1.
Недостатком алгоритма F7 является то, что в процессе проведения пробных движений направление вдоль дна оврага может быть пропущено, так как пробные движения делаются только параллельно координатным направлениям li, . По этой же причине поиск может "остановиться" на дне оврага вдали от точки истинного минимума х*.
Для устранения отмеченного недостатка метода конфигураций в алгоритме , реализующем метод вращающихся координат, предлагается вместо того, чтобы изменять каждую переменную xi, независимо параллельно координатной оси, осуществлять на k-й итерации преобразование системы координат (х) таким образом, чтобы в новой системе координат ( ) одна из осей совпадала с направлением вдоль дна оврага функции Q(x), а остальные оси были к ней ортогональны. После проведения последовательно вдоль каждого из n взаимноортогональных направлений одномерного унимодального поиска минимального значения функции Q(x) строится новая система координат и так до тех пор, пока точка минимума х* не будет локализована с заданной точностью .
Первая итерация в алгоритме F8 полностью совпадает с процедурой поиска по релаксационному методу Гаусса-Зейделя F6. Вдоль координатных направлений li, поочередно решается одномерная задача оптимизации (3.60). На последующих итерациях одномерная задача оптимизации решается для каждого линейно-независимого взаимноортогонального направления . Начиная с базовой точки хk, определяют шаг вдоль направления , при котором достигается минимальное значение функции Q(x):
(3.67)
Затем, начиная с точки , определяют шаг вдоль направления , при котором достигается минимальное значение функции Q(x):
(3.68)
После проведения одномерного поиска по всем n направлениям ( вместо начального приближения хk получается новая точка , которая может быть охарактеризована совокупностью величин ( ).
Обозначим через вектор перехода из точки хk в точку , через — вектор перехода из в и т.д. Тогда система линейно-независимых векторов , может быть записана следующим образом:
…………………..
или в общем виде
(3.69)
Вектор представляет собой допустимое направление из базовой точки хk вдоль дна оврага. В связи с этим в качестве нового направления (первого направления поиска в следующей итерации) примем вектор :
(3.70)
где — норма вектора в евклидовом пространстве.
Для получения направлений поиска ( ) ортогональных направлению и взаимноортогональных между собой применим процедуру ортогонализации Грамма-Шмидта:
(3.71)
; (3.72)
Полученную с помощью этой процедуры систему векторов , принимают на очередной (k+1)-й итерации за новые направления поиска, вдоль которых поочередно решаются одномерные задачи оптимизации типа (3.67) — (3.68).
При построении взаимно ортогональных направлений , по формулам (3.70) — (3.72) необходимо, чтобы ни один из коэффициентов , не равнялся нулю. Для устранения этого недостатка преобразуем выражения (3.70) — (3.72) таким образом, чтобы значения коэффициентов , , не влияли на процедуру построения новой системы координат , . С этой целью будем строить векторы и их модули таким образом, чтобы они были пропорциональны коэффициенту . Тогда при вычислении направления , величины сократятся и направление можно будет определить даже в том случае, если .
В связи с тем, что направление совпадает с вектором можно записать .
Так как векторы являются единичными, получаем:
направление определяем так:
(3.73)
Из выражения (3.73) следует , если один или несколько коэффициентов равны нулю при условии, что . Рассуждая аналогичным образом, для последующих k = 2,3,..., n получаем выражения:
, (3.74)
(3.75)
. (3.76)
Если , то при условии, что . В частном случае для i = n из выражения (3.76) получаем
. (3.77)
Из (3.77) следует, что если , при и при имеем для .
Таким образом, выражения (3.73) — (3.77) позволяют определить взаимно ортогональные направления , образующие новую систему координат, если один и более их коэффициентов равны нулю при условии, что для . В противном случае (при условии, что ) будем считать, что i-е направление поиска остается без изменения:
.
Рассмотрим алгоритм , реализующий метод сопряженных направлений нулевого порядка, в котором в отличие от метода вращающихся координат F8, одномерный унимодальный поиск проводится не вдоль ортогональных, а вдоль сопряженных направлений.
Пусть минимизируется квадратичная функция Q(x) с положительно определенной матрицей G(xT Gx > 0):
. (3.78)
Тогда, если точка x' является точкой минимума квадратичной функции Q(x) вдоль направления , а точка х" — точкой минимума этой же функции, полученной из другой начальной точки вдоль направления, параллельного направлению , то вектор (х" - х') является G -сопряженным с направлением :
. (3.79)
Геометрический смысл этого свойства квадратичной функции Q(x) заключается в том, что если точки минимума х' и x расположены на двух параллельных направлениях, то истинный минимум х* функции Q(x) следует искать вдоль направления (х'' - х'). При этом прямая (х'' - х'), проходящая через точку минимума х*, будет пересекать поверхности постоянного уровня квадратичной функции (Q(x) = const) под равными углами (рис. 3.9).
Рис. 3.9. Геометрическая интерпретация G-сопряженности направлений и (х'' - х') при минимизации квадратичной функции Q(х) = xTGx + (bT, х) + а
Обобщая полученный результат на случай нескольких ненулевых сопряженных направлений для квадратичной функции получаем, что, если, начиная с точки хk, по всем направлениям находятся точки минимума функции Q(x) (причем точка является точкой минимума вдоль последнего r-го направления ) то вектор будет G-сопряжен по всем r направлениям :
(3.80)
В случае квадратичной функции Q(x) построенное таким образом направление поиска оказывается сопряженным направлениям относительно гессиана G(xk).
Рассмотренный способ построения сопряженных направлений позволяет описать алгоритм F9 в виде следующей последовательности действий.
Задают начальное приближение х°, которое принимают за базовую точку для k-й итерации (k=1): хk = х°.
Направления поиска выбирают равными линейно-независимым координатным векторам li,:
Для всех i от 1 до n вдоль каждого направления решают одномерную задачу оптимизации:
Эта процедура позволяет получить траекторию поиска, которая заканчивается в точке:
Определяют направление , вдоль которого решают одномерную задачу оптимизации:
Строят новую совокупность текущих направлений поиска:
В качестве базовой точки хk + 1 следующего (k+1)-го итерационного шага выбирают точку все вычисления повторяют с шага 3.
Поиск заканчивается при выполнении условия:
Можно показать, что поиск точки минимума х* квадратичной функции Q(x) с помощью метода сопряженных направлений нулевого порядка заканчивается не более чем за n итераций, т.е. алгоритм F9 обладает квадратичной скоростью сходимости.