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

Пример 8. Адаптивный глобальный (MaxLIPO) при малом бюджете

  • Файл: 08_AdaptiveGlobal_MaxLIPO.gma (Каталог: Sources/Files/Examples/Optimization/)
  • Модель: G2
  • Переменных: 2
  • Бюджет: 80

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

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

Задача

Согласовать печатный полосковый полуволновой диполь на 2,45 ГГц. Варьируются полная длина и ширина полоски.

Металл задан граничным условием без толщины, подложки нет - диполь находится в свободном пространстве, внешняя граница воздушного бокса отнесена не менее чем на λ₀/4 и несёт условие излучения.

Развёртка 2,0–3,0 ГГц, быстрый метод, шаг 0,001 ГГц; в полосу цели попадает 41 выборка.

Переменные

ОбозначениеПараметрТипСтартДиапазонНайдено
Lполная длина, ммнепрерывная50,042–6255,60
wширина полоски, ммнепрерывная2,01,0–5,03,36

Подписи узлов: L [42..62] мм и w [1..5] мм.

На старте диполь короток, резонанс лежит выше полосы цели.

Физика задачи такая: плоская полоска эквивалентна цилиндру радиусом примерно w/4, поэтому с ростом ширины резонансная длина убывает, а входное сопротивление падает. Слишком тонкая полоска даёт сопротивление заметно выше 50 Ом, слишком широкая - ниже; оптимум по согласованию лежит между ними.

Цели

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

Подпись цели - min VSWR [1] Сосредоточенный порт(1) [2.43; 2.47] ГГц: у экстремальной цели ни порога, ни знака условия в подписи нет. На графике отклика вместо заштрихованной недопустимой области рисуется слабо залитая полоса её диапазона частот, закрытая пунктиром по краям, а подпись начинается со стрелки направления улучшения - здесь .

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

Пороговая постановка на этой модели вырождается, и причина не в стартовой точке. Для глобального метода старт почти ничего не решает: пробы разбросаны по всей области. Решает мера допустимого множества. Порог вида «КСВН ≤ 1,6 в полосе» покрывает заметную долю прямоугольника 42–62 × 1–5, поэтому одна из первых же проб в него попадает, срабатывает останов по достижению цели - и прогон заканчивается, не показав работы метода.

Ужесточить порог было нечем. Минимальный КСВН этого диполя равен 1,29 - на 2,454 ГГц при ширине около 2,8 мм, то есть при оптимальной ширине; у тонкого края диапазона он заметно выше. Порог 1,5 отсёк бы часть диапазона ширин целиком, и задача стала бы не трудной, а нерешаемой. Расширить полосу тоже нельзя: 40 МГц выбраны по достижимой, которая зависит от толщины полоски и составляет от 57 МГц у самой тонкой до 138 МГц у самой толстой.

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

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

ПолеЗначение
МетодАдаптивный глобальный (MaxLIPO)
Бюджет расчётов80
Точность дожима0,0010 (по умолчанию)
Останов без улучшения20
Агрегация по полосеСреднее

Поля зерна ГСЧ у метода нет: движок фиксирует зерно внутренней константой, поэтому прогон воспроизводим без настройки.

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

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

Пояснения

Глобальный метод, использующий начальную точку. Стартовую точку игнорирует ровно один метод - Систематический глобальный, который делит всю область. Остальные её используют, но по-разному: популяционные CRS2, ISRES и ESCH делают её первой особью популяции, а MaxLIPO включает в липшицеву модель функции, то есть она влияет на выбор КАЖДОЙ следующей пробы. При малом бюджете это ощутимее всего.

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

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

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

ПоказательЗначение
Расчётов34 из 80
Статуснет улучшения за отведённое число шагов; 46 расчётов не израсходованы
Лучший шаг14, A_g = 0,400252
Отказов0
РезультатL = 55,60 мм · w = 3,36 мм
Наихудшая выборкаM_g = 0,407142 φ на 2,47 ГГц, КСВН 1,341

Порог стагнации отработал в точности как заявлено. Последнее улучшение рекорда - расчёт 14, порог 20, прогон остановлен на расчёте 34. Это единственный пример сборника, где механизм виден прямым счётом, и его стоит проверить у себя: без порога прогон выбрал бы все 80.

A_g читается как доля. Вклад экстремальной цели нормируется по стартовой точке, поэтому на старте он равен ровно 1,000; итог 0,400 означает, что агрегат упал до 40 % от стартового. Масштаб нормировки считается тем же режимом, что и агрегат, поэтому при смене агрегации на другую значения A_g этой цели станут несравнимы с приведёнными здесь.

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

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

Точности от такого прогона ждать не следует: MaxLIPO локализует область, но не дожимает. Наихудший КСВН 1,341 при известном минимуме 1,29 - это разница, которую снял бы локальный дожим. Если нужен и охват, и точность - берите конвейер.

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

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

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

  • Дискретные оси. Липшицева константа оценивается по разностям, а на ступенчатой функции они либо нулевые, либо бесконечные.
  • Численный шум δF велик. Константа оценивается по тем же разностям, поэтому шум её завышает, и модель перестаёт полезно ограничивать функцию.
  • Размерность больше 8.
  • Бюджет большой при средней размерности. CRS2 или CMA-ES умеют использовать сотни проб, а MaxLIPO при росте их числа замедляется на построении модели.
  • Есть жёсткие ограничения.
  • Нужна точность результата.

Чем заменить

СитуацияЗамена
появились дискретные осиСистематический глобальный или Адаптивная эволюция
размерность больше 8Управляемый случайный поиск без начальной точки, Ковариационная адаптация с ней
бюджет вырос, нужен дожимГлобальный → локальный, пример 11
появились жёсткие ограниченияПоиск с ограничениями или Адаптивная эволюция
задача оказалась гладкой и с одним решениемДоверительная область - дешевле

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

Что даёт выключенный порог стагнации. Обнулите поле «Останов без улучшения» и запустите заново. Прогон выберет все 80 расчётов вместо 34, а рекорд не улучшится. Это самая наглядная проверка того, зачем порог нужен методам без собственной сходимости.

Вернуть порог и увидеть вырождение. Замените условие цели на «Меньше 1,6» - пороговую постановку - и запустите. Прогон закончится на первых же пробах из восьмидесяти. Полезно проделать один раз, чтобы понять, почему у пороговой цели с глобальным методом надо оценивать меру допустимого множества.

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

Популяционный метод при малом бюджете. Запустите на этой модели CRS2 с тем же бюджетом 80. Популяция составит 10·(2+1) = 30, то есть больше трети бюджета уйдёт только на её заполнение, и до уточнения дело почти не дойдёт. Малая размерность с малым бюджетом - не территория популяционных методов.

Дожим найденной точки. Запустите от результата Доверительную область с бюджетом 30. Разница между 1,341 и достижимыми 1,29 и есть та точность, которую глобальный метод не добирает по построению.