首页 百科知识 基于的非脆弱分散控制器的求解

基于的非脆弱分散控制器的求解

时间:2023-10-05 百科知识 版权反馈
【摘要】:对子种群来说, 由于CPGA的交叉概率和变异概率是固定不变的, 在进化过程中有可能破坏优秀个体的结构。对整个种群来说, 这不满足寻优过程中各子种群独立进化寻找不同最优值的要求, 进而影响了粗粒度并行遗传算法的寻优性能, 故本节采用基于自适应交叉概率和变异概率的CPGA 来求解非脆弱鲁棒分散力/位置控制器中的反馈增益K, 同时能够使得控制器增益摄动量最大时仍能达到给定的性能γi。

标准遗传算法容易出现早熟现象, 导致算法陷入局部极值而未能收敛到全局最优值, 这是标准遗传算法的最大不足。 粗粒度并行遗传算法(CPGA) 作为遗传算法的一个重要改进型算法[169˜173],它将初始种群划分成若干子种群, 各子种群独立地进行适应度值的计算及选择、 交叉、 变异操作, 经过一定的进化代数, 各个子种群间相互交换若干个体, 不仅引入了优秀的个体而且增加了种群中个体的多样性, 防止早熟收敛现象。 对子种群来说, 由于CPGA的交叉概率和变异概率是固定不变的, 在进化过程中有可能破坏优秀个体的结构。 对整个种群来说, 这不满足寻优过程中各子种群独立进化寻找不同最优值的要求, 进而影响了粗粒度并行遗传算法的寻优性能, 故本节采用基于自适应交叉概率和变异概率的CPGA (即ACPGA) 来求解非脆弱鲁棒分散力/位置控制器中的反馈增益K, 同时能够使得控制器增益摄动量最大时仍能达到给定的性能γi

本节采用ACPGA求解反馈增益K的步骤为:

步骤1: 编码。 本书采用实数编码, 个体的表达形式为2个元素的行向量,即K=[k1,k2]。

步骤2: 初始化。 随机产生N个个体作为初始种群, 并将初始种群划分为P个子群体。 设置最大进化代数G、 子种群间的迁移间隔step, 并设置迁移个数R。

步骤3: 适应度函数值计算。 在每一个迁移间隔内, 针对各子种群中的每一个个体,即控制器增益Kr=[kr1,kr2]=r=1,2,…,N,随机产生一个增益摄动量的上界σ作为其适应度函数, 并为每一个个体随机产生m个增益摄动量ΔKn,n=1,2,…,m。将Kr和每一个增益摄动量ΔKn带入式(6.24) 中, 如果m个增益摄动量中有任意一个不满足LMI式 (6.24),那么σ将被赋予一个非常小的值去替代原有的值; 如果m个增益摄动量都满足LMI式(6.24),则取m个ΔKn中的最大值赋予σ作为Kr的适应度值。

步骤4: 轮盘赌选择。 从各子种群父代中选择适应度高的个体。 个体适应度fi越高被选中的概率越大,越低被选中的概率则越小。

步骤5: 交叉。 为克服固定交叉概率的不足, 本书在每一个子种群中采用自适应交叉概率, 公式如式 (6.25) 所示。

pc1,pc2分别为最大交叉概率和最小交叉概率;favg为子种群的平均适应度值。

设进行交叉的两父代个体为Kr1,Kr2,交叉后的子代个体为:

其中c∈[0,1]。

步骤6: 变异。 本书在每一个子种群中采用自适应变异概率, 可以维持种群多样性, 避免过早陷入局部最优解, 公式如式 (6.27) 所示。

pm1,pm2分别为最大变异概率和最小变异概率。

本节采用与低选择概率的个体进行随机元素替换。设Lr=[lr1,lr2]为子种群内选择概率极低的个体,Kr=[kr1,kr2]为待变异个体,变异后得到的子代个体为:

其中βi∈[0,1],且或2。

步骤7: 精英保留。 为防止优秀个体在进入下一代的进化中丢失, 在每一个子种群中保留每一代适应度值最大的个体, 同时, 从交叉、 变异操作后产生的子种群中选出适应度值最大的个体。 将其与父种群中适应度值最大的个体进行比较, 若其值大于父种群中最优个体的适应度值, 则子种群继续执行进化操作; 若其值小于父种群中最优个体的适应度值, 则父种群中的最优个体替换子种群中的最差个体, 子种群继续进行遗传操作。

步骤8: 迁移。 在进化代数每到迁移间隔step时, 各子种群间进行优秀个体交换。 子种群间的连接方式采用环形连接结构。 每一个子种群发送最好的R个个体给相邻子种群, 并接收其他子种群的R个最优个体来替代自身的最差个体。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈