首页 > 编程知识 正文

粒子群算法公式,粒子群算法的基本思想

时间:2023-05-06 11:25:05 阅读:61165 作者:1329

粒子群算法简介

一、粒子群算法的历史

粒子群算法来源于复杂自适应系统(Complex Adaptive System,CAS )。 CAS理论于1994年正式提出,称CAS成员为主体。 例如研究鸟群的系统,每只鸟在这个系统中被称为主体。 主体具有适应性,能够与环境和其他主体交流,并且能够根据交流的过程通过“学习”和“经验的积累”改变自身的结构和行为。 整个系统的进化或进化有新的水平的产生(小鸟的诞生); 分化和多样性的出现(鸟群中的鸟分为许多小群); 新主题的出现(鸟在寻找食物时继续发现新的食物)。

因此,CAS系统中的主体具有四个基本特征。 这些特点是粒子群算法发展变化的依据。

首先,主体是能动的、活动的。 代理与环境及其他代理相互影响、相互作用,这一影响是系统发展变化的主要动力。 环境影响是宏观的,主体影响是微观的,宏观和微观必须有机结合。 最后,整个系统可能会受到随机因素的影响。 粒子群算法来自于CAS系统——鸟群社会系统的研究。

粒子群算法(Particle Swarm Optimization,PSO )最早于1995年由Eberhart和Kennedy提出,其基本概念来源于对鸟群觅食行为的研究。 想象一下这样的场景。只鸟在随机寻找食物。 这个区域只有一种食物。 所有的鸟都不知道食物在哪里,但它们知道现在的位置离食物有多远。 找到食物的最好方法是什么? 最简单有效的是寻找目前离食物最近的鸟的周边区域。

PSO算法从这种生物种群行为特性中得到启示,用于求解优化问题。 在PSO中,每个优化问题的潜在解都可以看作是d维搜索空间中的一个点,我们将其称为“粒子”(Particle )。 所有粒子都有由目标函数确定的“自适应值”(Fitness Value ),每个粒子还有一个速度,确定它们飞翔的方向和距离。 然后粒子们跟随现在的最佳粒子探索解空间。 根据Reynolds对鸟群飞行的研究。 鸟只跟踪其数量有限的邻居,但最终的总体结果是,整个鸟群仿佛处于一个中心的控制之下,即复杂的全局行为是由简单规则的相互作用引起的。

二、粒子群算法的具体表述

上说了很久,那些都是科研人员写论文的意思,但PSO的历史就像上面说的一样。 用简单易懂的方式说明PSO算法。

PSO算法是模拟PSO中的粒子——鸟群寻找食物的过程。 也就是说,是我们有必要解决问题的可能性的解。 这些鸟在寻找食物的过程中,不断改变着自己在空中飞行的位置和速度。 请大家也观察一下。 鸟群在寻找食物的过程中,鸟群开始散开,渐渐地这些鸟就变成了一个群。 这群人忽高忽低,忽右忽左,最后找到食物。 这个过程我们转化成了数学问题。 查找函数y=1-cos(3*x)*exp(-x)在[ 0,4 ]中的最大值。 函数的图表如下。

当x=0.9350-0.9450时,达到最大值y=1.3706。 为了得到此函数的最大值,在[ 0,4 ]之间随机撒上几个点。 为了演示,放置两个点,计算这两个点的函数值。 同时,在这两点上设定[ 0,4 ]之间的速度。 以下几点按照一定的公式改变自己的位置。 到达新位置后,计算这两个点的值,然后按照一定的公式更新自己的位置。 最后,在y=1.3706的时刻停止自己的更新。 该过程与粒子群算法对照如下

这两点就是粒子群算法中的粒子。 该函数的最大值是鸟群中食物计算两点函数值是粒子群算法中的适应值,计算的函数是粒子群算法中的适应度函数。 更新自己位置的一定公式是粒子群算法中的位置速度更新公式。 以下是运行该算法一次的大致过程。

初次初始化

第一次更新位置

第二次更新位置

第21次更新

最后结果(30次迭代) )。

最后所有的点都集中在最大值的地方。

呵呵,现在粒子群算法的大致思想到此为止。 下一节介绍标准粒子群算法。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。