Пример 6. Адаптивная эволюция (ISRES): ограничения и три типа переменных
- Файл:
06_AdaptiveEvolution_ISRES.gma
(Каталог:Sources/Files/Examples/Optimization/) - Модель: G4
- Переменных: 4
- Бюджет: 400
Связанные страницы:
Ниже показана геометрия модели:
Задача
Трёхзвенный микрополосковый полосовой фильтр на связанных линиях: центр 1,0 ГГц, относительная полоса 10 %.
Топология требует двух отдельных описаний - продольного и поперечного, и оба обязательны, иначе модель собирается неверно.
Продольно. Пять полосок: крайние - подводящие линии с портами, внутренние три - резонаторы длиной 2ℓ. Каждая пара соседних полосок перекрывается ровно на ℓ - это и есть связанная секция, их четыре. Запитки симметричны, по 10 мм с обеих сторон, порты - на торцах платы. Отсюда длина платы 2 · 10 + 4·ℓ - зависимое выражение, а не число: 212 мм при ℓ = 48, от 164 до 228 по диапазону. Так оба порта стоят на кромках при любом ℓ, и модель остаётся симметричной.
Поперечно. Ширина полосок одна на все четыре секции - ступенчатых полосок в этой модели нет. Положения кромок - зависимые выражения, считаются от верхней вниз:
кромка 1 = o кромка 4 = o + 3W + s1 + 2·s2
кромка 2 = o + W + s1 кромка 5 = o + 4W + 2·s1 + 2·s2
кромка 3 = o + 2W + s1 + s2
Величина o равна отступу структуры до кромки платы - 8 мм, то есть 5·h. Ширина
платы тоже подбирается автоматически выражением
5·W + 2·s1 + 2·s2 + 2·8 + 2·max(0; 3,05 − W); последнее слагаемое нужно только
когда запитка 50 Ом шире полоски.
Почему ширина одна. Разные ширины в секциях требуют ступенчатых резонаторов, а
ступенька упирается в соседнюю полоску на части диапазона - причём при любом
способе её выравнивания. С одной шириной таких условий не возникает вовсе: зазоры
между несоседними полосками равны W + s1 + s2 и W + 2·s2, то есть положительны
при любых значениях. Уровень импеданса задаётся единственной шириной, а разная
связь в секциях - зазорами s1 и s2.
Развёртка 0,5–1,5 ГГц, быстрый метод, шаг 0,001 ГГц; в полосу пропускания попадает 101 выборка, в каждое заграждение - 351.
Переменные
| Обозначение | Параметр | Тип | Старт | Диапазон или список | Найдено |
|---|---|---|---|---|---|
l | длина связанной секции, мм | непрерывная | 48 | 36–52 | 40,11 |
Wl | ширина полосок, одна на все секции, мм | непрерывная | 3,6 | 1,7–3,7 | 1,922 |
s1 | зазор связи вход/выход, мм | список | 1,30 | 0,20 · 0,25 · 0,30 · 0,35 · 0,45 · 0,60 · 0,80 · 1,00 · 1,30 · 1,70 | 0,30 |
s2 | внутренний зазор связи, мм | с шагом | 0,75 | 0,50 → 3,50, шаг 0,25 (13 значений) | 2,00 |
Единственная модель набора с тремя типами переменных одновременно. Зазор s1
задан списком технологически освоенных значений, зазор s2 - сеткой раскладки там,
где допуск не критичен.
Подписи узлов: s1 {0.2; 0.25; 0.3; 0.35; 0.45; 0.6; 0.8; 1; 1.3; 1.7} мм и
s2 [0.5..3.5, step 0.25] мм, остальные две - непрерывные, вида l [36..52] мм.
Первая строка подвала совместимости в диалоге должна читаться
Переменные: 4 (дискретных: 2), Цели: 4 (ограничений: 3) - по ней сразу видно, что
открыт нужный проект.
Расчётная геометрия получена из прототипа Чебышёва с пульсациями 0,5 дБ, N = 3 (g = 1,5963 / 1,0967 / 1,5963) при относительной полосе 0,10:
| Секция | J/Y₀ | Z0e, Ом | Z0o, Ом | Коэффициент связи | √(Z0e·Z0o), Ом |
|---|---|---|---|---|---|
| 1 и 4 | 0,3137 | 70,6 | 39,2 | 0,286 | 52,6 |
| 2 и 3 | 0,1187 | 56,6 | 44,8 | 0,117 | 50,4 |
Требуемые √(Z0e·Z0o) в двух секциях различаются на 4 %, поэтому единственная ширина
- приемлемый компромисс, а разную связь (0,286 против 0,117) обеспечивают зазоры. Ширины и зазоры пересчитаны из этих сопротивлений квазистатически, точность около ±10 %.
Колонка «Найдено» - это допустимая точка, найденная прогоном, а не оптимум: постановка останавливается на первой точке, удовлетворяющей всем требованиям.
Цели
| № | Величина | Условие | Значение | Единицы | Полоса | Вес | Жёсткое ограничение |
|---|---|---|---|---|---|---|---|
| 1 | |S21| | Больше | −6 | дБ | 0,95–1,05 ГГц | 1 | - |
| 2 | КСВН, порт 1 | Меньше | 2,5 | Без единиц | 0,95–1,05 ГГц | 1 | да, допуск 0,05 |
| 3 | |S21| | Меньше | −20 | дБ | 0,50–0,85 ГГц | 1 | да, допуск 0,002 |
| 4 | |S21| | Меньше | −20 | дБ | 1,15–1,50 ГГц | 1 | да, допуск 0,002 |
Свёртка целей - Сумма. Агрегация по полосе - Сглаженный максимум. Все веса единичные.
Почему порог −6 дБ. Вносимые потери в центре полосы равны 4,343·Σgᵢ/(Δ·Qu). При Σgᵢ = 4,289, Δ = 0,10 и собственной добротности резонатора Qu ≈ 43 это 4,35 дБ, и меньше при этой подложке быть не может. Оценка Qu складывается из диэлектрических и проводниковых потерь: 1/Qu = tanδ + 1/Q_пров ≈ 1/50 + 1/300. Порог −6 дБ даёт около 1,6 дБ запаса; на краях полосы потери выше центральных, поэтому запас нужен. Порог вида «не хуже −1 дБ» недостижим ни при каких размерах.
Почему порог КСВН равен 2,5, а не 2. Теоретический предел для выбранного прототипа фильтра равен 1,984 - при цели 2 запас составлял бы 0,016.
Почему все цели пороговые, без «Максимизировать». Экстремальный критерий на |S21| в полосе пропускания активно противоречит заградительной маске. Расширение полосы снижает нагруженную добротность крайних резонаторов, а с ней и потери, - значит максимизация |S21| выгодна при широкой полосе. Оптимизатор укорачивает секции, усиливает связь на входе и выходе, центр уезжает вверх, склон становится пологим, и верхнее заграждение оказывается внутри полосы пропускания. Ограничения такому критерию не противовес: он тянет в одну сторону непрерывно, а ограничения лишь отсекают, и поиск застревает в недопустимой области. Порог вместо экстремума снимает конфликт: как только потери в полосе укладываются в −6 дБ, расширяться становится незачем.
Идеальный прототип даёт запас над −20 дБ: 53 дБ на 0,50 ГГц, 13 дБ на 0,85, 8,9 дБ на 1,15 и 38 дБ на 1,50. Наименьший запас - на нижнем крае верхнего заграждения, там маска и будет активной. Если прогон её не возьмёт, ослабляйте по порядку: сначала сдвиньте край с 1,15 на 1,20 (запас вырастет до 16,3 дБ), затем уровень с −20 на −15.
Настройки метода
| Поле | Значение |
|---|---|
| Метод | Адаптивная эволюция (ISRES) |
| Бюджет расчётов | 400 (авто-значение 80 недостаточно) |
| Размер популяции | 0 (авто, 20·(n+1) = 100) |
| Зерно ГСЧ | 1 |
| Точность по параметрам | 0,0010 (по умолчанию) |
Бюджет должен покрывать хотя бы одну-две популяции; при популяции 100 бюджет 400 даёт четыре поколения. Поля «Останов без улучшения» у ISRES нет, но есть собственный критерий сходимости - точность по параметрам.
Пояснения
Три ограничения из четырёх целей меняют устройство прогона
Когда в наборе есть жёсткие ограничения, а метод умеет их соблюдать,
цели-ограничения в целевую функцию не входят: F считается только по обычным
целям. Здесь обычная одна - полоса пропускания, - значит F есть вклад
единственной цели, а вся остальная постановка работает через нарушение ограничений.
Практических следствий два, и оба видны в мониторе:
Fобращается в нуль на недопустимых точках. Достаточно выполнить требование по полосе пропускания, а заграждения и КСВН при этом могут быть нарушены. Это не сбой, а прямое следствие того, что ограничения изFисключены.- Судить о продвижении надо по нарушению, а не по
F. Линия нарушения на правой оси графика убывает монотонно,Fне убывает вовсе.
Отсюда общее правило, которое стоит помнить при любой постановке с ограничениями:
в целевую функцию должно входить то, что трудно; ограничением делают то, что
выполнимо, но нарушать нельзя. Если вынести в ограничения все трудные требования,
а критерием оставить лёгкое, оптимизировать окажется нечего: критерий выполнится на
первых расчётах, F обратится в ноль и перестанет различать точки.
Здесь разделение сделано осознанно: трудное требование - потери в полосе пропускания - оставлено критерием, а согласование и заграждения, выполнимые при правильной геометрии, вынесены в ограничения.
Стартовый рапорт выдаст два примечания, и оба ожидаемы
Это единственный пример набора, где рапорт печатает замечание о размерности, - стоит посмотреть на него хотя бы раз.
Примечание: Этот метод плохо работает с дискретными переменными; сходимость по дискретным осям может быть медленной.
Примечание: В задаче меньше переменных, чем рекомендованный диапазон для этого метода.
Первое - про s1 (список) и s2 (с шагом): к группе «хорошо работающих с
дискретными осями» продукт относит только DIRECT-L, CRS2 и связку. Второе - про
размерность: у ISRES рекомендованный минимум пять переменных, здесь их четыре.
Оба примечания рекомендательные, прогон они не останавливают, и оба здесь неизбежны: ISRES выбран не за пригодность к дискретным осям и не за размерность, а за единственное свойство, которого нет ни у одного другого глобального метода реестра, - умение соблюдать жёсткие ограничения. Это и есть смысл примечаний: они говорят, чем вы платите за нужное свойство, а не что постановка неверна.
Замечания о несоблюдении ограничения при этом НЕ будет: ограничения передаются движку отдельно от целевой функции и не сворачиваются в штраф.
Что должно получиться
| Показатель | Значение |
|---|---|
| Расчётов | 79 из 400; 321 не израсходован |
| Статус | достигнута цель |
| Лучший шаг | 79, F = 0, нарушение 0 |
| Допустимых расчётов | 1 из 79 |
| Отказов | 0 |
| Результат | l = 40,11 · Wl = 1,922 · s1 = 0,30 · s2 = 2,00 мм |
Характеристика в найденной точке:
| Требование | Порог | M_g | Наихудшая частота | Получено | Запас |
|---|---|---|---|---|---|
| |S21| в полосе 0,95–1,05 | > −6 дБ | 0 | 0,95 ГГц | −4,51 дБ | 1,5 дБ |
| КСВН, порт 1, ограничение | ≤ 2,5 | 0 | 0,95 ГГц | 1,450 | 1,05 |
| |S21| в 0,50–0,85, ограничение | < −20 дБ | 0 | 0,50 ГГц | −51,1 дБ | 31 дБ |
| |S21| в 1,15–1,50, ограничение | < −20 дБ | 0 | 1,15 ГГц | −22,6 дБ | 2,6 дБ |
Связывающее требование - верхнее заграждение. У нижнего запас 31 дБ, у КСВН двукратный, у полосы пропускания 1,5 дБ, а у верхнего всего 2,6 дБ. Это типично для фильтра на связанных линиях: паразитный отклик полуволновых резонаторов подходит к полосе сверху, и именно он ограничивает конструкцию. Если будете менять постановку - смотрите сначала сюда.
Потери в полосе 4,5 дБ для трёхзвенного фильтра на этой подложке нормальны: собственная добротность резонатора около 43, и расчётные вносимые потери 4,35 дБ.
Прогон остановился на первой же допустимой точке
Допустимых расчётов один из 79 - и это лучший в наборе пример того, как работает отбор лучшей точки при жёстких ограничениях.
Пока допустимых точек нет, рекордом считается наименьшее нарушение, а не
наименьшее F. Отметок «улучшение» в таблице шагов при этом немного: всё остальное
время метод ищет, но рекорда не улучшает, и это нормальное поведение эволюционного
метода на трёх одновременных ограничениях - допустимое множество мало, и попасть в
него трудно.
Останов на первой допустимой точке - правильное поведение, а не недоработка. Пороговые цели выполнены, ограничения соблюдены, требовать большего постановка не просит. Но помните, что оптимизации внутри допустимой области при такой постановке не происходит: найденная точка допустима, а не наилучшая из допустимых. Если нужна лучшая - добавьте экстремальную цель или ужесточите пороги до уровня, близкого к достижимому.
Что смотреть в мониторе
Этот пример показывает три элемента, которых нет больше нигде в наборе.
Правая ось - наименьшее нарушение. Появляется только при активных жёстких
ограничениях, рисуется пунктиром и монотонно убывает. По ней и надо следить за
продвижением: F здесь почти формальность.
Ряд max M_g - наибольшая из наихудших выборок пороговых целей в лучшей точке.
Он уходит под линию допуска достижения цели ровно на том расчёте, где прогон
останавливается. Это самый прямой ответ на вопрос «почему прогон закончился именно
здесь».
Колонка M_g в панели «Цели». У каждой цели рядом с A_g стоит точная
наихудшая выборка и её частота. В найденной точке все четыре M_g равны нулю -
требования выполнены во всех точках полос, а не в среднем. Частоты наихудших
выборок при этом разные: 0,95 ГГц у полосы пропускания и КСВН, 0,50 и 1,15 ГГц у
заграждений, то есть у каждого требования свой критический край.
Признаки, что постановка работает
- Лучшая точка не помечена «недопустимо». Если пометка есть, а среди шагов есть непомеченные, возьмите один из них и запишите кнопкой «Применить к модели». Если непомеченных нет вовсе, прогон обязан завершиться статусом «Допустимая область не найдена», а не «бюджет исчерпан».
- Нарушение убывает. Не
F- она при активных ограничениях в счёт не идёт. Если нарушение замерло, смотрите в сводке, у какого ограничения оно наибольшее. - Ни один параметр не прижат к границе диапазона.
Это самая дорогая проба в наборе: отношение габарита к наименьшему элементу около 1140, развёртка 1001 точка. Оцените стоимость одной пробы на своей машине перед тем, как заказывать бюджет 400.
Когда этот метод - правильный выбор
- Есть жёсткие ограничения и нет начального приближения. Это единственный глобальный метод каталога, соблюдающий ограничения штатно: они передаются движку отдельно от целевой функции, и лучшая точка выбирается среди допустимых.
- Есть дискретные оси. Метод работает с ними округлением к ближайшему узлу.
- Смешанные типы переменных.
- Размерность 5–15.
- Метод по умолчанию для новых задач - если не уверены, начинайте с него.
Когда его брать не стоит
- Жёстких ограничений нет и дискретных осей нет. Тогда CRS2 при большой размерности или DIRECT-L при малой дадут результат дешевле: ISRES платит популяцией за универсальность.
- Малый бюджет. Популяция 20·(n+1) при n = 10 составляет 220 расчётов - это уже одно поколение. При недостаточном бюджете стартовый рапорт выдаёт совет о неэффективности.
- Нужна точность результата - метод не добивает, дожимайте локально или конвейером.
- Нужен останов без улучшения - такого поля у ISRES нет.
Чем заменить
| Ситуация | Замена |
|---|---|
| ограничения есть, начальное приближение хорошее | Поиск с ограничениями (COBYLA) - дешевле в разы |
| ограничения есть, нужны и поиск, и дожим | Глобальный → локальный, пресет «Авто» |
| ограничений нет, оси дискретные, n ≤ 8 | Систематический глобальный, пример 4 |
| ограничений нет, оси непрерывные, n > 8 | Управляемый случайный поиск или Ковариационная адаптация |
| нужен останов без улучшения при дискретных осях | Эволюционная стратегия (ESCH), пример 7 |
Что попробовать дополнительно
Что даёт штатная поддержка ограничений. Переключите метод на ESCH, оставив флажки ограничений. Журнал выдаст предупреждение, а стартовый рапорт отметит несовместимость: ESCH ограничения не соблюдает и свернёт их в целевую функцию взвешенными штрафами. Сравните, выходит ли КСВН за 2,5 в ходе прогона.
Ужесточить пороги вместо останова на первой допустимой точке. Поднимите порог верхнего заграждения с −20 до −22 дБ - запас там всего 2,6 дБ. Допустимое множество сузится, и прогон будет вынужден работать внутри него дольше.
Вес у цели-ограничения. Поставьте одному из ограничений вес 0 и посмотрите журнал: сочетание «флажок стоит, вес нулевой» противоречиво, вес игнорируется, и выводится предупреждение. Ограничение при этом соблюдается по-прежнему - оно в целевую функцию не входит вовсе.