技术领域
[0001] 本发明涉及一种进化算法领域,尤其涉及一种遗传算法与差分进化算法串行融合的进化算法。
相关背景技术
[0002] 近年来,随着计算机技术的快速发展,为了在一定程度上解决大空间、非线性、全局寻优、组合优化等复杂问题,不少进化算法不断涌现,如遗传算法和差分进化算法等。遗传算法应用广泛、实用、鲁棒性高,但容易过早收敛。差分进化算法结构简单、通用、可靠性高,但计算效率较低。
[0003] 因为这些算法独特的优势,获得了国内外学者的广泛关注,掀起了研究热潮,并在电子、通信、计算机、自动化、机器人、经济学和管理学等众多学科和信号处理、图像处理、生产调度、任务分配、模式识别、自动控制和机械设计等众多领域,得到了成功应用。但单种进化算法由于自身的缺点,例如,遗传算法容易过早收敛,差分进化算法计算效率较低,不利于解决大空间、非线性、全局寻优、组合优化等复杂优化问题。
具体实施方式
[0025] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0026] 如图1所示的,本发明的一种遗传算法与差分进化算法串行融合的进化算法,该算法包括如下步骤:
[0027] S1,随机生成初始种群NP,其中随机生成群体规模为NP的个体的初始群体。群体规模的大小将影响优化的最终结果以及优化效率。当群体规模NP太小时,优化性能一般不会太好。采用较大的群体规模可以减小优化算法陷入局部最优解的机会,但较大的群体规模意味着计算复杂度高;
[0028] S2,利用适应度函数f(x)对初始种群NP进行适应度的计算,其中对群体中的个体,进行适应度计算。在具体应用中,适应度函数的设计要结合求解问题本身的要求而定。适应度函数评估是进化选择的依据,适应度函数设计直接影响到进化算法的性能;
[0029] S3,设置适应度函数值的最小阈值为进化计算终止条件,判断S2中的最优适应度是否满足终止条件,若满足,则输出具有最优适应度的个体,若不满足,则执行S4,其中判断最优适应度是否满足终止条件,终止条件可以是最大进化代数G(即最大的循环次数),也可-6以是目标函数值的最小阈值等。G取值一般为100~500,最小阈值一般取10 ;
[0030] S4,对种群中不满足终止条件的全部个体进行遗传操作,产生子代种群1;
[0031] S5,对子代种群1进行差分进化操作,产生子代种群2;
[0032] S6,将子代种群2继续返回步骤S2循环操作,直到达到进化计算的终止条件,输出具有最优适应度的个体。
[0033] 本发明可按照如下的方式实施:
[0034] 如图2所示,本发明一种遗传算法与差分进化算法串行融合的进化算法,[0035] 第一步随机生成初始种群NP
[0036] 随机生成群体规模NP为50个个体的初始群体,每个个体的维数和取值范围根据具体优化问题确定,在本发明实例中取值每个个体的维数是10,每一维取值范围为[-512~512]。
[0037] 第二步进行适应度计算
[0038] 取适应度为函数f(x)值,对群体中的每一个个体进行适应度计算。其中运用遗传算法与差分进化算法融合的进化算法,计算函数 -512≤xi≤512,x的维数n=10的最小值。这是一个简单的平方和函数,只有一个最小点x=(0,0,…,0),理论最小值f(0,0,…,0)=0。
[0039] 第三步判断是否满足终止条件
[0040] 取终止条件为最大进化代数G为100。判断最优适应度是否满足终止条件,若满足终止准则,则输出最优结果,算法结束;若不满足,则进行步骤四操作。
[0041] 第四步进行遗传操作
[0042] 对种群全部体行选择操作、交叉操作和变异操作的遗传操作,产生子代种群1。
[0043] 第五步进行差分操作
[0044] 对子代种群1中全部个体进行变异操作、交叉操作、边界条件处理和选择操作的差分进化操作,产生子代种群2,进行下一步循环操作。
[0045] 第六步转至步骤二
[0046] 进行进化循环优化操作,直至达到终止条件,输出优化结果。
[0047] 在相同条件下,运用遗传算法、差分进化算法及两者融合的进化算法求函数f(x)的优化解及函数最小值如下表所示。可见融合算法比单独的遗传算法、差分进化算法有更好的优化结果。
[0048] 对上述本发明进行了试验操作,对比优化结果对比表1如下:
[0049] 表1 优化结果对比表
[0050]
[0051]
[0052] 在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0053] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。