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

Пример 2. Симплекс (SBPLX) и агрегация «Худшая точка»

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

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

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

Задача

Та же, что в примере 1, с двумя отличиями:

  • агрегация по полосе - Худшая точка вместо Сглаженного максимума;
  • требование к КПД записано в единицах Без единиц (0,35) вместо процентов (35) - то же физическое требование, другой режим ввода.

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

Переменные

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

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

Цели

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

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

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

ПолеЗначение
МетодСимплекс (SBPLX)
Бюджет расчётов0 (авто, 50)
Начальный шаг0,100 (по умолчанию)
Точность по параметрам0,0050 (по умолчанию)
Останов без улучшения15
Агрегация по полосеХудшая точка

Свёртка целей - Сумма, допуск достижения цели 0,001.

Пояснения

Зачем менять агрегацию

Сглаженный максимум сглаживает максимум по полосе: вклад дают все узлы, а наибольший - наихудший. Функция получается гладкой, но оптимистичнее истинного максимума, и заметно.

Величину расхождения можно измерить прямо, потому что примеры 1 и 2 стартуют с одной и той же геометрии (L = 27,0 · W = 35,0) на одной модели при одинаковых настройках сетки и развёртки. Различается только агрегация, поэтому разница вкладов - целиком её вклад:

АгрегацияA_g по КСВНA_g по КПДF
Сглаженный максимум (пример 1)54,4101,46627,938
Худшая точка (пример 2)63,1272,03132,579
Насколько сглаженный максимум оптимистичнеена 13,8 %на 27,8 %на 14,2 %

Наихудшая выборка M_g при этом в обоих случаях одна и та же - 63,127 по КСВН и 2,031 по КПД: она от режима агрегации не зависит вовсе. Меняется только ландшафт поиска. Направление расхождения одностороннее у обеих целей: сглаженный максимум не может превысить истинный. Величина зависит от того, насколько круто характеристика идёт внутри полосы; у КПД профиль по полосе более наклонный, поэтому и расхождение вдвое больше.

Отсюда практическое правило: порог, выставленный с запасом 10–15 %, на сглаженном максимуме может оказаться формально выполненным при фактическом нарушении в наихудшей точке. Если спецификация требует выполнения во всех точках полосы буквально, проверяйте итог по колонке M_g в панели «Цели» либо ставьте агрегацию «Худшая точка».

Худшая точка берёт ровно наихудший узел. Это точнее соответствует постановке, но функция становится кусочно-гладкой: при малом изменении параметров наихудший узел перескакивает с одной частоты на другую, и производная терпит разрыв. Поэтому агрегация «Худшая точка» применима с Симплексом, с Ковариационной адаптацией (пример 9) и с конвейером, у которого локальный этап - Симплекс (пример 11). Доверительная область с ней несовместима.

Почему расчётов оказалось меньше, чем в примере 1

Дело в накладных расходах на построение модели. Доверительная область тратит первые 2n + 1 = 5 расчётов на начальный набор для квадратичной модели и только потом начинает спуск; при n = 2 это половина всего прогона. Симплекс модели не строит и идёт вниз со второго расчёта - в контрольном прогоне улучшением оказались все семь шагов:

РасчётL, ммW, ммF
127,0035,0032,579
227,4035,0022,128
327,4035,6021,565
427,8035,6012,832
528,2035,905,692
628,2036,505,158
728,6037,250

Первые смещения - 0,4 мм по L и 0,6 мм по W, то есть ровно 0,100 размаха каждой оси: начальный шаг Симплекса мягче, чем у Доверительной области, и задан в долях диапазона так же.

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

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

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

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

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

ЦельM_gНаихудшая частотаЗначение
КСВН ≤ 202,42 ГГц1,950
КПД ≥ 0,3502,42 ГГц0,409

То, что ширина пришла к 37,25 мм и почти совпала с формульным значением по Баланису (37,2), - совпадение траектории: прогон останавливается на первой допустимой точке и к формульному значению не стремится. Сравните с примером 1, где та же задача решена при ширине 34,8 мм.

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

  • Функция кусочно-гладкая: агрегация «Худшая точка», наборы целей с переключающимся активным ограничением, характеристики с резкими краями.
  • Есть начальное приближение, размерность 2–10.
  • Доверительная область на этой же задаче останавливается слишком рано - это признак изломов.
  • Нужна воспроизводимость: метод детерминирован.

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

  • Функция гладкая и бюджет длинный. Доверительная область использует информацию о кривизне, симплекс - нет, поэтому на гладкой функции она сходится быстрее - но лишь когда прогон достаточно длинный, чтобы окупить 2n + 1 расчётов на построение модели.
  • Дискретные оси. Симплекс на ступенчатой функции вырождается так же, как Доверительная область.
  • Возможны несколько решений, есть жёсткие ограничения, нет начального приближения - те же противопоказания, что у примера 1.

Чем заменить

СитуацияЗамена
функция оказалась гладкойДоверительная область (BOBYQA), пример 1
появились жёсткие ограниченияПоиск с ограничениями (COBYLA) - тоже терпим к изломам
нет начального приближения, но есть изломыконвейер с локальным этапом Симплекс, пример 11
появились дискретные осиСистематический глобальный или Управляемый случайный поиск

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

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

Разделить метод и агрегацию. Переключите агрегацию в этом примере на Сглаженный максимум: получится Симплекс на той же агрегации, что в примере 1, и разница с десятью расчётами примера 1 будет уже чистой ценой метода. Четвёртая комбинация - Доверительная область на «Худшей точке» - недоступна по несовместимости, поэтому полной таблицы 2 × 2 здесь не получится.

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