一种新的改进的混合蛙跳算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2011-1-12

收稿日期:2010-10-20

基金项目:国家自然科学基金资助项目(the National Natural Science Foundation of China under Grant No.60974082);商洛学院科研基金项目(Scientific

Research Foundation of Shangluo University under Grant No. 09SKY011,10SKY024)

作者简介:赵鹏军 (1979-),男,陕西渭南人,硕士,讲师,主要研究方向:最优化理论与方法,智能计算及其应用;邵泽军 (1981-),男,山

东临沂人,硕士,助教,主要研究方向:智能交通管理.

一种新的改进的混合蛙跳算法

赵鹏军1,邵泽军2

1.商洛学院 数学与计算科学系,商洛 726000

2.北京化工大学北方学院 三河 065201

1.Department of Mathematics and Computational Science, Shangluo University, Shangluo 726000, China

2.North College of Beijing University of Chemical Technology, Sanhe 065201,China

ZHAO Peng-Jun 1, SHAO Ze-Jun 2. Novel Improved Shuffled Frog Leaping Algorithm

Abstract: To overcome the drawbacks of local optima and instability involved in Shuffled Frog Leaping Algorithm (SFLA), an improved SFLA is proposed. The proposed algorithm employs opposition based learning (OBL) to generate the initial population, which can obtain fitter initial candidate solutions. During the course of evolvement, the differential evolution (DE) is embedded in SFLA organically to maintain the population diversity, Numerical results show that the proposed SFLA has a better capability to solve complex functions than other algorithms. Keywords: shuffled frog leaping algorithm(SFLA); opposition; differential evolution(DE)

摘 要: 针对混合蛙跳算法在优化过程中受初始值影响较大且容易陷入局部最优的缺陷,提出了一个改进的混合蛙跳算法,该算法利用基于对立学习的策略产生初始种群,提高了产生解的质量;在进化过程中,将差分进化有机地嵌入其中,维持了种群的多样性。数值结果表明,改进的混合蛙跳算法对复杂函数优化问题具有较强的求解能力。 关键词:混合蛙跳算法;对立策略;差分进化 中图法分类号:TP18 文献标识码:A

1 引言

混合蛙跳算法[1] (Shuffled Frog Leaping Algorithm, SFLA)最早是由Eusuff 和Lansey 于2000年提出,源于对青蛙觅食行为的研究,具有概念简单,参数少,计算速度快,全局寻优能力强,易于实现等特点,并且简单易用,已在多个领域取得了成功[1-4]。然而,和其他智能优化算法一样,SFLA 同样存在易收敛到局部最优,在求解部分函数优化问题时效果不够理想的缺陷。

对立策略是提高算法优化性能的一种新方法[5],文献[6]将其应用于差分进化(Differential Evolution, DE)算法中,数值结果验明了其有效性。文献[7]将其引入进化计算,提出一种基于对立策略的种群初始化方法,即用种群对立产生方式来取代传统的种群随机生成方式。在进化过程中同时考虑随机点和其对立点,比单纯地使用随机方法更有效。DE 算法[6]最初由Store 和Price 于1995年提出,该算法通过变异、杂交、选择操作来更新随机产生的初始种群,经过逐步迭代,不断进化,可实现全局最优解的搜索。

SFLA 和DE 算法都是基于群体智能和随机策略、并依据各自的搜索机制进行寻优。为提高SFLA 的性能,本文利用对立策略和DE ,提出了一种基于对立策略和差分进化的混合蛙跳算法(记为ODSFLA ),可有效改善SFLA 的求解效率,为求解优化问题提供一种新的优化工具。 2 混合蛙跳算法

SFLA 是通过个体间的协作与竞争来实现在多维空间中对最优解的搜索。下面以函数最小化为例,说明SFLA 的基本步骤。设青蛙种群规模为P ,其中第i 个个体在n 维空间中的坐标为12(,,,)i i i ni x x x x ,计算个体的适应度()i f x ,根据适应度将其按递减顺序排列。然后将整个种群划分为S 个子群,每个子群中包含N 个个体,即满足关系P S N ,在进化过程中,第一个解放入第一个子群,第二个解放入第二个子群,一直分配下去,直到第S 个解放入第S 个子群。然后,第1S 个解又放入到第一个子群,第2S 个解放入到第二个子群,这样循环分配下去,直到所有解分配完毕。

在每一个子群中,适应度最优和最差的解分别记为

12(,,,)b b b nb x x x x 和12(,,,)w w w nw x x x x ;种群中适应度

最优的解记为12(,,,)g g g ng x x x x 。在每次进化中,对w x 进行更新操作,其更新策略为:

()j b w D r x x ! (1)

'

w w j x x D (max max j D D D !∀∀) (2)

其中r 为[0,1]之间的均匀随机数,1,2,,j S ,max D 为最

大移动步长。如果'w x 的适应度优于w x 的适应度,则用'

w x 代

替w x ;如果没有改进,则用g

x 替换b

x 重复执行式(1)、(2);

如果仍没有改进,则从搜索空间中随机产生一个新解取代原来的w x ,在指定迭代次数It 内继续执行以上操作,这样也就完成了SFLA 的一次进化。 3 改进的混合蛙跳算法 3.1 对立策略

对立策略同时考虑当前点和其对立点,从中选择较优点。文献[6]已经证明了利用对立点的信息比利用随机信息能更快找到最优解,同时实验也表明对立搜索可比随机搜索更有效。对立点定义[5]如下:

设12(,,)n P x x x ,[,]i i i x l u #,1,2,,i n ,为n 维搜索空间中的一个点,,i i l u 分别为i x 的下界和上界,其对立点

可表示为12

(,,)n P x x x ∃∃∃∃ ,其中 网络出版时间:2011-5-19 14:35

网络出版地址:/kcms/detail/11.2127.tp.20110519.1435.001.html

相关文档
最新文档