【改进粒子群优化算法】增强型二元粒子群优化 (BPSO)算法【具有 6 个新的传递函数】附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。

🍎 往期回顾关注个人主页:Matlab科研工作室

🍊个人信条:格物致知,完整Matlab代码及仿真咨询内容私信。

🔥 内容介绍

粒子群优化(PSO)算法作为一种源于鸟类觅食行为的群体智能算法,因其实现简单、参数少、收敛速度快等优点,在许多领域取得了广泛的应用。然而,标准的二元粒子群优化(BPSO)算法在离散优化问题中,由于其粒子速度和位置更新方式的限制,往往面临早熟收敛、全局搜索能力不足等问题。本文旨在改进传统的BPSO算法,通过引入六种新型传递函数,增强粒子在二元空间中的位置更新能力,从而提高算法的收敛精度和全局搜索能力。本文首先回顾了标准的BPSO算法原理及其在二元优化问题中的应用。接着,详细阐述了六种新型传递函数的设计理念和数学表达式。最后,通过多个经典的二元优化测试函数对增强型BPSO算法进行了实验验证,并将结果与标准的BPSO算法以及其他改进的BPSO算法进行了比较分析。实验结果表明,引入新型传递函数能够显著提升BPSO算法的性能,为解决复杂的二元优化问题提供了新的思路和有效方法。

引言:

粒子群优化(PSO)算法由Kennedy和Eberhart于1995年提出,是一种基于群体智能的优化算法。它模拟了鸟群或鱼群的觅食行为,通过群体中个体之间的信息交流和合作,共同寻找最优解。PSO算法因其易于理解和实现,且对求解连续优化问题表现出色,已被广泛应用于函数优化、模式识别、机器学习等领域。

然而,现实世界中存在大量的离散优化问题,例如特征选择、背包问题、调度问题、布尔函数最小化等等。将PSO算法应用于这些离散问题时,需要将连续的速度和位置信息映射到离散的二元空间。传统的二元粒子群优化(BPSO)算法由Kennedy和Eberhart在1997年提出,通过引入Sigmoid函数将连续的速度值映射到0到1之间的概率,然后根据这个概率决定粒子在下一时刻各个维度上取0还是取1。

尽管BPSO算法在一定程度上能够解决二元优化问题,但其存在一些固有的局限性。首先,Sigmoid函数在速度值较大或较小时,其梯度接近于零,可能导致粒子位置更新缓慢,陷入局部最优。其次,Sigmoid函数只提供了一种固定的非线性映射关系,对于不同特性的二元优化问题,可能无法提供最优的探索和开发平衡。这使得标准的BPSO算法容易出现早熟收敛,无法有效探索整个二元解空间,从而影响算法的全局搜索能力和收敛精度。

为了克服这些问题,研究人员对BPSO算法进行了大量的改进工作。这些改进主要集中在以下几个方面:改进粒子速度更新公式、调整惯性权重和学习因子、引入新的邻域拓扑结构、以及改进粒子位置更新策略。本文的重点在于改进粒子位置更新策略,即通过引入新型传递函数来增强粒子在二元空间中的行为。

传递函数在BPSO算法中扮演着至关重要的角色,它决定了粒子从连续的速度空间向离散的二元空间进行映射的方式。传统的Sigmoid函数是一种S型函数,其输出值范围为(0, 1)。本文提出并研究了六种新型传递函数,它们具有不同的非线性特性和输出范围,旨在为BPSO算法提供更丰富的探索和开发机制,从而提升算法的整体性能。

1. 标准二元粒子群优化 (BPSO) 算法回顾

标准的BPSO算法是PSO算法在二元空间中的推广。其核心思想是将粒子在连续空间中的速度和位置概念,转化为在二元空间中的概率和状态。

算法迭代过程如下:

初始化:

    迭代更新:

    速度更新:

    与标准的PSO算法类似,BPSO中的粒子速度更新公式为:

    vij(t+1)=w⋅vij(t)+c1⋅r1⋅(pbestij(t)−xij(t))+c2⋅r2⋅(gbestj(t)−xij(t))

    其中:

      位置更新:

      这是BPSO与标准PSO的关键区别。粒子在二元空间中的位置更新是通过传递函数将连续的速度值映射到在下一时刻取1的概率,然后根据这个概率进行随机决策。标准的BPSO采用Sigmoid函数作为传递函数:

      S(vij(t+1))=11+e−vij(t+1)

      然后根据以下规则更新位置:

      xij(t+1)={1if rand<S(vij(t+1))0else

      更新个体最优和全局最优:

      标准的BPSO算法虽然简单直观,但在实际应用中,特别是对于高维或多模态的二元优化问题,其性能可能不够理想。Sigmoid函数的S型特性使得在速度值接近0时,位置更新的概率接近0.5,有利于探索;但在速度值较大时,概率迅速趋近于0或1,可能导致粒子过早地锁定在某个状态,从而限制了算法的探索能力。

      2. 六种新型传递函数的设计理念与数学表达式

      为了克服标准BPSO算法的局限性,本文提出并引入了六种新型传递函数。这些传递函数的设计理念在于提供不同于Sigmoid函数的非线性映射关系,从而为粒子在二元空间中的位置更新提供更丰富的选择和更灵活的行为模式。这些函数力求在探索(保持多样性)和开发(趋向最优解)之间取得更好的平衡。

      以下是六种新型传递函数的设计理念和数学表达式:

      2.1 基于指数函数的传递函数 (Exponential-based Transfer Function - ETF)

      设计理念: 利用指数函数的快速增长或衰减特性,在不同的速度范围内提供更陡峭或更平缓的概率变化。

      数学表达式:

      ETF(v)=11+e−k⋅v

      2.2 基于反正切函数的传递函数 (Arctan-based Transfer Function - ATF)

      设计理念: 反正切函数具有渐近线,可以将速度值映射到有限的范围内。它的S型曲线在中心区域相对平缓,在两端区域变化较快。

      数学表达式:

      ATF(v)=12+1πarctan⁡(v)

      2.3 基于高斯累积分布函数的传递函数 (Gaussian Cumulative Distribution Function - GCDF)

      设计理念: 高斯累积分布函数具有平滑的S型曲线,其斜率在中心区域最大,在两端逐渐趋近于零。它提供了一种概率解释,可以看作是粒子速度服从高斯分布的累积概率。

      数学表达式:

      GCDF(v)=12[1+erf(v2)]

      2.4 基于双曲线正切函数的传递函数 (Hyperbolic Tangent-based Transfer Function - HTF)

      数学表达式:

      HTF(v)=1+tanh⁡(v)2

      2.5 基于分段线性函数的传递函数 (Piecewise Linear Transfer Function - PLTF)

      设计理念: PLTF并非光滑函数,而是由多个线性段组成。它可以根据速度值所在的区间,采用不同的线性斜率进行映射。这种分段设计可以更灵活地控制不同速度范围内的概率变化。

      数学表达式:

      PLTF(v)={0if v≤vminm1v+b1if vmin<v≤v1m2v+b2if v1<v≤v2……mnv+bnif vn−1<v≤vmax1if v>vmax

      2.6 基于阈值函数的传递函数 (Threshold Transfer Function - TTF)

      设计理念: TTF是一种更激进的二元映射方式。它不产生概率值,而是直接根据速度值与一个阈值的比较来决定粒子位置。

      数学表达式:

      TTF(v)={1if v>θ0else

      其中 θθ 是一个预设的阈值。这种函数强制粒子在某个维度上要么取0,要么取1,没有中间的概率状态。这可能导致更快的收敛,但也可能增加陷入局部最优的风险。阈值 θθ 的选择对算法性能至关重要。可以考虑将阈值设置为0,或者根据迭代次数或群体状态进行动态调整。

      3. 增强型BPSO算法流程

      基于上述六种新型传递函数,我们可以构建增强型的二元粒子群优化算法。增强型BPSO算法的流程与标准BPSO算法类似,主要区别在于位置更新步骤中不再仅使用Sigmoid函数,而是可以选择或组合使用这些新型传递函数。

      增强型BPSO算法的迭代过程如下:

      初始化:

        迭代更新:

        速度更新:

        速度更新公式与标准BPSO相同:

        vij(t+1)=w⋅vij(t)+c1⋅r1⋅(pbestij(t)−xij(t))+c2⋅r2⋅(gbestj(t)−xij(t))

        位置更新:

        Pij(t+1)=ETF(vij(t+1))

        传递函数的选择策略:

        在增强型BPSO算法中,如何选择合适的传递函数是一个关键问题。可以采用以下几种策略:

        • 固定选择:

           在整个优化过程中,始终使用某一种新型传递函数。例如,始终使用ETF。

        • 随机选择:

           在每次迭代或每个维度上,随机选择一种传递函数进行位置更新。

        • 适应性选择:

           根据算法的优化状态(如收敛速度、多样性等)或问题的特性,动态选择合适的传递函数。例如,在优化初期倾向于使用有利于探索的函数(如ATF),在优化后期倾向于使用有利于开发的函数(如ETF with large k)。

        • 组合使用:

           可以将多种传递函数组合起来,例如,同时计算多种传递函数的输出,然后取平均或加权平均作为最终的概率。

        更新个体最优和全局最优:

        4. 结论与未来工作

        本文提出了一种增强型二元粒子群优化算法,通过引入六种新型传递函数来改进粒子在二元空间中的位置更新机制。这些新型传递函数为BPSO算法提供了更丰富的非线性映射方式,旨在提升算法的收敛精度、全局搜索能力和鲁棒性。通过对多个经典二元优化测试函数的实验验证,我们对不同传递函数的性能进行了初步评估,并与标准BPSO算法进行了比较。

        初步结论:

        实验结果初步表明,引入新型传递函数能够有效提升BPSO算法在解决二元优化问题时的性能。不同的传递函数具有不同的特性,适用于解决不同类型的二元优化问题。通过合理选择或组合使用这些传递函数,可以显著提高算法的收敛精度和全局搜索能力。

        未来工作:

        本研究为二元粒子群优化算法的改进提供了新的方向。未来工作可以从以下几个方面展开:

        • 更全面的测试与分析:

           在更多更复杂的二元优化测试函数上进行实验,包括实际应用问题,如大规模特征选择、蛋白质结构预测等。

        • 参数自适应调整策略:

           研究新型传递函数中参数的自适应调整方法,使得算法能够根据优化过程的状态或问题特性自动调整参数。

        • 传递函数的组合与集成:

           探索将多种传递函数进行组合或集成使用的方法,以充分发挥不同函数的优势。例如,在优化初期使用探索性强的函数,在后期使用开发性强的函数。

        • 新型速度更新机制与传递函数的结合:

           研究如何将本文提出的新型传递函数与已有的改进速度更新机制相结合,进一步提升算法性能。

        • 理论分析:

           对引入新型传递函数后BPSO算法的收敛性、多样性、复杂度等进行理论分析。

        • 将新型传递函数应用于其他二元优化算法:

           探索将这些新型传递函数应用于其他基于群体智能或进化计算的二元优化算法,如二元遗传算法、二元蚁群算法等。

        ⛳️ 运行结果

        🔗 参考文献

        [1] 王存睿,段晓东,刘向东,等.改进的基本粒子群优化算法[J].计算机工程, 2004, 30(21):3.DOI:10.3969/j.issn.1000-3428.2004.21.016.

        [2] 贺毅朝,刘坤起.求解SAT问题的改进粒子群优化算法[J].计算机工程与设计, 2006, 27(15):4.DOI:10.3969/j.issn.1000-7024.2006.15.008.

        [3] 曹义亲,张贞,黄晓生.改进的带经验因子的二进制粒子群优化算法[J].计算机应用, 2013.DOI:CNKI:SUN:JSJY.0.2013-02-005.

        📣 部分代码

        🎈 部分理论引用网络文献,若有侵权联系博主删除

         👇 关注我领取海量matlab电子书和数学建模资料 

        🏆团队擅长辅导定制多种科研领域MATLAB仿真,助力科研梦:

        🌈 各类智能优化算法改进及应用
        生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱调度、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化、CVRP问题、VRPPD问题、多中心VRP问题、多层网络的VRP问题、多中心多车型的VRP问题、 动态VRP问题、双层车辆路径规划(2E-VRP)、充电车辆路径规划(EVRP)、油电混合车辆路径规划、混合流水车间问题、 订单拆分调度问题、 公交车的调度排班优化问题、航班摆渡车辆调度问题、选址路径规划问题、港口调度、港口岸桥调度、停机位分配、机场航班调度、泄漏源定位
        🌈 机器学习和深度学习时序、回归、分类、聚类和降维

        2.1 bp时序、回归预测和分类

        2.2 ENS声神经网络时序、回归预测和分类

        2.3 SVM/CNN-SVM/LSSVM/RVM支持向量机系列时序、回归预测和分类

        2.4 CNN|TCN|GCN卷积神经网络系列时序、回归预测和分类

        2.5 ELM/KELM/RELM/DELM极限学习机系列时序、回归预测和分类
        2.6 GRU/Bi-GRU/CNN-GRU/CNN-BiGRU门控神经网络时序、回归预测和分类

        2.7 ELMAN递归神经网络时序、回归\预测和分类

        2.8 LSTM/BiLSTM/CNN-LSTM/CNN-BiLSTM/长短记忆神经网络系列时序、回归预测和分类

        2.9 RBF径向基神经网络时序、回归预测和分类

        2.10 DBN深度置信网络时序、回归预测和分类
        2.11 FNN模糊神经网络时序、回归预测
        2.12 RF随机森林时序、回归预测和分类
        2.13 BLS宽度学习时序、回归预测和分类
        2.14 PNN脉冲神经网络分类
        2.15 模糊小波神经网络预测和分类
        2.16 时序、回归预测和分类
        2.17 时序、回归预测预测和分类
        2.18 XGBOOST集成学习时序、回归预测预测和分类
        2.19 Transform各类组合时序、回归预测预测和分类
        方向涵盖风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、用电量预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
        🌈图像处理方面
        图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
        🌈 路径规划方面
        旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、 充电车辆路径规划(EVRP)、 双层车辆路径规划(2E-VRP)、 油电混合车辆路径规划、 船舶航迹规划、 全路径规划规划、 仓储巡逻
        🌈 无人机应用方面
        无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化、车辆协同无人机路径规划
        🌈 通信方面
        传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化、水声通信、通信上传下载分配
        🌈 信号处理方面
        信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化、心电信号、DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测
        🌈电力系统方面
        微电网优化、无功优化、配电网重构、储能配置、有序充电、MPPT优化、家庭用电
        🌈 元胞自动机方面
        交通流 人群疏散 病毒扩散 晶体生长 金属腐蚀
        🌈 雷达方面
        卡尔曼滤波跟踪、航迹关联、航迹融合、SOC估计、阵列优化、NLOS识别
        🌈 车间调度
        零等待流水车间调度问题NWFSP 、 置换流水车间调度问题PFSP、 混合流水车间调度问题HFSP 、零空闲流水车间调度问题NIFSP、分布式置换流水车间调度问题 DPFSP、阻塞流水车间调度问题BFSP

        👇

        评论
        添加红包

        请填写红包祝福语或标题

        红包个数最小为10个

        红包金额最低5元

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

        抵扣说明:

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

        余额充值