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

Адаптивная эволюция (ISRES)

КлассВоспроизводимостьСтартовая точкаСвёртка по полосе
глобальныйпри seed ≠ 0используется (первая особь)любая

Ниже приведено окно настроек метода:

Назначение

Эволюционная стратегия с улучшенным ранжированием по стохастическому правилу (Improved Stochastic Ranking Evolution Strategy). Популяция кандидатов улучшается мутацией и рекомбинацией, а шаги мутации адаптируются по ходу прогона. Ключевая особенность метода — штатная поддержка ограничений: цели-ограничения передаются движку отдельно от целевой функции и не сворачиваются в штраф, поэтому лучшая точка выбирается среди допустимых.

Это единственный глобальный метод каталога, поддерживающий жёсткие ограничения, и метод по умолчанию для новых задач.

Воспроизводимость управляется зерном: при зерне ГСЧ ≠ 0 повторный запуск с теми же настройками даёт идентичную траекторию; при зере ГСЧ = 0 зерно берётся по времени, и каждый запуск получается новым.

Алгоритм

Эволюционная стратегия со стохастическим ранжированием. Популяция из λ особей; за поколение каждая особь порождается мутацией и рекомбинацией, причём шаги мутации σ_i по каждой оси адаптируются логнормально:

σi=σiexp(τN(0,1)+τNi(0,1)),xi=xi+σiNi(0,1)\sigma_i' = \sigma_i \exp(\tau' N(0,1) + \tau N_i(0,1)), \qquad x_i' = x_i + \sigma_i' N_i(0,1)

Лучшие μ ≈ λ/7 особей поколения дают среднее для следующего. К обычной мутации добавлена дифференциальная вариация — сдвиг вдоль разности пар особей, ускоряющий движение по «оврагам» целевой функции.

Ключевая особенность — ранжирование. Особи упорядочиваются пузырьковыми проходами, в которых каждое парное сравнение с вероятностью P_f ≈ 0,45 идёт по целевой функции F, а иначе по суммарному нарушению ограничений

φ(x)=jmax(0,cj(x))2\varphi(x) = \sum_j \max(0, c_j(x))^2

Штрафа в F при этом нет: F и φ остаются раздельными величинами, а вероятность P_f задаёт баланс «улучшать критерий или входить в допустимую область». Поэтому недопустимая особь с очень хорошим F не вытесняет допустимые и лучшая точка прогона выбирается среди допустимых — это и есть штатная поддержка жёстких ограничений.

Метод генерационный: за поколение оценивается вся популяция по разу. Вся случайность определяется зерном ГСЧ; гарантий достижения глобального минимума при конечном бюджете нет.

Параметры

ПараметрПоле в интерфейсеПо умолчаниюДиапазонНа что влияет
Бюджет расчётовБюджет расчетов (0 = авто)0 = авто: max(50, 20·n)0–1000000жёсткий предел числа расчётов модели; первые «размер популяции» расчётов — случайное заполнение популяции
Размер популяцииРазмер популяции (0 = авто)0 = авто: 20·(n+1)0–100000больше — шире разведка и устойчивость к локальным минимумам, но дороже старт
Зерно ГСЧЗерно ГСЧ10–1000000000; 0 — по временификсированное значение делает прогон воспроизводимым; 0 — каждый запуск даёт новую траекторию
Точность по параметрам (доля диапазона)Точность0,00100–1останов, когда очередная улучшающая точка отличается от прежней лучшей меньше чем на этот допуск по каждой оси. Это собственный критерий сходимости ISRES; 0 — выключить и работать до бюджета. Значение по умолчанию совпадает с тем, что метод использовал до вывода поля в интерфейс, поэтому старые проекты считаются как прежде

Допуск цели и агрегация — общие поля группы Общие.

Что видно в мониторе

Метод генерационный: за поколение он оценивает всю популяцию по разу. Флажок «Популяция» в шапке графика сходимости монитора показывает разброс каждого поколения — полосу от лучшего до худшего F и линию среднего; номер поколения стоит во всплывающей подсказке строки таблицы шагов.

Рестартов у метода нет, поэтому вертикальных границ рестартов на графике не бывает.

Рекомендации

  • Основной выбор, когда нужен глобальный поиск при жёстких ограничениях (например, максимизация КПД при маске КСВН): ограничения соблюдаются движком, а не штрафом в целевой функции.
  • Бюджет должен покрывать хотя бы 1–2 популяции; иначе стартовый рапорт выдаст совет о неэффективности. При авто-популяции 20·(n+1) это ощутимо: при n = 10 одно «поколение» — уже 220 расчётов.
  • Найденную точку имеет смысл дожать локальным методом — конвейер «Глобальный → локальный» делает это автоматически.
  • Дискретные оси (переменные «с шагом» / «список») поддерживаются округлением к ближайшему узлу: результат корректен (лучшая точка всегда лежит в узле), но часть бюджета уходит на повторные попадания в один и тот же узел. Стартовый рапорт выдаёт об этом примечание.
  • Старые проекты, сохранённые с методом «Генетический алгоритм», считаются через ISRES: файл проекта при этом не переписывается, а в журнал выводится пометка о замене метода.