蛙跳算法MATLAB程序

  • H2_676159
    了解作者
  • 1.4KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 1
    下载次数
  • 2022-06-14 12:31
    上传日期
基本蛙跳算法的MATLAB程序。用MATLAB编写的基础算法。
蛙跳程序MATLAB.zip
  • 蛙跳程序MATLAB
  • fun.m
    232B
  • FSFLA.m
    2KB
内容介绍
clc;clear all; m=50 %种群分组数 n=35; %t每组青蛙包含的个数 Ne=25; %组内迭代数 smax = 100; %最大步长 MAXGEN=100; %种群总进化代数 d=25; %优化问题维数 pmax =1024; %d维最大值 pmin = -1024;%d维最小值 %%产生初始青娃 F=m*n; tic; for i1=1:F p(i1,:)=pmax*rands(1,d); end %%全局迭代寻优 yy=zeros(1,MAXGEN); for ii=1:MAXGEN for i2=1:F fitness(i2)=fun(p(i2,:)); end %排序,找最好的,并分组 [fitsort,index]=sort(fitness); for i3=1:F x(i3,:)=p(index(i3),:); end gx=x(1,:);%种群内最好的青娃 yy(ii)=fitsort(1); % yy(ii)=fun(x(1,:)); % local=zeros(n,d); for i4=1:m local = p(i4:m:end,:); for j=1:Ne %每组青蛙迭代次数 pb=local(1,:);%组内最优 pw=local(n,:);%组内最差 s1=rand.*(pb-pw);%采用组内最优更新 s1(find(s1>smax))=smax; temp= pw+s1; temp(find(temp>pmax))=pmax; temp(find(temp<pmin))=pmin; if fun(temp) > fun(pw) s1=rand.*(gx-pw);%采用全局最优更新 s1(find(s1>smax))=smax; temp=pw+s1; temp(find(temp>pmax))=pmax; temp(find(temp<pmin))=pmin; end if fun(temp)>fun(pw) s1=pmax*rands(1,d);%随机更新 s1(find(s1>smax))=smax; temp=pw+s1; temp(find(temp>pmax))=pmax; temp(find(temp<pmin))=pmin; end local(n,:) = temp; for loc=1:n fitlocal(loc)=fun(local(loc,:)); end [localsort,indexlocal]=sort(fitlocal); for loc=1:n localnew(loc,:) = local(indexlocal(loc),:); end local=localnew; end %结束Ne p(i4:m:end,:) =local; end %结束m %最好的青娃适配值 end %结束MAXGEN toc %结果分析 plot(yy) title('混合跬跳算法优化'); xlabel('总进化代数');ylabel('函数最优解');
评论
    相关推荐
    • 电力系统状态估计MATLAB算法
      状态估计算法 MATLAB 内附readme 详细说明了使用方法和步骤 有专门的txt文件 可以输入自己的bus阵 line阵等 即可进行状态估计
    • 粒子滤波matlab算法
      粒子滤波正在得到重视,越来越的人开始注意,在故障诊断和预测领域里,用来估计状态参数。附件中matlab程序介绍了基本粒子滤波算法
    • matlab算法大全
      本文档涵盖了很多数学算法,利用matlab实现,在工程技术上有很高的应用价值
    • Matlab算法大全
      Matlab算法 PDF 分章阅读 高清PDF 很好很全面的阅读材料
    • 各种MATLAB算法
      各种MATLAB算法,代码,可供初学者参考应用,
    • Matlab算法大全
      Matlab算法大全 第01章线性规划 第02章整数规划 第03章非线性规划 第04章动态规划 第05章图与网络 第06章排队论 第07章对策论 第08章层次分析法 第09章插值与拟合 第10章数据的统计描述和分析 第11章方差分析 第12章...
    • Matlab 算法
      MATLAB语言常用算法程序集 Matlab 语言 算法 程序
    • matlab算法大全
      matlab算法大全,很全,提供插值,数值微分、积分等功能代码的实现
    • matlab算法大全
      matlab 中常用的程序 函数使用示例
    • matlab 算法程序
      matlab 算法程序,包括了插值、函数逼近、数值积分、非线性方程求解、统计分析、偏微分方程数值解法等17个部分,每个部分针对各种函数有m文件代码和相关解释说明。