群体智能研究主要是对生物群体协作产生出来的复杂行为进行模拟,并在此基础上,探讨解决和解释一些复杂系统复杂行为的新思路和新算法
1. 粒子群优化(PSO):
起源于对简单社会系统的模拟,最初是模拟鸟群觅食的过程,后来发现它是一种良好的优化工具。
基本原理:将搜索空间中的每个点看作粒子,每个粒子都有一个适应值,由被优化的函数决定;每个粒子还有一个速度决定他们飞行的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。随机产生一群粒子,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个最好的位置来更新自己,第一个粒子本身所经历的最好位置pbest,另一个是整个种群目前寻找到的最好位置gbest
粒子群算法框架:
- 对每个粒子进行初始化,设定粒子数n(群体规模为n),随机产生每个粒子的位置和速度。
- 计算每个粒子位置的适应值,将其适应度值与其经过的最好位置pbest作比较,如果较好,则将其作为当前最好的位置pbest
- 根据各个粒子的个体极值pbest找出全局极值gbest
- 按公式更新自己的速度,并把它限制在Vmax内
- 按公式更新当前位置
PSO算法在实现过程中没有遗传算法中交叉变异操作,而是以粒子对解空间中最优粒子进行追踪。同当时遗传算法相比,PSO的优点在于流程简单易于实现,算法参数简洁,无需复杂的调整
2. 蚁群优化算法(ACO)
蚁群优化算法是对自然界蚂蚁的寻径方式进行模拟而得出的一种仿生算法。具有较强的鲁棒性、优良的分布式计算机制、易于与其他方法相结合等优点。
基本原理:蚂蚁在寻找路径时会在路径上释放一种信息素,当它们碰到一个还没有走过的路口时,就随机地挑选一条路径前行,与此同时释放与路径相关的信息素。路径越长,释放的信息素浓度就越低。当后来的蚂蚁再次碰到这个路口时,他不一定就是挑选信息素浓度最高的路径,而是根据概率选择,信息素浓度越高的路径被选择的概率相对较大。这样形成一个正反馈。
最优路径上的信息素浓度越来越大,而其他路径上的信息素却会随着时间的流逝而消减。最终整个蚁群在正反馈作用下集中到代表最优解的路线上,也就找到了最优解。