1391
.pdf121
где |
|
d j – |
длина |
шага |
по |
направлению |
|
S j . |
Новый |
набор направлений |
|||||||||
1 |
2 |
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
S , S , , S строится с помощью процедуры Грамма – Шмидта следующим |
|||||||||||||||||||
образом: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
S j , если d |
i |
0 |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A j n |
|
|
если di 0 , |
|
|||||||
|
|
|
|
|
|
|
|
|
|
di S i , |
|
||||||||
|
|
|
|
|
|
|
|
|
i j |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
A j , |
при j 0 , |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
B |
j |
|
|
j 1 |
|
i |
|
i |
|
|
(11.78) |
|||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
A j |
( A j )t |
S |
|
S |
, |
при j 2 |
, |
|||||
|
|
|
|
|
|
|
|
|
i 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S |
B j / |
B j |
|
, |
|
|
||||
где |
|
B j |
|
[( B j |
)t |
B j |
]1 / 2 - норма вектора. |
|
|
|
|||||||||
|
|
|
|
|
Пояснений требуют лишь формулы построения ортонормированных
векторов B j .
Так, в соответствии с процедурой ортогонализации Грамма – Шмидта, если известен набор векторов A1 , A2 , , An , то новая система
ортонормальных векторов B j строится как линейная комбинация этих векторов:
B1 A1 ,
B2 A2 21 A1 ,
j 1
B j A j ji Ai . i 1
Первый вектор новой системы берется, согласно (11.78), совпадающим
с первым вектором старой системы B1 A1 .
Следующие вектора определены как линейная комбинация предыдущих векторов старой системы. Для определения коэффициента 21
второго уравнения образуем произведение ( B2 )t B1 , в результате имеем
( B2 )t B1 ( A2 21 A1 )t B1 0 .
Отсюда получаем
21 [( A2 )t B1 ] /[( A1 )t B1 ] [( A2 )t B1 ] /[( B1 )t B1 ] .
В результате второй вектор новой системы запишется
B2 A2 [( A2 )t B1 ] /[( B1 )t B1 ] A1 ,
или учитывая, что A1 B1 и выражение для нормы вектора, можем записать
122
B2 A2 |
[( A2 |
1 |
1 |
)t B ] B . |
Производя аналогичные операции с последующими уравнениями,
получаем следующее обобщенное выражение
j 1 |
i |
i |
B j A j [( A j )t B ] B , |
i 1
что полностью объясняет процедуру формирования новой системы векторов из (11.78). Нормировку, вновь образованных векторов, можно производить последовательно в процессе получения либо в конце процедуры.
Алгоритм Розенброка с линейным поиском по направлению.
Приведем теперь алгоритм Розенброка, использующий линейный поиск по направлению для минимизации функций нескольких переменных.
Начальный этап. Пусть 0 – скаляр, используемый в условии остановки. Выбираем в качестве S1 , S 2 , , S n исходные направления поиска, обычно это столбцы единичной матрицы. Задаѐмся начальным значением X 1
, полагаем Y1 X 1 , |
j k 1 , где j – номер направления поиска, |
k – номер |
||||||||||||||
итерации и переходим к основному этапу. |
|
|
|
|
|
|
||||||||||
Основной этап: |
|
|
|
|
|
|
|
|
|
|
|
|||||
Шаг 1. |
|
Найти |
d j - оптимальное решение задачи минимизации |
|||||||||||||
F( Y j d |
j |
S j ) |
в |
|
заданном |
направлении |
и |
положить |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y j 1 Y j |
d |
j |
S j . Если j n , то j j 1 и вернуться к шагу 1, иначе |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
перейти к шагу 2. |
|
|
|
|
|
|
|
|
|
|
|
|||||
Шаг 2. Положить X k 1 Y n 1 - последний вектор, |
найденный на |
|||||||||||||||
первом |
шаге. |
Если |
|
X k 1 X k |
|
, |
то |
остановиться, |
в |
противном |
||||||
|
|
|||||||||||||||
случае |
положить |
Y 1 X k 1 , заменить |
k k 1 , |
положить |
j 1 и |
перейти к шагу 3.
Шаг 3. Построить новое множество линейно независимых и ортонормированных направлений в соответствии с (11.78). Обозначить
новые направления через S1 , S 2 , , S n и вернуться к шагу 3.
Как видно из приведенного алгоритма, при его реализации необходимо запоминать текущие направления и значения оптимальных шагов одномерных поисков, из которых в соответствии с первой частью выражений (11.78), строятся предварительные вектора новых направлений, ортогонализуемые затем с помощью процедуры Грамма - Шмидта.
Дискретный вариант алгоритма Розенброка. Теперь рассмотрим алгоритм Розенброка с дискретным шагом. Как уже отмечалось, предложенный Розенброком метод не использует одномерную минимизацию, вместо этого
123
по ортогональным направлениям делаются дискретные шаги, длина которых меняется в зависимости от знания целевой функции в текущей точке.
Приведем алгоритм этого варианта метода. |
|
|
|
||
Начальный этап. Выбрать |
число 0 , для |
остановки |
алгоритма, |
||
коэффициент |
растяжения 1 , |
обычно |
3 и |
коэффициент сжатия |
|
( 1, 0 ), |
обычно 0.5 . Взять в |
качестве |
S1 , S 2 , , S n |
исходные |
направления поиска, обычно это столбцы единичной матрицы и выбрать
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 , 2 , , n |
0 - |
начальную длину шага вдоль каждого из направлений, |
||||||||||||||||||||||||
например 5% от номинального значения. Выбрать начальную точку |
X 1 , |
|||||||||||||||||||||||||
положить Y1 X 1 , |
j k 1 , |
|
где j - номер направления поиска, k - |
номер |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
итерации. Положить j j |
|
для всех |
|
j и перейти к основному этапу. |
|
|
|
|||||||||||||||||||
|
Основной этап: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
Шаг |
1. |
Если |
F( Y j |
j |
S j |
) F( Y j ), |
то |
шаг |
по |
|
j - |
|
му |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
направлению |
считается |
успешным. |
Положить Y j 1 Y j |
j |
S j |
и |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
заменить |
|
j |
на |
j |
. Если |
|
же |
F( Y j |
j |
S j ) F( Y j ), то |
шаг |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
считается неудачным, |
при этом положить Y j 1 |
Y j |
и |
j |
заменить на |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j . Если |
j n , то |
j j 1 и повторить шаг 1, в противном случае, |
||||||||||||||||||||||
|
т.е. при j n , перейти к шагу 2. |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
Шаг 2. Если F( Y n 1 ) F( Y 1 ), |
т.е. если хотя бы один спуск по |
||||||||||||||||||||
|
направлениям на шаге 1 оказался успешным, |
то положить Y 1 Y n 1 - |
||||||||||||||||||||||||
|
последний вектор найденный на первом шаге, |
j 1 и повторить шаг 1. |
||||||||||||||||||||||||
|
Пусть F( Y n 1 |
) F( Y 1 ), т.e. если каждый из n последних спусков по |
||||||||||||||||||||||||
|
направлениям на шаге 1 были неудачными. Если F( Y n 1 |
) F( Y 1 ), |
т.е. |
|||||||||||||||||||||||
|
по крайней мере, один удачный спуск встретился в течение |
|
k - |
той |
||||||||||||||||||||||
|
итерации на шаге 1, то перейти к шагу 3. Если F( Y n 1 ) F( X k ) , т.е. |
|||||||||||||||||||||||||
|
не было ни одного удачного спуска по направлениям, то остановиться. |
|||||||||||||||||||||||||
|
При этом |
X k |
является приближенным оптимальным решением, если |
|||||||||||||||||||||||
|
|
|
j |
|
|
для |
|
всех |
j . |
|
|
В противном случае |
положить |
Y 1 Y n 1 – |
||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
последний вектор найденный на первом шаге, |
j 1 и перейти к шагу 1. |
||||||||||||||||||||||||
|
|
|
|
|
Шаг 3. Положить X k 1 Y n 1 - последний вектор, найденный на |
|||||||||||||||||||||
|
первом |
шаге. |
Если |
|
X k 1 X k |
, то остановиться; |
в |
противном |
||||||||||||||||||
|
случае, вычислить d1 , d2 , , dn из соотношения X k 1 |
|
|
n |
|
|
|
|
||||||||||||||||||
|
X k |
d j |
S j , |
j 1
построить новые направления, в соответствии с (11.78), обозначить их
124
через S1 , S 2 |
|
j , положить Y 1 X k 1 , |
, , S n , положить j j для всех |
заменить k k 1 , положить j 1 и перейти к шагу 1. |
|
|
Заметим, что |
дискретные шаги выбираются вдоль n направлений |
|
поиска на шаге 1. |
Если движение вдоль S j оказалось успешным, то |
|
|
|
j |
заменяется на j , если же на этом направлении постигла неудача, то |
j |
заменяется на j . Так как 0 , то неудача приводит к сдвигу в обратном направлении вдоль j - го вектора на следующей реализации шага 1. Отметим
также, что шаг 1 повторяется до тех пор, пока неудача будет иметь место при спуске по каждому из направлений поиска. В случае, когда все направления поиска оказались неуспешными, строятся новые направления поиска, в соответствии с процедурой Грамма - Шмидта.
Прямые методы поиска, имеют меньшую скорость сходимости и реализуются в случае простых задач, однако на практике могут оказаться более удовлетворительными с точки зрения пользователя и решение задач с их помощью может обойтись дешевле.
Метод сопряженных градиентов. Как уже отмечалось в третьем подразделе настоящего раздела, что с понятием квадратичной формы тесно связано понятие сопряженных направлений, основанное на положительной определенности матрицы G . Два направления характеризуемые векторами
S i |
и S j |
считаются сопряженными относительно |
положительно |
|
определенной матрицы G , если |
|
|
||
|
|
( S i )t G S j 0 , |
(11.79) |
|
при |
i j . |
Условие сопряжения |
напоминает условие |
ортогональности |
векторов S i |
и S j |
|
|
|
|
|
( S i )t |
S j 0 , |
(11.80) |
где матрица G , подразумевается единичной. Это дает основание воспользоваться для выбора сопряженных направлений известной процедурой Грамма - Шмидта для ортогонализации пространства векторов,
подразумевая вектор G S j , ортогональным вектору S i |
|
( S i )t ( G S j ) 0 . |
(11.81) |
Первое направление поиска выбирается так же, как и ранее, противоположным направлению градиента в исходной точке, а последующие векторы градиента являются линейными комбинациями векторов предварительно выбранных направлений
125
F 0 S 0 ; |
|
F1 S1 K |
S 0 ; |
10
k
F k S k Ki , k 1 S i 1 ,
i 1
(11.82)
где 1 k n 1 .
Так как первое направление поиска определено, второе направление находится из обобщѐнного условия ортогональности (11.81)
( F1 )t G S 0 ( S1 K10 S 0 )t G S 0 0 .
Коэффициент K10 можно рассчитать из выражения
K10 [( F1 )t G S 0 ] / [( S 0 )t G S 0 ] ,
если известна матрица G .
Подставив найденный коэффициент во второе уравнение системы (11.82), определяем первое направление за исходным направлением
S1 F1 [( F1 )t G S 0 )] / [( S 0 )t G S 0 ] S 0 .
Из последующих уравнений (11.82) определим коэффициенты Kij , путѐм
последовательного умножения на предыдущие выделенные направления и используя обобщѐнное условие ортогональности
Kij [( F i )t G S j ] / [( S j )t G S j ] , |
(11.83) |
где j 0 ,1, , i 1 .
Соответственно, новое сопряжѐнное направление определиться из выражения
S i F i [( F i )t G S 0 )] / [( S 0 )t G S 0 ] S 0
(11.84)
[( F i )t G S i 1 ] / [( S i 1 )t G S i 1 ] S i 1 .
Таким образом, для вычисления нового сопряженного направления
поиска необходимо уметь вычислять вектор градиента в текущей точке F i и матрицу Гессе G .
Поскольку в общем случае матрица G не известна, будем заменять матрицу G во всех выражениях значениями градиентов в соответствующих точках, предполагая квадратичность функции. В частности, воспользуемся (11.40), переписав его в виде
G S i ( F i 1 F i ) / d |
. |
(11.85) |
i |
|
|
Подставляя (11.85) в (11.83), получаем |
|
|
Kij [( F i )t ( F j 1 F j )] /[( S j )t ( F j 1 |
F j )] . |
Учитывая условие ортогональности направления поиска и сопряженности градиента (11.48), а также тот факт, что в окрестности минимума градиенты в соседних точках минимума практически ортогональны, т.е. следующее
126
направление поиска совпадает с направлением градиента в предыдущей точке, видим, что практически отличными от нуля будут коэффициенты Kij ,
при j i 1
Ki ,i 1 [( F i )t F i ] /[( S i 1 )t |
F i 1 ] . |
|
Теперь рассмотрим произведение ( S k )t F k . Согласно (11.82) |
|
|
k |
|
|
S k F k Ki ,k 1 S i 1 . |
|
|
i 1 |
|
|
Образуя рассматриваемое произведение, получим |
|
|
k |
|
|
( S k )t F k [ F k Ki ,k 1 S i 1 ]t F k . |
|
|
i 1 |
|
|
Учитывая условия сопряжения (11.79), получаем |
|
|
( S k )t F k ( F k )t F k . |
|
(11.86) |
В результате, коэффициенты разложения по ортогональным |
|
|
направлениям, запишутся |
|
|
i Ki , i 1 [( F i )t F i ] /[( F i 1 )t |
F i 1 ] , |
(12.87) |
что полностью соответствует полученному ранее соотношению (11.51), с учѐтом знаков коэффициентов в (11.47) и (11.82). Используя (11.82) и (11.87), перепишем соотношение (11.84) в виде
S i F i |
i |
S i 1 |
, |
(11.88) |
|
|
|
|
которое для определения нового направления не требует вычисления матрицы Гессе.
Обобщим изложенный материал, представив общий алгоритм, метода сопряжѐнных градиентов.
1.Полагаем k 0 и выбираем точку начального приближения X 0 , полагая S 0 F( X 0 ).
2.Вычислим F( X k ) и F( X k ) при k 0 .
3.Определяем направление поиска
S k F( X k ) [( F k )t F k ] /[( F k 1 )t F k 1 ] S k 1
и нормируем вектор направления поиска к единичной длине S k S k / S k .
4. |
В направлении поиска S k найдем длину шага d k такую, что или |
||||||
|
|
|
F( X k d |
k |
S k |
) F( X k ) , |
|
|
|
|
|
|
|
|
|
или функция F( X k d |
k |
S k ) минимальна в направлении S k . |
|||||
|
|
|
|
|
|
|
|
5. |
Вычислим: |
|
|
|
|
|
|
|
|
|
X k d |
k |
S k ; |
||
|
|
|
|
|
|
|
X k 1 X k X k .
127
6. Если |
|
F( X k 1 X k ) |
|
|
1 |
и |
|
X k |
|
|
2 |
, то процесс сошелся, иначе |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
положим k k 1 и перейдем к шагу 2.
Применение соотношений (11.87) и (11.88) для не квадратичной функции, обеспечивает линейную сходимость, до тех пор, пока направление поиска не начнет периодически повторятся.
Рассмотренный алгоритм прост для реализации и требует умеренный объем оперативной памяти, необходимо запоминать только предыдущее направление поиска и предыдущий градиент. Этот алгоритм часто используют для задач, имеющих большое число переменных. В литературе данный метод известен под названием метода сопряженного градиента Флетчера и Ривса. Известны и другие версии метода сопряжѐнного градиента с лучшей сходимостью, но требующие несколько большей памяти. При этом модификации подвергается формула определения направлений поиска (11.87) и изменяется последовательность шагов алгоритма.
Вариант алгоритма, использующий соотношения (11.83) и (11.84), практически не используется из-за необходимости вычисления матрицы Гессе G .
Таким образом, метод сопряженных направлений основан на использовании условия сопряжения, для выбора очередного направления поиска, причем, используя предположение о квадратичности целевой функции, из конечных выражений, исключается матрица Гессе и остается лишь информация о градиентах в предыдущей и текущей точках.
Метод Дэвидона-Флетчера-Пауэла. Как уже отмечалось, существует класс методов, называемых квазиньютоновскими или градиентными, с большим шагом, которые аппроксимируют матрицу Гессе или обратную к ней, используя информацию о первых производных.
Исходным моментом обоснования метода является разложение целевой функции F( X ) в ряд Тейлора с удержанием первых трех членов ряда и
записи его в виде
F( X k X ) F( X k |
) ( X k ) F k 1 / 2 ( X k ) G k X . |
(11.89) |
|||||
Найдем минимум разности, стоящей в левой части, дифференцируя |
|||||||
(11.89) по X и приравнивая результат к нулю |
|
||||||
[ F( X k X ) F( X k )] / X F k G k X 0 , |
|
||||||
откуда |
|
|
|
|
|
|
|
|
|
|
|
G k X F k , |
(11.90) |
||
Формально решение (11.90) можно записать |
|
||||||
X ( G k ) 1 F k H k F k , |
(11.91) |
||||||
где H G 1 . Направление поиска теперь полагаем совпадающим с вектором |
|||||||
d |
k |
S k X k H k F k , |
(11.92) |
||||
|
|
|
|
|
|
|
|
откуда новое значение вектора X можно записать в виде |
|
||||||
X k 1 X k d |
k |
S k X k d |
k |
H ( X k ) F( X k ). |
(11.93) |
||
|
|
|
|
|
|
128
В данном методе матрица H ( X k ) является аппроксимацией обратной матрицы Гессе ( G k ) 1 и часто называется матрицей направлений. Для
аппроксимации обратной матрицы Гессе используются различные соотношения, не требующие вычисления вторых частных производных F( X ) и обращения матрицы.
Вспомним соотношение (11.38), справедливое для квадратичных функций, и перепишем его в виде
F( X k 1 |
) F( X k ) G( X k ) ( X k 1 X k ). |
(11.94) |
Формальное решение (11.94) запишется |
|
|
( X k 1 X k |
) H ( X k ) [ F( X k 1 ) F( X k )] , |
(11.95) |
где H ( X k ) G 1 ( X k ). Вводя обозначения |
|
|
|
X k X k 1 X k , |
|
|
Qk F k 1 F k , |
|
соотношение (11.95) перепишем в виде |
|
|
|
X k H ( X k ) Qk . |
(11.96) |
Отметим, что для квадратичной функции F( X ) матрицы G и H постоянны,
поэтому (11.96) можно рассматривать как систему, используемую для оценки H( X ) , при известных значениях F( X ) , F( X ) и X . Для решения этой
системы могут быть использованы различные методы, каждый из которых приводит к различным методам переменной метрики.
В довольно большой группе методов G 1 ( X k 1 ) аппроксимируется с
помощью векторов градиента и приращений, полученных на предыдущем шаге
G 1 ( X k 1 ) H ( X k 1 ) [ H k H k ] , |
(11.97) |
где H k – искомая матрица, а - масштабный множитель, константа, обычно равная единице. Выбор H k , по существу, определяет метод переменной
метрики. Для обеспечения сходимости H k 1 |
должна быть положительно |
|
определѐнной и удовлетворять уравнению (11.96). |
|
|
Пусть на ( k 1 ) - ом шаге известны |
X k , F k , F k 1 , |
H k и |
необходимо определить H k 1 , удовлетворяющую соотношению |
|
|
H k 1 Qk 1 / X k . |
(11.98) |
|
Так как H k H k 1 H k , то уравнение (11.98) перепишется в виде |
|
|
H k Qk 1 / X k H k |
Qk . |
(11.99) |
Прямой подстановкой результата, можно показать, что уравнение (11.99) |
||
имеет следующее решение |
|
|
H k 1 / X k Y t /( Y t Qk ) H k Qk Z t /( Z t Qk ), |
(11.100) |
129
где Y и Z – произвольные векторы размерности n . Если при 1 / 1
выбирается специальная линейная комбинация двух |
направлений X k и |
H k Qk , а именно |
|
Y Z X k H k Qk , |
(11.101) |
то это соответствует, так называемому, алгоритму в модификации Бройдена. При этом (11.100) перепишется в виде
H k ( X k H k Qk ) ( X k H k Qk )t /[( X k H k Qk )t Qk ] .
|
(11.102) |
Если же комбинация удовлетворяет соотношениям |
|
Y X k , |
(11.103) |
Z H k Qk , |
(11.104) |
то H k 1 , с учѐтом (11.100), запишется в виде |
|
H k 1 H k X k Y t /( Y t Qk ) H k Qk Z t /( Z t Qk ) , |
(11.105) |
что и соответствует описываемому алгоритму Дэвидсона-Флетчера-Пауэла. Допустимы и другие подстановки векторов, на которых мы не будем
останавливаться. Если шаги X k определяются последовательно путѐм минимизации F( X ) в направлении S k , то все методы, с помощью которых
вычисляют симметрическую матрицу H k 1 , удовлетворяющую (11.98), для квадратичной функции дают взаимно сопряжѐнные направления.
Метод Дэвидона-Флетчера-Пауэла попадает в общий класс квазиньютоновских процедур, в которых направления поиска задаются в
виде H k F k , т.е. совпадают с направлением градиента, отклонѐнным в результате умножения на H k . На следующем шаге, матрица направлений
H k 1 представляется, в виде суммы двух симметрических матриц, ранга 1 каждая. В связи с этим данная модификация алгоритма называется схемой
коррекции ранга 2 . |
|
|
|
Рассмотрим |
конкретно |
алгоритм |
Дэвидона-Флетчера-Пауэла |
минимизации дифференцируемой функции нескольких переменных. Как уже отмечалось, если функция квадратичная, то метод вырабатывает сопряженные направления и останавливается после выполнения одной итерации, т.е. после поиска вдоль каждого из сопряженных направлений.
Алгоритм включает в себя два этапа: |
|
|
|
|||||
Начальный |
этап. Пусть |
0 – |
константа для |
остановки. |
Положить |
|||
j k 0 , где |
j – |
номер |
текущего |
направления, |
а |
k – номер |
итерации. |
|
Выбрать начальную точку X 0 |
и симметричную начальную положительно |
|||||||
определѐнную |
матрицу |
H 0 , |
например, равную |
единичной |
и принять |
|||
Y 0 X 0 и перейти к основному этапу. |
|
|
|
|||||
Основной этап. |
|
|
|
|
|
|
130
Шаг |
1. |
Если |
F( Y j ) |
, |
|
то |
остановиться, в противном случае, |
|||||||
положить |
S j H j F( Y j |
) и взять в качестве |
d |
j |
оптимальное решение |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
задачи минимизации |
F( Y j |
d |
j |
S j |
), |
при d 0 . |
Если |
j n , то перейти к |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
шагу 2. Если |
j n 1 , то |
положить |
Y 0 X k 1 |
Y n – |
последний вектор, |
|||||||||
найденный на первом шаге, заменить k |
на k 1 , положить j 1 и повторить |
|||||||||||||
шаг 1. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Шаг 2. Построить H j 1 , следующим образом |
|
|
|
|
||||||||||
H j 1 H j Y j ( Y j )t /[( Y j )t |
Q j ] Z j ( Z j |
)t /[( Z j )t Q j ] , |
||||||||||||
где |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y j d |
j |
S j X j , |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Z j H j Q j H j [ F( Y j 1 ) F( Y j )] . |
||||||||||||
Заменить |
j j 1 и перейти к шагу 1. |
|
|
|
|
|
Таким образом, метод Дэвидона-Флетчера-Пауэла основан на аппроксимации обратной матрицы Гессе, входящей в выражение для нового направления поиска, исходя из предположения о квадратичности целевой функции.
Рассмотренный нами набор алгоритмов прямых и градиентных методов оптимизации позволяет достаточно эффективно решать практические задачи. Методы оптимизации могут быть использованы, как на этапе уточнения моделей сложных элементов электронных схем по измеренным характеристикам, так и для получения наиболее эффективных схемных решений РЭА.