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

Пример 1. Доверительная область (BOBYQA)

  • Файл: 01_TrustRegion_BOBYQA.gma
    (Каталог: Sources/Files/Examples/Optimization/)
  • Модель: G1
  • Переменных: 2
  • Бюджет: автоматический (50)

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

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

Задача

Согласовать микрополосковый патч с врезкой в полосе 2,42–2,46 ГГц и удержать КПД излучения не ниже 35 %. Варьируются длина и ширина патча, глубина врезки фиксирована.

Развёртка 2,0–3,0 ГГц, быстрый метод, шаг 0,001 ГГц; в полосу цели попадает 41 выборка. Развёртка втрое шире полосы цели намеренно: на графике должен быть виден весь резонанс, включая стартовый на 2,61 ГГц, иначе не видно, куда именно оптимизатор его сдвигает.

Переменные

ОбозначениеПараметрТипСтартДиапазонОптимум≈
Lдлина патча, ммнепрерывная27,026,0–30,028,8
Wширина патча, ммнепрерывная35,033,0–39,0не единственно

Подписи узлов в дереве проекта: L [26..30] мм и W [33..39] мм.

На старте резонанс равен 2,61 ГГц вместо 2,44 - патч короток, КСВН в полосе цели около 8,3.

По ширине решение не единственно. Обе цели пороговые, поэтому допустимое множество - полоса в плоскости (L, W), а не точка. Резонанс задаёт длина: для каждой ширины из широкого интервала существует своя L около 28,8 мм, при которой КСВН укладывается в 2. Значение 37,2 мм, которое даёт формула Баланиса, - это ширина, оптимальная по характеристике излучения, а не решение поставленной задачи; оптимизатор к ней не идёт и идти не должен.

Неединственность видна прямым сравнением: этот пример и пример 2 решают одну задачу на одной модели и приходят в разные точки, обе с F = 0.

ПрогонL, ммW, мм
Пример 1, Доверительная область28,87134,818
Пример 2, Симплекс28,60037,250

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

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

Цели

ВеличинаУсловиеЗначениеЕдиницыПолосаВес
1КСВН, порт 1Меньше2Без единиц2,42–2,46 ГГц1
2КПДБольше35Процент2,42–2,46 ГГц1

Подписи целей: VSWR [1] Сосредоточенный порт(1) [2.42; 2.46] ГГц < 2 и Efficiency [1] Сосредоточенный порт(1) [2.42; 2.46] ГГц > 35 %. Единицы в подписи выводятся, поэтому эта постановка отличается от постановки примера 2 прямо по подписи: там та же цель записана как > 0.35.

Полоса 40 МГц выбрана по достижимой: патч даёт КСВН ≤ 2 на 62 МГц, запас примерно полуторный. Порог по КПД 35 % при достижимых 42 % - цель второстепенная, её задача показать условие «Больше» и режим единиц, а не связывать оптимизатор.

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

ПолеЗначение
МетодДоверительная область (BOBYQA)
Бюджет расчётов0 (авто, 50)
Начальный шаг0,150 (по умолчанию)
Точность по параметрам0,0010 (по умолчанию)
Останов без улучшения15

Группа Общие - по умолчанию: допуск достижения цели 0,001, агрегация Сглаженный максимум, свёртка Сумма.

Пояснения

Первые 2n + 1 = 5 расчётов - начальный набор квадратичной модели, и целевая функция по ним не убывает. Метод пробует стартовую точку и по ±0,150 диапазона на каждой оси:

РасчётL, ммW, ммF
127,035,027,938
227,635,014,343
327,035,927,116
426,435,044,608
527,034,129,497

Смещения 0,6 мм по L и 0,9 мм по W - это ровно 0,150 размаха каждой оси, то есть начальный шаг задан в долях диапазона, а не в миллиметрах. Это не признак неполадки, а устройство метода: модель нельзя построить, не набрав точек. На графике сходимости строится лучшее значение, поэтому кривая на этом участке выглядит горизонтальной.

Собственно спуск начинается с шестого расчёта: 4,665 → 3,587 → 0,687 → 0,347 → 0.

КПД на старте порог не выполняет. Вклад цели по КПД на первом расчёте равен 1,466, то есть 35 % ещё не достигнуты; порог выполняется со второго расчёта, когда патч удлиняется, и дальше держится с запасом. Цель второстепенная, но не бесплатная: на пробе с укороченным патчем (L = 26,4 мм) её вклад подскакивает до 5,077 - короткий патч хуже излучает.

Порог стагнации 15 не срабатывает. Улучшения приходятся на расчёты 1, 2, 6, 7, 8, 9 и 10; подряд без улучшения идут только расчёты 3, 4 и 5. Порог здесь - страховка на случай, когда квадратичная модель начнёт топтаться на шуме.

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

ПоказательЗначение
Расчётов10 из 50
Статусдостигнута цель; 40 расчётов бюджета остались неиспользованными
Лучший шаг10, F = 0
Отказов0
РезультатL = 28,871 мм · W = 34,818 мм

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

ЦельM_gНаихудшая частотаЗначение
КСВН ≤ 202,42 ГГц1,906
КПД ≥ 35 %02,42 ГГц39,36 %

КСВН опускается ниже 2 во всей полосе 2,42–2,46 ГГц, резонанс встаёт на 2,44 ГГц. Длина сходится к 28,87 мм - это аналитическое значение по Баланису (28,81) с точностью 0,2 %, то есть синтез для длины подтверждён расчётом. Ширина остаётся вблизи стартовой по причине, разобранной выше.

Запаса у решения не гарантировано, но и нулевым он не выходит. Пороговая цель останавливает прогон на первой допустимой точке, а не на лучшей, поэтому запас - это то, что получилось, а не то, что оптимизировалось: здесь 0,094 по КСВН и 4,4 процентных пункта по КПД. Полезно посмотреть, как связывающая частота переключается по ходу спуска: на расчётах 7–9 наихудшей выборкой была 2,46 ГГц, на десятом она ушла на 2,42 ГГц. Если запас нужен гарантированно, ставьте порог 1,8 и сравнивайте расход бюджета.

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

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

  • Целевая функция гладкая, все переменные непрерывные, численный шум δF мал по сравнению с искомым выигрышем.
  • Есть разумное начальное приближение: от аналитического синтеза, от прошлого прогона, от ручной прикидки.
  • Нужно дожать решение, которое уже почти правильное: сдвинуть резонанс на процент, дотянуть КСВН с 1,7 до 1,4.
  • Размерность 2–10.
  • Нужна воспроизводимость: метод детерминирован, зерно ГСЧ ему не нужно.

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

  • Есть переменные «с шагом» или «список». Квадратичная модель строится по пробам внутри одной ступени, градиент оказывается нулевым, и метод объявляет сходимость на первой же ступени.
  • Задача может иметь несколько решений. Метод найдёт ближайший локальный минимум; какой именно - определит стартовая точка.
  • Начального приближения нет. Старт из середины широких диапазонов почти гарантированно даёт локальный минимум.
  • Агрегация по полосе - «Худшая точка». Эта агрегация делает функцию негладкой, что несовместимо с Доверительной областью. Используйте Симплекс (пример 2). Сообщение о совместимости в подвале диалога пересчитывается при смене агрегации, поэтому смотреть надо туда - до запуска.
  • Численный шум δF велик - сравним с тем выигрышем, который вы ищете. Квадратичная модель строится по малым разностям и подгонится под шум, а область доверия сожмётся преждевременно.
  • Есть жёсткие ограничения. Метод их не соблюдает: цель-ограничение свернётся в штраф, и допустимость решения не гарантируется.

Чем заменить

СитуацияЗамена
функция негладкая, есть изломыСимплекс (SBPLX), пример 2
появились жёсткие ограниченияПоиск с ограничениями (COBYLA), пример 3
начального приближения нетСистематический глобальный при n ≤ 8 или конвейер
появились дискретные осиСистематический глобальный или Адаптивная эволюция
возможно несколько решенийМультистарт, пример 10

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

Оценка численного шума. Рассчитайте модель на старте, затем измените длину патча с 27,000 на 27,004 мм - это 0,1 % диапазона, физически ничего не меняющая величина - и рассчитайте снова. Разница значений целевой функции и есть δF для этой модели и этих настроек сетки. Сравните её с допуском достижения цели 0,001: если δF больше, допуск надо поднять, иначе прогон будет гоняться за шумом. Масштаб для сравнения даёт контрольный прогон: F проходит путь от 27,9 до нуля, а последний содержательный шаг - с 0,347 до нуля. Если δF окажется порядка 0,3, метод отработал на шуме на последнем шаге. Проверка стоит двух расчётов.

Запас по порогу. Поставьте порог КСВН 1,8 вместо 2 и запустите заново. Прогон станет дороже десяти расчётов, зато у решения появится запас на допуски изготовления, а ширина патча сдвинется заметнее - задача перестанет решаться одной координатой.

Агрегация «Среднее». Переключите агрегацию по полосе на Среднее и сравните: прогон ускорится, но решение может нарушать требование в отдельных точках полосы. Проверьте M_g в панели «Цели»: именно она, а не F, скажет, выполнено ли требование во всей полосе.