Перейти к основному содержимому

Пример 4. Систематический глобальный (DIRECT-L) на волноводной модели

  • Файл: 04_SystematicGlobal_DIRECT-L.gma
    (Каталог: Sources/Files/Examples/Optimization/)
  • Модель: G12
  • Переменных: 7
  • Бюджет: 400

Связанные страницы:

Ниже показана геометрия модели: Геометрия модели

Задача

Согласовать коаксиальный вход SMA 50 Ом с волноводом WR-90 в полосе 8,2–12,4 ГГц. Волновод возбуждается штырьевым зондом - продолжением центрального проводника коаксиала; на конце зонда утолщение, за зондом закоротка, перед выходным портом индуктивная диафрагма толщиной 1,0 мм.

Задача закрытая: излучения нет, внешняя граница образована листами стенок.

СвойствоЗначение
ВолноводWR-90, a = 22,86 мм, b = 10,16 мм, f_c(TE10) = 6,557 ГГц
Полоса8,2–12,4 ГГц, одномодовая
КоаксиалSMA, r_i = 0,635 мм, r_o = 2,13 мм, PTFE εr = 2,1
Проводникистенки, оболочка, зонд и утолщение - листы нулевой толщины; диафрагма - тело толщиной 1,0 мм; идеальный проводник
Порт 1аналитический коаксиальный, мода TEM, Z = (59,95/√εr)·ln(r_o/r_i) = 50,1 Ом
Порт 2аналитический прямоугольный, мода TE10
Нормировка S50 Ом
Симметриямагнитная стенка при x = a/2: зонд центрирован и окно диафрагмы центрировано

Развёртка быстрый (интерполяционный) метод, шаг 0,001 ГГц, диапазон 8,2–12,4 ГГц - 4201 выборка, как и во всех остальных проектах набора.

Почему в модели три элемента, а не один зонд

Полоса 8,2–12,4 ГГц - это 41 % относительной ширины, и волноводная длина волны по ней меняется вдвое:

Частотаλg, ммλg/4, мм
8,260,8915,22
10,337,749,44
12,428,497,12

Закоротка работает тем, что за два прохода набегает 180° и в плоскости зонда получается высокий импеданс. Расстояние одно, требуемое меняется в 2,14 раза - условие выполняется ровно на одной частоте. Зонд с закороткой даёт один резонанс, и никакой бюджет из него второго не сделает.

Поэтому в модели два дополнительных элемента, и работают они по-разному:

  • диафрагма - согласующий элемент, разнесённый с зондом в пространстве. Она даёт второй полюс и позволяет приблизиться к пределу, заданному нагрузкой;
  • утолщение на конце зонда снижает добротность самой нагрузки, то есть поднимает этот предел.

Различие принципиальное, и проверяется оно числом - см. Ресурс полосы ниже.

Переменные

ОбозначениеПараметрТипСтартДиапазонШагЦентр диапазона
d_shortзонд - закоротка, ммнепрерывная7,006,00–18,00-12,00
l_probeполная глубина зонда от листа стенки, ммнепрерывная4,003,00–9,40-6,20
r_probeрадиус стержня зонда, ммс шагом0,500,40–1,600,051,00
l_capдлина утолщения, ммнепрерывная1,800,30–2,00-1,15
r_capрадиус утолщения, ммнепрерывная4,002,00–4,20-3,10
d_irisось зонда - средняя плоскость диафрагмы, ммнепрерывная6,006,00–24,00-15,00
w_irisширина окна диафрагмы, ммнепрерывная19,0016,00–21,50-18,75

Подписи узлов: d_short [6..18] мм, l_probe [3..9.4] мм, r_probe [0.4..1.6, step 0.05] мм, l_cap [0.3..2] мм, r_cap [2..4.2] мм, d_iris [6..24] мм, w_iris [16..21.5] мм.

Границы заданы геометрией и физикой:

  • l_probe ≤ 0,93·b = 9,45 мм - иначе зазор до противоположной стенки падает ниже 0,7 мм и сетка вырождается;
  • l_cap ≤ 2,00 при l_probe ≥ 3,00 гарантирует стержень не короче 1,0 мм. Связей между переменными движок не поддерживает, поэтому геометрическая корректность обеспечивается границами, а не условием;
  • r_cap от 2,00 мм - всегда больше максимального r_probe = 1,60, поэтому утолщение не может оказаться уже стержня ни при каких значениях;
  • w_iris ≤ 21,50 - на створку диафрагмы остаётся 0,68 мм при толщине тела 1,0 мм. Нижняя граница 16,00 задана не геометрией, а проводимостью: B/Y0 окна равна −(λg/a)·ctg²(πw/2a) и меняется по диапазону 16,0–21,5 от 0,43 до 0,015, то есть от заметного шунта до практически выключенной диафрагмы. Ниже 16 мм шунт слишком силён и окно только отражает;
  • d_iris от 6,00 мм - клиренс между утолщением (r_cap до 4,20) и ближней гранью диафрагмы; до 24,00 мм - второй резонатор хочет около λg/4, а это от 7,1 до 15,2 мм по полосе, и диапазон должен перекрывать весь разброс.

Фиксировано: l_c = 4,0 мм (коаксиальный отрезок до порта; на затухание высших типов от скачка у стенки нужно не менее 3 мм), x_off = 0, отверстие в листе широкой стенки 2·r_o = 4,26 мм (это диаметр: r_o = 2,13 - радиус), t_iris = 1,0 мм, L_wg = 60,0 мм.

Стартовая точка заведомо расстроена: короткий зонд с грубым утолщением, d_short далеко от λg/4 = 9,93 мм на центре полосы, диафрагма почти прозрачна.

d_iris отсчитывается до средней плоскости диафрагмы, а не до её грани: именно эта плоскость входит в эквивалентную схему как положение второй реактивности.

Диапазон d_short несимметричен намеренно

Систематический глобальный стартовую точку игнорирует и первый расчёт всегда делает в центре диапазонов. При симметричном диапазоне 6,0–14,0 центр равен 10,0 мм и практически совпадает с λg/4 = 9,93 - метод попал бы в окрестность решения первым же расчётом. Диапазон расширен до 18,0, и центр ушёл на 12,00 мм.

Отсюда правило, полезное при любой постановке с этим методом: диапазоны надо задавать так, чтобы их центр не совпадал с ожидаемым оптимумом, иначе результат характеризует не метод, а удачу разметки. Правило применено к d_short, где ожидаемое положение известно заранее; для остальных шести осей подгонять центр смысла нет - при семи переменных первая проба это центр по всем осям сразу, и совпадение по одной из них ничего не решает.

Цели

ВеличинаУсловиеЗначениеЕдиницыПолосаВесЖёсткое ограничение
1S-параметр (1,1)Минимизировать-дБ8,2–12,4 ГГц1недоступно
2S-параметр (1,1)Меньше−20дБ8,2–12,4 ГГц1да, допуск 0,002

Подписи целей: min S([1] Коаксиальный волновой порт(1)) [8.2; 12.4] ГГц и S([1] Коаксиальный волновой порт(1)) [8.2; 12.4] ГГц < -20 dB.

Свёртка целей - Сумма. Агрегация по полосе - Сглаженный максимум.

Обе цели поставлены на одну и ту же величину, и это не дублирование. Первая задаёт критерий: у согласования перехода нет естественного порога, «хорошо» - это столько, сколько позволит геометрия. Вторая задаёт приёмку: −20 дБ во всей полосе - то требование, по которому переход либо годен, либо нет.

Допуск ограничения 0,002 задан в линейных единицах величины: цель введена в децибелах, а допуск - нет, он берётся как есть. Соответствующий уровень печатается сводкой рядом, в двойной записи.

Порог −20 дБ проверен на достижимость до того, как стал ограничением. Приём тот же, что в примерах 5, 8 и 10: сначала прогон с одной экстремальной целью измеряет предел топологии, затем порог ставится по измеренному. Здесь предел равен −27,8 дБ, и запас 7,8 дБ оправдан: −20 дБ - отраслевое требование к переходу, а не подогнанное число. Разбраковку по нему прогон всё равно делает - допустимая область находится не сразу.

Настройки метода

ПолеЗначение
МетодСистематический глобальный (DIRECT-L)
Бюджет расчётов400
Равномерное покрытиевыкл - это и есть режим DIRECT-L
Останов без улучшения0 - выключен
Свёртка целейСумма
Агрегация по полосеСглаженный максимум

Автоматический бюджет при n = 7 равен 140, и этого мало: только на первичный обход осей уходит 2n + 1 = 15 расчётов.

Порог стагнации выключен намеренно. У этого метода нет собственного критерия сходимости, и порог - единственное, что может завершить прогон раньше бюджета. Но он обязан превышать естественный разброс интервалов между рекордами с запасом: у семимерного деления эти интервалы доходят до полусотни расчётов, и порог, равный типичному разрыву, убивает прогон в момент, когда метод только вошёл в режим уточнения. Когда разброс заранее неизвестен, надёжнее порог выключить и ограничиться бюджетом; стартовый рапорт выдаст об этом подсказку.

Поля точности по параметрам у метода нет намеренно: такой критерий потребовал бы раздробить всю область ниже допуска по каждой из семи осей. Поля зерна ГСЧ тоже нет - метод полностью детерминирован.

Что печатает стартовый рапорт

Этот пример - единственный в наборе, где рапорт выдаёт замечания двух разных категорий сразу:

Несовместимо: Метод не поддерживает жёсткие ограничения; цели-ограничения свёрнуты в целевую функцию как взвешенные штрафы.

Примечание: У этого метода нет собственного критерия сходимости, а порог останова без улучшения выключен, поэтому прогон израсходует весь бюджет расчётов даже после того, как перестанет улучшаться; задайте порог останова без улучшения на странице метода, чтобы остановиться раньше.

Несовместимо - о постановке: то, что нельзя выполнить как задумано, и что будет сделано вместо этого. Примечание - совет: то, что выполнимо, но, вероятно, не то, что вы хотели. Ни то ни другое прогон не останавливает.

Пояснения

Ограничение поставлено методу, который его не поддерживает

Ограничения соблюдают штатно только Поиск с ограничениями, Адаптивная эволюция и конвейер с локальным этапом COBYLA. Систематический глобальный в этот список не входит, поэтому цель-ограничение сворачивается в целевую функцию взвешенным штрафом.

Работать при этом перестаёт не всё. Из трёх механизмов ограничения два остаются:

МеханизмПри DIRECT-L
ограничение передаётся движку отдельно от Fнет - сворачивается в штраф
вердикт по M_g, колонка «Нарушение», статус «недопустимо»да
отбор лучшей точки среди допустимыхда

Практически это видно как переключение режима целевой функции. Пока ограничение нарушено, штраф в F велик и ведёт поиск - он и вытягивает переход из полного рассогласования. Как только уровень достигнут во всей полосе, штраф обращается в нуль, и F становится просто вкладом экстремального критерия, поделённым на суммарный вес набора. То есть постановка сама переключается с «войти в допустимую область» на «улучшать согласование».

Работает это потому, что ограничение и критерий тянут в одну сторону: и то и другое требует меньшего отражения. Если бы ограничение конкурировало с критерием, свёрнутый штраф позволил бы его нарушить в обмен на выигрыш по критерию, и метод пришлось бы менять на Адаптивную эволюцию.

Проверять допустимость лучшей точки надо отдельно. Когда несколько шагов имеют одно и то же значение F, среди них могут оказаться и допустимые, и недопустимые. Смотрите, нет ли у лучшей точки пометки недопустимо; если она есть, а среди шагов с тем же F есть непомеченные, выберите такой шаг и запишите его кнопкой «Применить к модели».

Ресурс полосы и как им пользоваться

Согласование в полосе - ресурс ограниченный, и его величину можно измерить одним числом: ∫ln(1/|Γ|)df по полосе цели. Оптимизатор этот ресурс перераспределяет, но не создаёт: у откликов одной и той же топологии интеграл держится в узком коридоре, как бы ни менялась форма кривой.

Отсюда прямой счёт того, что требование вообще выполнимо. Для уровня L во всей полосе шириной Δf нужен ресурс не меньше Δf·ln(1/L): здесь для −20 дБ это 4,2·ln 10 = 9,67 непер·ГГц. Найденная конструкция даёт 17,0, то есть почти двукратный запас, а плоский эквивалент имеющегося ресурса равен −35,2 дБ.

Это готовый приём для собственных задач. Если прогон упёрся, возьмите несколько лучших откликов и посчитайте по ним интеграл. Форма кривых разная, а интеграл один и ниже требуемого - значит упёрлись в конструкцию, и добавлять надо степень свободы, а не бюджет и не другой метод. Дальше выбор по механизму: элемент согласующей цепи помогает приблизиться к пределу, изменение самой нагрузки поднимает предел. Если ресурс не растёт от добавления элементов цепи, менять надо нагрузку.

Дискретная ось метода не тормозит

Дискретные оси Систематический глобальный переносит хорошо - он в тройке методов, которым продукт это приписывает, - поэтому примечания стартового рапорта об осях здесь не будет. Сравните с примерами 6 и 7, где такое же устройство переменных примечание даёт: разница не в постановке, а в методе.

Округление r_probe к сетке 0,05 мм даёт плато: по мере деления соседние пробы начинают попадать в один и тот же узел, и метод продолжает делить область, где значение уже вычислено. Повторная проба расходует бюджет, но своей строки в таблице шагов не получает - физического расчёта за ней нет. В контрольном прогоне это 36 расчётов из 401, то есть 9 %. Плата небольшая, но при росте бюджета она растёт.

Овраг по паре l_probe - r_probe

Одна и та же проводимость зонда достигается разными сочетаниями его длины и радиуса: короткий толстый зонд эквивалентен длинному тонкому. В пространстве параметров это наклонный овраг, а Систематический глобальный делит гиперпараллелепипеды по самой длинной стороне, то есть поперёк оврага. При равном бюджете липшицевы и адаптирующие масштаб методы на таком рельефе выигрывают.

Пара d_iris - w_iris этим свойством не обладает: расстояние и сила шунта задают разные вещи, поэтому вторая пара обусловлена лучше первой.

Лечится овраг не сменой метода, а дожимом: разведка находит область, локальный этап идёт по дну. Как это сделать - в разделе «Что попробовать дополнительно».

Почему сетку вывода нельзя разреживать

Соблазн взять шаг 200 МГц вместо 0,001 у объёмной модели понятен, и он ошибочен.

Агрегат A_g и наихудшая выборка M_g считаются по выборкам развёртки, а не по непрерывной характеристике. Всё, что лежит между узлами сетки вывода, для оптимизатора не существует. У этого перехода отклик к верхнему краю полосы идёт круче, и разреженная сетка прячет там узкие выбросы |S11|: прогон честно оптимизирует то, что видит, и приходит к точке, которая на сгущённом расчёте требование не выполняет.

С интерполяционной развёрткой платить за густую сетку не приходится. Число фактических решений подбирается по поведению отклика, а не по числу точек вывода, поэтому 4201 выборка стоит немногим дороже двух десятков, а вопрос «не подстроился ли оптимизатор под сетку» снимается вовсе.

Что должно получиться

ПоказательЗначение
Расчётов401 при бюджете 400
Статусбюджет исчерпан
Строк в таблице шагов365; 36 повторных попаданий в уже посчитанные узлы
Отказов0
Допустимых расчётов174 из 401, первая допустимая точка - расчёт 58
Лучший шаг370, F = 0,005405
Результатd_short = 8,049 · l_probe = 4,067 · r_probe = 0,95 · l_cap = 0,780 · r_cap = 2,668 · d_iris = 15,00 · w_iris = 20,583

По целям в лучшей точке:

ЦельСостояниеA_gM_gЧастотаЗначение
|S11| минимизироватьэкстремум0,059460,09923 φ8,2 ГГц−27,83 дБ
|S11| ≤ −20 дБ, ограничениесоблюдено00 φ8,2 ГГц−27,83 дБ

Требование выполнено во всей полосе с запасом 7,8 дБ: порог соблюдается на всех 4201 выборке, наихудшая точка стоит на нижнем краю полосы.

Отклик найденной конструкции:

Частота|S11|
8,200 ГГц−27,83 дБ - наихудшая выборка
8,539−59,03 - первый полюс
9,293−31,08
10,438−41,00 - второй полюс
11,616−32,23
12,400−35,90 - третий полюс лежит выше полосы

Баланс мощностей 0,9985…0,9989 во всей полосе: модель без потерь, как и заявлено. Ресурс полосы ∫ln(1/|Γ|)df = 17,0 непер·ГГц при требуемых 9,67.

Утолщение - самая чувствительная переменная задачи

Срезы при неизменных прочих параметрах:

r_cap, мм2,0832,6202,7282,8353,0503,3724,017
F5,2640,01300,007560,008080,1101,7645,141
l_cap, мм0,5060,7800,9171,0541,328
F0,01220,007890,007560,01070,118

По радиусу утолщения целевая функция меняется на три порядка, а зона F < 0,02 занимает около 0,3 мм из диапазона 2,2 мм - примерно восьмую часть. Это самая острая переменная во всём сборнике.

Отсюда два следствия. Первое: такой параметр даётся именно систематическому делению - метод не идёт по градиенту и потому не проскакивает узкий минимум. Второе: границы диапазона у острого параметра надо задавать по физике, а не «с запасом» - каждый лишний миллиметр диапазона выкидывает часть бюджета.

Прогон не сошёлся, и запас ещё есть

Улучшения рекорда шли до расчёта 370 из 401 - бюджет кончился раньше метода.

Видно это и по форме отклика: максимумы стоят на −27,83 · −31,08 · −32,23 · −35,90 дБ, то есть разброс 8 дБ. У сошедшегося минимаксного решения все максимумы выровнены; здесь запас на верхнем краю полосы не использован, а плоский эквивалент имеющегося ресурса равен −35,2 дБ.

Мешает выравниванию и агрегация. Сглаженный максимум при p = 8 даёт A_g = 0,0595 при истинном максимуме M_g = 0,0992, то есть 60 %: глубокий провал −59 дБ тянет агрегат вниз, и поиску выгодно углублять его вместо того, чтобы опускать самый высокий максимум. Для выравнивания нужна агрегация «Худшая точка» - тот же приём, что в примере 9. Систематическому глобальному негладкость безразлична: он делит область и сравнивает значения, модели не строит.

Что проверять по итогам

  • M_g цели-ограничения, а не только F. Вердикт «соблюдено» выносится по точной наихудшей выборке полосы.
  • Строка Feasible evaluations. Ноль означает, что допустимая область не найдена вовсе, и тогда лучшая точка - это точка наименьшего нарушения, а не наилучшая по F.
  • Ни один параметр не прижат к границе. В контрольном прогоне все семь внутри; ближе всех l_probe = 4,067 при нижней границе 3,00.
  • Число расчётов против числа строк: 401 против 365 - попадания в уже посчитанные узлы r_probe.
  • Повторный запуск даёт ту же траекторию. Метод детерминирован, зерна у него нет; расхождение означает, что менялись настройки проекта или сетки.

Эталонные значения непереносимы между моделью со стенкой конечной толщины и моделью на листах нулевой толщины. При переходе к листам исчезает участок зонда внутри отверстия, и согласование меняется. В этой модели стенки, оболочка, зонд и утолщение - листы; толщину имеет только диафрагма, и она задана явно.

Когда этот метод - правильный выбор

  • Есть дискретные оси. Метод делит пространство параметров на подобласти и пробует их центры, непрерывной модели функции не строит, поэтому ступенчатость ему не мешает.
  • В задаче есть очень острый параметр. Систематическое деление находит узкий минимум там, где градиентные и модельные методы его проскакивают.
  • Размерность не выше 8. Это жёсткая граница: число подобластей растёт с размерностью экспоненциально, и семь переменных - уже верхний край.
  • Начального приближения нет или оно недостоверно. Метод стартовую точку игнорирует, и готовить её не нужно.
  • Нужна воспроизводимость. Из глобальных методов каталога полностью детерминирован только он. Для регрессионных сравнений «было/стало» и для приёмочных прогонов, где эталон должен воспроизводиться без оговорок про зерно генератора, это решающий аргумент.
  • Высокий численный шум. Метод сравнивает центры подобластей, разделённых конечным расстоянием, поэтому к шуму устойчив.

Когда его брать не стоит

  • Размерность больше 8. Метод расходует бюджет на разбиение, не доходя до точного решения.
  • Нужна высокая точность результата. DIRECT-L хорошо локализует область оптимума, но плохо добивает последние проценты: он пробует центры подобластей, а не движется по градиенту. На овражном рельефе, как здесь, это видно особенно. Правильное применение - как глобальный этап с последующим локальным дожимом; именно это делает конвейер.
  • Ограничение должно соблюдаться движком, а не штрафом. Здесь ограничение идёт с критерием в одну сторону, поэтому штраф работает. Если бы оно конкурировало с критерием, нужна была бы Адаптивная эволюция.
  • Функция гладкая, старт хороший, решение одно - тогда глобальный поиск лишний.

Чем заменить

СитуацияЗамена
нужен точный дожим после разведкиГлобальный → локальный, пример 11
ограничение должно соблюдаться штатноАдаптивная эволюция (ISRES), пример 6
размерность больше 8 при дискретных осяхАдаптивная эволюция или Эволюционная стратегия
воспроизводимость не нужна, размерность больше 8Управляемый случайный поиск, пример 5
бюджет мал, проба дорога, оси непрерывныеАдаптивный глобальный (MaxLIPO), пример 8

Что попробовать дополнительно

Худшая точка вместо сглаженного максимума. Переключите агрегацию и запустите с тем же бюджетом. Агрегат перестанет вознаграждать углубление провала −59 дБ, и максимумы начнут выравниваться; ожидаемый выигрыш по наихудшей точке 3–5 дБ. Это тот же приём, что в примере 9, и здесь его эффект измерим напрямую: A_g и M_g должны совпасть.

Дожим конвейером. Смените метод на Глобальный → локальный с пресетом «Авто» и бюджетом 400. Ограничений, соблюдаемых движком, в наборе нет, переменных семь, агрегация - сглаженный максимум, поэтому «Авто» поставит этапом 1 Систематический глобальный, а этапом 2 Доверительную область; при доле глобального этапа 0,60 это 240 расчётов разведки и 160 дожима. Сравните наихудший |S11|: разница и есть та точность, которую метод не добирает на овражном рельефе.

Выключить утолщение. Зафиксируйте r_cap = 2,00 при l_cap = 0,30 и запустите. Наихудший |S11| заметно просядет, а ресурс полосы упадёт примерно вдвое. Самая короткая демонстрация того, что предел задаётся нагрузкой, а не согласующей цепью.

Выключить диафрагму. Поставьте w_iris = 22,86 (окно во всю широкую стенку, диафрагмы фактически нет) и сравните: ресурс просядет меньше, чем от снятия утолщения, потому что диафрагма помогает приблизиться к пределу, а не поднимает его.

Симметричный диапазон d_short. Поставьте 6,0–14,0 и запустите. Центр диапазонов станет 10,0 мм, то есть практически λg/4, и первый же расчёт метода попадёт в окрестность решения по этой координате. Полезно проделать один раз, чтобы запомнить, что разметка диапазонов у этого метода часть постановки.

Разреженная сетка вывода. Поставьте шаг развёртки 0,2 ГГц (22 точки в полосе) и запустите. Прогон отработает и отчитается о хорошем результате; затем верните шаг 0,001 и пересчитайте найденную точку, не запуская оптимизацию. Разница наихудшей выборки - это ровно то, что разреженная сетка спрятала между узлами.

Равномерное покрытие. Включите флажок и сравните расход бюджета. Метод перейдёт в режим DIRECT: покроет пространство равномернее, но будет медленнее уточнять.