✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
为了智能化解决城市道路交通系统存在的问题,提高短时交通流预测的准确性,采用海洋捕食者算法优化的最小二乘支持向量机(LSSVM)建立短时交通流量预测模型.利用海洋捕食者算法对LSSVM中的惩罚因子和核函数参数进行优化,得到最优预测模型.以车辆行驶平均速度和占有率作为模型输入,交通流量作为输出进行预测仿真试验.试验结果表明:本文采用的优化LSSVM模型进行仿真试验的预测误差有所减小,输出结果更接近真实值.
⛄ 部分代码
%_________________________________________________________________________% Marine Predators Algorithm source code (Developed in MATLAB R2015a)%% programming: Afshin Faramarzi & Seyedali Mirjalili%% paper:% A. Faramarzi, M. Heidarinejad, S. Mirjalili, A.H. Gandomi,% Marine Predators Algorithm: A Nature-inspired Metaheuristic% Expert Systems with Applications% DOI: doi.org/10.1016/j.eswa.2020.113377%% E-mails: afaramar@hawk.iit.edu (Afshin Faramarzi)% muh182@iit.edu (Mohammad Heidarinejad)% ali.mirjalili@laureate.edu.au (Seyedali Mirjalili)% gandomi@uts.edu.au (Amir H Gandomi)%_________________________________________________________________________function [Top_predator_pos,Top_predator_fit,Convergence_curve]=MPA(SearchAgents_no,Max_iter,lb,ub,dim,fobj)Top_predator_pos=zeros(1,dim);Top_predator_fit=inf;Convergence_curve=zeros(1,Max_iter);stepsize=zeros(SearchAgents_no,dim);fitness=inf(SearchAgents_no,1);Prey=initialization(SearchAgents_no,dim,ub,lb);Xmin=repmat(ones(1,dim).*lb,SearchAgents_no,1);Xmax=repmat(ones(1,dim).*ub,SearchAgents_no,1);Iter=0;FADs=0.2;P=0.5;while Iter<Max_iter%------------------- Detecting top predator -----------------for i=1:size(Prey,1)Flag4ub=Prey(i,:)>ub;Flag4lb=Prey(i,:)<lb;Prey(i,:)=(Prey(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;fitness(i,1)=fobj(Prey(i,:));if fitness(i,1)<Top_predator_fitTop_predator_fit=fitness(i,1);Top_predator_pos=Prey(i,:);endend%------------------- Marine Memory saving -------------------if Iter==0fit_old=fitness; Prey_old=Prey;endInx=(fit_old<fitness);Indx=repmat(Inx,1,dim);Prey=Indx.*Prey_old+~Indx.*Prey;fitness=Inx.*fit_old+~Inx.*fitness;fit_old=fitness; Prey_old=Prey;%------------------------------------------------------------Elite=repmat(Top_predator_pos,SearchAgents_no,1); %(Eq. 10)CF=(1-Iter/Max_iter)^(2*Iter/Max_iter);RL=0.05*levy(SearchAgents_no,dim,1.5); %Levy random number vectorRB=randn(SearchAgents_no,dim); %Brownian random number vectorfor i=1:size(Prey,1)for j=1:size(Prey,2)R=rand();%------------------ Phase 1 (Eq.12) -------------------if Iter<Max_iter/3stepsize(i,j)=RB(i,j)*(Elite(i,j)-RB(i,j)*Prey(i,j));Prey(i,j)=Prey(i,j)+P*R*stepsize(i,j);%--------------- Phase 2 (Eqs. 13 & 14)----------------elseif Iter>Max_iter/3 && Iter<2*Max_iter/3if i>size(Prey,1)/2stepsize(i,j)=RB(i,j)*(RB(i,j)*Elite(i,j)-Prey(i,j));Prey(i,j)=Elite(i,j)+P*CF*stepsize(i,j);elsestepsize(i,j)=RL(i,j)*(Elite(i,j)-RL(i,j)*Prey(i,j));Prey(i,j)=Prey(i,j)+P*R*stepsize(i,j);end%----------------- Phase 3 (Eq. 15)-------------------elsestepsize(i,j)=RL(i,j)*(RL(i,j)*Elite(i,j)-Prey(i,j));Prey(i,j)=Elite(i,j)+P*CF*stepsize(i,j);endendend%------------------ Detecting top predator ------------------for i=1:size(Prey,1)Flag4ub=Prey(i,:)>ub;Flag4lb=Prey(i,:)<lb;Prey(i,:)=(Prey(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;fitness(i,1)=fobj(Prey(i,:));if fitness(i,1)<Top_predator_fitTop_predator_fit=fitness(i,1);Top_predator_pos=Prey(i,:);endend%---------------------- Marine Memory saving ----------------if Iter==0fit_old=fitness; Prey_old=Prey;endInx=(fit_old<fitness);Indx=repmat(Inx,1,dim);Prey=Indx.*Prey_old+~Indx.*Prey;fitness=Inx.*fit_old+~Inx.*fitness;fit_old=fitness; Prey_old=Prey;%---------- Eddy formation and FADs? effect (Eq 16) -----------if rand()<FADsU=rand(SearchAgents_no,dim)<FADs;Prey=Prey+CF*((Xmin+rand(SearchAgents_no,dim).*(Xmax-Xmin)).*U);elser=rand(); Rs=size(Prey,1);stepsize=(FADs*(1-r)+r)*(Prey(randperm(Rs),:)-Prey(randperm(Rs),:));Prey=Prey+stepsize;endIter=Iter+1;Convergence_curve(Iter)=Top_predator_fit;end
⛄ 运行结果





⛄ 参考文献
[1] 谷远利, 张源, 芮小平,等. 基于免疫算法优化LSSVM的短时交通流预测[J]. 吉林大学学报:工学版, 2019, 49(6):6.
[2] 张浩怡, 李春祥. 基于萤火虫算法优化LSSVM的台风风速预测[C]// 中国土木工程学会;中国空气动力学会. 中国土木工程学会;中国空气动力学会, 2017.
[3] 张冬梅, 徐卫亚, 赵博. 基于COA-LSSVM模型的边坡位移时序预测[J]. 水电能源科学, 2014, 32(5):5.
⛳️ 代码获取关注我
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料
该文采用海洋捕食者算法对最小二乘支持向量机(LSSVM)进行优化,建立交通流量预测模型。通过调整LSSVM的惩罚因子和核函数参数,提高了预测准确性。仿真结果显示优化后的LSSVM模型预测误差降低,预测结果更接近实际值。
1455

被折叠的 条评论
为什么被折叠?



