贪婪的非分层灰狼优化算法(Matlab代码实现)

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

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

针对基本灰狼优化(GWO)算法存在求解精度低、收敛速度慢、局部搜索能力差的问题,提出一种贪婪的非分层灰狼优化算法(IGWO)算法用于求解约束优化问题.

⛄ 部分代码

function z=Cost(x, jj)%%%%%%%%M, A, o,a, b, Abenchmark_func

global NFE

NFE=NFE+1;

Di=length(x);

[ps,D]=size(x);

% % %%%%%%%%%CEC2005:

% % %%%Shifted Sphere Function

if jj==1    k=[-39.3119000000000,58.8999000000000,-46.3224000000000,-74.6515000000000,-16.7997000000000,-80.5441000000000,-10.5935000000000,24.9694000000000,89.8384000000000,9.11190000000000,-10.7443000000000,-27.8558000000000,-12.5806000000000,7.59300000000000,74.8127000000000,68.4959000000000,-53.4293000000000,78.8544000000000,-68.5957000000000,63.7432000000000,31.3470000000000,-37.5016000000000,33.8929000000000,-88.8045000000000,-78.7719000000000,-66.4944000000000,44.1972000000000,18.3836000000000,26.5212000000000,84.4723000000000,39.1769000000000,-61.4863000000000,-25.6038000000000,-81.1829000000000,58.6958000000000,-30.8386000000000,-72.6725000000000,89.9257000000000,-15.1934000000000,-4.33370000000000,5.34300000000000,10.5603000000000,-77.7268000000000,52.0859000000000,40.3944000000000,88.3328000000000,-55.8306000000000,1.31810000000000,36.0250000000000,-69.9271000000000,-8.62790000000000,-56.8944000000000,85.1296000000000,17.6736000000000,6.15290000000000,-17.6957000000000,-58.9537000000000,30.3564000000000,15.9207000000000,-18.0082000000000,80.6411000000000,-42.3912000000000,76.2776000000000,-50.1652000000000,-73.5736000000000,28.3369000000000,-57.9905000000000,-22.7327000000000,52.0269000000000,39.2599000000000,10.8679000000000,77.8207000000000,66.0395000000000,-50.0667000000000,55.7063000000000,73.7141000000000,38.5296000000000,-56.7865000000000,-89.6477000000000,37.9576000000000,29.4720000000000,-35.4641000000000,-31.7868000000000,77.3235000000000,54.7906000000000,-48.2794000000000,74.2714000000000,72.6103000000000,62.9640000000000,-14.1446000000000,20.4923000000000,46.5897000000000,-83.6021000000000,-46.4809000000000,83.7373000000000,-79.6611000000000,24.3479000000000,-17.2303000000000,72.3404000000000,-36.4022000000000];

    o=k(1:Di);

    x=x-repmat(o,ps,1);

    z=sum(x.^2,2);

end

%  2.Shifted Schwefel's Problem 1.2 (f13)% % %   x=x-repmat(o,ps,1);%z=z+sum((x(:,1:i)-o(:,1:i)),2).^2;

if jj==2

    k=

    o=k(1:Di);

    % x(:,1:Di)=(x(:,1:Di)-o(:,1:Di));

    x=x-repmat(o,ps,1);

    z=0;

    for i=1:Di

        z=z+sum((x(:,1:i)),2).^2;

        

    end

    

end

% % %  3.Shifted Rotated High Conditioned Elliptic Function

if jj==3

    k=[-32.2013000000000,64.9776000000000,-38.3000000000000,-23.2582000000000,-54.0088000000000,86.6286000000000,-6.30090000000000,-49.3644000000000,5.34990000000000,52.2418000000000,-13.3643000000000,73.1263000000000,-8.56910000000000,-20.4915000000000,-60.1487000000000,16.0884000000000,-78.3319000000000,70.0387000000000,-6.85210000000000,-64.7970000000000,65.4005000000000,-26.0233000000000,-33.8757000000000,51.5893000000000,27.6427000000000,-69.4485000000000,25.5123000000000,-59.0782000000000,-66.5481000000000,-51.2733000000000,-81.7760000000000,-71.6572000000000,37.0810000000000,-63.4248000000000,-64.7785000000000,31.5299000000000,18.5387000000000,9.83420000000000,-0.603700000000000,1.73460000000000,70.1605000000000,-82.0391000000000,-42.7368000000000,-83.5930000000000,-85.0255000000000,41.1773000000000,4.16490000000000,-13.4505000000000,-0.310000000000000,-38.7944000000000,71.2702000000000,65.5320000000000,8.77530000000000,-55.4691000000000,-20.6252000000000,22.2901000000000,13.6798000000000,65.6745000000000,75.8418000000000,27.8926000000000,-15.0616000000000,-17.3036000000000,57.9346000000000,-86.6326000000000,65.0596000000000,47.3884000000000,29.1660000000000,65.5435000000000,3.46430000000000,-39.8140000000000,18.2261000000000,77.0446000000000,62.1882000000000,-11.4000000000000,-10.6218000000000,70.1276000000000,-40.8673000000000,-24.4451000000000,52.1398000000000,-10.5136000000000,29.2399000000000,2.17050000000000,44.0863000000000,81.7943000000000,80.0466000000000,88.3266000000000,16.6098000000000,-50.2573000000000,-71.6993000000000,71.5368000000000,61.4273000000000,-3.67390000000000,77.9428000000000,-22.3294000000000,64.7634000000000,-74.2823000000000,14.1899000000000,37.8473000000000,-77.7129000000000,28.9959000000000;];

    o=k(1:Di);

    %%%%%%%%%%D=30

    M=[0.101649572617649,0.289072035923176,-0.286765021380243,0.121865618984988,0.00556450860017092,-0.223031522320117,-0.194727801566838,-0.118711184357127,0.138209269766396,-0.0378285697535036,0.314550319543548,0.0448798340395962,0.125701159745846,0.211404553727814,-0.396494778335324,0.216799871857644,0.173443397815688,0.0520563323071446,-0.228655671627581,-0.172426368847681,-0.0187653498326652,-0.245097761966214,-0.0429095431234527,0.0852039239375786,-0.00280736755251563,-0.269434649254420,0.204261606401297,-0.0773085750070017,0.121108280661023,-0.0417119307910484;-0.0635668812873883,-0.0636653252640349,-0.0986125954624161,-0.100143645855816,-0.144933491412750,-0.0417667801988755,0.369298139211746,0.117746889577414,0.195051021104135,0.106713075552595,0.108885935271534,-0.227680516685244,0.0194001907590832,-0.113319466655254,-0.0857542718514558,0.186839478847148,-0.215407735779368,-0.275271364593760,-0.249960698175185,-0.0434233484826980,0.210246719261584,0.000639868613076700,0.392219411564581,0.113541601733247,-0.376237262492889,0.0118746069897606,-0.102594353993262,0.173564543841298,0.105251581608107,-0.199131403714783;0.171606756641805,-0.0394064300503054,0.113350611643999,-0.400789833183608,0.00252662412354942,-0.00865890279827147,0.139681767958679,0.0539508622923080,0.453574017608888,0.274165548457225,-0.201201029318243,0.107860181683852,0.112155078527778,-0.0852217563253635,-0.0365656946223936,0.0768160087281115,0.0838615993940098,0.258548079607502,-0.0106664156559209,-0.0526636887043350,0.0460508153121673,-0.287433539824572,-0.0226902251019589,-0.0363803688167517,0.284973201493771,0.200563532196358,0.273872416164543,0.205746391187397,-0.0764988204352923,-0.0703837292461720;0.277595438108878,0.0372035349616752,0.0188615291369658,-0.262111120548872,0.492538460100953,0.102616120343439,0.222243530352718,0.231962858907399,-0.164322029575796,-0.250974157763897,0.309307163881238,-0.133242840749707,-0.0750533183900781,0.0431527260236223,-0.205050813185730,-0.00724507436946414,-0.0347666239708040,-0.160332033317056,0.0874031186881938,-0.101014501796048,-0.0369668755113455,-0.0152086634983077,0.00320521276065479,-0.143090518188925,0.268998953438011,-0.0218382495670583,-0.158001804417444,0.00933995625162381,-0.196399850536393,-0.199660479754626;0.0987196069766670,-0.226796461120093,-0.252541464492151,0.0528012629839485,-0.193344839222873,0.215599675090503,0.293722161940922,-0.161190184626149,0.158192790732803,0.0862507976090545,0.113859680596141,-0.277524132754862,0.181742635743489,0.252333309854451,0.0389886269158712,-0.0892970469680220,0.168190656089495,0.278703187133208,0.235982614946373,0.244971490871448,-0.193252247664029,0.0181217441202776,0.00240336668444485,-0.148037288560151,0.0694149452142575,-0.273389514143036,-0.234668931064354,0.00397603157293236,0.138045961995339,-0.111926406356250;0.0135499894149984,-0.158979182919459,-0.257699686733340,-0.178474153312015,0.108855460209274,-0.0218330242678109,0.0118502472615649,-0.412782632892685,0.0207448770146884,-0.211833373630189,-0.0965502097075295,0.453901627486203,-0.246327512567348,-0.0296725564694131,0.0257450548031615,0.00859776092957890,-0.417122438594125,0.124463628715271,-0.0610581262543247,0.149766783745947,0.0342471617616747,0.0248945372731793,0.104771764409027,-0.147658432801005,-0.0262083894652306,-0.213267526535323,0.0859084635222691,-0.0218333899030421,-0.00817704814639657,-0.257235220495131;0.185073472069158,0.157580355730190,0.0324772514164654,0.451307153561324,0.199468426704495,0.375647527549828,0.121431248511020,-0.197125511517102,-0.132510753938849,-0.142090590760394,-0.288261149100731,-0.184972027031437,0.126808120809744,-0.188063344316617,0.0370593892047093,0.0833486407839542,-0.0273899170978397,-0.0233839723188801,-0.106740186594660,0.0777974605637355,-0.0117361608317625,-0.229374865997853,0.0688547189862504,0.0628942659530501,0.0865314069430917,0.163560354941556,0.235972472530733,-0.00283188949106408,0.216502961509169,-0.264309866671640;0.135949325669065,0.307419136851475,-0.153502470098631,-0.144645313583647,0.0456926122051888,-0.0518994819674233,-0.0502313337675974,-0.266470011897897,-0.00302927455868819,0.141467820603322,-0.149466565433097,-0.132550528785736,0.254605021271442,0.244642749947168,0.0533581464238013,-0.480684556808528,-0.104298635630173,-0.0448145061242230,-0.191636842925039,-0.0425762125898510,0.275557549765169,0.267216137842209,0.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值