粒子群优化算法python_粒子群优化算法(PSO)

本文介绍了粒子群优化算法(PSO)的基本原理,它是一种智能优化算法,模拟生物群体的觅食行为。文章详细阐述了粒子群算法的更新机制、优势,并给出了算法的迭代步骤。此外,还提到了在Matlab中实现PSO算法的结果。
摘要由CSDN通过智能技术生成

最近有人咨询了PSO优化模糊控制论域的问题,正好简单介绍一下粒子群算法。


1、粒子群算法

粒子群算法是一种智能优化算法。关于智能,个人理解,不过是在枚举法的基础上加上了一定的寻优机制。试想一下枚举法,假设问题的解空间很小,比如一个函数 y = x^2 ,解空间在[-1,1],现在求这个函数的最小值,我们完全可以使用枚举法,比如在这里,在解空间[-1,1]上,取1000等分,也就是步长为0.002,生成1000个x值,然后代入函数中,找到这1000个最小的y就可以了。然而实际情况不是这样的,比如为什么选1000等分,不是1w,10w等分,很显然等分的越大,计算量也就越大,带来的解当然也就越精确,那么实际问题中如何去平衡这两点呢?也就是既要计算量小(速度快),也要准确(精度高),这就是智能算法的来源了,一般的智能算法基本上都是这样的,在很大的搜索空间上,即保证了速度快,也能比较好的找到最优解。

再来看看粒子群算法(也称PSO算法),也是一种进化算法,模拟生物群体的觅食行为,是一种群体智能算法,类似的算法想遗传算法,模拟退火算法等等。PSO是通过当前已知种群寻找到的所有解来决定新的解的寻找方向,也就是新解的生成方式依赖于这些种群历史上寻找的所有解。

形象的理解比如下图: 

47703e2ec47bc356106f06c4df432b13.png

开始随机生成一堆种群,那么这些种群之间的每个个体可以相互交流,比如下一时刻,A告诉B说我的解比你好,那么B就往A那个地方飞,也就是B的解朝着A的解方向变化,当然所有粒子间都这样操作,想想一旦粒子群中间有一个粒子找到了一个最优解,是不是所有的粒子会一窝蜂朝着这个方向而去了,而在这个去的过程中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值