Читайте также: |
|
Решение задачи условной оптимизации путем преобразования целевой функции и приведение ее к задаче безусловной оптимизации с помощью методов штрафных функций, множителей Лагранжа или комбинированного метода Хестенса приводит к необходимости многократного повторения циклов безусловной оптимизации. Полное решение задачи условной оптимизации получается только в конце всей процедуры поиска. Если учесть, что время одного расчета целевой функции может достигать нескольких минут, то за приемлемое время счета (~ 3-5 часов) можно вообще не решить задачу условной оптимизации, т.е. минимизировать целевую функцию при достаточно точном выполнении ограничений. Для устранения указанного недостатка можно использовать метод разделения параметров, который основан на методе проективного градиента [23]. В этом методе на каждой итерации ограничения выполняются с заданной точностью, поэтому каждый промежуточный результат есть решение задачи, хотя и не самое оптимальное.
Наличие ограничений типа равенств V (X)=0 при решении задачи условной оптимизации позволяет в принципе разделить n поисковых параметров X на n-r независимых параметров A и r зависимых параметров B (базисных переменных), которые являются какими-то функциями от A, т.е.
B = y (A). (1.6.11)
Задача условной оптимизации сводится теперь к поиску таких значений параметров A *, которые бы соответствовали минимуму функции цели:
A *: mina(J(A, y (A)). (1.6.12)
Градиент от функции цели J по параметрам A можно определить как градиент от сложной функции:
(1.6.13)
Здесь нижний индекс определяет частные производные по соответствующим параметрам, значок «T»- транспонирование вектора или матрицы. При поиске минимума целевой функции будем так выбирать поисковое направление, чтобы значения ограничений не менялись хотя бы в близи начальной точки. Это означает, что направление поиска должно быть выбрано в плоскости касания поверхности равного уровня ограничений V =constÞ0 и направление поиска нужно рассчитывать исходя из проекции полного градиента на касательную плоскость к поверхности равного уровня ограничений, т.е. должно выполняться условие:
d V = V A×d A + V B×d B =0. (1.6.14)
Отсюда следует, что
B A=- V B-1× V A. (1.6.15)
Проекцию вектора градиента на гиперповерхность ограничений можно получить подстановкой (1.6.15) в (1.6.13):
(1.6.16)
Для определения характера функции y (A) можно использовать линейную часть разложения ограничений V (A, B) в ряд Тейлора относительно значений Ak, Bk:
(1.6.17)
Это линейная зависимость B от A. Можно уточнить эту зависимость не производя разложение ограничений в ряд по параметрам A. Тогда
(1.6.18)
дает нелинейную зависимость B от A.
Реализация формулы (1.6.18) приводит к необходимости для каждого нового значения A рассчитывать не только ограничения V (A, B k), но и значения обратной матрицы производных VB-1(A, B k), а это уже требует существенных затрат машинного времени. Можно пойти на компромисс и рассчитывать B по формуле:
(1.6.19)
которая дает тоже нелинейную приближенную зависимость B от A, но увеличивает время расчетов всего в 2 раза по сравнению с расчетом по формуле (1.6.17). Вначале рассчитываются значения V (A, B k), затем определяются B по формуле (1.6.19), которые уже используются для расчета J(A, B) при поиске минимума в заданном направлении.
Алгоритм метода разделения параметров в итоге состоит в следующем.
{{{ Начало алгоритма.
1) Разделяем все n поисковых параметров X на n-r независимых параметров A и r зависимых параметров B. Обычно это делается исходя из физической постановки задачи. Например, в задачах электроники СВЧ при оптимизации клистронов независимыми параметрами резонаторов могут быть добротность и расстройка резонаторов, а зависимыми напряженность ВЧ-поля и его фаза, а связывает их условия само согласования полей в резонаторах.
Задаемся какими-то начальными значениями A 0, B 0. Полагаем номер текущей итерации k=0 и,соответственно, A k= A 0, B k= B 0. Матрицу текущей метрики полагаем единичной матрице: Hk=I.
2) Для заданного значения A k находим такое значение вектора зависимых параметров B k, которое обращало бы ограничения в ноль с заданной точностью e, т.е. |V(Ak,Bk)|<e. Для этого можно, например, использовать метод Ньютона:
(1.6.20)
3) Для заданных значений A k, B k рассчитываются значения целевой функции J(A k, B k), ограничения V (A k, B k) и производные JA, JB, VA, VB. Расчет производных производится или методом конечных разностей или АУС-методом (см. раздел 1.8.2). Вычисляется полное значение градиента по формуле (1.6.16). Согласно алгоритму оптимизации с переменной метрикой пересчитывается матрица метрики Hk+1=Hk+Ek. На первой итерации Ek полагают равной нулю. Рассчитывается поисковое направление P k=-Hk+1× gradAJ(A k, B (A k)).
4) Производится поиск минимума целевой функции по параметрам A в заданном направлении P k:
A k+1: minaJ(A k+a× P k, B (A k+a× P k)). (1.6.21)
Значения зависимых параметров B при этом рассчитываются или по формуле (1.6.17) или (1.6.20). В последнем случае приходится пересчитывать целевую функцию и ограничения дважды - для параметров A k+a× P k, B k и A k+a× P k, B (A k+a× P k).
5) Если |Ak+1- A k| ³e, то полагаем A k= A k+1, B k= B (A k+1), k=k+1 и переходим опять к пункту 2), иначе заканчиваем процесс оптимизации.
}}} Конец алгоритма.
Дата добавления: 2015-11-14; просмотров: 64 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Метод штрафных функций | | | Проблема глобальной оптимизации |