- •Глава 1. Методы оптимизации в электронике свч
- •1.1 Классификация методов оптимизации
- •1.2 Методы одномерного поиска
- •1.2.1 Методы исключения интервалов
- •1.2.2 Методы полиномиальной аппроксимации
- •1.2.3 Методы с использованием производных
- •1.3 Методы оптимизации 0-го порядка
- •1.3.1 Метод покоординатного поиска
- •1.3.2 Метод Розенброка
- •1.3.3 Метод дск
- •1.3.4 Метод Пауэлла
- •1.3.5 Симплексный метод
- •1.4 Методы оптимизации 2-го порядка
- •1.4.1 Метод Ньютона
- •1.4.2 Метод Ньютона-Рафсона
- •1.5 Методы оптимизации 1-го порядка
- •1.5.1 Метод наискорейшего спуска
- •1.5.2 Метод Вольфа
- •1.5.3 Методы с переменной метрикой
- •1.6 Методы условной оптимизации
- •1.6.1 Метод множителей Лагранжа
- •1.6.2 Метод штрафных функций
- •1.6.3 Комбинированный метод Хестенса
- •1.6.4 Метод разделения параметров
- •1.7 Проблема глобальной оптимизации
- •1.8 Расчет производных
- •1.8.1 Конечно-разностный метод
- •1.9 Рекомендации по использованию методов оптимизации в задачах электроники свч и краткие выводы
1.6.2 Метод штрафных функций
С помощью штрафных функций исходная задача условной минимизации преобразуется в последовательность задач безусловной минимизации. Идея преобразования задачи с ограничениями в последовательность задач без ограничений представляется заманчивой главным образом в связи с наличием эффективных и надежных методов безусловной оптимизации.
Видоизмененная целевая функция может иметь следующий вид:
(1.6.5)
Добавка в целевой функции может иметь и другой вид, важно только чтобы она штрафовала функцию , т.е. увеличивала ее значение при нарушении ограничений V(X).
Коэффициент штрафа «С» в первом цикле безусловной оптимизации выбирается обычно не большим, так чтобы вес самой целевой функции J(X) был бы приближенно равен весу штрафного слагаемого в видоизмененной целевой функции (1.6.5). Проводится полный цикл безусловной оптимизации функции (1.6.5) по параметрам X*. В оптимальной точке X градиент от целевой функции (1.6.5) обращается в ноль:
(1.6.6)
В точке X* ограничения еще далеки обычно от нуля и для их большей притяжки к нулю увеличивают коэффициент штрафа С в несколько раз, например, Сl+!=2Сl, где l- номер текущего цикла оптимизации. С новым значением коэффициента штрафа выполняется опять процедура безусловной оптимизации новой целевой функции и т.д., до тех пор пока значения ограничений V(X) не станут меньше заданного значения. Следует отметить, что метод штрафных функций , в принципе, не позволяет найти точное решение задачи условной оптимизации, т.к. на ЭВМ нельзя разрешить неопределенность типа бесконечность на ноль - 0. Однако метод штрафных функций является очень устойчивым, хотя и не быстрым методом решения задач условной оптимизации.
1.6.3 Комбинированный метод Хестенса
Метод Хестенса [20] является комбинированным методом множителей Лагранжа и штрафных функций. Новая целевая функция записывается в виде:
(1.6.7)
В этом методе сочетаются достоинства двух методов, т.е. можно точно решить задачу условной оптимизации, как это допускает метод множителей Лагранжа, и гарантировать сходимость к решению, как это обеспечивает метод штрафных функций.
Градиент от новой целевой функции имеет вид:
(1.6.8)
В этом методе проводится несколько циклов минимизаций и множители Лагранжа пересчитываются по формуле:
(1.6.9)
Множитель штрафа «C» вначале выбирается таким образом, чтобы при уменьшении целевой функции уменьшались бы и ограничения, т.е. чтобы проекция градиента от целевой функции на направление градиента от ограничений была бы положительна:
откуда:
(1.6.10)
1.6.4 Метод разделения параметров
Решение задачи условной оптимизации путем преобразования целевой функции и приведение ее к задаче безусловной оптимизации с помощью методов штрафных функций, множителей Лагранжа или комбинированного метода Хестенса приводит к необходимости многократного повторения циклов безусловной оптимизации. Полное решение задачи условной оптимизации получается только в конце всей процедуры поиска. Если учесть, что время одного расчета целевой функции может достигать нескольких минут, то за приемлемое время счета (~ 3-5 часов) можно вообще не решить задачу условной оптимизации, т.е. минимизировать целевую функцию при достаточно точном выполнении ограничений. Для устранения указанного недостатка можно использовать метод разделения параметров, который основан на методе проективного градиента [23]. В этом методе на каждой итерации ограничения выполняются с заданной точностью, поэтому каждый промежуточный результат есть решение задачи, хотя и не самое оптимальное.
Наличие ограничений типа равенств V(X)=0 при решении задачи условной оптимизации позволяет в принципе разделить n поисковых параметров X на n-r независимых параметров A и r зависимых параметров B (базисных переменных), которые являются какими-то функциями от A, т.е.
B=(A). (1.6.11)
Задача условной оптимизации сводится теперь к поиску таких значений параметров A*, которые бы соответствовали минимуму функции цели:
A*: mina(J(A,(A)). (1.6.12)
Градиент от функции цели J по параметрам A можно определить как градиент от сложной функции:
(1.6.13)
Здесь нижний индекс определяет частные производные по соответствующим параметрам, значок «T»- транспонирование вектора или матрицы. При поиске минимума целевой функции будем так выбирать поисковое направление, чтобы значения ограничений не менялись хотя бы в близи начальной точки. Это означает, что направление поиска должно быть выбрано в плоскости касания поверхности равного уровня ограничений V=const0 и направление поиска нужно рассчитывать исходя из проекции полного градиента на касательную плоскость к поверхности равного уровня ограничений, т.е. должно выполняться условие:
dV=VAdA+VBdB=0. (1.6.14)
Отсюда следует, что
BA=-VB-1VA. (1.6.15)
Проекцию вектора градиента на гиперповерхность ограничений можно получить подстановкой (1.6.15) в (1.6.13) :
(1.6.16)
Для определения характера функции (A) можно использовать линейную часть разложения ограничений V(A,B) в ряд Тейлора относительно значений Ak, Bk :
(1.6.17)
Это линейная зависимость B от A. Можно уточнить эту зависимость не производя разложение ограничений в ряд по параметрам A. Тогда
(1.6.18)
дает нелинейную зависимость B от A.
Реализация формулы (1.6.18) приводит к необходимости для каждого нового значения A рассчитывать не только ограничения V(A,Bk ), но и значения обратной матрицы производных VB-1(A,Bk), а это уже требует существенных затрат машинного времени. Можно пойти на компромисс и рассчитывать B по формуле:
(1.6.19)
которая дает тоже нелинейную приближенную зависимость B от A, но увеличивает время расчетов всего в 2 раза по сравнению с расчетом по формуле (1.6.17). Вначале рассчитываются значения V(A,Bk), затем определяются B по формуле (1.6.19), которые уже используются для расчета J(A,B) при поиске минимума в заданном направлении.
Алгоритм метода разделения параметров в итоге состоит в следующем.
{{{ Начало алгоритма.
1) Разделяем все n поисковых параметров X на n-r независимых параметров A и r зависимых параметров B. Обычно это делается исходя из физической постановки задачи. Например, в задачах электроники СВЧ при оптимизации клистронов независимыми параметрами резонаторов могут быть добротность и расстройка резонаторов, а зависимыми напряженность ВЧ-поля и его фаза, а связывает их условия само согласования полей в резонаторах.
Задаемся какими-то начальными значениями A0, B0. Полагаем номер текущей итерации k=0 и ,соответственно, Ak=A0, Bk=B0. Матрицу текущей метрики полагаем единичной матрице: Hk=I.
2) Для заданного значения Ak находим такое значение вектора зависимых параметров Bk, которое обращало бы ограничения в ноль с заданной точностью , т.е. |V(Ak,Bk)|<. Для этого можно, например, использовать метод Ньютона:
(1.6.20)
3) Для заданных значений Ak ,Bk рассчитываются значения целевой функции J(Ak,Bk), ограничения V(Ak,Bk) и производные JA, JB, VA, VB. Расчет производных производится или методом конечных разностей или АУС-методом (см. раздел 1.8.2). Вычисляется полное значение градиента по формуле (1.6.16). Согласно алгоритму оптимизации с переменной метрикой пересчитывается матрица метрики Hk+1=Hk+Ek. На первой итерации Ek полагают равной нулю. Рассчитывается поисковое направление Pk=-Hk+1 gradAJ(Ak,B(Ak)).
4) Производится поиск минимума целевой функции по параметрам A в заданном направлении Pk:
Ak+1: minJ(Ak+Pk,B(Ak+Pk)). (1.6.21)
Значения зависимых параметров B при этом рассчитываются или по формуле (1.6.17) или (1.6.20). В последнем случае приходится пересчитывать целевую функцию и ограничения дважды - для параметров Ak+Pk, Bk и Ak+Pk, B(Ak+Pk).
5) Если |Ak+1-Ak| , то полагаем Ak=Ak+1, Bk=B(Ak+1), k=k+1 и переходим опять к пункту 2), иначе заканчиваем процесс оптимизации.
}}} Конец алгоритма.
