Extremum seeking control (ESC) - безмодельный адаптивный алгоритм управления в реальном времени, который полезен для адаптации к неизвестной динамике системы и неизвестным отображениям из управляющих параметров в целевую функцию. Можно использовать extremum для решения задач статической оптимизации и оптимизации параметров динамических систем.
Алгоритм поиска экстремума использует следующие этапы для настройки значения параметра.
Модуляция - возмущение значения параметра, оптимизированного с использованием синусоидального сигнала низкой амплитуды.
Отклик системы - оптимизируемая система реагирует на возмущения параметров. Эта реакция вызывает соответствующее изменение значения целевой функции.
Демодуляция - умножает сигнал целевой функции на синусоиду с той же частотой, что и сигнал модуляции. Этот этап включает в себя дополнительный фильтр верхних частот для удаления смещения из сигнала целевой функции.
Обновление параметра - обновление значения параметра путем интегрирования демодулированного сигнала. Значение параметра соответствует состоянию интегратора. Этот этап включает в себя дополнительный фильтр нижних частот для удаления высокочастотного шума из демодулированного сигнала.
Программное обеспечение Simulink ® Control Design™ реализует этот алгоритм с помощью блока Extremum Seeking Control. Примеры контроля при поиске экстремума см. в следующих разделах:
Чтобы продемонстрировать поиск экстремума, рассмотрим следующую проблему статической оптимизации.

Здесь:
^ - оценочное значение параметра.
λ - сигнал модуляции;
y = f (start) - выход функции, который максимизируется, то есть целевая функция.
λ - частота форсирования сигналов модуляции и демодуляции.
b· sin (startt) - сигнал модуляции.
a· sin (startt) - сигнал демодуляции.
startl - частота отсечки фильтра нижних частот.
λ h - частота отсечки фильтра верхних частот.
k - скорость обучения.
Оптимальное значение параметра, λ *, находится при максимальном значении f (start).
Для оптимизации нескольких параметров используется отдельный цикл настройки для каждого параметра.
На следующем рисунке показан поиск экстремума для увеличивающейся части кривой целевой функции. Модулированный сигнал λ представляет собой сумму текущего оцененного параметра и сигнала модуляции. Применение f (start) создает возмущенную целевую функцию с той же фазой, что и сигнал модуляции. Умножение возмущенной целевой функции на сигнал демодуляции дает положительный сигнал. Интегрируя этот сигнал, увеличивает значение, которое перемещает его ближе к пику целевой функции.

На следующем рисунке показан поиск экстремума для уменьшающейся части кривой целевой функции. В этом случае применение f (start) создает возмущенную целевую функцию, которая находится на 180 градусов вне фазы из сигнала модуляции. Умножение на сигнал демодуляции дает отрицательный сигнал. Интегрируя этот сигнал, уменьшает значение, которое перемещает его ближе к пику целевой функции.

На следующем рисунке показан поиск экстремума для плоской части кривой целевой функции, то есть части кривой, близкой к максимуму. В этом случае применение f (start) создает почти нулевую возмущенную целевую функцию. Интегрирование этого сигнала не приводит к существенному изменению значения λ, которое уже близко к его оптимальному значению start*.

Эстремум-поиск оптимизации динамической системы происходит аналогично статической оптимизации. Тем не менее, в этом случае параметр startвлияет на выход динамической системы, зависящей от времени. Целевая функция, которая должна быть максимизирована, вычисляется на основе выходных данных системы. На следующем рисунке показан общий цикл настройки для динамической системы.

Здесь:
start)) - функция состояния динамической системы.
z = h (x) - выходной сигнал динамической системы.
y = g (z) - целевая функция, производная от выхода динамической системы.
β 1 - фаза сигнала демодуляции.
β 2 - фаза модулирующего сигнала.
При проектировании контроллера, ищущего экстремум, учитывайте следующие рекомендации.
Убедитесь, что динамика системы находится в самом быстром масштабе времени, частоты форсирования находятся в среднем масштабе времени, а частоты отсечки фильтра - в самом медленном масштабе времени.
Задайте амплитуду сигнала демодуляции, которая намного больше амплитуды сигнала модуляции (a ≫ b).
Выберите фазовые углы для сигналов модуляции и демодуляции так, чтобы cos (start1-λ 2) > 0.
При настройке нескольких параметров частота форсирования для каждого цикла настройки должна быть различной.
Попробуйте разработать систему без фильтров верхних и нижних частот. Если производительность неудовлетворительна, можно добавить один или оба фильтра.
[1] Ариюр, Картик Б. и Мирослав Крстич. Оптимизация в реальном времени с помощью Extremum Seeking Control. Хобокен, Нью-Джерси: Wiley Interscience, 2003.