萤火虫算法matlab实现,萤火虫算法,matlab代码.doc
萤火虫算法,matlab代码.doc
%% 算法说明:荧火虫算法
clc; %清屏
clear all; %清除变量
format long; %确定精度
%% 各参数初始化开始
domx=[-5.12,5.12;-5.12,5.12];
% domx=[-2.048,2.048;-2.048,2.048]; %解空间
rho=0.4; %荧光素挥发因子
gamma=0.6; %适应度提取比例
beta=0.08; %邻域变化率
nt=5; %邻域阀值(邻域荧火虫数)
s=0.03; %步长
lo=5; %荧光素浓度
rs=5.12; %感知半径
r0=5.12;
% rs=2.048; %感知半径
% r0=2.048; %决策半径
%各参数初始化结束
iter_max=200; %最大迭代次数
%% 分配空间开始
m=size(domx,1); %函数空间维数
global n;
n=50; %种群规模
address=zeros(n,m); %分配荧火虫地址空间
value=zeros(n,1); %分配适应度存放空间
li=zeros(n,1); %分配荧光素存放空间
rdi=zeros(n,1); %分配荧火虫决策半径存放空间
uu=zeros(1,iter_max);
%% 荧火虫常量初始化开始
for i=1:m
address(:,i)=(domx(i,1)+(domx(i,2)-domx(i,1))*rand(n,1)); %初始化地址
% address(i,:)=5*rands(n,1); %随机产生初萤火虫所在位置
end
f=fun(address);
x=-5.12:.1:5.12;
% x=-2.048:.05:2.048;
[x,y] = meshgrid(x);
figure(1);
plot3(address(:,1),address(:,2),f,'k*')
hold on;
grid on;
z=-(x.^2-10*cos(2*pi.*x)+10+y.^2-10*cos(2*pi.*y)+10); %Rastrigin'函数
% z=-(x.^2+y.^2); %目标函数 J2
% z=-(20+x.^2-10*cos(2*pi.*x)+y.^2-10*cos(2*pi.*y)); %目标函数 J1
% z=-(-20*exp(-0.2*sqrt((x.^2+y.^2)/2))-exp((cos(2*pi*x)+cos(2*pi*y))/2)+20+exp(1)); %%目标函数
% z=-(0.5+sin(sqrt(x.^2 + y.^2).^2-0.5)./(1+0.001*(x.^2 + y.^2)).^2);%目标函数 J3
mesh(x,y,z)
xlabel('x轴');
ylabel('y轴');
zlabel('z轴');
title('萤火虫初始分布图');
li(:,1)=lo; %荧光素初始值
rdi(:,1)=r0; %决策半径初始值
t=1; %迭代累计量
%荧火虫常量初始化结束
%% 迭代开始
while(t<=iter_max)
li=(1-rho)*li+ gamma * fun(address); %.更新荧光素值li
%各荧火虫移动过程开始
for i=1:n
Ord_number=[]; %存放荧火虫序号
for j=1:n
if (norm(address(j,:)-address(i,:))
Ord_number(numel(Ord_number)+1)=j;
end
end
%计算Ord_number各元素被选择概率,确定j位置
if ~isempty(Ord_number) %先判断Ord_number个数
萤火虫算法matlab实现,萤火虫算法,matlab代码.doc相关推荐
- 【FA TSP】基于matlab萤火虫算法求解旅行商问题【含Matlab源码 328期】
⛄一.TSP简介 旅行商问题 (Travel Salesman Problem, TSP) 是最基本的路线问题, 其探索单一旅行者由起点出发, 并通过所有给定点后, 再回到起点的最小路径成本问题.求解 ...
- 【优化求解】基于matlab粒子群算法和帝国殖民算法和萤火虫算法求解最小生成树优化问题【含Matlab源码 2376期】
⛄一.粒子群算法简介 1 引言 自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在.生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体都 ...
- matlab中存档算法代码,MATLAB 智能算法超级学习手册中程序代码
[实例简介] MATLAB 智能算法超级学习手册中程序代码 [实例截图] [核心代码] dc90ef43-7920-434e-bdb8-0636c31c0b44 └── MATLAB 智能算法超级学习 ...
- 快速行进算法(fast_marching_kroon)的matlab代码
快速行进算法(fast_marching_kroon)的matlab代码 快速行进算法用于求解程函方程得到走时场,源代码转载于link 文章目录 快速行进算法(fast_marching_kroon) ...
- 货物配送问题的matlab,免疫算法求解配送中心选址问题matlab代码
免疫算法求解配送中心选址问题matlab代码 所属分类:matlab例程 开发工具:matlab 文件大小:31KB 下载次数:3 上传日期:2020-12-01 16:11:00 上 传 者:代码大 ...
- 【智能优化算法-白鲸优化算法】基于白鲸优化算法求解单目标优化问题附matlab代码
1 内容介绍 白鲸优化算法(Beluga whale optimization,BWO)由Changting Zhong等人于2022年提出,该算法模拟了白鲸游泳,觅食和"鲸鱼坠落" ...
- 【智能优化算法-闪电算法】基于闪电算法求解多目标优化问题附matlab代码
1 内容介绍 闪电连接过程算法( Lightning Attachment Procedure Optimization,LAPO)是受自然界中闪电上迎先导与下行先导连接过程的启发,于2017年提出的 ...
- MATLAB粒子群算法求解带充电站(桩)的电动车辆路径规划EVRP问题代码实例
MATLAB粒子群算法求解带充电站(桩)的电动车辆路径规划EVRP问题代码实例 问题实例描述: 现有一个配送中心需要向20个客户点进行送货.每个客户点有不同货物需求量和卸货服务时间.配送中心和客户点的 ...
- 【车间调度】基于改进帝国企鹅算法求解车间调度问题附matlab代码
1 内容介绍 传统车间调度问题仅仅考虑工件的分配问题.而柔性车间调度问题在传统车间调度问题上做了一定的延伸,它更接近实际生产过程的原因是由于其在传统车间调度问题中加入了对加工机器的选择.因此对其的研究 ...
- 【智能优化算法-鲸鱼算法】基于鲸鱼算法求解多目标优化问题附matlab代码(NSWOA)
1 内容介绍 为了解决多目标优化的相关问题,鲸鱼优化算法结合多目标相关理论,并在算法中加入了非排序思路,提出了一种求解多目标问题的鲸鱼优化算法. 2 仿真代码 %% Non Sorted Whale ...
最新文章
- Ajax、Comet与Websocket
- 内容流量管理的关键技术:多任务保量优化算法实践
- iframe有那些缺点
- POI 2003/2007 下拉列表
- C语言试题六十八之请编写函数实现亲密数
- 进程 zabbix_Zabbix监控在windows的进程(非进程数)
- An attempt has been made to start a new process before the current process
- 在Visual Studio Code配置GoLang开发环境
- Django中model新建数据表操作后admin页面不更新问题
- php 串行化与json(转)--很不错的文章
- 通讯录标准化输入fread c语言,C语言实现通讯录系统
- 工程电磁场matlab仿真,带电粒子在电磁场中运动的MATLAB仿真.doc
- ado全称_JDBC、ODBC、OLE DB、ADO、ADOMD区别与联系
- GymBase英文版主题-健身主题-WordPress响应式
- MPL2.0协议简介——Mozilla Public License Version 2.0
- 非结构化数据的存储与查询
- 试题 B: 顺子日期
- 红米note5解锁教程_红米Note5解锁bl教程_红米Note5获取解锁码进行一键解锁的方法...
- 关于加密通道规范,你真正用的是TLS,而非SSL
- UI设计— 利用软件Sketch制作镂空图标