基于状态空间模型进化算法的全局收敛性分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于状态空间模型进化算法的全局收敛性分析
王鼎湘;李茂军;李雪;成立
【摘要】基于状态空间模型进化算法(SEA)是一种新颖的实数编码进化算法,在工程优化问题中具有广阔的应用前景.为了完善SEA的理论体系,促进SEA在工程优化问题中的应用研究,利用齐次有限Markov链对SEA的全局收敛性进行分析,证明了SEA不是全局收敛的.通过限定SEA状态进化矩阵内元素的取值范围,同时引入弹力搜索得到改进型弹力状态空间模型进化算法(MESEA).分析结果表明,弹力搜索能提高SEA的搜索效率.最后得到了MESEA全局收敛的结论,为算法在工程优化问题中的应用提供了理论依据.
【期刊名称】《计算机应用》
【年(卷),期】2014(034)010
【总页数】4页(P2816-2819)
【关键词】状态空间模型;进化算法;弹力搜索;收敛性;搜索效率
【作者】王鼎湘;李茂军;李雪;成立
【作者单位】长沙理工大学电气与信息工程学院,长沙410004;长沙理工大学电气与信息工程学院,长沙410004;长沙理工大学电气与信息工程学院,长沙410004;长沙理工大学电气与信息工程学院,长沙410004
【正文语种】中文
【中图分类】TP301.6
0 引言
遗传算法是一种经典的仿生进化算法,该算法从Holland教授提出以来,得到了非常广泛的应用,对算法理论基础的研究也得到不断完善[1-2]。同时,国内外许多专家针对不同问题对遗传算法作出了很多改进,为遗传算法的更广泛应用打下了基础。如:Rigal 等[3]提出基于选择和变异的一种遗传算法,并对其收敛性进行了证明;郑金华等[4]提出了基于空间交配的遗传算法,在遗传算法中增加空间交配遗传算子,把整个搜索空间划分成不相交子空间;李茂军等[5]提出了采用序号编码的单亲遗传算法(Partheno Genetic Algorithm,PGA),通过一条染色体中基因的换位等操作来取代遗传算法中的交叉操作。这些方法在很大程度上提高了算法性能,推进了遗传算法的发展。随着遗传算法应用领域的不断扩大,对遗传算法的改进和优化仍然在不断进行。
基于状态空间模型的进化算法(Evolutionary Algorithm based on State-space model,SEA)[6]82是一种基于离散系统状态空间模型的进化算法。该算法引入遗传算法的思想,采用实数编码方式,通过构造一个状态进化矩阵来实现算法的搜索功能,使算法具有很强的搜索能力和较高的搜索精度,能快速地找到问题的全局最优解。SEA 在电力市场竞价[6]82-84 和电力系统无功优化[7]等实际应用中取得了良好的优化效果,但由于其编码和搜索过程的复杂性,该算法的全局收敛性仍未得到严密的数学分析。
本文通过对SEA 寻优过程的分析,得到了SEA 不具有全局遍历性和全局收敛性的结论。基于此,通过适当改进SEA的状态进化矩阵来确保算法的遍历性,同时引入弹力搜索对SEA 搜索到的可行域外的个体进行约束处理,得到改进型弹力状态空间模型进化算法(Modified Elastic Evolutionary Algorithm based on State-space model,MESEA)。应用齐次有限马尔可夫(Markov)链证明了MESEA 是全
局收敛的,并基于Markov 链对算法搜索效率进行了初步分析,同时提出算法后续研究方向的建议。
1 问题描述及SEA
1.1 问题描述
本文考虑连续域S1 内的参数优化问题:
其中:x 是可行域内的任意可行解,f(x)是S1内的连续函数。通过对x 寻优精度的限定,可以将闭区域S1离散化。针对函数f(x)提出如下假设:
①x 为实数编码的变量,编码长度为L,其位于区域S1 内时可定义为式(1)的可行解。
②∃x* ∈S1,f(x)在S1 内的极大值为max f(x)=f(x* ),且f(x)满足- ∞ <
f(x)≤f(x* )<∞。
③可行解x 的编码串内各元素取值范围确定且相等,即有xi ∈[ai,bi]= [a,b],i = 1,2,…,L,且0 <a ≤b <∞。
④以精度ξ(ξ≤b-a)在S1 区域内进行寻优,可知[a,b]内xi 可能取值的个数为「(b - a)/ξ⏋+1,「.⏋表示向下取整。当xi ∈[a + nξ,a + (n +1)ξ)时,xi = a + nξ。
假设条件①表明S1 区域维数L 不限定,即x 编码串长度为L,该假设使得问题的提出不失一般性。假设条件②在实际中遇到的绝大部分函数都是符合的。假设条件③限定了S1 区域各维的边界有限且对称,无限区域内的寻优用任何现有的搜索优化方法都难以解决[8],故这一假设是合理的;虽然常见问题中可行域各维不一定对称,但不对称区域可以通过某种函数映射到对称区域中来,故假设条件③中对S1 区域各维边界的限定并不影响算法收敛性的分析。
1.2 SEA 及其基本参数设定
SEA 是一种基于离散系统状态空间模型的进化算法[6]82,该算法引入进化计算的基本思想,构造算法表达式如下:
其中:G 为状态进化矩阵,X(k)表示第k 代种群,X(0)表示初始种群。状态进化矩阵G 构造方式如下:
其中
利用SEA 求解式(1)所示问题的基本步骤为:
步骤1 在可行域内随机构造种群规模为N 的初始种群X(0)。
步骤2 根据式(3)生成状态进化矩阵G。
步骤3 根据式(2)生成下一代种群X(k + 1),同时将X(k +1)与X(k)结合生成选种池。
步骤4 对选种池内个体进行约束处理,并计算选种池内各个体的适应度。
步骤5 在选种池内选择适应度较高的N 个个体,设为X(k)。
步骤6 满足终止条件,转步骤7;否则转步骤2。步骤7 算法终止。
2 马尔可夫链相关定义和定理
定义1[9]随机过程可能取到的值(状态)λk+1,λk,…,λ0 组成的集合记为S,称为随机过程的状态空间。随机序列{Xk,k = 0,1,2,…}称为Markov 链,如果这些随机变量都是离散的,而且对于∀k ≥0 及任意状态λk+1,λk,…,λ0,都有:
这个性质称为Markov 性(无后效性)。
条件概率P(Xk+1 = λj | Xk = λi)= Pij(k,k +1)表示随机序列{Xk,k = 0,1,2,…}在k 时刻处于状态λi 的条件下,经一步转移在k +1 时刻处于状态λj 的概