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

Пример 5. Управляемый случайный поиск (CRS2) на дискретных осях

  • Файл: 05_ControlledRandomSearch_CRS2.gma
    (Каталог: Sources/Files/Examples/Optimization/)
  • Модель: G3
  • Переменных: 5
  • Бюджет: 400

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

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

Задача

Пятисекционный четвертьволновый трансформатор 50 → 100 Ом с центром 3 ГГц. Варьируются только ширины пяти секций, все пять осей - в режиме «С шагом» 0,1 мм. Длины зафиксированы на 14,0 мм.

Развёртка 1,0–5,0 ГГц, быстрый метод, шаг 0,001 ГГц; в полосу цели попадает 2401 выборка. Развёртка шире полосы цели: у четвертьволнового трансформатора отражение обращается в нуль на центральной частоте и растёт к краям, и полезно видеть весь этот подъём, а не только его середину.

Переменные

Диапазон единый для всех пяти ширин: 0,25–4,00 мм с шагом 0,1 мм, то есть 38 узлов на ось. Старт: все ширины 1,6 мм. Подпись узла в дереве проекта - W1 [0.25..4, step 0.1] мм.

СекцияВолновое сопротивление, ОмШирина по синтезу, ммБлижайший узел сетки, мм
151,092,972,95
256,942,462,45
370,711,611,65
487,810,990,95
597,860,750,75

Импедансы получены биномиальным синтезом: ln(Z_{n+1}/Z_n) = 2⁻ᴺ·C_n^N·ln R при R = Z_L/Z₀ = 2 и N = 5. Замыкание на 100,00 Ом сходится точно, а третья секция равна геометрическому среднему √(50·100) = 70,71 Ом - контрольный признак корректности синтеза.

Старт с шириной 1,6 мм соответствует однородной линии 70,8 Ом - тому же геометрическому среднему, то есть «наивному» решению в одну секцию: физически осмысленному, но заведомо неоптимальному. Однородная линия между 50 и 100 Ом даёт КСВН 2 на всех частотах, поэтому старт заведомо далёк от цели.

Почему ширины с шагом. Полоска травится по проектной сетке, и задавать её ширину до микрона бессмысленно: 0,1 мм - обычный шаг для такой платы. Дискретная ось здесь не ограничение, а честное описание производства. И метод для неё подходящий: Управляемый случайный поиск входит в тройку методов, хорошо работающих с дискретными осями, поэтому стартовый рапорт замечаний не выдаёт.

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

Цели

ВеличинаУсловиеЗначениеЕдиницыПолосаВес
1КСВН, порт 1Минимизировать--1,8–4,2 ГГц1

Подпись цели - min VSWR [1] Сосредоточенный порт(1) [1.8; 4.2] ГГц: у экстремальной цели ни порога, ни знака условия в подписи нет.

Фиксированные размеры модели: длины всех пяти секций 14,0 мм, подводящая линия 3,05 × 10 мм (50 Ом), launch 0,70 × 5 мм (100 Ом), подложка 85 × 20 мм.

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

ПолеЗначение
МетодУправляемый случайный поиск (CRS2)
Бюджет расчётов400
Размер популяции0 (авто, 10·(n+1) = 60)
Зерно ГСЧ1
Точность по параметрам0,0100
Останов без улучшения0 - выключен
Агрегация по полосеСглаженный максимум

Пояснения

Почему цель экстремальная, а не пороговая

Полоса 1,8–4,2 ГГц - это 80 % от центральной частоты, отношение крайних частот 2,33 : 1. На такой полосе пятисекционный трансформатор осмыслен, а не декоративен - это видно прямым счётом. Ниже наихудший КСВН для биномиальных трансформаторов 50 → 100 Ом с разным числом секций, все отрезки λg/4 на 3 ГГц, микрополосок на той же подложке:

СекцийШирины, ммНаихудший КСВН на 1,8–4,2 ГГц
11,611,51
22,27 · 1,101,28
32,66 · 1,61 · 0,891,16
42,87 · 2,09 · 1,22 · 0,791,09
52,97 · 2,46 · 1,61 · 0,99 · 0,751,05

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

Условие «Минимизировать» снимает вопрос: у него порога нет вовсе, прогон всегда даёт результат - лучшее найденное согласование, - и сам порог становится результатом измерения. Если вам нужна пороговая постановка на этой модели, ставьте порог с запасом над измеренным ниже значением.

Почему настройки именно такие

Популяция 60 означает, что первые 60 расчётов уходят на её заполнение случайными кандидатами, и только потом метод начинает работать своим механизмом. Отсюда два следствия.

Бюджет должен быть кратно больше популяции. При автоматическом значении 100 на работу метода осталось бы 40 расчётов - меньше одной популяции. Поэтому бюджет задан явно: 60 на заполнение и 340 на работу, почти шесть популяций.

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

Точность по параметрам поднята с умолчания 0,0010 до 0,0100 по физическим соображениям. Поле задаёт долю размаха, при схождении популяции до которой прогон останавливается. Умолчание 0,0010 на размахе 3,75 мм - это 3,75 мкм, то есть заведомо меньше того, что можно изготовить: фотолитографическая точность на такой плате порядка десятков микрон. Значение 0,0100 даёт 37,5 мкм - уровень производственного допуска. На дискретных осях у него есть и второй смысл: 37,5 мкм меньше шага сетки 0,1 мм, поэтому критерий срабатывает ровно тогда, когда вся популяция сошлась в один узел по каждой оси.

Агрегация - Сглаженный максимум, и другой здесь быть не может. Требование «КСВН не выше X» должно выполняться в каждой точке полосы. «Среднее» допускает локальные выбросы при хорошем среднем - для такой формулировки это прямая ошибка. «Худшая точка» по смыслу подошла бы, но делает функцию негладкой.

Агрегация решает исход, а не оттенок

Это самый неочевидный урок примера, и он измерен на двух прогонах одной и той же постановки, отличавшихся только агрегацией.

АгрегацияШирины, ммИмпедансы, ОмЛестница
Среднее по полосе2,85 · 2,95 · 3,05 · 2,25 · 1,1552 · 51 · 50 · 60 · 83немонотонна
Сглаженный максимум2,75 · 2,35 · 1,75 · 1,05 · 0,6554 · 58 · 68 · 86 · 103монотонна

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

Почему средний по полосе агрегат этого не различает. Оба набора на своей полосе дают близкое среднее: разница около 3 %. По наихудшей точке они различаются на 20 %. Глобальный оптимум при обеих агрегациях один и тот же, но разницу в 3 % на дискретном пространстве из 38⁵ узлов случайный поиск за 400 расчётов не находит, а разницу в 20 % находит.

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

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

ПоказательЗначение
Расчётов406 из 400
Статусбюджет исчерпан
Лучший шаг298, A_g = 0,663018
Отказов0
Ширины2,75 · 2,35 · 1,75 · 1,05 · 0,65 мм
Наихудшая выборкаM_g = 0,718277 φ на 4,2 ГГц
Наихудший КСВН в полосе1,171

Число расчётов немного превышает бюджет: популяционный метод добирает начатую итерацию целиком.

Ширины складываются в монотонное сужение, а импедансы секций - в лестницу, совпадающую с биномиальным синтезом с точностью до нескольких ом:

СекцияСинтез, ОмНайдено, ОмРасхождение
151,153,5+2,4
256,958,4+1,5
370,767,9−2,8
487,885,7−2,1
597,9102,9+5,0

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

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

Первые 60 расчётов выглядят как отсутствие сходимости, и это нормально. Столько стоит заполнение популяции, а заполняется она случайными кандидатами. Работать своим механизмом метод начинает с расчёта 61.

Прогон не сошёлся, и это надо знать. Последнее улучшение - расчёт 298, дальше более сотни расчётов без движения, собственная точность по параметрам не сработала. Значит 1,171 - верхняя оценка достижимого, а не предел. Если нужна точность, поднимайте бюджет или дожимайте локальным методом от найденной точки.

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

  • Средняя размерность, начального приближения нет.
  • Есть дискретные оси. CRS2 - один из трёх методов, которые продукт относит к хорошо работающим с ними, вместе с Систематическим глобальным и связкой.
  • Ландшафт изрезанный, но не требующий тонкой адаптации шага.
  • Приемлема стохастичность.
  • Нужен простой глобальный метод: у CRS2 нет настроек, кроме бюджета, популяции, зерна и точности.

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

  • Малая размерность. При n = 2 популяция 30 при бюджете 50 съедает бюджет, и метод не успевает начать работать. При n = 5, как здесь, метод уже за своим рекомендованным диапазоном (> 8) и выбран ради демонстрации дискретных осей; Систематический глобальный на такой размерности справился бы не хуже и был бы воспроизводим без зерна.
  • Нужна точность результата - как и все чисто глобальные методы, CRS2 локализует область, но не добивает.
  • Есть жёсткие ограничения.
  • Есть хорошее начальное приближение. Метод берёт его первой особью популяции, но остальные особи случайны, и на широких диапазонах выигрыш от хорошего старта здесь заметно меньше, чем у Ковариационной адаптации.

Чем заменить

СитуацияЗамена
нужна тонкая адаптация шага при n ≈ 10Ковариационная адаптация, пример 9
нужна полная воспроизводимость без зерна ГСЧСистематический глобальный, пример 4
появились жёсткие ограниченияАдаптивная эволюция (ISRES), пример 6
нужны и поиск, и дожимГлобальный → локальный, пример 11
есть достоверное начальное приближениеКовариационная адаптация или Адаптивный глобальный

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

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

Серия с зерном 0. Поставьте зерно 0 и запустите три-четыре коротких прогона. Разброс результатов покажет мультимодальность задачи; иногда это информативнее одного длинного прогона.

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

ОшибкаОжидаемое сообщение
стартовое значение вне диапазонастарт вне границ, с указанием переменной
нижняя граница больше верхнейнекорректный диапазон
полоса цели вне развёрткиполоса не содержит точек сетки, с именем цели
ни одной переменнойнет варьируемых параметров
ни одной целинет целей
у переменной «с шагом» шаг больше диапазонаось не содержит допустимых значений