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

Назначение
Эволюционная стратегия с дифференциальной мутацией: из популяции родителей порождается популяция потомков, лучшие из объединённого набора становятся родителями следующего поколения. Метод работает только с границами диапазонов и не поддерживает ограничения — при наличии целей-ограничений они сворачиваются в целевую функцию как взвешенные штрафы (стартовый рапорт сообщает об этом).
Альтернатива ISRES на задачах без ограничений: другая схема мутации даёт другую траекторию поиска, что полезно как вторая независимая попытка.
Воспроизводимость управляется зерном: при зерне ГСЧ ≠ 0 повторный запуск с теми же настройками даёт идентичную траекторию; при зерне ГСЧ = 0 зерно берётся по времени, и каждый запуск получается новым.
Алгоритм
Эволюционная стратегия с отбором из объединённого набора («плюс»-стратегия).
Поколение устроено так: из P родителей рекомбинацией и мутацией порождается
1,5·P потомков, родители и потомки объединяются, и P лучших по F
становятся родителями следующего поколения. Родитель не защищён от вытеснения,
но и не теряется досрочно: лучшая найденная точка из набора выпасть не может.
Потомок получается двумя механизмами. Рекомбинация набирает координаты от нескольких случайно выбранных родителей; дифференциальная мутация сдвигает точку вдоль разности пары других особей набора:
Масштаб и направление шага задаёт таким образом сама популяция, а не настраиваемый параметр: пока популяция разбросана, шаги крупные, по мере стягивания они сокращаются. Координата, вышедшая за границу диапазона, возвращается в него.
Отдельного механизма для ограничений в методе нет — он работает только с
границами диапазонов, поэтому цели-ограничения приходится сворачивать в F
взвешенным штрафом. Своего критерия сходимости у метода тоже нет: ни разброс
популяции, ни изменение F он не проверяет, поэтому останов задаётся только
извне — бюджетом, порогом стагнации или достижением целей.
Параметры
| Параметр | Поле в интерфейсе | По умолчанию | Диапазон | На что влияет |
|---|---|---|---|---|
| Бюджет расчётов | Бюджет расчетов (0 = авто) | 0 = авто: max(50, 20·n) | 0–1000000 | жёсткий предел числа расчётов модели |
| Размер популяции | Размер популяции (0 = авто) | 0 = авто: 40 родителей и 60 потомков | 0–100000 | число родителей в поколении; больше — шире разведка, дороже поколение |
| Зерно ГСЧ | Зерно ГСЧ | 1 | 0–1000000000; 0 — по времени | фиксированное значение делает прогон воспроизводимым; 0 — каждый запуск даёт новую траекторию |
| Останов без улучшения | Останов без улучшения (0 = выкл) | 0 = выкл | 0–100000 | единственный критерий сходимости метода: остановиться, если лучшая F не улучшалась столько расчётов подряд. Своей сходимости у ESCH нет — ни точности по параметрам, ни по значению функции он не проверяет, поэтому при выключенном пороге прогон всегда расходует весь бюджет |
Допуск цели и агрегация — общие поля группы Общие. Помните, что допуск цели не действует, если в наборе есть цель «Минимизировать» или «Максимизировать» (см. Методы оптимизации): в такой задаче порог стагнации — единственное, что может завершить прогон раньше бюджета.
Что видно в мониторе
Метод генерационный, и флажок «Популяция» в шапке графика сходимости
монитора показывает разброс каждого поколения — полосу от лучшего
до худшего F и линию среднего.
Первое поколение — это родители: метод оценивает их разом до начала цикла, поэтому его полоса шире последующих (родителей 40, потомков в поколении 60 при настройках по умолчанию; при заданном размере популяции P родителей P, потомков 1,5·P). Номер поколения стоит во всплывающей подсказке строки таблицы шагов.
Рестартов у метода нет, поэтому вертикальных границ рестартов на графике не бывает.
Рекомендации
- При жёстких ограничениях предпочтительнее Адаптивная эволюция (ISRES): она соблюдает ограничения штатно, а не штрафом.
- Авто-популяция ESCH постоянна (40 родителей) и не зависит от n, поэтому на больших n метод дешевле стартует, но медленнее покрывает пространство.
- Найденную точку имеет смысл дожать локальным методом — конвейер «Глобальный → локальный» делает это автоматически.
- Дискретные оси (переменные «с шагом» / «список») поддерживаются округлением к ближайшему узлу: результат корректен, но часть бюджета уходит на повторные попадания в один узел. Стартовый рапорт выдаёт об этом примечание.