群智能算法在连续域优化问题中的应用

2020-12-29 11:56邱友利
电脑知识与技术 2020年30期
关键词:蚁群算法粒子群算法

邱友利

摘要:群智能优化算法主要模拟了昆虫、兽群、鸟群和鱼群等群体行为,一般用于求解最优化问题。蚁群算法和粒子群算法是群智能理论研究领域两种主要算法。本文在讨论蚁群算法和粒子群算法原理的基础上,将其应用于连续域寻优问题的求解。通过仿真实验,实现了这两个算法在连续域优化中的应用,验证了各算法在连续域优化问题下的可行性、可靠性和高效性特点。

关键词:群智能;粒子群算法;蚁群算法;连续域优化

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2020)30-0189-02

群智能算法(Swarm Intelligence)主要是模拟动物的群体行为,按照群体合作的方式寻找食物,群体的每个成员通过自身的经验和整个群体成员的经验进行学习,相应地改变搜寻食物的方向。蚁群算法和粒子群算法就是一种模拟生物群体智慧的计算智能算法,是一种仿生的、随机的概率搜索群智能算法。本文先通过分析蚁群算法和粒子群算法的算法原理,讲述算法过程实现思路。再通过对优化评估函数求解的仿真实验,验证各算法在连续域优化问题下的可行性、可靠性和高效性特点。

1 蚁群算法和粒子群算法

1.1 蚁群算法

蚁群算法(Ant Colony Algorithm)是1992年Marco Dorigo在他的博士论文中提出的,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。基本思路为:将整个群体的蚂蚁行走的路径作为待优化问题的解空间,在该解空间内比较路径较短的蚂蚁,并让行走路径较短的蚂蚁释放较多的信息素量,同时蚂蚁将会把信息素量较多的路径作为下一次行走路径,而随着时间的推进,较短路径上信息素浓度逐渐升高,那么整个蚂蚁都会在正反馈的作用下集中到最佳的路径上,此时最佳路径便是解空间的最优解[1]。

蚁群优化算法中,根据伪随机比例规则选择城市j作为下一个访问的城市,公式如下[3]:

1.2 粒子群算法

粒子群算法(Particle Swarm Optimization,PSO)是1995年由J. Kennedy和R. C. Eberhart提出的一种新的进化算法。POS算法先是初始化一群随机解,通过多次迭代来寻找最优解,这种算法相对实现容易、收敛快、精度高等优点引起了学术界的重视[2]。其求解过程如下:

a) 每个粒子用如下公式更新自己的下一个速度:

b) 每个粒子用如下公式更新自己的下一个位置:[present[]=present[]+v[]]

其中:v[]表示粒子速度,w为特定的惯性权重。c1和c2为学习因子,通常c1=c2=2。rand()是一个介于0和1之间的随机值,present[]表示粒子位置。pbest[]为粒子历史最优位置,即个体极值,gbest[]为整个粒子群中历史最优位置,即整体极值。

2 连续域优化问题评估函数

2.1 连续域优化求解的问题

最早提出的蚁群算法是为了求解与旅行商问题类型的离散型问题,也可将其应用于连续域优化问题求解。本文使用这两种算法对优化评估函数进行求解,函数为:

该函数是二维的复杂函数,并且具有震荡的形态,不易找到全局最优解。仿真是在0—20的连续域中,解决这类优化问题的优化方法大都基于梯度信息的数学求解,并且必须要求目标函数连续且可微。

2.2 蚁群算法连续域求解应用

将问题的连续搜索空间的每一个维度进行离散化就能将它用于连续域的优化问题上。

首先,使用蚁群算法对连续域进行求解问题之前,我们需要试图最小化n维问题f(x)。

其中[x=[x1,x2,…,xn]],并且[xi∈[xi,min,xi,max]],[xi,min=bi1

对优化评估函数求解的Matlab仿真结果如图1和图2所示。

根据信息素的量构造新的解,同时每个域信息素跟着指定的挥发系数达到挥发效果。含有大量信息素的域,候选解落在这个区间的概率就大。

2.3 粒子群算法连续域求解应用

利用粒子群算法在Matlab中实现对优化评估函数求解仿真结果如图2和图3所示:首先,粒子会记住过去最好位置,为了回到那个位置它会更新改变速度。其次,个体也知道其群体内最后的位置,进而影响粒子速度更新。

综上,对优化评估函数分别使用蚁群算法和粒子群算法进行了仿真实验后得到,蚁群算法采用正反馈机制,每个个体只能感知局部信息,不能直接利用全局信息。在解决连续域问题时计算和搜索时间较长,且易陷入局部最优的现象。而粒子群算法可以通过当前搜索到的最优解进行群体共享,在很大程度上是解决了求解问题时陷入局部最优的问题。

3 總结

群智能算法在解决复杂优化问题方面已经展现出巨大的发展潜力。其中,蚁群算法对其每一维度都采用离散问题域的方式,是将其运用到连续域优化问题上最简单的方式。粒子群算法的基本思路在于生物体倾向于重复过去成功的策略,它包括生物体本身使用过的有利的策略,也包括在观察到的有利的策略。当粒子群优化的个体在搜索空间中移动时,因为存在某种惯性,因而它易保持自己的速度。对于蚁群算法更严谨的方式是用核构造由信息素的量所表示的离散概率密度函数的连续近似。而对于粒子群算法的组合优化,粒子群优化有几种不同的扩展方式。目前的研究方向是使用多个交互群,从粒子群算法中除去随机性。使用动态和自适应拓扑,探索初始化的策略,以及粒子群优化参数的在线自适应。

参考文献:

[1] 耿振余.软计算方法及其军事应用[M].北京:国防工业出版社,2015.

[2] 张倩.粒子群算法的一种改进算法[J].大理大学学报,2019:2096-2266.

[3] 杨康,游晓明,刘升.引入熵的自适应双种群蚁群算法[J].计算机工程与应用,2019,55(19):66-73.

[4] 赵云涛,王京,荆丰伟.用于连续域优化的蚁群算法及其收敛性研究[J].系统仿真学报,2008,20(15):4021-4024.

【通联编辑:李雅琪】

猜你喜欢
蚁群算法粒子群算法
电力市场交易背景下水电站优化调度研究
基于粒子群算法的产业技术创新生态系统运行稳定性组合评价研究