clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
rng('default');
% Problem Statement
Npar = 3;
VarLow=[-5.12 -5.12 -5.12];
VarHigh = [5.12 5.12 5.12];
% parameters
NP=100; %number of krills
MaxIter=100; %number of iterations
Vf=0.2; %foraging velocity
Dmax=0.005; %max diffusion
Nmax=0.01;
pmod=0.5;
wf = 0.3; %inertia for foraging
wn= 0.3; %inertia for movement
mu=0.3;
XBest = [0.5 0.5 0.5];
XBestFit = fitnessFunc(XBest);
GB=XBestFit;
t = cputime;
%Initialization only for memory allocation
Krill=repmat(struct('Position',zeros(1,Npar),'Velocity',zeros(1,Npar)),NP,1);
%Random Population
for ii = 1:NP
Krill(ii).Position = rand(1,Npar).* (VarHigh - VarLow) + VarLow;
Krill(ii).N=rand(1,Npar);
Krill(ii).F=rand(1,Npar);
Krill(ii).Fit = fitnessFunc(Krill(ii).Position);
end
%main loop
for kk = 1:MaxIter
rng(kk);
%Sorting the population according to their fitness
[~,sortind]=sort([Krill.Fit]);
Krill = Krill(sortind);
%store the best krill
if Krill(1).Fit<XBestFit
XBest=Krill(1).Position;
XBestFit=Krill(1).Fit;
end
for ii=1:NP
%movement
Krill(ii).N=Nmax+wn*(Krill(ii).N);
%foraging
beta=XBest-Krill(ii).Position;
Krill(ii).F=Vf*beta+ wf*(Krill(ii).F);
%diffusion
D=Dmax*rand(1,Npar);
%new position
Krill(ii).Position=Krill(ii).Position+Krill(ii).N+D+Krill(ii).F;
%Krill Migration operator
if rand<pmod
for jj=1:Npar
j=randperm(NP,1);
if rand<mu
Krill(ii).Position(jj)=Krill(j).Position(jj);
end
end
end
%limit within boundaries
Krill(ii).Positon=limiter(Krill(ii).Position,VarLow,VarHigh);
%find the fitness value
Krill(ii).Fit =fitnessFunc(Krill(ii).Position);
end
% store the best value in each iteration
GB=[GB XBestFit];
end
t1=cputime;
fprintf('The time taken is %3.2f seconds \n',t1-t);
fprintf('The best value is :');
XBest
XBestFit
figure(1)
plot(0:MaxIter,GB, 'linewidth',1.2);
title('Convergence');
xlabel('Iterations');
ylabel('Objective Function (Cost)');
grid('on')
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1.版本:matlab2021a,包含仿真操作录像,操作录像使用windows media player播放。 2.领域:磷虾种群迁移优化算法 3.内容:基于Bio-geography-based Krill-Herd-Migration(BBKH)磷虾种群迁移优化算法的目标优化matlab仿真 4.运行注意事项:注意MATLAB左侧当前文件夹路径,必须是程序所在文件夹位置,具体可以参考视频录。 5.适用人群:本硕博等科研学习参考使用。
资源推荐
资源详情
资源评论
收起资源包目录
基于Bio-geography-based Krill-Herd-Migration(BBKH)磷虾种群迁移优化算法的目标优化matlab仿真.rar (7个子文件)
matlab
func
fitnessFunc.m 196B
limiter.m 210B
sortPop.m 78B
Runme.m 2KB
R1.mat 3KB
11.jpg 27KB
操作录像0039.avi 2.38MB
共 7 条
- 1
资源评论
fpga和matlab
- 粉丝: 17w+
- 资源: 2630
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 用于 Pluralsight Vue Fundamentals 课程的 Repo.zip
- 用npm处理过,已配置过源码文件,直接拿来用即可.zip
- 用 Vue.js 和 Vuex.js 编写的所见即所得编辑器.zip
- 正在进行中DataV Vue3 + Vite + TypeScript.zip
- 有赞+vue+ts+vuecli3.0+elementUi.zip
- 帮助您快速上手使用 Nuxt 3 和 Vuetify 3 的模板.zip
- 带有 Webpack 5、Vue Router 4、Pinia 2、TypeScript 5、Prettier 等的 Vue 3 Starter Boilerplate .zip
- 巨树基于ztree封装的Vue树形组件,轻松实现海量数据的高性能渲染 .zip
- 将 Markdown 文件转换为 Vue2.0 组件 .zip
- 对 Vue 核心进行重大变更,功能添加的 RFC.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功