Пример 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, мм | Что там |
|---|---|---|
| P1 | 0,00 | lumped-порт 50 Ом, торец линии на землю |
| C1 | 2,00 | зазор 1,6 × 0,8 от кромки линии; земляная площадка 4,0 × 1,0 с тремя отв. Ø0,6 |
| L2 | 4,40–5,20 | разрыв линии 0,8 мм на всю ширину 3,05 |
| C3 | 8,00 | как C1 |
| L4 | 10,80–11,60 | как L2 |
| C5 | 14,00 | как C1 |
| P2 | 16,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,5 | 0,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,9 | 2,28 - нарушено | −57 дБ | −0,72 дБ |
Найдено прогоном: 10 / 10 и 1,8 / 3,9 / 1,5 | 1,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 дБ | 0 | 2,0 ГГц | −30,60 дБ | 5,6 дБ |
| КСВН в 0,1–0,9 ГГц | 1,5 | 0 | 0,1 ГГц | 1,287 | 0,21 |
| |S21| в 0,1–0,9 ГГц | −1 дБ | 0 | 0,1 ГГц | −0,123 дБ | 0,88 дБ |
214 расчётов при 89 строках - это и есть цена дискретных осей на неприспособленном методе. Разница в 125 расчётов - повторные попадания в уже посчитанные узлы: они расходуют бюджет и счётчик стагнации, но своей строки в таблице не получают, потому что физического расчёта за ними нет. 58 % бюджета ушло на повторы. Именно об этом предупреждает примечание стартового рапорта, и здесь оно измерено числом.
Траектория рекорда:
| Расчёт | F | Что произошло |
|---|---|---|
| 1 | 14,082 | стартовая геометрия |
| 2 | 3,151 | первый же шаг снимает большую часть |
| 9 | 2,693 | |
| 11 | 1,653 | |
| 31 | 0,511 | индуктивности встали на 10 нГн |
| 51 | 0,283 | |
| 109 | 0,204 | |
| 156 | 0,179 | |
| 189 | 0,153 | |
| 214 | 0 | все три цели выполнены |
Траектория показывает два этапа. Индуктивности встали на расчётные 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 - и прогон закончится, не завершив первого поколения. Это самая короткая демонстрация правила «порог стагнации должен быть больше поколения».