【计算智能】——群体智能算法(蚁群优化算法ACO、粒子群优化算法PSO)

群体智能算法

与大多数基于梯度的优化算法不同,群体智能算法依靠的是概率搜索算法。

与梯度算法及传统演化算法相比优点:

  1. 没有集中控制约束,不会因为个体的故障影响整个问题的求解。
  2. 以非直接信息交流的方式确保了系统的可扩展性。
  3. 并行分布式算法模型,可充分利用多处理器。
  4. 对问题定义的连续性无特殊要求。
  5. 算法实现简单。
蚁群优化算法ACO

蚁群算法是对自然界蚂蚁的觅食寻径方式进行模拟而得出的一种仿生方法。

蚁群在觅食途中,会在所经过路径留下一种挥发性分泌物——信息素,并且能感知其存在和强度,朝着信息素浓度高的方向移动。与此同时释放出与路径长度有关的信息素。路径越长,释放的信息素浓度越低。浓度越高的路径选择它的蚂蚁越多,越发增加该路径上的信息素浓度,这样又吸引更多的蚂蚁,从而形成一个正反馈。蚂蚁最终总能找到一条从食物到巢穴之间的最优路径。最优路径上的激素浓度越来越大,而其他路径上的激素浓度却会随着时间的流逝而消减。

粒子群优化算法PSO

假设区域里就只有一块食物(即通常优化问题中所讲的最优解),鸟群的任务是找到这个食物源。鸟群在整个搜寻的过程中,通过相互传递各自的信息,让其他的鸟知道自己的位置,通过这样的协作,来判断自己找到的是不是最优解,同时也将最优解的信息传递给整个鸟群,最终,整个鸟群都能聚集在食物源周围,即我们所说的找到了最优解,即问题收敛。
PSO从这种模型中得到启示并用于解决优化问题。

  • PSO 中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为粒子。所有的粒子都有一个由被优化的函数决定的适值( fitness value) ,每个粒子还有一个速度决定它们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。
  • PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解。
    在每一次迭代中,粒子通过跟踪两个极值来更新自己;
    第一个就是粒子本身所找到的最优解,这个解称为个体极值
    另一个极值是整个种群目前找到的最优解,这个极值是全局极值
    另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。

过程:
假设在一个D维的目标搜索空间中,有N个粒子组成一个群落,其中:
第i个粒子表示为一个D维的向量:xi=(xi1,xi2,…xiD);
第i个粒子的“飞行 ”速度也是一个D维的向量:vi=(vi1,vi2,…viD),1≤i≤m,1 ≤d ≤D;
粒子i经历过的历史最好位置:pi=(pi1,pi2,…piD);
群体内(或领域内)所有粒子所经历过的最好位置:pg =(pg1,pg2,…pgD)。
在找到这两个最优值时,粒子根据如下的公式来更新自己的速度和位置
v i d = w ⋅ v i d + c 1 ⋅ r 1 ( p i d − x i d ) + c 2

  • 0
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值