1.什么是极值搜索控制?
首先明确一下,对于y=f(x),f(a)是函数f(x)的极大值或极小值,则a为函数f(x)的极值点,极大值点与极小值点统称为极值点。
极值搜索,顾名思义,就是找到极小值点或者极大值点,过程就是不断地调整控制系统参数,使得性能指标达到最优,找到极值点。
Matlab官方有个15分钟左右的视频,一步步地解释了极值搜索控制的原理,并且做了仿真实验,我觉得讲得挺清晰的,非常适合入门
👉 What is Extremum Seeking Control | Learning-Based Control
The Extremum Seeking Control block tunes controller parameters to maximize an objective function. Extremum seeking controllers are model-free adaptive controllers that are useful for adapting to unknown system dynamics and unknown mappings from control parameters to an objective function. When seeking multiple parameters, the Extremum Seeking Control block uses a separate tuning loop for each parameter.
The Extremum Seeking Control block searches for optimal control parameters by modulating (perturbing) the parameters with sinusoidal signals and demodulating the resulting perturbed objective function.
🌟 通俗解释:
通俗地讲,极值搜索控制的输入其实是控制性能指标,也就是原来系统的输出,我们求解的就是系统输出达到极值时对应的极值点。对于寻找极大值的系统,如果输入和输出同时增加,表明系统正朝着极值的方向前进,则继续加大输入,反之则减小输入;对于寻找极小值的系统,如果输入和输出同时增加,表明系统正朝着极值的反方向前进,则减小输入,反之则增大输入。简而言之,寻找极大值和极小值的系统略有不同,而输入和输出的同时变化,可以用相乘然后取积分衡量。
🌟 极值搜索的优缺点
极值搜索是一种基于非模型(无模型/数据驱动)的实时优化方法,适用于解决动态问题,特别是当人们对一个系统的认识相当有限的时候。例如在实际控制系统中,由于控制系统参数的不确定性和实时变化的特点,使得参考量与输出量之间的函数关系很难被知晓。但只要特性曲线具有先增后减或者先减后增特点(即存在峰值),极值搜索控制算法就可以根据系统特性曲线的上述形状特性来到达峰值点,并使其自适应影响系统的因素变化,提高控制策略的鲁棒性。
极值搜索不仅可以应用在单变量寻优,还能应用在多变量上面。
缺点:局部最优;需要调节的参数比较多。