 
        
        Основы автоматизированного проектирования радиоэлектронных устройств (часть 2)
..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
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. | 
 | 
 | 
 | 
 | 
 | ||||||||
Таким образом, метод Дэвидона-Флетчера-Пауэла основан на аппроксимации обратной матрицы Гессе, входящей в выражение для нового направления поиска, исходя из предположения о квадратичности целевой функции.
Рассмотренный нами набор алгоритмов прямых и градиентных методов оптимизации позволяет достаточно эффективно решать практические задачи. Методы оптимизации могут быть использованы, как на этапе уточнения моделей сложных элементов электронных схем по измеренным характеристикам, так и для получения наиболее эффективных схемных решений РЭА.
