【闪电搜索算法】基于闪电搜索算法求解单目标优化问题matlab代码

790 篇文章 263 订阅
订阅专栏

1 简介

2015 年,Hussain Shareef 等基于闪电的机理提出了一种新型的启发式优化算法———闪电搜索算法( lightning search algorithm,LSA) ,该算法具有调节参数少、收敛精度高和全局寻优能力强等优点,已在函数优化、旅行商问题寻优等方面得到应用。

2 部分代码

%{
Lightning Search Algorithm (LSA)

Platform: Matlab 2012a,2013a   


Cite this algorithm as;
[1]. Hussain Shareef , Ahmad Asrul Ibrahim, Ammar Hussein Mutlag, Lightning Search Algorithm, 
Applied Soft Computing 36 (2015) 315?333.


Copyright Notice
Copyright (c) 2015, Hussain Shareef and Ahmad Asrul Ibrahim 
All rights reserved.

Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are 
met:

  * Redistributions of source code must retain the above copyright 
    notice, this list of conditions and the following disclaimer.
  * Redistributions in binary form must reproduce the copyright 
    notice, this list of conditions and the following disclaimer in 
    the documentation and/or other materials provided with the distribution
     
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
POSSIBILITY OF SUCH DAMAGE.


%}


clc
clear all
close all

tic;%start stopwatch
F_index =6; % Function 1-6 % Refer to other test function 7-24 in [1].
[low,up,dim]=test_functions_range(F_index);

N = 20; % population size/number of agents
D = dim; % number of dimension
T = 100; % maximum number of iteration

% Set upper bound & lower bound
if size(up,2)==1
   UB = ones(1,D).*up;
   LB = ones(1,D).*low;
end
if size(up,2)>1
   UB = up;
   LB = low;
end

%randomly create 1st population
for d = 1:D
   Dpoint(:,d)= rand(N,1)*(UB(d)-LB(d))+LB(d);
end

ch_time = 0; % reset
max_ch_time = 10;
fit_old = 10^10*(ones(1,N));
direct = sign(unifrnd(-1,1,1,dim));

for t = 1:T
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   % Evaluate performance
   fit = evaluateF(Dpoint,F_index); 
   Ec = fit;
   
   % update channel
   ch_time = ch_time+1;
   if ch_time >= max_ch_time
      [Ms ds]=sort(Ec,'ascend');
       Dpoint(ds(N),:) = Dpoint(ds(1),:); % Eliminate the worst channel
       Ec(ds(N)) = Ec(ds(1)); % Update  
       ch_time = 0; % reset
   end
   
   % Rangking the fitness value
  [Ms ds]=sort(Ec,'ascend');
   best = Ec(ds(1));
   worst = Ec(ds(N));
   
   Energy = 2.05 - 2*exp(-5*(T-t)/T);% Update energy

   % update direction
   for d = 1:D
       Dpoint_test = Dpoint(ds(1),:);
       Dpoint_test(d) = Dpoint_test(d)+direct(d)*0.005*(UB(d)-LB(d));
       fv_test = evaluateF(Dpoint_test,F_index);
       if fv_test < best % If better, +ve direction
           direct(d) = direct(d);
       else
           direct(d) = -1*direct(d);
       end
   end
   % update position
   for i = 1:N
       dist=Dpoint(i,:)-Dpoint(ds(1),:);
           for d = 1:D
               if Dpoint(i,:)==Dpoint(ds(1),:)
                   Dpoint_temp(d) = Dpoint(i,d)+direct(d)*abs(normrnd(0,Energy));
               else
                   if dist(d)<0
                       Dpoint_temp(d) = Dpoint(i,d)+exprnd(abs(dist(d)));
                   else
                       Dpoint_temp(d) = Dpoint(i,d)-exprnd(dist(d));
                   end
               end
               if (Dpoint_temp(d)>UB(d))||(Dpoint_temp(d)<LB(d))
                   Dpoint_temp(d) = rand(1)*(UB(d)-LB(d))+LB(d); % Re-initialized
               end
           end
           
           fv = evaluateF(Dpoint_temp,F_index);
           if fv < Ec(i)
               Dpoint(i,:) = Dpoint_temp;
               Ec(i) = fv;
               % Focking procedure
               if rand < 0.01
                   for d = 1:D 
                       Dpoint_fock(d) = UB(d)+LB(d)-Dpoint_temp(d);% Focking
                   end
                   fock_fit = evaluateF(Dpoint_fock,F_index); % Evaluate
                   if fock_fit < Ec(i) 
                       Dpoint(i,:) = Dpoint_fock; % Replace the channel
                       Ec(i) = fock_fit;
                   end
               end
           end   
   end
   if best == worst
       break
   end
% record the performance
   fitness(t) = min(fit);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end
elapsed_time=toc; % time taken for this algorithm
% select the optimal value
grandmin = min(fitness);
y = fitness;
x = 1:length(y);
plot(x,y,'Linewidth',2)
xlabel('No of Iteration');
ylabel('Fitness Value');
axis([0 max(x) min(y) max(y)]); 
fprintf(1,'Optimal value = %f\n', grandmin);

3 仿真结果

4 参考文献

[1]卢玉婷. 元启发式闪电搜索算法及应用研究[D]. 广西大学, 2019.

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

部分理论引用网络文献,若有侵权联系博主删除。

MATLAB群智能开源第十五期-闪电优化算法(LAPO)
移步公众号获取
04-12 570
1 写在前面 该系列为基础群智能优化算法,欢迎私信一起交流问题,更多的改进算法可查看往期的推文。有问题或者需要其他建议的话,非常欢迎后台私信交流,共同进步,如若出现违反学术道德的情况与本博客以及作者无关,所有资料仅做参考。 2 算法基本原理 闪电通常都会把负电荷从雷暴云带到地面。在可见的闪电的前方有一个带负电荷的梯级先导,它快速向下移动到云层的下面,再穿过分布着正电荷的许多小区域的空气,来到地面。云层下方的这些正电荷小区域,是雷暴云的强电场引起地面尖端放电释放出大量离子形成的。带负电荷的梯级先导在
【粒子群算法】基于遗传结合粒子群算法求解目标优化问题3matlab代码.zip
01-15
智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真代码
闪电搜索算法,Lightning search algorithm
12-06 1656
1.闪电搜索算法,Lightning search algorithm   Shareef H, Ibrahim AA, Mutlag A H. Lightning search algorithm[J]. Applied Soft Computing, 2015, 36:315-333.   来自 https://scholar.google.com/s cholar?hl=zh-CN
【智能算法闪电搜索算法(LSA)原理及实现
最新发布
Logic_9527的博客
04-22 929
过渡放电体产生了梯级先导的初始种群,空间放电体试图到达最好的先导位置,先导放电体代表当前的最优位置,考虑到闪电的概率性质完成了 3 种放电体的建模。LSA受到闪电梯级先导传播机制的启发: 放电体参与形成二叉树结构并且在分叉点同时形成 2 个先导尖端。考虑了闪电的概率性质和曲折特征,通过相对能量来控制算法的探索和开发能力。2.设置一个最大通道时间 max_time,在达到max_time 时,用最优的通道代替最差的通道进行通道更新。梯级先导尖端形成以后,先导者电离先导尖端附近部分来移动放电体。
基于闪电搜索算法的函数寻优算法
心升明月的博客
04-27 2195
文章目录一、理论基础1、闪电搜索算法2、LSA算法流程图二、仿真实验与结果分析三、参考文献 一、理论基础 1、闪电搜索算法 闪电搜索算法(Lightning Search Algorithm, LSA)是Shareef H等受自然天气中闪电现象的启发提出的 一种优化算法,模拟闪电的快速传播特性,因此收敛速度较快。 LSA是对闪电这种自然现象的观察而得到的新新算法,当闪电形成时,空气中的“放电粒子”与空气碰撞之后会产生一条电离路径或通道,并形成一条梯级先导。LSA算法利用空间放电体、引导放电体等概念建立分布函
智能优化算法闪电搜索算法-附代码
Jack旭的博客
09-11 2115
智能优化算法闪电搜索算法-附代码 文章目录智能优化算法闪电搜索算法-附代码1.算法原理1.1 过渡放电体1.2 空间放电体1.3 引导放电体2.算法结果3.参考文献4.Matlab代码 摘要:2015 年,Hussain Shareef 等基于闪电的机理提出了一种新型的启发式优化算法闪电搜索算法( lightning search algorithm,LSA),该算法具有调节参数少、收敛精度高和全局寻优能力强等优点,已在函数优化、旅行商问题寻优等方面得到应用。 1.算法原理 LSA 主要通过 3 种放
智能优化算法闪电搜索算法Lightning Search Algorithm.zip
11-16
分享了闪电搜索算法代码及其原文,亲测有效,更多算法可进入空间查看
PSO求解目标优化问题matlab代码_目标优化_PSO优化_PSO求解目标优化问题matlab代码_pso算法_目标优化
10-01
目标粒子群优化算法的主程序,这是一个案例,可以参考
遗传算法求解目标优化问题MATLAB代码(自然计算第一次作业).zip
06-15
Matlab代码用于使用遗传算法求解目标优化问题,包括低维优化问题与TSP问题。是研究生自然计算课程的第一次作业。
基于matlab多种群粒子群算法求解目标优化问题.rar
03-31
代码主要是matlab代码,介绍了一种通多种群粒子群算法求解目标优化问题,这是本人毕业设计的内容,源代码附有相关说明,且运行没有问题,大家可以参考(This code is mainly matlab source code, introduced a ...
基于matlab的烟花优化算法求解目标问题,对比PSO优化+仿真录像
10-26
1.版本:matlab2021a,我录制了仿真操作录像,可以跟着操作出仿真结果 2.领域:烟花优化算法 3.内容:基于matlab的烟花优化算法求解目标问题,对比PSO优化+仿真录像 4.适合人群:本,硕等教研学习使用
闪电搜索工具
11-05
查找文件更方便 专业的搜索软件
everything闪电搜索
12-08
闪电搜索是一款类似于everything的中文搜索软件,可以完全替代windows搜索的桌面快速搜索工具,轻松即可提高搜索的效率,是目前搜索和管理个人电脑文件最快的软件产品。小巧易用,右键定向查找提高效率,支持通配符模糊查找,即搜即有,尽享秒级的搜索体验。
闪电搜索文件
12-06
实如其名,超快搜索电脑中的资源,比windows自带的文件查找(ctrl+F)功能强大,输入关键字、急速搜索(第一次使用时需稍等片刻)
闪电搜索,文件查找助手
07-23
闪电查找电脑文件,快速定位文件路径,绿色免安装版本。
闪电文件搜索
03-23
比系统自动搜索文件功能快N倍,搜索速度超快
【利希滕贝格算法】基于利希滕贝格算法求解目标优化问题Matlab源码
qq_59747472的博客
03-11 375
1 简介 Optimization is an essential tool to minimize or maximize functions, obtaining optimal results on costs, mass, energy, gains, among others. Actual problems may be multimodal, nonlinear, and discontinuous and may not be minimized by classical analytic
闪电算法
kerwin_zxc的专栏
02-19 4948
function drawLightning(x1,y1,x2,y2,displace) {   if (displace     graf.moveTo(x1,y1);     graf.lineTo(x2,y2);   }   else {     var mid_x = (x2+x1)/2;     var mid_y = (y2+y1)/2;     mid_x +=
【智能优化算法】基于闪电连接过程优化算法求解目标优化问题Matlab源码
qq_59747472的博客
02-04 431
1 简介 闪电连接过程算法( Lightning Attachment Procedure Optimization,LAPO)是受自然界中闪电上迎先导与下行先导连接过程的启发,于2017年提出的一种新型智能算法。该算法具有收敛速度快,精度高等特点。 2 部分代码 %___________________________________________________________________% % Lightning Attachment Procedure Opt.
基于双层优化算法求解目标优化文题附matlab代码bilevel optimization algorithm
05-13
下面是一个基于双层优化算法的多目标优化问题MATLAB代码: %Step 1: Set up the upper level optimization problem x0 = [0.5; 0.5]; %Initial guess for x variable options = optimoptions('fmincon','Display'...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Matlab画直方图 24340
  • 2022美赛C题题目及思路--交易策略 17373
  • 2022美赛F题题目及思路--人人为我,我(空间)为人人 16126
  • 【数学建模】历年全国大学生数学建模竞赛题目+定位分析 12406
  • 【基础教程】Matlab实现等高线图 12225

分类专栏

  • 无线传感器教程matlab完整代码 付费 14篇
  • 无人机matlab仿真电子资源 付费 73篇
  • 数学建模Matlab代码 付费 20篇
  • 智能优化算法matlab仿真 付费 15篇
  • 智能优化算法教程型matlab完整代码 付费 14篇
  • Matlab各类代码 付费 2380篇
  • 基于变分贝叶斯卡尔曼滤波器实现目标跟踪附matlab代码 付费
  • 雷达系列教程matlab代码 付费 7篇
  • 卡尔曼滤波实现GPS和INS联合导航含Matlab代码 付费
  • 路径规划matlab代码 付费 5篇
  • 雷达应用系列教程附matlab完整代码 付费 21篇
  • 2D-MUSIC实现L型阵下的二维DOA估计matlab代码 付费 1篇
  • 无人机系列仿真matlab代码 付费 7篇
  • 信号处理教程附matlab完整代码 付费 9篇
  • 2023年数学建模竞赛问题思路及matlab参考代码 付费 34篇
  • 基于matlab模拟进频信号一维像仿真源代码 付费
  • 【滤波】基于最近邻算法实现多目标航迹关联附matlab代码 付费 2篇
  • 优化求解 790篇
  • 物理应用 331篇
  • 数学建模 46篇
  • 雷达通信 168篇
  • 路径规划 590篇
  • 预测模型 919篇
  • 图像处理 1225篇
  • 机械控制 29篇
  • 信号处理 705篇
  • 电力系统 158篇
  • 数据分析 92篇
  • 滤波跟踪matlab代码 154篇
  • 元胞自动机 63篇
  • 信号处理matlab仿真及定制 15篇
  • 无线传感器 146篇
  • matlab仿真大全 1篇
  • 粉丝福利 7篇
  • 车间调度、优化布局问题matlab仿真及定制 93篇
  • simulink 2篇
  • 医学应用 1篇

最新评论

  • 【肌电信号】脉搏信号分析(去噪+特征提取)matlab源码含GUI

    CSDN-Ada助手: MATLAB如何处理大型数据集?

  • 【图像重建】投影法图像重建matlab源码

    CSDN-Ada助手: 如何在MATLAB中使用并行计算?

  • 【信号去噪】基于蚁群算法优化小波阈值实现信号去噪附matlab代码

     塔寨冬叔: 好像是得买,我用 gpt写了

  • 【信号去噪】基于蚁群算法优化小波阈值实现信号去噪附matlab代码

    weixin_51932160: 有回复你吗?哥们儿

  • 基于Simulink与GUI界面相结合的单相全桥整流、三相桥式整流、单相桥式半空整流、单相桥式不可控整流电路的仿真研究

    m0_70771429: 有整个程序吗

最新文章

  • 【雷达】多种杂波抑制 (CS) 技术在脉冲无线电超宽带 (IR-UWB) 雷达系统中的人员追踪方面matlab代码和报告
  • 【无人机三维路径规划】基于树木生长算法TGA实现复杂城市地形下无人机避障三维航迹规划附Matlab代码
  • 【电力系统】机载风能系统的参考经济模型matlab实现
2024
06月 288篇
05月 300篇
04月 281篇
03月 293篇
02月 170篇
01月 218篇
2023年2388篇
2022年2728篇
2021年725篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天天Matlab科研工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码南联百度网站优化排名荷坳百度竞价光明网站制作坑梓SEO按天收费坂田网络广告推广福田模板网站建设惠州网站优化推广东莞关键词按天收费民治网站定制荷坳网站设计模板大浪网络推广大芬网站定制永湖关键词排名包年推广永湖百度网站优化大运百姓网标王坪山网络营销观澜百搜词包民治网站推广同乐关键词按天计费大芬网页设计沙井网站制作南澳seo排名同乐建设网站深圳如何制作网站爱联阿里店铺托管爱联seo网站优化同乐网站设计模板光明优化南山百度爱采购南联优化歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化