一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【优化算法】变异策略的改进型花朵授粉算法【含Matlab源码 480期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、花朵授粉算法简介

介绍了一种新的元启发式群智能算法——花朵授粉算法(flower pollinate algorithm,FPA)和一种新型的差分进化变异策略——定向变异(targeted mutation,TM)策略。针对FPA存在的收敛速度慢、寻优精度低、易陷入局部最优等问题,提出了一种基于变异策略的改进型花朵授粉算法——MFPA。该算法通过改进TM策略,并应用到FPA的局部搜索过程中,以增强算法的局部开发能力。


三、部分源代码

function [pdd,fmin ] =pso( c1,c2,Vmax,Vmin,popmax,popmin,sizepop,maxgen)
%UNTITLED2 此处显示有关此函数的摘要
%   此处显示详细说明
PLb=-5.12*ones(1,30);
PUb=5.12*ones(1,30);
pop=zeros(sizepop,30);
V=zeros(1,30);
fitnessP=zeros(1,sizepop);
for i=1:sizepoppop(i,:)=PLb+(PUb-PLb)*rand;V(i,:)=rands(1,30);fitnessP(i)=Fun(pop(i,:));
end
[bestfitness bestindex]=min(fitnessP);
zbest=pop(bestindex,:);   %全局最佳
gbest=pop;    %个体最佳
fitnessgbest=fitnessP;   %个体最佳适应度值
fitnesszbest=bestfitness;   %全局最佳适应度值
% Ntime11=1    ;
% Ntime=Ntime11-1;
% maxgen=0;
% ptol=0.01;
% while(fitnesszbest>ptol),
for i11=1:maxgenfor 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,:)+0.2*V(j,:);pop(j,find(pop(j,:)>popmax))=popmax;pop(j,find(pop(j,:)<popmin))=popmin;%自适应变异pos=unidrnd(30);if rand>0.95pop(j,pos)=5.12*rands(1,1);end%适应度值
%          pop(j,:)=simpleboundsP(pop(j,:),PLb,PUb);fitnessP(j)=Fun(pop(j,:));endfor j=1:sizepop%个体最优更新if fitnessP(j) < fitnessgbest(j)gbest(j,:) = pop(j,:);fitnessgbest(j) = fitnessP(j);end%群体最优更新 if fitnessP(j) < fitnesszbestzbest = pop(j,:);fitnesszbest = fitnessP(j);end
%         Ntime11=Ntime11+1;end
%     maxgen=maxgen+1;
%     if maxgen>10000,
%         fitnesszbest=ptol-1;
%     end
%    if round(i11/30)==i11/30,pdd(i11)=fitnesszbest;
%    endend
fmin =fitnesszbest;
end
% function sfP=simpleboundsP(sfP,PLb,PUb)
%   % Apply the lower bound
%   ns_tmpfP=sfP;
%   IfP=ns_tmpfP<PLb;
%   ns_tmpfP(IfP)=PLb(IfP);
%
%   % Apply the upper bounds
%   JfP=ns_tmpfP>PUb;
%   ns_tmpfP(JfP)=PUb(JfP);
%   % Update this new move
%   sfP=ns_tmpfP;
% end
% ======================================================== %
% Files of the Matlab programs included in the book:       %
% Xin-She Yang, Nature-Inspired Metaheuristic Algorithms,  %
% Second Edition, Luniver Press, (2010).   www.luniver.com %
% ======================================================== %    % -------------------------------------------------------- %
% Bat-inspired algorithm for continuous optimization (demo)%
% Programmed by Xin-She Yang @Cambridge University 2010    %
% -------------------------------------------------------- %
% Usage: bat_algorithm([20 0.25 0.5]);                     %function [pblt,fminbl]=bat_algorithm(nb,A,r,BQmin,BQmax,db,NB)
% Display help
%  help bat_algorithm.m% Default parameters
% if nargin<1,  para=[10 0.25 0.5];  end
% nb=para(1);      % Population size, typically 10 to 25
% A=para(2);      % Loudness  (constant or decreasing)
% r=para(3);      % Pulse rate (constant or decreasing)
% % This frequency range determines the scalings
% BQmin=0;         % Frequency minimum
% BQmax=2;         % Frequency maximum
% % Iteration parameters
%  % Stop tolerance
% N_iter=0;       % Total number of function evaluations
% Dimension of the search variables
% db=5;
% Initial arrays
BLb=-5.12*ones(1,db);
BUb=5.12*ones(1,db);
Q=zeros(nb,1);   % Frequency
v=zeros(nb,db);   % Velocities
Solb=zeros(nb,db);
Fitnessb=zeros(1,nb);
Sb=zeros(nb,db);
% Initialize the population/solutions
for i=1:nb,Solb(i,:)=BLb+(BUb-BLb)*rand;Fitnessb(i)=Fun(Solb(i,:));
end
% Find the current best
[fminb,Ib]=min(Fitnessb);
bestb=Solb(Ib,:);% ======================================================  %
% Note: As this is a demo, here we did not implement the  %
% reduction of loudness and increase of emission rates.   %
% Interested readers can do some parametric studies       %
% and also implementation various changes of A and r etc  %
% ======================================================  %
% btol=0.01;
% NB=0;
% Start the iterations -- Bat Algorithm
% while(fminb>btol),
for tb =1: NB,% Loop over all bats/solutionsfor i=1:nb,Q(i)=BQmin+(BQmin-BQmax)*rand;v(i,:)=v(i,:)+(Solb(i,:)-bestb)*Q(i);Sb(i,:)=Solb(i,:)+v(i,:);% Pulse rateif rand>rSb(i,:)=bestb+0.01*randn(1,db);end% Evaluate new solutionsSb(i,:)=BsimpleboundsP(Sb(i,:),BLb,BUb);Fnewb=Fun(Sb(i,:));% If the solution improves or not too loudnessif (Fnewb<=Fitnessb(i)) & (rand<A) ,Solb(i,:)=Sb(i,:);Fitnessb(i)=Fnewb;end% Update the current bestif Fnewb<=fminb,bestb=Sb(i,:);fminb=Fnewb;endendfunction [aa,fminf,Ntime ] = fpa(n,p,N_iter,d )
%UNTITLED3 此处显示有关此函数的摘要
%   此处显示详细说明
Lb=-600*ones(1,d);
Ub=600*ones(1,d);Sol=zeros(n,d);Fitness=zeros(1,n);
for i=1:n,Sol(i,:)=Lb+(Ub-Lb)*rand;Fitness(i)=Fun(Sol(i,:));
end% Find the current best
[fmin,I]=min(Fitness);
best=Sol(I,:);
S=Sol;Ntime=1;Ntime= Ntime-1;
for t=1:N_iter,% Loop over all bats/solutionsfor i=1:n,% Pollens are carried by insects and thus can move in% large scale, large distance.% This L should replace by Levy flights  % Formula: x_i^{t+1}=x_i^t+ L (x_i^t-gbest)if rand<p,%% L=rand;L=Levy(d);dS=L.*(Sol(i,:)-best);S(i,:)=Sol(i,:)+dS;% Check if the simple limits/bounds are OKS(i,:)=simplebounds(S(i,:),Lb,Ub);% If not, then local pollenation of neighbor flowers elseepsilon=rand;% Find random flowers in the neighbourhoodJK=randperm(n);%               end% As they are random, the first two entries also random% If the flower are the same or similar species, then% they can be pollenated, otherwise, no action.% Formula: x_i^{t+1}+epsilon*(x_j^t-x_k^t)
%            S(i,:)=S(i,:)+epsilon*(Sol(JK(1))-Sol(JK(2)));
%               % Check if the simple limits/bounds are OKS(i,:)=simplebounds(S(i,:),Lb,Ub);end

四、运行结果

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.

【优化算法】变异策略的改进型花朵授粉算法【含Matlab源码 480期】相关推荐

  1. 【优化算法】基于变异策略的改进型花朵授粉算法matlab源码

    一.简介 介绍了一种新的元启发式群智能算法--花朵授粉算法(flower pollinate algorithm,FPA)和一种新型的差分进化变异策略--定向变异(targeted mutation, ...

  2. 【路径规划】基于matlab DWA算法机器人局部避障路径规划【含Matlab源码 890期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[路径规划]基于matlab DWA算法机器人局部避障路径规划[含Matlab源码 890期] 获取代码方式2: 通过订阅紫极神光博客付费 ...

  3. 【优化选址】遗传算法求解物流配送中心选址【含Matlab源码 1917期】

    ⛄一.物流选址简介 1 引言 配送中心是物流系统网络中的关键节点和重要的基础设施,在整个物流系统网络规划中起着枢纽性的作用[1].快递物流配送中心选址是指在具有若干个发件网点或者若干个收件网点的物流配 ...

  4. 【ACO三维路径规划】基于matlab蚁群算法水下潜器三维路径规划【含matlab源码 043期】

    一.无人机简介 0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化.完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水下 ...

  5. 【路径规划】基于matlab蚁群算法机器人大规模栅格地图最短路径规划【含Matlab源码 1860期】

    ⛄一.蚁群算法及栅格地图简介 随着机器人技术在诸多领域的应用, 如机器人协作焊接.灾后搜救.军事.太空探索.深海勘探.家用和服务行业等, 机器人的发展正向智能化方向延伸, 要求其具有自组织.自学习.自 ...

  6. 【无人机】基于matlab粒子群算法优化干扰受限下无人机群辅助网络【含Matlab源码 2245期】

    ⛄一.无人机简介 无人机的航迹规划是指在综合考虑无人机飞行油耗.威胁.飞行区域以及自身物理条件限制等因素的前提下, 为飞行器在飞行区域内规划出从初始点到目标点最优或者满意的飞行航迹, 其本质是一个多约 ...

  7. 【LEACH协议】基于matlab蝴蝶优化算法WSN安全分簇路由设计【含Matlab源码 2567期】

    ⛄一.蝴蝶优化算法(MBO)简介 1 介绍 蝴蝶优化算法(butterfly optimization algorithm, BOA)是Arora 等人于2019年提出的一种元启发式智能算法.该算法受 ...

  8. 【DE三维路径规划】基于matlab改进的差分算法多无人机协同三维路径规划【含Matlab源码 169期】

    ⛄一.无人机简介 0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化.完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水 ...

  9. 【A_star三维路径规划】基于matlab A_star算法机器人栅格地图三维路径规划【含Matlab源码 190期】

    一.A_star算法简介 1 A Star算法及其应用现状 进行搜索任务时提取的有助于简化搜索过程的信息被称为启发信息.启发信息经过文字提炼和公式化后转变为启发函数.启发函数可以表示自起始顶点至目标顶 ...

  10. 【FNN回归预测】基于matlab粒子群优化前馈神经网络婚姻和离婚数据回归预测【含Matlab源码 2069期】

    一.粒子群优化前馈神经网络简介 1 前馈神经网络FNN 前馈神经网络FNN是解决非线性问题的很好模型,它通过梯度下降算法进行网络训练.FNN与时间序列法等传统方法相比,能够更好地来描述问题的非线性特性 ...

最新文章

  1. OpenSSL中对称加密算法DES常用函数使用举例
  2. 《IBM-PC汇编语言程序设计》(第2版)【沈美明 温冬婵】——第一章——自编解析与答案
  3. Pug+Stylus+Bootstrap入门
  4. 基于 jQuery支持移动触摸设备的Lightbox插件
  5. php计划任务 框架,计划任务的使用 ThinkCMF内容管理框架,做最简约的ThinkPHP开源软件...
  6. This application requires Java Runtime Environment
  7. history 改成 模式_前端路由三种模式
  8. Dockder的CS模式:
  9. 2022.管理类软件工具
  10. Settings点击Location(位置)后右上角的开关button不会消失
  11. mysql 杂记(二)
  12. 《c++语言导学》——1.3 Hello,World!
  13. 基础课教材推荐-数字设计、体系结构
  14. yolov3-tiny
  15. 垃圾邮件服务器 查询,exchange2013如果在服务器上查询到垃圾邮件的真实IP地址
  16. pr cc 2018的快捷键整理
  17. 生成的SMILES以及对应的图像的评价指标【2】
  18. 微信小程序-如何实现图片授权保存本地?【亲测有效,附完整源码】
  19. 小迪渗透内网渗透(玖)
  20. 雷柏 V500PRO Win键失效

热门文章

  1. 自然语言交流系统 phxnet团队 创新实训 个人博客 (十)
  2. 《从零开始学Swift》学习笔记(Day 63)——Cocoa Touch设计模式及应用之单例模式...
  3. 一般人想象不到的创业者付出的5种努力 创业者的背后
  4. SQL JOIN--初级篇
  5. Response.Write() Alert后页面布局改变
  6. datatable排序:DataTable的排序、检索、合并
  7. Atitit 文件系统概论 艾提拉著 目录 1. NTFS系统 1 1.1.  NTFS文件系统概述 1 1.2.   1.1  文件系统简介  1.2  NTFS文件系统 1 1.3. 第2章
  8. Atitit q2016 q4 doc list on home ntpc.docx
  9. atitit 用什么样的维度看问题.docx 如何了解 看待xxx
  10. Atitit 通用接口的设计与实现attilax 总结