【预测模型】基于麻雀算法优化极限学习机预测matlab代码

1 简介

麻 雀 搜 索 算 法 (sparrow search algorithm,SSA)提 出 时 间 是2020年,它 是 根 据 麻 雀 觅 食并逃避捕食者的行为而提出的群智能优化算法。麻雀搜索算法主要模拟了麻雀群觅食的过程。每只麻雀都有3种可能的行为:发现者:搜索食物;加入者:跟随发现 者 觅 食;侦 察 者:警 戒 侦 查。其 中,发 现 者是麻雀中找 到 食 物 较 早 的 个 体,加入者则为其他个体,同时在麻雀种群中还有一定比例的个体进行侦查预警,它们的任务是在发现危险的情况下就放弃食物,选择安全第一。

2 部分代码

function [zbest,yy]=PSO_chebyshev(  alpa,c1,c2,D,maxgen,sizepop,u,Vmax,Vmin,popmax,popmin,randdata1,randdata2,model)

%% chebyshev混沌粒子群

%% 产生初始粒子和速度

for i=1:sizepop

    %随机产生一个种群

    pop(i,:)=randdata1(i,:);    %初始种群

    V(i,:)=randdata2(i,:);  %初始化速度

    %计算适应度

    fitness(i)=fun(pop(i,:),model);   %粒子的适应值

end

%% 个体极值和群体极值

[bestfitness bestindex]=min(fitness);

zbest=pop(bestindex,:);   %全局最佳

gbest=pop;    %个体最佳

fitnessgbest=fitness;   %个体最佳适应度值

fitnesszbest=bestfitness;   %全局最佳适应度值

%% 迭代寻优

for i=1:maxgen

    for j=1:sizepop

        %速度更新

        V(j,:) = V(j,:) + c1*rand*(gbest(j,:) - pop(j,:)) + c2*rand*(zbest - pop(j,:));

        V(j,find(V(j,:)>Vmax))=Vmax;

        V(j,find(V(j,:)<Vmin))=Vmin;

        %种群更新

        pop(j,:)=pop(j,:)+V(j,:);

        pop(j,find(pop(j,:)>popmax))=popmax;

        pop(j,find(pop(j,:)<popmin))=popmin;

        %适应度值

        fitness(j)=fun(pop(j,:),model);

    end

    for j=1:sizepop

        %个体最优更新

        if fitness(j) < fitnessgbest(j)

            gbest(j,:) = pop(j,:);

            fitnessgbest(j) = fitness(j);

        end

        %群体最优更新

     

    [ybestfitness ybestindex]=min(fitness);%寻找最优混沌可行解矢量

    ybest=y(ybestindex,:);%最佳个体

    ran=1+fix(rand()*sizepop);%产生一随机数1~sizepop之间

    pop(ran,:)=ybest;

    yy(i)=fitnesszbest;%记录每代最佳

end

3 仿真结果

4 参考文献

[1]许亮, 张紫叶, 陈曦,等. 基于改进麻雀搜索算法优化BP神经网络的气动光学成像偏移预测[J]. 光电子.激光, 2021, 32(6):6.

​​​​​​​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab科研辅导帮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值