混合PSO的快速细菌觅食算

合集下载

BFO-PSO混合算法的PSS参数优化设计

BFO-PSO混合算法的PSS参数优化设计
ia d sa d i c e s h o u t e so o rs se Ca e su y s o t e p o o e t o sv r id t e cl mo e n r a et e r b sn s fp we y t m. s t d h w h r p s d me h d i e i e O b n f r a o a l , n f c i ey ih b t d t el w— r q e c s i a in . e s n b e a d e f tv l n i i h o fe u n y o c l to s e e l Ke r s o fe u n y o clai n;p we y t m t bl e ( S ;b c e il o a ig o t z ( O) a t— y wo d :lw—r q e c s i to l o rs se sa i z r PS ) a t ra r g n p i e BF i f mi ;p ri c e s r o t z ( O) l wa m p i e PS mi
Ab ta t n o d rt ole t e pa a e e ptm ia in r l m f ta ton lPSS, o ld sgn me hod w a s r c :I r e O s v h r m t r o i z to p ob e o r dii a a n ve e i t s pr po e s don s ne gy o a t ralf gi n r il w a m ptm ia i l rt o s d ba e y r fb c e i or ng a d pa tces r o i z ton ago ihm , h c c bi s b h w ih om ne ot ago ihm sad a a e i de O l rt " v nt g s n or r t ge bet r ptm ia i v l s t te o i z ton aue .A o di t o i ia i n nde s d n c or na e ptm z to i x ba e o

细菌觅食机制粒子群优化算法

细菌觅食机制粒子群优化算法

细菌觅食机制粒子群优化算法程军;吴燕子【摘要】针对基本粒子群优化算法易陷入局部极值的缺陷,提出了一种细菌觅食机制粒子群优化算法。

其基本思想是在粒子群优化算法中引入细菌觅食行为机制,提高PSO算法跳出局部极值的能力,借以改善PSO算法的寻优性能。

采用标准测试函数的实验结果表明,该算法在收敛速度和求解精度方面均有显著改进。

%A novel particle swarm optimization algorithm based on bacterial foraging mechanism ( PSOBF ) is proposed for conventional particle swarm optimization algorithms ( PSO) often trapped in local optima.The basic idea is to introduce the bacterial foraging mechanism into particle swarm optimization algorithm to improve the ability of PSO algorithm.The experimental results of six benchmark functions demonstrate the efficacy of the present algorithm.【期刊名称】《广州航海高等专科学校学报》【年(卷),期】2015(000)002【总页数】4页(P36-39)【关键词】粒子群优化算法;细菌觅食;机制【作者】程军;吴燕子【作者单位】广州航海学院港口与航运管理系,广东广州510725; 华南理工大学工商管理学院,广东广州510640;广州航海学院港口与航运管理系,广东广州510725【正文语种】中文【中图分类】TP18由Kennedy和Eberhart[1]在1995年提出的粒子群优化算法(Particle Swarm Optimization, PSO),对参数搜索空间没有如连续、可导及单峰等苛刻的要求,因此在众多经济管理、工程技术等实际问题中获得了成功的应用[2].针对PSO容易陷入早熟或不熟的缺陷,改进的途径主要表现在粒子群初始化、拓扑结构设计、参数选择、与其他智能算法混合等方面[3].近年来,将生物觅食机制融入PSO算法为改进PSO算法的性能提供了新途径.王联国等[4]将人工鱼群算法中的改进觅食算子引入基本PSO算法,提出了一种具有觅食算子的PSO算法,改善算法的全局优化能力及提高算法的收敛速度和计算精度;刘伟等[5]提出基于细菌觅食机制改进粒子群算法,采用PSO 算法完成整个空间的全局搜索,通过细菌觅食算法(BFOA) 中的趋向性运动算子完成局部搜索的功能.本文在现有研究的基础上根据细菌觅食行为规律,提出一种基于细菌觅食机制的粒子群优化算法PSOBF(particle swarm optimization based on bacterial foraging mechanism),我们将细菌觅食机制嵌入PSO,构造PSOBF算法模型,其主要思想是在粒子群优化算法中引入细菌觅食行为,提高PSO算法跳出局部极值的能力,借以改善PSO算法的寻优性能.标准测试函数的实验结果表明该算法收敛速度快,求解精度高.微生物领域针对大肠杆菌(E. Coli)的研究发现,细胞膜、细胞壁、细胞质和细胞核是大肠杆菌的基本组成部分,在大肠杆菌的周围分布着纤毛和鞭毛,纤毛是一种突起状的细胞,能通过运动为细菌传递信息,鞭毛是菌体上细长而且弯曲的丝状物,作为细菌的运动器官,其功能是帮助细胞进行移动[6].大肠杆菌在适宜的环境中生存和进化,其繁殖过程是在自身长到一定长度后,在身体的中部进行裂变一分为二,形成两段构成新的个体.大肠杆菌在觅食的过程中表现出一定的记忆能力,实现对所经过的环境状态的记忆,帮助其在觅食过程中往食物源方向靠近,并且避开有毒物质.在大肠杆菌趋向食物方向移动的过程中,会对每次经过的状态进行评价,提供相应的信息帮助其采取有效的措施进而改变下一步的状态[7].大肠杆菌的生存环境会因为各种因素的影响而改变,这些因素包括来自细菌自身的活动,如大肠杆菌消化食物导致其周围环境的改变,也包括来自外界环境的变化,如细菌生存环境温度的急剧上升可以导致该环境下细菌的死亡,水的冲刷作用将细菌从一个环境迁移到另外一个新的环境.进一步的研究发现,在细菌群落中存在一种能进行信息交流的群体感应机制,细菌通过自身产生的小信号分子进行群体通信,我们将这种物质称为“自我诱导物”.细菌根据自我诱导物数量的多少来判断细菌邻域的群体密度,采取相应的措施来调整其生理行为[8].细菌通过群体感应机制来判断邻域内的其他细菌数量,当细菌所处的环境中自我诱导物浓度较低时,细菌无法感应到其他细菌的存在;当一定数量的细菌聚集在某个区域,会导致自我诱导物浓度增加并达到一定的阈值,细菌会被该区域所吸引,这时的自我诱导物就成为一种吸引剂;当细菌数量在该区域继续增加时,自我诱导物质的浓度会进一步增强,当自我诱导物浓度增加到超过了某个阈值时,细菌会释放出另外一种用来阻止细菌过度聚集的自我诱导物,我们称之为排斥剂.细菌在觅食过程中,通过翻转(tumble)和游动(run)向营养丰富的区域靠近,而群体内存在细菌相互影响和作用的机制,借助趋化(chemotaxis)、繁殖(reproduction)和迁移(elimination-dispersal)等功能,实现最优化的觅食[9].在细菌的生命周期中,按照优胜劣汰、适者生存的自然法则进行繁殖,细菌作为低等生物,具有很强的环境适应能力和繁殖能力.Passino采用非常规的觅食策略构造了细菌觅食算法,将细菌能量定义为趋化过程中细菌适应度值的累加和,在生命周期内根据细菌能量的优劣来更新种群,具体做法是将能量较好的一半细菌进行繁殖一分为二,新的细菌继承了原始细菌的位置、移动步长和能量等生物特性,而将能量较差的一半细菌淘汰[10].PSO在拥有原理简单、容易操作等优点的同时,还存在一些无法克服的缺陷,比如进化过程中群体多样性的减少、缺乏有效的机制跳出局部极值导致算法“早熟”.鉴于细菌觅食过程中表现出的优良特性,我们将细菌觅食机制嵌入PSO,构造PSOBF算法模型,其主要思想是在粒子群优化算法中引入细菌觅食行为,提高PSO算法跳出局部极值的能力,借以改善PSO算法的寻优性能.PSOBF算法的主要步骤如下:步骤1:在初始化范围内对粒子群的位置和速度进行非对称初始化.步骤2:计算所有粒子的适应度值,将粒子的当前位置设置为个体历史最好位置,将所有粒子适应度值最优的位置作为全局最优.步骤3:判断迭代次数是否小于设定值,是则进入下一步,否则转入步骤8.步骤4:采用更新公式更新粒子的速度和位置.步骤5:重新计算粒子的适应度值,将结果与个体的历史最优值比较,如果更优,则将该粒子现在的位置作为新的个体最优值点.步骤6:将粒子的个体历史最优与群体最优值进行比较,若更优,则将其作为当前全局最优位置.步骤7:计算能量值,当其满足条件时发生繁殖,能量值较好的个体繁殖出个体,取代能量值较差的个体,转入步骤4.步骤8:输出结果.3.1 测试函数本文选取智能优化中6个常用的测试函数进行分析,详细描述见表1.其中,f1,f2是单峰函数,f3-f6属于多峰函数. 在表1中给出每个函数的表达式、搜索范围以及初始化范围.3.2 实验参数设置依然选择前述的f1~f6共6个标准测试函数进行仿真实验,每个标准测试函数的初始化参数设置见表1.将测试函数的维数设置为D=30,种群的粒子数量设置为n=80,采用非对称初始化将初始化的范围确定在搜索空间的一部分,对SPSO,PSOPB,PSOBF的速度上下限设置为Vmax=Ud,Vmin=Ld,参数设置依据文献[11]选取,ω=0.729,c1=c2=2.05,仿真实验的测试平台采用Windows 7系统,仿真软件matlab 7.0,实验设置的最大迭代次数为6 000次,每个实验独立运行50次.3.3 实验结果与分析将3种粒子群算法对6个测试函数分别独立运行50次,最大迭代次数为6 000,得到的实验结果如表2所示.表2中给出了各函数对每种算法独立测试50次结果的最佳值、最差值、平均值、标准差、计算所耗费时间5个指标衡量.从表2和计算过程可以看出:对于单峰函数f1,PSOBF比SPSO和PSOPB具有更快的收敛速度和更高的搜索精度,计算时间也比较节省;对于单峰函数f2,PSOBF和PSOPB在搜索后期的收敛速度要优于SPSO,PSOBF和PSOPB在寻优性能方面各有优劣,但总体相差不大;对于多峰函数f3,在搜索过程的早期PSOBF的收敛速度优于PSOPB,但在搜索后期PSOBF的收敛速度有所减缓;对于多峰函数f4,PSOBF的整体寻优性能略优于PSOPB;对于多峰函数f5,PSOBF的收敛速度优于SPSO,但比PSOPB的寻优性能略微逊色;对于多峰函数f6,PSOBF的收敛速度要明显优于PSOPB和SPSO.本文构建了一种基于细菌觅食机制的改进粒子群算法(PSOBF).该算法将细菌觅食机制嵌入PSO进而构造PSOBF算法模型,在粒子群优化算法中引入细菌觅食行为,利用细菌觅食过程中表现出的优良特性来提高PSO算法跳出局部极值的能力,以实现改善PSO算法的寻优性能.实验结果表明该方法在收敛性方面有显著改进.【相关文献】[1] KENNEDY J, EBERHART R C. Particle Swarm Optimization[C]//Proceedings of the IEEE International Conference on Neural Networks IV. Piscataway:IEEE, 1995: 1942-1948.[2] 谢晓锋, 张文俊, 杨之廉. 微粒群算法综述[J]. 控制与决策, 2003, 18(2): 129-133.[3] ANGELINE P J. Using selection to improve particle swarm optimization[C]//Proc of IEEE World Congress on Computational Intelligence. Anchorage:IEEE, 1998: 84-89.[4] 王联国, 洪毅, 赵付青. 基于觅食算子的粒子群优化算法[J]. 计算机应用与软件, 2009, 26(11): 112-115.[5] 刘伟, 陈舒, 王圣慧, 等. 基于细菌觅食机制改进粒子群算法的研究[J]. 系统仿真技术, 2012, 8(1): 23-26.[6] ALBERTS B, BRAY D, LEWIS J, et al. Watson. Molecular Biology of the Cell [M]. New York:Garland Publishing, 1989: 902-903.[7] BERG H. Motile behavior of bacteria [J]. Phys. Today,Jan, 2000(1): 24-29.[8] 李任峰,何启盖,周锐,等. 细菌鞭毛研究概况及进展[J]. 微生物学通报,2005,32(6):124-127.[9] 刘小龙,李荣钧,杨萍. 基于高斯分布估计的细菌觅食优化算法[J]. 控制与决策,2011,26(8):1233-1238.[10] PASSINO K M. Biomimicry of Bacterial Foraging for Distributed Optimization and Control [J]. IEEE Control Systems, 2002, 22(3): 52-67.[11] 常先英. 粒子群优化算法的改进及应用[D]. 广州:华南理工大学,2009.。

BFO-PSO混合算法的PID参数优化设计

BFO-PSO混合算法的PID参数优化设计

细 菌 在 环境 差 的 区 域 会 较 频 繁 地 旋 转 ,在 环 境 好 的 区 域会 较 多地 游 动 。 细 菌 的 整 个 生 命 周 期 就 是 在 游 动 和旋 转 这 两 种 基 本运 动 之 间 进 行 切 换 ,游 动 和 翻 滚 的 目的是 寻找 食物 并 避 开 有 毒 物 质 。 在 细 菌 觅 食 优 化 算 法 中模 拟 这 种 现 象 称 为 趋 向 性 操作 。 设 细菌 种 群 大 小 为 S,一 个 细 菌 所 处 的 位 置 表 示 问 题 的
当细 菌 鞭 毛 按 照 逆 时针 旋 转 时 ,细 菌 进 入 游 动 状 态 。通 常 ,
收 稿 日期 :2 1 1 — 5 01 — 0 2
并 随机地在 解空间的任意位置生成一个新个体 ,这个新 个体 ,湖 北 武 汉 人 ,华 中 科技 大 学 武 昌分 校 机 电与 自动 化 学 院 助 教 ,研 究 方 向为 电力 电子 技
BF 算法主要通 过趋向性 操作 、复制操作 和迁徙操作这三种 O
操 作 迭 代 计 算 来 求 解 问 题 ,下 面 介 绍 这 三 大 操 作 及 其 流 程 【。 9 】
1 .趋 向性 操 作
升 高或者逐 渐的实物消耗等变化 ,这样可能会导致 生活在这 个 局部 区域的细菌种群集体死亡 ,或者集体迁徙到一 个新的
个 候 选 解 , 细 菌 i 的 信 息 用 D 维 向 量 表 示 为
0= , , l =,… S 0 ,表示细菌 i f …, ,i 1, ,,i,, 2 (k) 在第 j 次
趋 向性 操作 第 k 次 复 制 操 作 和 第 1 迁 徙 操 作 之 后 的位 置 。 次 细 菌 i 每 一 步 趋 向性 操作 为 的

群体智能优化算法-群体智能和进化计算

群体智能优化算法-群体智能和进化计算

第一章群体智能和进化计算优化问题存在于科学、工程和工业的各个领域。

在许多情况下,此类优化问题,特别是在当前场景中,涉及各种决策变量、复杂的结构化目标和约束。

通常,经典或传统的优化技术在以其原始形式求解此类现实优化问题时都会遇到困难。

由于经典优化算法在求解大规模、高度非线性、通常不可微的问题时存在不足,因此需要开发高效、鲁棒的计算算法,无论问题大小,都可以对其进行求解。

从自然中获得灵感,开发计算效率高的算法是处理现实世界优化问题的一种方法。

从广义上讲,我们可以将这些算法应用于计算科学领域,尤其是计算智能领域。

计算智能(CI)是一组受自然启发的计算方法和途径,用于解决复杂的现实世界问题。

CI主要包括模糊系统(Fuzzy Systems,FS)、神经网络(Neural Networks,NN)、群体智能(Swarm Intelligence,SI)和进化计算(Evolutionary Computation,EC)。

计算智能技术具有强大、高效、灵活、可靠等诸多优点,其中群体智能和进化计算是计算智能的两个非常有用的组成部分,主要用于解决优化问题。

本部分内容主要关注各种群体和进化优化算法。

1.1群体智能单词“Swarm”指的是一群无序移动的个体或对象,如昆虫,鸟,鱼。

更正式地讲,群体可以看作是相互作用的同类代理或个体的集合。

通过建模和模拟这些个体的觅食行为,研究人员已经开发了许多有用的算法。

“群体智能”一词是由Beni和Wang[1]在研究移动机器人系统时提出的。

他们开发了一套控制机器人群的算法,然而,早期的研究或多或少地都利用了鸟类的群居行为。

例如,1987年Reynolds[2]开发了一套程序,使用个体行为来模拟鸟类或其他动物的觅食行为。

群体智能是一门研究自然和人工系统的学科,由许多个体组成,这些个体基于社会实体间分散的、集体的和自组织的的合作行为进行协调,如鸟群、鱼群、蚁群、动物放牧、细菌生长和微生物智能。

几种常规群体智能算法的研究进展

几种常规群体智能算法的研究进展

几种常规群体智能算法的研究进展作者:刘利波周洁来源:《电子技术与软件工程》2016年第03期摘要本文主要针对智能优化算法,阐述了其典型算法和最新优化算法的发展情况。

【关键词】计算机智能群体智能算法计算机技术不断发展,算法技术也在不断更新。

群体智能(Swarm Intelligent,SI)算法始于20世纪90年代初,主要是受自然界生物群体智能现象的启发,通过模仿社会性动物的行为,而提出的一种随机优化算法。

群体智能是基于种群行为对给定的目标进行寻优的启发式搜索算法,其的核心是由众多简单个体组成的群体能够通过相互之间的简单合作来实现某一较复杂的功能。

所以群体智能可以在没有集中控制并且缺少全局信息和模型的前提下,为寻找复杂的分布式问题的解决方案提供了基础。

1 传统群体智能算法1.1 蚁群算法(ACO)1991年意大利学者Dorigo M等受到自然界中蚁群觅食行为启发而提出了蚁群算法(Ant Colony Optimization,ACO)。

蚁群算法的基本理念是蚁群生物性的利用最短路径的根据局部信息调整路径上的信息素找寻的特征,这个算法的优势非常的明显,而且具有较为突出的应用性,在这个过程中蚂蚁可以逐步地构造问题的可行解,在解的构造期间,每只蚂蚁可以使用概率方式向下一个节点跳转,而且由于这个节点是具有较强信息素和较高启发式因子的方向,直至无法进一步移动。

此时,蚂蚁所走路径对应于待求解问题的一个可行解。

蚁群算法目前已成功地用于解决旅行商TSP问题、数据挖掘、二次指派问题、网络路由优化、机器人路径规划、图着色、物流配送车辆调度、PID控制参数优化及无线传感器网络等问题。

1.2 人工鱼群算法(AFO)2002年由我国的李晓磊等受鱼群运动行为的启发而提出了人工鱼群算法(Artificial Fish-Swarm Algorithm,AFSA)。

人工鱼群算法的思想主要是利用鱼个体的四种行为(觅食、聚群、追尾和随机)的特征,通过技术应用将人工鱼随机地分布于解空间中,解空间中包含着若干局部最优值和一个全局最优值。

【国家自然科学基金】_细菌觅食_基金支持热词逐年推荐_【万方软件创新助手】_20140802

【国家自然科学基金】_细菌觅食_基金支持热词逐年推荐_【万方软件创新助手】_20140802

科研热词 细菌觅食算法 细菌觅食 优化算法 频谱感知 频谱分配 非线性系统 量子变异 连续优化问题 软测量 趋向 认知无线网络 认知无线电 蚁群算法 菌群优化 自适应趋化步长 群体搜索 细菌觅食聚类算法 细菌觅食优化算法 细菌觅食优化(bfo) 粒子群算法 粒子群优化算法 穷举式搜索 目标识别 特征提取 混沌 淘汰选择 案例库 样本集 标记细菌 柔性作业车间调度 最小二乘支持向量机 最大游动步长 旅行商问题 文化蛙跳算法 收敛速度 择优迁徙 布谷鸟搜索算法 局部优化 小世界 多阈值 复制 基准函数 图论着色 图像分割 参数辨识 交叉变异 云存储 二次分配问题 sbfa pso算法 otsu法 k-prototypes算法
推荐指数 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2011年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
2011年 科研热词 细菌觅食 趋化 细菌觅食算法 全局优化算法 全局优化 趋药性 自适应搜索策略 群体感应 细菌趋化 细菌觅食优化 粒子群优化算法 粒子群优化 灵敏度 差分进化 局部搜索 对立学习 多目标优化 图像分割 动态跳跃 分布估计算法 分布估计 公交调度 人工蜂群 人工神经网络 sar图像 abfo算法 推荐指数 4 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2012年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

【江苏省自然科学基金】_粒子群优化(pso)_期刊发文热词逐年推荐_20140817

【江苏省自然科学基金】_粒子群优化(pso)_期刊发文热词逐年推荐_20140817
2008年 序号 1 2 3 4 5 6 7 8 9
科研热词 递减策略 适应值 粒子群优化算法 粒子群优化 状态预估 支持向量回归 惯性权值 发酵过程 β -甘露聚糖酶
推荐指数 1 1 1 1 1 1 1 1 1
2009年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
科研热词 推荐指数 粒子群优化算法 3 预测控制 1 量子粒子群优化 1 遗传算法 1 适应值 1 软测量 1 细菌觅食 1 粒子群优化算法(pso) 1 滚动优化 1 正交试验设计 1 最小二乘支持向量机 1 扩散 1 惯性系数 1 强素数 1 局部搜索 1 小波分析 1 大整数因数分解问题(ifp) 1 多样性 1 动态环境 1 分簇 1 分布估计算法 1 tsp 1 rsa 1 pso_leach 1 leach 1 ecfg-pso 1 dpso 1
推荐指数 6 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2013年 序号 1 2 3 4Байду номын сангаас5 6 7 8
科研热词 负梯度 粒子群优化算法 种群多样性 大坝监测 多重线性相关 回归分析 典型相关性分析 人工粒子群算法
2012年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
科研热词 粒子群优化 遗传算法 随机子空间 遗传模拟退火算法 迭代选择算子 软测量 赖氨酸发酵 覆盖优化 能流聚光比 粒子群算法 粒子群多样性 粒子群优化算法 粒子群优化方法 混沌 模拟退火 有向传感器网络 无线传感器网络 数据预处理模型 数据预处理 改进粒子群 改进的未确知滤波法 支持向量机 扰动项 干涉定位 姿态分析 基分类器 图像分割 加权投票 分类器 光伏聚光器 信用度 任务调度 人工鱼群 人工蜂群 云计算 二维最大熵 主成分分析 v形槽式太阳能接收器 pso算法 bp神经网络

黏菌觅食算法

黏菌觅食算法

黏菌觅食算法黏菌觅食算法是一种以黏性为基础的机器学习算法,可以用来解决机器人和自动控制系统中模式识别、路径规划和位置预测等问题。

它可以让机器人使用模拟方式运动,以实现更高效且更精确的解决方案。

黏菌觅食算法灵感来自于天然环境中的黏菌,黏菌能够通过利用周围环境的信息,找到和追踪营养来源并收集它们。

黏菌的行为原理是,当它发现适合它吃的食物时,它会通过黏性粘附收集食物。

如果它发现其它黏菌已经收集了营养,它将结合到那些黏菌身上,这样它就可以跟随它们获取更多的营养。

黏菌觅食算法充分利用这种自然行为,并将其应用于机器人技术中。

该算法使用一个模拟器来模拟黏菌的行为,以便模拟机器人的行动。

机器人除了观测自己的相关环境之外,还可以观测其他机器人的情况,这样它就可以与其他机器人黏在一起,从而获取其他机器人保存的信息或知识。

与传统机器人和自动控制系统相比,使用黏菌觅食算法更容易发现未知情况,可以在有限的时间内分析大量数据。

机器人可以通过数据分析预测下一步行动,从而实现高效的行为。

这样机器人就可以自主地在未知环境中搜索解决方案,而不需要进行大量的编程工作。

此外,黏菌觅食算法还可以使机器人能够自动处理未知的情况,甚至在没有实际命令的情况下完成工作。

它有助于提高机器人的自动化能力,提高工作效率。

在未来,黏菌觅食算法还可普及到其他领域,比如服务机器人等,以满足人们越来越多样化的需求。

通过使用黏菌觅食算法,机器人能够更加有效率地根据用户对服务要求进行解决方案搜索,给用户提供优质的服务。

综上所述,黏菌觅食算法是一种新兴的机器学习算法,可以用来解决复杂的机器人和自动控制问题。

而它模拟黏菌的行为原理,能够有效地为机器人提供有效的解决方案,有助于人们实现更高效的机器人系统。

细菌觅食算法MATLAB实现

细菌觅食算法MATLAB实现

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%*********************细菌觅食算法********************** %%%%%%%%%%%%%%%%%%%-----BFA算法-----%%%%%%%%%%%%%%%%%%% clear;clc;%-----(1)初始化参数-----bounds = [-5.12 5.12;-5.12 5.12]; % 函数变量范围p = 2; % 搜索范围的维度s = 26; % 细菌的个数Nc = 50; % 趋化的次数Ns = 4; % 趋化操作中单向运动的最大步数C(:,1) = 0.001*ones(s,1); % 翻转选定方向后,单个细菌前进的步长Nre = 4; % 复制操作步骤数Ned = 2; % 驱散(迁移)操作数Sr = s/2; % 每代复制(分裂)数Ped = 0.25; % 细菌驱散(迁移)概率d_attract = 0.05; % 吸引剂的数量ommiga_attract = 0.05; % 吸引剂的释放速度h_repellant = 0.05; % 排斥剂的数量ommiga_repellant = 0.05;% 排斥剂的释放速度for i = 1:s % 产生初始细菌个体的位置P(1,i,1,1,1) = -5.12 + rand*10.24;P(2,i,1,1,1) = -5.12 + rand*10.24;end%------------------细菌趋药性算法循环开始---------------------%-----(2)驱散(迁移)操作开始-----for l = 1:Ned%-----(3)复制操作开始-----for k = 1:Nre%-----(4)趋化操作(翻转或游动)开始-----for j = 1:Nc%-----(4.1)对每一个细菌分别进行以下操作-----for i = 1:s%-----(4.2)计算函数J(i,j,k,l),表示第i个细菌在第l次驱散第k次%----------复制第j次趋化时的适应度值-----J(i,j,k,l) = Cost(P(:,i,j,k,l));%-----(4.3)修改函数,加上其它细菌对其的影响-----Jcc = sum(-d_attract*exp(-ommiga_attract*((P(1,i,j,k,l)-...P(1,1:26,j,k,l)).^2+(P(2,i,j,k,l)-P(2,1:26,j,k,l)).^2))) +...sum(h_repellant*exp(-ommiga_repellant*((P(1,i,j,k,l)-...P(1,1:26,j,k,l)).^2+(P(2,i,j,k,l)-P(2,1:26,j,k,l)).^2)));J(i,j,k,l) = J(i,j,k,l) + Jcc;%-----(4.4)保存细菌目前的适应度值,直到找到更好的适应度值取代之-----Jlast = J(i,j,k,l);%-----(4.5)翻转,产生一个随机向量C(i),代表翻转后细菌的方向----- Delta(:,i) = (2*round(rand(p,1))-1).*rand(p,1);% PHI表示翻转后选择的一个随机方向上前进PHI = Delta(:,i)/sqrt(Delta(:,i)'*Delta(:,i));%-----(4.6)移动,向着翻转后细菌的方向移动一个步长,并且改变细菌的位置-----P(:,i,j+1,k,l) = P(:,i,j,k,l) + C(i,k)*PHI;%-----(4.7)计算细菌当前位置的适应度值-----J(i,j+1,k,l) = Cost(P(:,i,j+1,k,l));%-----(4.8)游动-----m = 0; % 给游动长度计数器赋初始值while(m < Ns) % 未达到游动的最大长度,则循环m = m + 1;% 新位置的适应度值是否更好?如果更好,将新位置的适应度值% 存储为细菌i目前最好的适应度值if(J(i,j+1,k,l) <Jlast)Jlast = J(i,j+1,k,l); %保存更好的适应度值% 在该随机方向上继续游动步长单位,修改细菌位置P(:,i,j+1,k,l) = P(:,i,j+1,k,l) + C(i,k)*PHI;% 重新计算新位置上的适应度值J(i,j+1,k,l) = Cost(P(:,i,j+1,k,l));else% 否则,结束此次游动m = Ns;endendJ(i,j,k,l) = Jlast; % 更新趋化操作后的适应度值end % 如果i<N,进入下一个细菌的趋化,i=i+1%-----(5)如果j<Nc,此时细菌还处于活跃状态,进行下一次趋化,j=j+1----- Jlastx = P(1,:,j,k,l);y = P(2,:,j,k,l);clfplot(x,y,'h') % h表示以六角星绘图axis([-5 5 -5 5]); % 设置图的坐标图pause(.1) % 暂停0.1秒后继续end%----------------下面进行复制操作----------------%-----(6)复制-----%-----(6.1)根据所给的k和l的值,将每个细菌的适应度值按升序排序----- Jhealth = sum(J(:,:,k,l),2); % 给每个细菌设置健康函数值[Jhealth,sortind] = sort(Jhealth); % 按健康函数值升序排列函数P(:,:,1,k+1,l) = P(:,sortind,Nc+1,k,l);C(:,k+1) = C(sortind,k);%-----(6.2)将代价小的一半细菌分裂成两个,代价大的一半细菌死亡-----for i = 1:Sr% 健康值较差的Sr个细菌死去,Sr个细菌分裂成两个子细菌,保持个体总数的s一致性P(:,i+Sr,1,k+1,l) = P(:,i,1,k+1,l);C(i+Sr,k+1) = C(i,k+1);end%-----(7)如果k<Nre,转到(3),进行下一代细菌的趋化-----end%-----(8)趋散,对于每个细菌都以Ped的概率进行驱散,但是驱散的细菌群体的总数%--------保持不变,一个细菌被驱散后,将被随机重新放置到一个新的位置-----for m = 1:s% 产生随机数,如果既定概率大于该随机数,细菌i灭亡,随机产生新的细菌i if(Ped> rand)P(1,m,1,1,1) = -5.12 + rand*10.24;P(2,m,1,1,1) = -5.12 + rand*10.24;elseP(:,m,1,1,l+1) = P(:,m,1,Nre+1,l); % 未驱散的细菌endendend % 如果l<Ned,转到(2),否则结束%-------------------------报告----------------------reproduction = J(:,1:Nc,Nre,Ned);% 每个细菌最小的适应度值[Jlastreproduction,O] = min(reproduction,[],2);[BestY,I] = min(Jlastreproduction)Pbest = P(:,I,O(I,:),k,l)% 求解Shaffer's函数的最小值% Shaffer's函数表示如下:% f(x)=0.5+(sin(sqrt(x1^2+x2^2))^2-0.5)/(1.0+0.001(x1^2+x2^2))^2function cost = Cost(x)cost = 0.5 + (sin(sqrt(x(1)^2+x(2)^2))^2-0.5)/(1.0+0.001*(x(1)^2+x(2)^2))^2;% function fposition=Cost(x)%% x=fix(100*rand(2,1));% p=0;q=0;% for k=1:5% p=p+k*cos((k+1)*x(1)+k);% q=q+k*cos((k+1)*x(2)+k);% end%% fposition=p*q+(x(1)+1.42513)^2+(x(2)+.80032)^2;。

混合PSO的快速细菌觅食算法

混合PSO的快速细菌觅食算法
21 00年 l 2月
广西师范学院学报 : 自然科学版
J u n l fGu n x e c e sE u a i n Un v r i Na u a ce c d t n o r a a g i a h r d c t ie st o T o y: t r l in e E ii S o
的快速细菌 觅食算法 , 接用 P O 中快 速 的粒 子 移 动代 替 了细 菌 的趋 化操 作 , 略 了通 常 的细菌 前进 直 S 省 操作, 与其 它算法在 常用 测试 函数上 的对 比测试 显示 了它更好 的效果 .
1 粒子 群 优 化算 法
粒子群优 化算法 是 ( atl S r O t zt nP O) 由美 国的 Kend P rie wam pi ai ,S 是 c mi o n ey和 E ehr于 19 brat 95年
提出的, 源于对鸟群和鱼群群体觅食运动行为的模拟, 它是一种全局优化进化算法 .S P O求解优化问题 时, 每个问题的解被看作是搜索空间中一个没有质量和体积的粒子 . D维空间里面 , 在 粒子群 中每个 粒子所处位置都被看成解空问的一个 , 粒子通过个体和群体 的飞行经历来不断调整 自己的位置 . t 在 代, i 第 个粒 子 的位 置 和速度分 别记 为 ( ) () () … , ( )和 ( ) ( )X2 t , t =( t , t , t) t =( t , i( )


9 2・
广 西 师 范 学 院 学 报 : 然 科 学 版 自
第2 7卷
B A主要包括三层循环, F 外层是驱散操作 , 中间层是繁殖操作 , 内层是趋化操作 . 算法的核心是 内
层 的趋 化性操作 , 它对应 着细 菌在寻找 食物过 程 中所采取 的方 向选 择策 略 , 对算法 的收敛性 有着极其 重 要 的影响 . 常在趋化 过程 中 , 通 细菌 运 动模 式包 括 翻转 (u l 和前进 (wi . tmb ) e s m) 翻转 是 细菌 向任意 方

细菌觅食优化算法求解物流配送问题

细菌觅食优化算法求解物流配送问题

Bacterial Foraging Optimization Algorithm for Solving Problem of Fresh Logistics DistribQU Yi-hui
( School of Electronic Information and Engineering,Lanzhou Jiaotong University,Lanzhou 730070,China)
Abstract:Aiming at the problem of fresh logistics distribution,on the premise of synthetically considering both time and cost,we propose an improved bacterial foraging optimization algorithm for location routing problem ( LRP) . This algorithm improves the standard bacteri鄄 al foraging optimization algorithm ( BFOA) by establishing the corresponding model with soft time window addressing-path problem on the basis of Pareto dominant relationship. In addition,when the individuals don爷 t dominate each other,the normalized method is adopted to select the best,and the penalty function is introduced to restrict the customer demand of vehicle to not exceed its load limit. The corre鄄 sponding multi-objective bacterial foraging optimization algorithm ( MOBFOA) is designed to solve the problem of logistics distribu鄄 tion,and its effectiveness and advantages and disadvantages are also validated by using the examples of the CVRP library,which provides a certain reference for the LRP model problem. The experiment shows that the proposed algorithm had certain priority in solving logistics distribution problems and also certain advantages in the optimization of multiple objectives. Key words:logistics distribution problem;location-routing;bacterial foraging optimization algorithm;soft time window;Pareto dominant relation;normalization

改进的分段盲源分离方法及其应用

改进的分段盲源分离方法及其应用

改进的分段盲源分离方法及其应用李世龙;陈建宏【摘要】针对传统盲源分离算法大多存在收敛速度慢、分离精度低的缺点,提出了一种改进的分段盲源分离算法.将整个信号分离过程分为快速分离和精细分离两个阶段.在快速分离阶段,采用基于粒子群优化(PSO)的分离算法,通过较少的迭代次数实现信号较好的初步分离;在精细分离阶段,通过选择适当的学习速率,进一步提高信号的分离精度.通过数值仿真及试验分析,将改进的分段盲源分离算法与现有的分离性能较好的基于人工蜂群(ABC)的分离算法进行了对比分析.结果表明,改进的分段盲源分离算法具有更优异的分离速度、分离精度和稳定性.【期刊名称】《自动化仪表》【年(卷),期】2018(039)010【总页数】5页(P79-83)【关键词】盲源分离;粒子群优化;快速分离;精细分离;故障轴承;频谱分析【作者】李世龙;陈建宏【作者单位】太原卫星发射中心,山西太原 030027;太原卫星发射中心,山西太原030027【正文语种】中文【中图分类】TH113.1;TP1810 引言随着现代计算机技术及传感器技术的不断发展,基于振动信号分析的结构状态监测及故障诊断的应用越来越广泛。

但受到被试对象结构复杂性、信号传递路径及噪声等因素的影响,传感器接收到的信号为各独立振源的非线性混合。

而能否从实测信号中分离出纯净的源信息,很大程度上决定了故障诊断的准确性和可靠性[1-2]。

因此,如何从实测非线性混合信号中分离出有效的振源信息具有重要的研究意义。

盲源分离又称盲信号分离,指通过观测到的混合信号来恢复原始信号或信源。

近年来,盲源分离已成为信号处理领域的研究热点之一。

盲源分离中较常用的假定是源信号的统计独立性。

当各分量相互独立时,其被称为独立分量分析(independent component analysis,ICA)[3]。

ICA 算法通常采用梯度法对目标函数进行寻优。

但梯度法收敛速度慢、全局搜索能力差,其收敛性能受步长和初始值影响较大[4]。

群体智能优化算法-萤火虫算法

群体智能优化算法-萤火虫算法

第八章萤火虫算法8.1介绍萤火虫(firefly)种类繁多,主要分布在热带地区。

大多数萤火虫在短时间内产生有节奏的闪光。

这种闪光是由于生物发光的一种化学反应,萤火虫的闪光模式因种类而异。

萤火虫算法(FA)是基于萤火虫的闪光行为,它是一种用于全局优化问题的智能随机算法,由Yang Xin-She(2009)[1]提出。

萤火虫通过下腹的一种化学反应-生物发光(bioluminescence)发光。

这种生物发光是萤火虫求偶仪式的重要组成部分,也是雄性萤火虫和雌性萤火虫交流的主要媒介,发出光也可用来引诱配偶或猎物,同时这种闪光也有助于保护萤火虫的领地,并警告捕食者远离栖息地。

在FA中,认为所有的萤火虫都是雌雄同体的,无论性别如何,它们都互相吸引。

该算法的建立基于两个关键的概念:发出的光的强度和两个萤火虫之间产生的吸引力的程度。

8.2天然萤火虫的行为天然萤火虫在寻找猎物、吸引配偶和保护领地时表现出惊人的闪光行为,萤火虫大多生活在热带环境中。

一般来说,它们产生冷光,如绿色、黄色或淡红色。

萤火虫的吸引力取决于它的光照强度,对于任何一对萤火虫来说,较亮的萤火虫会吸引另一只萤火虫。

所以,亮度较低的个体移向较亮的个体,同时光的亮度随着距离的增加而降低。

萤火虫的闪光模式可能因物种而异,在一些萤火虫物种中,雌性会利用这种现象猎食其他物种;有些萤火虫在一大群萤火虫中表现出同步闪光的行为来吸引猎物,雌萤火虫从静止的位置观察雄萤火虫发出的闪光,在发现一个感兴趣趣的闪光后,雌性萤火虫会做出反应,发出闪光,求偶仪式就这样开始了。

一些雌性萤火虫会产生其他种类萤火虫的闪光模式,来诱捕雄性萤火虫并吃掉它们。

8.3萤火虫算法萤火虫算法模拟了萤火虫的自然现象。

真实的萤火虫自然地呈现出一种离散的闪烁模式,而萤火虫算法假设它们总是在发光。

为了模拟萤火虫的这种闪烁行为,Yang Xin-She提出了了三条规则(Yang,2009)[1]:1. 假设所有萤火虫都是雌雄同体的,因此一只萤火虫可能会被其他任何萤火虫吸引。

基于细菌觅食机理改进粒子群算法的研究

基于细菌觅食机理改进粒子群算法的研究
f r t e lw p c o a tra o a i g l o i m a d ho tomi g h t a i l s a m ag rt m S o h so a e f b c e l f r g n a g rt i h n s rc n t a p r ce w r t lo h i

要 : 子 群 算 法 与 细 菌 觅 食 算 法 在 优 化 问 题 中 均体 现 了 较好 的性 能 , 由于 各 自特 定 的 进 化 机 制 , 都 存 在 缺 粒 但 也
点 。 粒 子 群优 化 ( S 算 法 在 优 化 过 程 中过 快 陷 入 局 部 极 值 , 了 避 免 这 个 缺 陷 , 出 了 一 种 新 的 混 合 算 法 。 通 P O) 为 提
p riu a vout n r e h nim . v i a li t h o a i i u n t e sa d r a ia wa n a c l re l i a y m c a s To a o d f l n o t e l c lm n m m i h tn a d p r c ls r l t o t
R s a c fI r v d B ce il o a ig Me h ns e e r h o mp o e a t r r g n c a im a F P r ce Swa m t z t n a t l i r Op i a i mi o
L U i I We ,CHEN h , WAN G S n u ,L Байду номын сангаасis a ,SUN n Su he gh i I Te h n Ho gwe i
(1 Colg fElcr i nomain E gn eig,Note s erlu Unv riy . le eo eti t Ifr to n iern cy r atP toe m ies ,Da ig 1 3 8,Chn h t qn 6 31 ia;

群体智能优化算法-细菌觅食算法

群体智能优化算法-细菌觅食算法

第十四章 细菌觅食优化算法14.1 介绍Passino 等人[1]于2002年通过模拟人体内大肠杆菌的觅食行为,提出了一种新型智能优化算法:细菌觅食优化算法(Bacterial Foraging Optimization Algorithm ,BFOA)。

细菌觅食优化算法通过细菌群体之间的竞争与协作实现优化,是一种基于细菌群体的搜索技术。

在群智能算法中,GA 、ACO 、PSO 、AFSA 都是基于高等生物作为启发对象,而BFOA 算法则是模拟微生物的行为而形成的一种较新的优化方法。

14.2 BFOA 的基本原理与流程BFOA 算法是一种全局随机搜索的算法,其具有简单、收敛速度快,并且在优化过程中无需优化对象的梯度信息的特点。

BFOA 模拟细菌群体的过程包括趋向性(Chemotaxis )、复制(Reproduction )、迁徙(Elimination-dispersal )三个步骤。

14.2.1 趋向性操作细菌向有利于自身环境的区域移动称为趋向运动,其中,一次趋向性操作包括翻转运动和游动运动。

细菌向任意方向移动单位步长称为旋转运动;细菌沿着上一步的运动放向移动单位步长称为游动运动。

通常,细菌在环境差的区域(如:有毒区域)会较频繁地旋转,在环境好的区域(如:食物丰富的区域)会较多地游动。

大肠杆菌的整个生命周期就是在游动和旋转这两种基本运动之间进行变换,游动和旋转的目的是寻找食物并避开有毒物质。

设细菌种群大小为S ,细菌所在的位置标示问题的一个候选解,细菌i 的信息用D维向量标示为12,,,i i i iD θθθθ⎡⎤=⎣⎦L ,i =1,2,...,S ,θi (j ,k ,l )表示细菌i 在第j 次趋向性操作、第k 次复制操作和第l 次迁徙操作后的位置。

细菌i 通过式(1)更新其每一步趋向性操作后的位置。

(1,,)(,,)()()i i j k l j k l C i j θθ+=+Φ(1)其中C(i )>0表示向前游动的步长,Φ(j )表示旋转后随机选择的单位方向向量。

粒子群算法详解-附matlab代码说明

粒子群算法详解-附matlab代码说明

位置更新公式
该算法在文献中讨论了系数 n 取各种不同情况的情况,并且运行来了 20000 次来分析各种系数的结果。
(2)粒子群算法的混合
这个分支主要是将粒子群算法与各种算法相混合,有人将它与模拟退火算法相混合,有些人将它与单纯形方法相
混合。但是最多的是将它与遗传算法的混合。根据遗传算法的三种不同算子可以生成 3 中不同的混合算法。
这两个点就是粒子群算法中的粒子。 该函数的最大值就是鸟群中的食物 计算两个点函数值就是粒子群算法中的适应值,计算用的函数就是粒子群算法中的适应度函数。 更新自己位置的一定公式就是粒子群算法中的位置速度更新公式。 下面演示一下这个算法运行一次的大概过程: 第一次初始化
第一次更新位置
第二次更新位置
第 21 次更新 最后的结果(30 次迭代) 最后所有的点都集中在最大值的地方。
粒子群算法与选择算子的结合,这里相混合的思想是:在原来的粒子群算法中,我们选择粒子群群体的最优值
作为 pg,但是相结合的版本是根据所有粒子的适应度的大小给每个粒子赋予一个被选中的概率,然后依据概率对这些 粒子进行选择,被选中的粒子作为 pg,其它的情况都不变。这样的算法可以在算法运行过程中保持粒子群的多样性, 但是致命的缺点是收敛速度缓慢。
上面罗嗦了半天,那些都是科研工作者写论文的语气,不过,PSO 的历史就像上面说的那样。下面通俗的解释 PSO 算法。
PSO 算法就是模拟一群鸟寻找食物的过程,每个鸟就是 PSO 中的粒子,也就是我们需要求解问题的可能解,这 些鸟在寻找食物的过程中,不停改变自己在空中飞行的位置与速度。大家也可以观察一下,鸟群在寻找食物的过程中, 开始鸟群比较分散,逐渐这些鸟就会聚成一群,这个群忽高忽低、忽左忽右,直到最后找到食物。这个过程我们转化 为一个数学问题。寻找函数 y=1-cos(3*x)*exp(-x)的在[0,4]最大值。该函数的图形如下:

在Python中实现粒子群优化(PSO)算法

在Python中实现粒子群优化(PSO)算法

在Python中实现粒⼦群优化(PSO)算法AI有很多定义。

根据Merrian-Webster字典,⼈⼯智能是计算机科学的⼀个⼤领域,它模拟计算机中的智能⾏为。

基于此,⼀种基于元启发式算法的算法实现称为粒⼦群优化(最初提出模拟鸟类寻找⾷物,鱼群的运动等)能够模拟群体的⾏为,以迭代地优化数值问题。

例如,它可以被分类为群体智能算法,如蚁群算法,⼈⼯蜂群算法和细菌觅⾷算法。

由J. Kennedy和R.Eberhart于1995年提出的⽂章“粒⼦群优化”因其持续的优化过程(允许多⽬标的变化)⽽变得⾮常受欢迎。

在不断搜索最佳解决⽅案的过程中,该⽅法将粒⼦(在本例中表⽰为A(x,y)位置)移动,并在每次迭代中计算出⼀定的速度。

预期的最终结果是粒⼦群收敛到最佳解。

重要的是要提到PSO不使⽤梯度下降,因此⼀旦它不要求问题必须是可微分的,它就可以⽤于⾮线性问题。

算法让我们观察伪代码实现Contour plot of x² + y² (Wolframalpha)让我们从Particle类开始。

粒⼦当⼀个粒⼦被⾃动启动时,我们对限制在-50到+50范围内的2个位置进⾏排序。

pbest_position(这是粒⼦的最佳个体位置)开始于初始位置,同样,当我们正在寻找最⼩值时,pbest_value被+ inf初始化(可以是任何较⼤的值)。

还定义了⼀个__str__()⽅法来打印的实际位置和最好的个体值。

move()⽅法添加位置向量和在搜索中计算的维度速度。

搜索空间搜索空间是控制算法例程的实体。

在这个实现中,它负责保留所有粒⼦,识别和设置所有粒⼦的个体最佳位置值,管理⽬标误差准则,计算最佳全局值,设置最佳全局位置。

在resume中,它封装了所有主要步骤。

⽅法set_pbset和set_gbest具有类似的实现⽅式。

⾸先,它遍历所有粒⼦并计算粒⼦位置的适应度值,并与最佳个体位置(在set_pbest处)和最佳全局位置(在set_gbest处)进⾏⽐较。

考虑公平和护士偏好的护士排班研究

考虑公平和护士偏好的护士排班研究

考虑公平和护士偏好的护士排班研究MEI Xun;YE Chunming【摘要】针对护士排班问题涉及护士满意度的特点,在护士排班过程中加入护士偏好和公平的约束,寻求最优的排班表以增加护士的满意度.根据多目标问题的特点,采用粒子群多目标优化算法.在硬约束条件上,加入N班之后不能上A班和P班的约束,使护士在上N班之后能够得到足够的休息.在算法设计上,加入变异算子,扩大了粒子群的搜索空间.由于各优化目标之间存在一定的矛盾,用多目标决策理论可以更加科学客观地优化护士排班表.在最后的案例分析中,发现护士不同的偏好会产生不同的非劣解,因此在实际排班中,要充分考虑护士的偏好,以求出更加科学合理的排班表.【期刊名称】《计算机工程与应用》【年(卷),期】2019(055)004【总页数】8页(P263-270)【关键词】护士排班;多目标;粒子群算法;软约束条件;硬约束条件;变异算子【作者】MEI Xun;YE Chunming【作者单位】【正文语种】中文【中图分类】TP399;R197.321 引言在我国,一方面随着人口老龄化的加重,医院需要越来越多的护理人员[1];另一方面,由于护士在实际工作中任务多、压力重,从而造成一定的在职护士流失[2]。

因此,设计一个护士和医院都满意的护士排班表是一个非常有实际意义的工作。

众所周知,护士的工作时间是采取24小时轮班制,同时在排班过程中还需要考虑相关的劳动法规约束。

因此,护士排班被认为是一个极其复杂的组合优化问题,属于NP难优化问题[3]。

在国内,大多数医院都采用手工方式生成护士排班表[4]。

往往一个科室的排班表会耗费护士长一周或者更长的时间,有时可能还得不到一个满意的排班表。

一个好的排班表,不仅能够提高护士的满意度、工作效率,同时也能够使护士的身心更加健康。

早期的护士排班研究可以追溯到20世纪60年代[5]。

但在国内,护士排班的研究起步较晚。

沈吟东等[6]通过设计一系列的动态变换规则,求解出带约束的护士排班模型,解决了一周内28个护士的排班问题。

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

文章编号:1002-8743(2010)04-0091-04混合PSO 的快速细菌觅食算法麦雄发a,李 玲b(广西师范学院a 数学科学学院;b 继续教育学院,广西南宁530001)摘 要:为了提高细菌觅食算法在高维问题的收敛速度以及精度,提出了一种混合PSO 的快速细菌觅食算法(FBFA P SO) 该算法用粒子的移动代替了细菌的趋化操作,省略了细菌前进操作,保留了细菌的繁殖和驱散操作 基于6个高维Benchmar k 函数的试验结果显示,该算法收敛速度和精度都优于其它三种细菌觅食算法关键词:细菌觅食算法;粒子群优化;混合中图分类号:T P18 文献标识码:A细菌觅食算法(BFA)[1]和粒子群优化算法(PSO)[6]都是用于解决最优化问题的著名算法 BFA 是模仿Ecoli 大肠杆菌在人体肠道内吞噬食物的行为而提出一种新型仿生类算法,而粒子群算法是模仿鸟类觅食行为而提出的进化优化算法 它们在优化问题中体现了较好的性能,而由于各自特定的进化机制,也都存在缺点 在BFA 中,一个细菌代表一个解,它在寻找最优解时只依靠自己 而PSO 中一个粒子代表一个解,它在寻找最优解时,不仅依靠自身,也依靠其它的信息(个体历史最优解和全局最优解) 已有部分学者将BFA 与其它智能算法进行混合,以提高原始BFA 算法的收敛速度和精度,混合的算法包括遗传算法[2]、差分进化算法[3]、分布估计算法[7]和粒子群算法[4,5]本文提出另一种混合PSO 的快速细菌觅食算法,直接用PSO 中快速的粒子移动代替了细菌的趋化操作,省略了通常的细菌前进操作,与其它算法在常用测试函数上的对比测试显示了它更好的效果1 粒子群优化算法粒子群优化算法是(Particle Sw arm Optim ization,PSO)是由美国的Kennedy 和Eberhart 于1995年提出的,源于对鸟群和鱼群群体觅食运动行为的模拟,它是一种全局优化进化算法 PSO 求解优化问题时,每个问题的解被看作是搜索空间中一个没有质量和体积的粒子 在D 维空间里面,粒子群中每个粒子所处位置都被看成解空间的一个,粒子通过个体和群体的飞行经历来不断调整自己的位置 在t 代,第i 个粒子的位置和速度分别记为x i (t )=(x i 1(t ),x i 2(t ), ,x iD (t ))和v i (t )=(x i 1(t ),x i 2(t ), ,x iD (t )) 第i 个粒子所经历过的最好位置被记录,并被记做个体极值(x p best i ),整个群体所经历过的最好位置即整个群体找到的最优解,记做全局极值为(x gbest ) 在每一代,粒子根据下面的公式移动,以更新自己的速度和位置v i (t )=w v i (t -1)+c 1r 1(t )(x p best i -x i (t ))+c 2r 2(t )(x gbest -x i (t ))(1)x i (t )=x i (t -1)+v i (t )(2)其中w 为非负惯性权重,c 1,c 2为非负学习因子,r 1,r 2为[0,1]之间的随机数2 细菌觅食算法细菌觅食算法基于细菌觅食行为过程而提出的一种仿生随机搜索算法 BFA 模拟细菌群体的行为,包括趋化(chemotactic),繁殖(reproduction),驱散(elimination-dispersal)三个步骤收稿日期:2010-09-20基金项目:广西教育厅科研项目(200911LX268),广西师范学院基础研究基金项目(0810A004)作者简介:麦雄发(1974- ),男,广西平南县人,讲师,硕士,研究:智能计算及其应用(maix f74@)2010年12月 广西师范学院学报:自然科学版Dec .2010第27卷第4期 Journal of Guangxi Teachers Education University :Natural Science EditionVol .27No .4BFA 主要包括三层循环,外层是驱散操作,中间层是繁殖操作,内层是趋化操作 算法的核心是内层的趋化性操作,它对应着细菌在寻找食物过程中所采取的方向选择策略,对算法的收敛性有着极其重要的影响 通常在趋化过程中,细菌运动模式包括翻转(tumble)和前进(sw im ) 翻转是细菌向任意方向移动单位步长,其更新公式为:i (j +1,k ,l )= i(j ,k ,l )+c (i ) (i )(3)其中 i(j ,k ,l )表示个体i 在第j 代趋向、第k 代繁殖、第l 代驱散时的位置,c (i )表示步长, (i )表示翻转方向 每当细菌完成一次翻转后,检查适应度值是否改变,若适应度得到改善,细菌将沿同一方向继续移动若干步,如此循环直至适应度不再改善,或达到设定的移动步数临界值,此过程定义为前进繁殖过程先对细菌按其有生命周期以来的适应度进行排序,复制较好的一半来代替较差的另一半,以加快搜索速度 驱散过程通过对细菌按既定概率进行随机初始化,以保证能搜索到全局最优位置 若假设算法中变量维数为p ,细菌个数为S ,最大趋化代数为Nc ,最大前进代数为N s ,最大繁殖代数为Nre ,最大驱散代数为Ned ,则BFA 算法的算法复杂性为o (p *S *N c *N s *Nr e *N ed )3 混合算法对比PSO 与BFA 两个算法,BFA 中趋化操作(包括翻转和前进)的目的是为了更新细菌的位置,而PSO 中粒子移动的作用也是更新位置,两者作用是类似的 而PSO 中利用了个体极值和全局极值来更新粒子位置,收敛速度较快 所提出的混合PSO 的快速细菌觅食算法如算法1算法1 FBFA PSO 算法:步骤1群体初始化,包括细菌的速度步骤2对细菌适应值进行评价步骤3分三层循环内层循环(趋化性操作)以公式(2)进行细菌位置更新更新个体最优和全局最优,并用公式(1)更新各细菌的速度 中间层循环:繁殖操作,同时更新速度 外层循环:驱散操作步骤4输出群体最优解通常的BFA 算法,为了更新细菌位置,细菌先进行任意方向的单位翻转操作,如果适应度更优,则继续前进若干步 单位步长的限制,使得其步伐较小,算法收敛速度较慢 在FBFA PSO 中,细菌趋化性操作直接以粒子移动操作代替,将趋化操作中的翻转和前进(迭代操作)简化为一步操作,步伐较大 并且趋化性操作结束后,按照粒子群算法的思想,对细菌的全局最优位置、局部最优位置和速度进行了更新,以使下次用公式(2)进行细菌位置更新时,不再是任意方向,而是向着更优位置的方向 较大的步伐和有目的的方向操作,加快了细菌的收敛速度,而全局最优的引导作用,提高了解的精度 算法保留通常的细菌繁殖和驱散操作若假设算法中参数设置如BFA,则FBFA PSO 算法的算法复杂性为o (p *S *N c *Nr e *Ned ),相比通常的BFA,少了一个级数Ns ,节省了计算成本4 实验与分析为了考察BFA PSO 算法的性能,将它与基本BFA[1]、BSO [4]、BF PSO[5]算法进行比较 BSO 算法是A.Bisw as 提出的一种混合PSO 细菌觅食算法,主要是在细菌趋化操作后对细菌执行了一个仅使用社会信息(全局最优)的粒子移动操作;而BF PSO 是W.Korani 提出的用粒子的速度代替细菌的翻转方向的混合PSO 细菌觅食算法 这两者都在测试函数和实际问题中获得成功 选择6个常用的Bench m ark 函数进行数值试验,这些函数广泛应用于评价优化算法的性能 前3个是单峰函数,后3个是多峰函数,函数的具体描述如表1为了保证算法的可比性,各相关算法取相同的参数,其中种群规模S =100,变量维数p =100,最大92广西师范学院学报:自然科学版 第27卷驱散代数Ned =2,最大繁殖代数N re =10,最大趋化代数Nc =10,最大前进步数Ns =4,驱散概率P ed =0.25,c (i )中各步长均为0.2 为简化,均不考虑细菌之间的相互作用(cell to cell attraction and re pelling effects)评价的标准包括平均最优适应值和标准差,平均最优适应值反映了在给定迭代次数下算法所能达到的精度,标准差反映了算法的稳定性和鲁棒性 表2给出了四种算法对测试函数求解的结果对比从表2中数据可以看出,不管单峰函数还是多峰函数,FBFA PSO 在求解精度和稳定性方面,都明显优于其它三个方法,表明了本文提出的FBFA PSO 在解决高维函数问题上的可行性和有效性表1 六个测试函数函数维数p取值范围理论极值f 1(x )=p i =1x 2i100x i [-5.12,5.12]0f 2(x )=(pi =1ix 4i )+r and [0,1]100x i [-1.28,1.28]0f 3(x )=max (x i ),1 i p 100x i [-100,100]0f 4(x )=p i =1(x 2i -10cos(2x i )+10)100x i [-5.12,5.12]0f 5(x )=14000(p i =0x 2i)-pi =1cos(x ii)+1100x i [-600,600]f 6(x )=-20ex p(-0.21pp i =1x 2i )-ex p(1pp i =1cos(2 x i ))+20+e100x i [-32,32]0表2 四种算法的平均最优值和标准差BFABSO BF PSO F BFA PSO f 1平均值326.11020.0597 1.7328e 007 6.1285e 024标准差16.46920.0399 1.1233e 007 1.2007e 023f 2平均值305.74310.06660.00147.3206e 005标准差39.71320.03738.7636e 004 5.5352e 005f 3平均值83.54670.07750.0402 3.4959e 011标准差 2.21830.04690.0238 3.8163e 011f 4平均值1.2016e +00318.4712 1.4295e 0040标准差44.588111.3452 1.2842e 0040f 5平均值2.3110e +0030.1206 5.6101e 0050标准差105.26010.1972 1.2142e 0040f 6平均值20.38660.3647 5.8803e 004 3.0036e 012标准差0.07110.31621.9111e 0041.9099e 012为了更清楚给出函数的寻优进化曲线,篇幅关系,只选取单峰函数f 3和多峰函数f 5进行说明 图的纵轴取了平均最适应值,横轴取繁殖代数 从图1和图2可以看出:(1)FBFA PSO 获得了最好的最优值,其中f5问题在第16代繁殖后,已经到达最优值;(2)在相同繁殖代数下,FBFA PSO 下降最快,拥有最快的收敛速度表3是运行时间比较,算法是在同一台笔记本电脑上运行,操作系统是Vista,CPU 为酷睿 2.0G,3G 内存 从表3可以看出:(1)基本BFA 与BSO 算法在时间消耗上是差不多的 (2)BF PSO 比BFA和BSO 节省了计算时间,这是由于用速度代替翻转方向后,其执行到前进操作的次数得以减少;(3)FB第4期 麦雄发,等:混合PSO 的快速细菌觅食算法93FA PSO 计算时间比其它三个算法都明显节省很多,稳定性最高,这是其省略了前进操作的结果表3 四种算法的平均运行时间和标准差BFABSO BF P SO F BFA PSO f 1平均值9.59418.4771 4.0121 1.4836标准差0.55630.21120.87850.0456f 2平均值13.766413.4305 4.6417 3.0463标准差0.55700.20890.04900.0280f 3平均值8.63937.9314 2.7599 1.5038标准差0.24470.10710.03490.0341f 4平均值9.17689.7384 3.6364 1.8204标准差0.13680.13340.08300.0443f 5平均值16.798211.0397 4.6673 2.2277标准差0.18600.14580.07890.0487f 6平均值6.22709.4271 4.2307 1.8819标准差0.03690.78210.34410.03775 结 语混合粒子移动机制的细菌觅食算法,充分利用了PSO 算法的快速收敛能力和细菌觅食算法的全局搜索能力,通过对几个常用Benchm ark 函数的试验结果可以看出,FBFA PSO 不仅加快了收敛速度,提高了解的质量,还节省了计算成本(时间)参考文献:[1]K M PA SSI NO.Biomimicry of bacter ial forag ing for distr ibuted opt imization and control[J].IEEE Control Systems M agazine,2002,22(3):52 67.[2]K IM D H,ABRAHA M A ,CHO J H.A hybrid g enetic alg orithm and bacterial foraging approach for global optimization[J].I nformation Sciences,2007,177(18):3918 3937[3]BISWAS A,DA SGU P TA S,Das S.Synerg y of Differ ential Evolutio n and Bacterial F oraging Algo rithm for G lobal Optimization[J].N eural Networ k W orld,2007,17(6):607 626(下转第118页)可施行的打水方案一般地,kx1,ky1所对应的方案并不是打k千克水的最简方案,若x1,y1,x2,y2,x3,y3, ,x i,y i, 都是不定方程ax+(a+2)y=k的整数解,则含有所有解中最小正整数的那一组解所对应的方案是最简方案把例7中的7和5代换成任两个互素的数a和b,则对任意不大于a或b的k千克的水都能实现 但不同之处在于最简方案的寻找要变得更为繁杂除以上几种常用的方法之外,图论方法、数学归纳法、赋值法等也是组合竞赛题中常用的方法 组合问题涉及的知识面很广,问题的解决需要有很强的综合能力和技巧性,其问题本身一般又显得新颖有趣,很受学生欢迎 因此也常在数学竞赛中担当 压轴 的角色 对其进行推广和研究有利于更好地推动数学竞赛的发展参考文献:[1]韦华全,谢体良.数学竞赛题的推广与研究(I)[J] 广西师范学院学报:自然科学版,2003,20(2):98 101[2]周宇珍,韦华全,谢体良.数学竞赛题的推广与研究(II)[J] 广西师范学院学报:自然科学版,2009,26(2):106 108[3]黄国勋 竞赛数学技巧[M] 南宁:广西教育出版社,1999[4]卢开澄 组合数学[M] 北京:清华大学出版社,1991[责任编辑:班秀和](上接第94页)[4]A Bisw as,S Dasgupta,S Das,and A Abraham,Sy nergy of PSO and bacterial fo rag ing optimization:A comparative study onnumer ical benchmarks[C].in Proc 2nd Int Symp Hybr id Artificial Intell Syst (HAIS)A dvances Soft Computing Ser , Germany,Springer V erlag,I nnovations in Hybrid Intelligent Systems,ASC,2007,44:255 263[5]W ael M ansour Korani Bacterial for ag ing o riented by par ticle sw arm optimization strategy for PID tuning[C] Proceedingsof the2008GECCO conference companion on Genetic ane evolutionary computation,Atlanta,GA,U SA,2008:12 16.[6]王雪松,程玉虎,郝名林.基于细菌觅食行为的分布估计算法在预测控制中的应用[J] 电子学,2010,38(2):333339.[7]J Kennedy,R C Eber hart.Particle Sw ar m O ptimization[C].in Proc of the IEEE I nt Conf on Neur al Networ ks Piscataway,NJ:I EEE Service Center,1995:1942 1948Fast Bacterial Foraging Algorithm Combined with ParticleSwarm OptimizationMAI Xiong fa a,LI Ling b(a School of M athematical Sciences,b School of Continuing Education,Guangx i Teachers Education U niversity,Nanning530001,China;)Abstract:To improve the convergence speed and accuracy of the basic Bacterial Forag ing Algorithm (BFA)over high dimensional problems,a fast bacterial foraging algorithm combined with Particle Sw arm Optimization(FBFA-PSO)is presented.This algorithm uses the fly of particles instead of bacteria chemo tax is,and om its the sw im of the bacteria,w hile it retains reproduction and elimination-dispersal of the bacteria.Simulation results on six benchmark functions show that the proposed algorithm is superior to oth er three bacterial foraging algorithms.Key words:Bacterial Foraging Alg orithm;Particle Sw arm Optimization;combine[责任编辑:黄天放]。

相关文档
最新文档