人工鱼群算法
觅食行为
人工鱼群算法是指在一片水域中,鱼往往能自行或尾随其他鱼找到营养物质多的地方,因而鱼生存数目最多的地方一般就是本水域中营养物质最多的地方,人工鱼群算法就是根据这一特点,通过构造人工鱼来模仿鱼群的觅食、聚群及追尾行为,从而实现寻优。
算法描述
以下是鱼的几种典型行为:
(1)觅食行为:一般情况下鱼在水中随机地自由游动,当发现食物时,则会向食物逐渐增多的方向快速游去。
(2)聚群行为:鱼在游动过程中为了保证自身的生存和躲避危害会自然地聚集成群,鱼聚群时所遵守的规则有三条:分隔规则:尽量避免与临近伙伴过于拥挤;对准规则:尽量与临近伙伴的平均方向一致;内聚规则:尽量朝临近伙伴的中心移动。
(3)追尾行为:当鱼群中的一条或几条鱼发现食物时,其临近的伙伴会尾随其快速到达食物点。
(4)随机行为:单独的鱼在水中通常都是随机游动的,这是为了更大范围地寻找食物点或身边的伙伴。
算法特点
(1)具有较快的收敛速度,可以用于解决有实时性要求的问题;
(2)对于一些精度要求不高的场合,可以用它快速的得到一个可行解
(3)不需要问题的严格机理模型,甚至不需要问题的精确描述,这使得它的应用范围得以延伸。
停止条件
(1) 判断连续多次所得的均方差小于允许的误差;
(2)判断某个区域的人工鱼群的数目达到某个比率;
(3)连续多次所获取的值均不能超过已找到的极值。
(4)迭代次数达到预设次数
Python代码实现
定义目标函数并执行人工鱼群算法
应用领域
(1)电力系统规划
电力系统规划的重要组成部分是输电网规划,其目的是根据规划期间的负荷增长及电源规划方案构建相应的最佳电网结构,来满足经济可靠地输送电能的要求。人工智能算法的快速发展为解决输电网规划问题提供了新的方法。人工智能算法适于求解组合优化问题或者目标函数与一些约束条件不可微的优化问题。人工鱼群算法通过引入禁忌搜索( Tabu)和对人工鱼部分行为的改进,使人工鱼在探寻过程中具有记忆能力,对探索过的位置设为禁区,从而避免重复搜索;同时记录禁区中的一些优良状态,保证搜索的高效性和多样性,进而通过人工鱼群算解决输电网规划问题的速度和效率。
(2)多级梯阶物流中转运输系统优化
在关于此问题的优化模型中,需要同时考虑变量的约束条件和求解精度,将所需要求解的空间离散化,把变量空间转变为合适大小的网格,每一级中转站的最优位置将在限定区域内的某些已知点上选取,该问题向量维数很高,用人工鱼群算法建立各级中转站与网格点关系矩阵和相邻两级中转站间的关系矩阵来消除约束条件和压缩变量数,通过对算法的一些改进使其更适合于该问题的优化,应用结果表明该算法在处理多级梯阶物流中转运输系优化问题效果显著。
参考资料
最新修订时间:2023-12-06 13:40
目录
概述
算法描述
算法特点
参考资料