首页 理论教育 多种群协同进化算法的优化策略

多种群协同进化算法的优化策略

时间:2023-06-18 理论教育 版权反馈
【摘要】:图3-7协同进化算法分类3.2.5.2改进的多种群遗传算法早熟收敛是遗传算法中不可忽视的现象,主要表现在群体中所有个体都趋于同一性状而停止进化,最终不能得到满意的解。通过移民算子架起各个种群之间联系的桥梁,实现多种群的协同进化。

多种群协同进化算法的优化策略

3.2.5.1 协同进化算法

进化算法是模拟自然界遗传进化规律的仿生学算法,主要分支包括遗传算法、遗传规划、进化策略和进化规划等。其中,遗传算法作为一种经典的进化算法,由于其优化时不依赖于梯度,具有很强的鲁棒性和全局搜索能力等优点,可以处理传统搜索方法解决不了的复杂和非线性问题,因此被广泛应用于工业生产和科学研究等领域[110,111]。尽管遗传算法具有许多优点,但当其面对实际领域中多种多样的复杂优化问题时,依然存在着局部搜索能力较弱和易出现早熟收敛的问题。

近年来,针对进化算法的不足,协同进化算法逐渐兴起并成为计算智能研究的一个热点。根据协同对象的不同,协同进化算法可分为以种群协同为代表的七类,如图3-7所示。

图3-7 协同进化算法分类

3.2.5.2 改进的多种群遗传算法

早熟收敛是遗传算法中不可忽视的现象,主要表现在群体中所有个体都趋于同一性状而停止进化,最终不能得到满意的解。早熟收敛问题与选择操作、交叉变异算子、种群规模、终止条件等都有着密不可分的联系。针对这一问题,本章采用一种多种群遗传算法(MPGA),与标准遗传算法(SGA)相比,MPGA考虑了进化个体之间的相互作用对个体进化的影响,通过多个设有不同控制参数的种群协同进化算法,同时兼顾了算法的全局搜索和局部搜索[112]

遗传算法的全局搜索能力较强,而局部搜索能力较弱,一般只能得到问题的次优解,而不是最优解。因此本章提出一种改进的多种群遗传算法(IMPGA),通过将Rosenbrock算法与遗传算法结合来提高遗传算法的搜索能力。IMPGA的主要思想包括以下几个方面。

(1)与常规遗传算法仅依靠个体种群进行遗传进化不同,实现多个种群同时优化搜索。

(2)不同的种群被赋予不同的控制参数,以达到不同的搜索目的。

(3)通过移民算子架起各个种群之间联系的桥梁,实现多种群的协同进化。

(4)各种群每个进化代中的最优个体通过人工选择算子加以保存,并作为判断算法收敛的依据。

(5)在采用遗传算法进行全局搜索的基础上,采用Rosenbrock算法进行局部搜索,以获得问题的全局最优解。

改进的多种群遗传算法结构示意图如图3-8所示。移民算子是IMPGA的主要特色,它将各种群在进化过程中出现的最优个体定期地引入其他种群中,实现种群之间的信息交换。如果没有移民算子,各种群之间就失去了联系。同时在进化的每一代,采用人工选择算子选出各种群的最优个体并放入精华种群中。为保证这些最优个体不被破坏和丢失,精华种群不进行选择、交叉、变异等操作。IMPGA的终止判据为精华种群中最优个体最少保持代数

图3-8 IM PGA算法结构示意图

3.2.5.3 算法的实现

在IMPGA中,单个种群的寻优采用Rosenbrock-GA混合算法,其算法流程如图3-9所示。

Rosenbrock算法的求解过程由两部分组成,分别为探测阶段和构造搜索方向阶段。在探测阶段中,从一点出发,顺次沿n个单位正交方向进行探测,一轮过后转而从第一个方向继续探测,经过若干轮探测移动后,探测阶段被完成。在第二阶段中,构造一组新的单位正交方向,这组正交方向被称为转轴,在下一次迭代的过程中,将沿转轴进行探测。因此,Rosenbrock算法也被称为转轴法[113]

Rosenbrock算法在计算过程中不需要对目标函数进行求导运算,迭代比较简单,编程也易于实现,适于在线控制,并能够收获较好的效果,其计算步骤如下。

图3-9 Rosenbrock-GA算法流程(www.xing528.com)

(1)给定初始点 x(1)与单位正交方向 p(1),p(2),...,p(n)。 一般取坐标方向为初始搜索方向,沿各方向的步长为img,...,img,且放大因子α>1,缩减因子β∈(-1,0),允许误差ε>0。设第k次迭代的初始点为 x(k),每轮探测的起点和终点分别用 y(1)和 y(n+1)表示,令 y(1)=x(1)(k=1,j=1)。

(2)如 C(y(j)+θjp(j))< C(y(j)),则令 y(j+1)=y(j)+θjp(j),θj:=αθj;如 C(y(j)+θjp(j))≥C(y(j)),则令 y(j+1)=y(j),θj:=βθj

(3)如 j<n,则令 j:=j+1,转步骤(2);否则,进行步骤(4)。

(4)如 C(y(n+1))< C(y(1)),则令 y(1)=y(n+1)(j=1),转步骤 (2);如 C(y(n+1))=C(y(1)),则进行步骤 (5)。

(5)如 C(y(n+1))< C(x(k)),则进行步骤(6);否则,如每个 j均满足终止准则img≤ε,则停止计算,且将x(k)作为最优解的估计,如不满足终止准则,则令 y(1)=y(n+1),j=1,转步骤(2)。

(6)令 x(k+1)=y(n+1),如‖x(k+1)-x(k)‖≤ε,则取 x(k+1)作为极小点的估计,并停止计算;否则,构造新的搜索方向,定义一组方向 b(1),b(2),...,b(n),令

式中:λj为整个探测阶段中所有沿方向p(i)的步长代数和

利用Gram-Schmidt正交化方法,对向量组 {b(j)}进行正交化,令

再进行单位化,令

则新的正交方向为img(j=1,2,...,n),y(1) =x(k+1),k :=k +1,j=1,返回步骤 (2)。

由式(3.36)可见,目标函数包含12个变量,采用Rosenbrock算法进行寻优时,给定初始点及初始搜索方向为

式中: Cm,Cn,Cp1,Cp2,Cp3,Cp4,Cp5,Cq1,Cq2,Cq3,Cq4,Cq5自适应系数层叠表确定。

初始步长设计为

此外,令放大因子α=4,减缩因子β=-0.6,允许误差ε=0.05,即完成变量的初始化过程。

从图3-9中可以看出,当遗传算法进化次数为N的倍数时,采用Rosenbrock算法加快进化,并以遗传算法当前计算结果作为Rosenbrock算法的初始解,Rosenbrock算法完成寻优之后,将其寻找到的局部最优值作为新个体染色体继续进化。在遗传算法的后期引入具有较强局部搜索能力的Rosenbrock算法,实现了两种算法的优势互补。

3.2.5.4 自适应系数指数平滑法更新

为了避免轧制力和前滑值发生突变,采用指数平滑法对计算出的自适应系数 Cm,cal,Cn,cal,Cpical,Cqical和上一钢卷的自适应系数 Cm,old,Cn,old,Cpi,old,Cqi,old进行处理,则可得到用于下一个钢卷的变形抗力和摩擦系数模型的自适应系数 Cm,next,Cn,next,Cpinext,Cqinext,即

式中: τm,τn,τpi,τqi为指数平滑系数。

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

我要反馈