1 简介

针对樽海鞘群算法(Salp Swarm Algorithm,SSA)在寻优过程中存在的收敛速度较慢,容易陷入局部最优的缺点,提出了一种改进的采用莱维飞行策略的条件化更新的樽海鞘群算法(Levy Flight-based Conditional Updating Salp Swarm Algorithm,LECUSSA),并将其运用于分类算法的特征子集选择过程.首先,利用莱维飞行策略的长短跳跃特点对领导者位置进行随机更新,以增强全局最优的搜索能力;其次,增加对追随者位置的更新条件,让追随者不再盲目地跟随,从而加快收敛速度.在23个优化基准函数上对LECUSSA算法与其他算法进行了性能比较实验;并把算法运用到支持向量机(Support Vector Machine,SVM)算法的分类特征子集选择中,采用8个UCI数据集对特征选择后的分类结果进行了性能比较实验.实验结果表明,LECUSSA具有良好的全局最优搜索能力和较快的收敛速度,利用LECUSSA算法进行特征选择后,能够找到最佳分类准确率的特征子集.

2 部分代码

function [sFeat,Sf,Nf,curve] = jSSA2(feat,label,N,max_Iter,HO)

lb    = 0;

ub    = 1;

thres = 0.5;

fun = @jFitnessFunction;

dim = size(feat,2);

X   = zeros(N,dim);

for i = 1:N

for d = 1:dim

X(i,d) = lb + (ub - lb) * rand();

end

end

% Pre

fit   = zeros(1,N);

fitF  = inf;

curve = inf;

t = 1;

%---Iteration start----------------------------------------------------

while t <= max_Iter

for i = 1:N

fit(i) = fun(feat,label,(X(i,:) > thres),HO);

if fit(i) < fitF

Xf   = X(i,:);

fitF = fit(i);

end

end

% Additional sort in the first iteration to improve the

% initial behavior by divide salps into leader and followers

if t == 1

[fit, idx] = sort(fit,'ascend');

X          = X(idx,:);

end

c1 = 2 * exp(-(4 * t / max_Iter) ^ 2);

for i = 1:N

if i == 1

for d = 1:dim

c2 = rand();

c3 = rand();

if c3 >= 0.5

X(i,d) = Xf(d) + c1 * ((ub - lb) * c2 + lb);

else

X(i,d) = Xf(d) - c1 * ((ub - lb) * c2 + lb);

end

end

else

for d = 1:dim

X(i,d) = (X(i,d) + X(i-1,d)) / 2;

end

end

XB = X(i,:);  XB(XB > ub) = ub;  XB(XB < lb) = lb;

X(i,:) = XB;

end

curve(t) = fitF;

fprintf('\nIteration %d Best (SSA)= %f',t,curve(t))

t = t + 1;

end

Pos   = 1:dim;

Sf    = Pos((Xf > thres) == 1);

Nf    = length(Sf);

sFeat = feat(:,Sf);

end

3 仿真结果

4 参考文献

[1]张严, 秦亮曦. 基于Levy飞行策略的改进樽海鞘群算法[J]. 计算机科学, 2020, 47(7):

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

【智能优化算法】基于Levy飞行策略的改进樽海鞘群算法求解单目标优化问题matlab代码相关推荐

  1. 【樽海鞘算法】基于樽海鞘算法求解单目标问题附matlab代码(Salp Swarm Algorithm,SSA)

    1 简介 2 部分代码 %_________________________________________________________________________________% Salp ...

  2. 【优化求解】基于鸟群算法(Bird Swarm Algorithm)求解单目标最优matlab代码

    1 简介 鸟群算法( bird swarm alogrithm,BSA) 是由 Meng 等人于 2015 年提出的一种基于鸟群行为的群智能优化算法,其思想源于鸟群的飞行.觅食和警戒三个主要群体行为, ...

  3. 【优化求解】基于蝗虫算法求解单目标问题附matlab代码

    1 简介 蝗虫算法( Grasshopper Optimization Algorithm,GOA ) 是 由 Saremi 等[1]于2017 年提出的一种元启发式仿生优化算法.具体原理如下: 2 ...

  4. 【优化求解】基于缎蓝园丁鸟优化算法 (SBO)求解单目标问题附matlab代码

    1 简介 ​ 2 部分代码 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

  5. 【象群算法】基于象群算法求解单目标问题附matlab代码(Elephant Herding Optimization,EHO)

    1 简介 象群 算 法(ElephantHerdingOptimization,EHO)是一种启发式搜索算法,源 于 对 大 象 群 体 行为的研究.该算法原理简单,易于实现,目前应用于传感器部署.土 ...

  6. 【智能优化算法-飞蛾火焰优化算法】基于动态惯性权值策略的飞蛾火焰优化算法求解单目标问题附matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  7. 【智能优化算法】基于矮猫鼬优化算法求解单目标优化问题附matlab代码

    1 简介 基于矮猫鼬优化算法求解单目标优化问题​ 2 部分代码 %___________________________________________________________________ ...

  8. 【单目标优化求解】基于matlab增强型黑猩猩优化器算法求解单目标优化问题【含Matlab源码 2013期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[单目标优化求解]基于matlab增强型黑猩猩优化器算法求解单目标优化问题[含Matlab源码 2013期] 点击上面蓝色字体,直接付费下 ...

  9. 【优化算法】基于matlab量子粒子群算法求解单目标优化问题【含Matlab源码 2203期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]基于matlab量子粒子群算法求解单目标优化问题[含Matlab源码 2203期] 点击上面蓝色字体,直接付费下载,即可. 获 ...

  10. 基于觅食生境选择的改进粒子群算法-附代码

    基于觅食生境选择的改进粒子群算法 文章目录 基于觅食生境选择的改进粒子群算法 1.粒子群优化算法 2. 改进粒子群算法 3.实验结果 4.参考文献 5.Matlab代码 6.Python代码 摘要:在 ...

最新文章

  1. Dictionary作为数据源绑定,调用c++库中返回为BYTE*的函数,listView项排序
  2. 老男人面试第四家第五家-初创公司和b轮公司
  3. python 编程一日一练-python每日一练
  4. 深度学习论文翻译--Deep Residual Learning for Image Recognition
  5. 升级后供电不足故障解决攻略
  6. 常用的函数式接口_Predicate接口_默认方法and
  7. 软件定义无线电matlab书,软件定义无线电
  8. Linux内核网络协议栈3-创建socket(1)
  9. 团队项目(MVP-----------新能源汽车无线充电管理系统)个人任务(5)
  10. 列表与元组——Python基础语法
  11. laravel数组转换为字符串_LeetCode刷题实战108:将有序数组转换为二叉搜索树
  12. AutoCad 二次开发(一) 开发环境搭建
  13. 网站虚拟服务器共享ip与独立ip,误区解读:独立IP与共享IP虚拟主机哪个更好?...
  14. Windows防火墙配置脚本讲解
  15. 苹果告诉你-想自己换电池延长iPhone寿命还是算了吧!
  16. Win 10 系统下搭建 Python 编程环境,有手就行
  17. NSGA-2学习笔记
  18. 服务器名称没有显示,远程服务器名称问题没有解决
  19. 【飞轮储能】基于simulink的飞轮储能发电系统的仿真
  20. 判断一个坐标点是否在不规则多边形内部的算法

热门文章

  1. 超燃动态可视化条形图源码及效果图_40行不到的Python代码实现超燃动态排序图...
  2. word中文输入时,符号却是英文符号,修改方法
  3. 字体主题宝库:25款很好看的液晶数字字体下载
  4. 时频分析 matlab 例程,《Matlab时频分析及其应用》的详细代码
  5. 别在学习框架了,那些让你起飞的计算机基础知识。
  6. 电力拖动PLC可编程控制器技能实训QY-DL865
  7. 决策支持系统(DSS)介绍
  8. Flac3d v3.00.251
  9. 《通信技术 - 以太网》详解以太网(二)
  10. 汽车电子行业常见缩略词(前视摄像头相关)