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

Пример 7. Эволюционная стратегия (ESCH) на полностью дискретной задаче

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

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

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

Задача

ФНЧ на сосредоточенных элементах с частотой среза 1 ГГц. Лестница пятого порядка, первый элемент - шунтирующий:

P1 ─┬─ L2 ─┬─ L4 ─┬─ P2
C1 C3 C5
⊥ ⊥ ⊥

Элементы размещены на плате 16 × 16 мм: линия 50 Ом шириной 3,05 мм по оси y = 8,00, индуктивности в разрывах линии, ёмкости в зазорах между кромкой линии и земляной площадкой.

Узелx, ммЧто там
P10,00lumped-порт 50 Ом, торец линии на землю
C12,00зазор 1,6 × 0,8 от кромки линии; земляная площадка 4,0 × 1,0 с тремя отв. Ø0,6
L24,40–5,20разрыв линии 0,8 мм на всю ширину 3,05
C38,00как C1
L410,80–11,60как L2
C514,00как C1
P216,00как P1

Сегменты линии между разрывами: 2,0 · 2,4 · 2,8 · 2,8 · 2,4 · 2,0 мм.

Развёртка 0,1–5,0 ГГц, быстрый метод, шаг 0,001 ГГц; в полосу заграждения попадает 3001 выборка, в полосу пропускания - 801.

Три ограничения геометрии, без которых ФНЧ не работает. Все три проверяются арифметикой на верхней частоте развёртки 5 ГГц:

ОграничениеПочему
Сегмент линии не длиннее λ/10 = 3,29 мм (здесь максимум 2,8)на 4,90 ГГц сегмент становится λ/4, и шунтирующая ёмкость видна с соседнего узла как холостой ход
Земляной полигон верхнего слоя короткий, возврат в сплошную землю нижнего слоядлинная полоска резонировала бы на λ/2 и λ, то есть работала бы второй линией в обход фильтра
Три отверстия на ёмкость и площадка шириной 4,0 мм - суммарно 0,62 нГнпри 1,08 нГн (одно отверстие) ёмкость 6,8 пФ даёт последовательный резонанс на 1,86 ГГц, то есть у нижнего края заграждения; выше него шунт индуктивный и не закорачивает

Полностью убрать паразитную индуктивность нельзя: отверстие через 1,6 мм подложки даёт 1,08 нГн, и трёх параллельных плюс короткая широкая площадка - практический предел. При 0,62 нГн резонанс C3 = 6,8 пФ уходит на 2,45 ГГц, а на 5 ГГц шунт даёт 14,8 Ом против идеальных 4,7 - этого уже достаточно.

Признак, по которому обход ловится без разбора геометрии: подавление почти не зависит от номиналов. Если произведение L·C меняется в десятки раз, то есть срез гуляет втрое, а наихудшее подавление в 2–5 ГГц остаётся в пределах нескольких децибел - ищите обход в геометрии, а не настройки метода.

Переменные

Все пять - типа «Список» по ряду E12. Непрерывных осей в задаче нет.

ОбозначениеЭлементСписок значенийПрототипОкругление к E12Найдено
L2последовательная индуктивность3,3 · 3,9 · 4,7 · 5,6 · 6,8 · 8,2 · 10 · 12 · 15 · 18 · 22 · 27 нГн10,91 нГн10 нГн10 нГн
L4последовательная индуктивностьте же 12 значений10,91 нГн10 нГн10 нГн
C1шунтирующая ёмкость1,0 · 1,2 · 1,5 · 1,8 · 2,2 · 2,7 · 3,3 · 3,9 · 4,7 · 5,6 · 6,8 · 8,2 · 10 пФ3,65 пФ3,9 пФ1,8 пФ
C3шунтирующая ёмкостьте же 13 значений6,29 пФ6,8 пФ3,9 пФ
C5шунтирующая ёмкостьте же 13 значений3,65 пФ3,9 пФ1,5 пФ

Старт: L2 = 22 · L4 = 22 нГн · C1 = 1,0 · C3 = 1,2 · C5 = 1,0 пФ.

Пространство поиска - 12 × 12 × 13 × 13 × 13 = 316 368 комбинаций. Подписи узлов: L2 {3.3; 3.9; 4.7; 5.6; 6.8; 8.2; 10; 12; 15; 18; 22; 27} и C1 {1; 1.2; 1.5; 1.8; 2.2; 2.7; 3.3; 3.9; 4.7; 5.6; 6.8; 8.2; 10}.

Номиналы прототипа получены из Чебышёва 0,1 дБ N = 5 (g = 1,1468 / 1,3712 / 1,9750 / 1,3712 / 1,1468) по формулам Cₖ = gₖ/(Z₀·ω_c) и Lₖ = gₖ·Z₀/ω_c при частоте среза 1 ГГц и Z₀ = 50 Ом.

Цели

ВеличинаУсловиеЗначениеЕдиницыПолосаВесРоль
1|S21|Меньше−25дБ2,0–5,0 ГГц1подавление
2КСВН, порт 1Меньше1,5Без единиц0,1–0,9 ГГц1согласование
3|S21|Больше−1,0дБ0,1–0,9 ГГц1потери в полосе

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

Почему все три цели пороговые и веса единичные

Экстремальный критерий рядом с пороговыми целями в свёртке «Сумма» работает только тогда, когда пороги заведомо выполнимы с запасом. Здесь это не так, и причина глубже весов: вклады экстремальной и пороговой цели живут на несопоставимых масштабах. У экстремальной цели вклад нормирован так, что старт равен единице, и гуляет в пределах примерно 0,5…2. У пороговой это превышение в нормированных единицах, и на стартовой геометрии оно составляет десятки. При таком отношении критерий не виден ни при каком весе, а когда пороги выполнены и их вклады уходят в нуль, поиск уже сидит в области, выбранной одними порогами.

Здесь все три требования сделаны пороговыми, и веса стали единичными - теперь они сравнимы между собой по построению.

Достижимость: откуда взяты пороги

Что даёт прототип до округления к E12:

ТребованиеПредел прототипаПорог целиЗапас
КСВН в 0,1–0,9 ГГц1,355 во всей полосе1,50,145
|S21| в 0,1–0,9 ГГц−0,1 дБ (пульсация)−1,0 дБ0,9 дБ
|S21| в 2,0–5,0 ГГц−34,8 дБ на 2 ГГц−25 дБ9,8 дБ

У Чебышёва равнопульсационная полоса идёт до самого среза, поэтому требование по КСВН на 0,1–0,9 ГГц лежит внутри полосы пропускания, и сужать её не нужно. Связывающая точка заграждения - нижний край, 2 ГГц; выше ослабление только растёт.

Порог заграждения −25 дБ выбран с запасом почти 10 дБ намеренно. Округление к E12 и конечная геометрия платы съедают часть ослабления, и точную величину даёт только прогон. При −25 дБ вырожденные решения отсекаются гарантированно.

А порог по КСВН выбран так, что прямое округление его не проходит - в этом смысл примера:

Набор E12КСВНЗаграждениеПотери
Прямое округление прототипа: 10 / 10 и 3,9 / 6,8 / 3,92,28 - нарушено−57 дБ−0,72 дБ
Найдено прогоном: 10 / 10 и 1,8 / 3,9 / 1,51,287−30,6 дБ−0,12 дБ

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

ПолеЗначение
МетодЭволюционная стратегия (ESCH)
Бюджет расчётов300
Размер популяции12 (12 родителей и 18 потомков)
Зерно ГСЧ1
Останов без улучшения0 - выключен

Размер популяции задан явно - единственный такой случай в наборе. Автоматические 40 родителей и 60 потомков означают, что бюджет 300 даёт всего четыре поколения: для эволюционного метода на пятимерной списочной задаче это имитация работы. Явное значение 12 даёт 30 расчётов на поколение и около десяти поколений в том же бюджете. Автоматический размер здесь вредит: он рассчитан на размерности, где поколение из 60 проб оправдано.

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

Стартовый рапорт выдаст два примечания. Первое - о дискретных осях: к группе «хорошо работающих» с ними продукт относит только DIRECT-L, CRS2 и связку. Второе - о том, что у метода нет собственного критерия сходимости при выключенном пороге стагнации, поэтому прогон может израсходовать весь бюджет. Замечания о размерности не будет: пять переменных - ровно рекомендованный минимум для этого метода.

Здесь ESCH выбран не за пригодность к дискретным осям, а потому что он единственный глобальный метод с порогом стагнации, тогда как своего критерия сходимости у него нет вовсе - метод не проверяет ни точность по параметрам, ни значение функции.

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

ПоказательЗначение
Расчётов214 из 300; 86 не израсходованы
Строк в таблице шагов89
Статусдостигнута цель, F = 0 на шаге 214
Отказов0
РезультатL2 = L4 = 10 нГн · C1 = 1,8 · C3 = 3,9 · C5 = 1,5 пФ

Характеристика в найденной точке:

ТребованиеПорогM_gНаихудшая частотаПолученоЗапас
|S21| в 2–5 ГГц−25 дБ02,0 ГГц−30,60 дБ5,6 дБ
КСВН в 0,1–0,9 ГГц1,500,1 ГГц1,2870,21
|S21| в 0,1–0,9 ГГц−1 дБ00,1 ГГц−0,123 дБ0,88 дБ

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

Траектория рекорда:

РасчётFЧто произошло
114,082стартовая геометрия
23,151первый же шаг снимает большую часть
92,693
111,653
310,511индуктивности встали на 10 нГн
510,283
1090,204
1560,179
1890,153
2140все три цели выполнены

Траектория показывает два этапа. Индуктивности встали на расчётные 10 нГн уже к расчёту 31, а дальше почти 180 расчётов ушло на подбор ёмкостей. Долгий хвост нормален: три ёмкости связаны между собой, а индуктивности почти нет.

Индуктивности вышли расчётными, а ёмкости вдвое меньше

Прототип требует L2 = L4 = 10,91 нГн и C1 = C5 = 3,65, C3 = 6,29 пФ; ближайшие E12 - 10 / 10 и 3,9 / 6,8 / 3,9. Прогон дал индуктивности ровно расчётные, а ёмкости примерно вдвое меньше: суммарно 7,2 пФ вместо 13,6.

Это не разброс и не погрешность округления, а системный сдвиг, и причина в том, что формула прототипа не знает про плату. Линия 50 Ом длиной 14 мм сама даёт погонно 0,121 пФ/мм шунтирующей ёмкости и 0,306 нГн/мм последовательной индуктивности, то есть 1,69 пФ и 4,29 нГн на всю сборку. Распределённая ёмкость линии подменяет часть сосредоточенной - отсюда ёмкости меньше; её же индуктивность добавляется к L2 и L4 - отсюда индуктивности остались на расчётных значениях, хотя формально их тоже надо было бы уменьшить. Добавляет и паразитная индуктивность шунта 0,62 нГн: ниже последовательного резонанса она увеличивает эффективную ёмкость, и 3,9 пФ на 1 ГГц действуют как 4,31 пФ.

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

Как проверять результат

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

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

  • Задача преимущественно или полностью дискретна, начального приближения нет.
  • Размерность 5–15.
  • Нужен останов без улучшения при дискретных осях. Это главное отличие от ISRES, у которого такого поля нет.
  • Нужна вторая независимая попытка после ISRES: схема мутации другая, траектория поиска другая.

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

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

Чем заменить

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

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

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

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

МетодЧто задать помимо методаЧего ожидать
Систематический глобальныйбюджет 300, останов без улучшения 40самый уверенный здесь: делит пространство, ступенчатость безразлична, при n = 5 эффективен, результат детерминирован без зерна
Управляемый случайный поискбюджет 300вторая группа «хорошо»; популяция 10·6 = 60, то есть пятая часть бюджета на заполнение
Глобальный → локальныйбюджет 300, пресет Автоэтап 1 Систематический глобальный (n = 5 ≤ 8), этап 2 Доверительная область; см. оговорку ниже
Адаптивная эволюциябюджет 300доходит до решения; популяция 20·6 = 120, сорок процентов бюджета на заполнение; часть проб попадает в уже проверенные узлы
Эволюционная стратегиябюджет 300, популяция 12исходный вариант примера
Мультистартбюджет 300, останов без улучшения 60наследует поведение своего локального спуска, то есть медленное продвижение
Доверительная область, Симплексбюджет 300продвигаются медленно: внутри ступени разности нулевые, квадратичную и симплексную модель строить не на чем
Поиск с ограничениямибюджет 300то же; жёстких ограничений в наборе нет, поэтому единственное преимущество метода не используется
Адаптивный глобальныйбюджет 300, останов без улучшения 40липшицева константа оценивается по разностям, которых на ступени нет
Ковариационная адаптациябюджет 300ковариация оценивается по ранжированию поколения из 4 + ⌊3·ln 5⌋ = 8 проб, значительная часть которых попадает в одни узлы

Что скажет стартовый рапорт - это проверяемо и полезно посмотреть до запуска:

МетодОжидаемое замечание
Систематический глобальный, Управляемый случайный поиск, связказамечаний по осям нет - они в группе «хорошо работает с дискретными осями»
остальные восемьпримечание о дискретных осях: сходимость по ним может быть медленной
Ковариационная адаптациядополнительно примечание о размерности: рекомендуемый диапазон 10–40, а здесь n = 5
методы без своей сходимости при выключенном порогеподсказка о том, что прогон может израсходовать весь бюджет

Оговорка про связку. В группе «хорошо работает с дискретными осями» она стоит за счёт глобального этапа: на этой модели пресет Авто ставит этапом 1 Систематический глобальный, а этапом 2 - Доверительную область, то есть метод из медленной группы. Дожим на полностью дискретной задаче даёт мало, потому что дожимать между узлами нечего, и почти вся работа приходится на разведку. Сравнение связки с одиночным Систематическим глобальным при том же бюджете покажет, сколько бюджета ушло на дожим впустую.

Что сравнивать. Не «сошлось или нет» - сойдутся все, - а расход бюджета до выхода на приемлемый набор номиналов и итоговое подавление в заграждении при одинаковом бюджете 300.

Включённый порог стагнации. Поставьте 40 при популяции 12 и запустите: порог больше поколения (30 расчётов), поэтому прогон отработает нормально. Затем поставьте автоматическую популяцию (40 + 60) с тем же порогом 40 - и прогон закончится, не завершив первого поколения. Это самая короткая демонстрация правила «порог стагнации должен быть больше поколения».