基于人工鱼群优化的电网规划算法matlab仿真

简介: 基于人工鱼群优化的电网规划算法matlab仿真

1.算法仿真效果
matlab2022a仿真结果如下:

3d11d7914743cd3a6c33e02cfe0a71f0_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要

   人工鱼群算法(Artificial Fish Swarm Algorithm,简称AFSA)是受鱼群行为的启发,由国内李晓磊博士于2002年提出的一种基于动物行为的群体智能优化算法,是行为主义人工智能的一个典型应用,这种算法源于鱼群的觅食行为。

   在一片水域中,鱼往往能自行或尾随其它鱼,找到营养物质多的地方,因而鱼生存数目最多的地方一般就是本水域中营养物质最多的地方。人工鱼群算法根据这一特点,通过构造人工鱼来模仿鱼群的觅食、聚群、追尾及随机行为,从而实现寻优。

    人工鱼(AF)是真实鱼的仿制品,用于分析和问题解释(Neshat、Sepidnam、Sargolzaei和Toosi(2012))。鱼类大多生活在食物充足的地区,它们通过跟随其他鱼类或单独寻找食物,向食物较多的地区移动。鱼类数量最多的地区通常是食物最多的。每条人工鱼的下一步行为取决于它目前的状态以及局部的环境状态,AF通过自身行为以及同伴的行为来影响环境。

(1)觅食行为(Prey)

bc19885162ee783d1a9e41ed68e56612_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

(2)聚群行为(Swarm)

fa6008444b451a0b482db3ca3afec5d3_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

(3)追尾行为(Follow)

dd98ac67a1d69c99e6a7995114662053_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

(4)随机行为

1b89855117ba8e7f0d12a11dace26fe1_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

(5)行为选择

    这是鱼类的生存习惯,反映出了鱼类的自主行为。在人工鱼群算法中,觅食行为奠定了算法的收敛基础,聚群行为增强了算法收敛的稳定性,追尾行为增强了算法收敛的快速性与全局性,行为选择策略则是为算法收敛的速度与稳定性提供了保障。

3.MATLAB核心程序

yjzl=yjzl;
dxzl=dxzl;
Pi=Pi;
[N,row]=size(Pi);  %N为节点数
fish=40;    %控制参数:人工鱼的条数
visual=7;   %控制参数:视野
delta=0.35;  %控制参数:拥挤度
step=5;     %控制参数:人工鱼移动的步长
maxcalculation=100;    %收敛条件:最大迭代次数
objectvalue=zeros(1,fish);  %食物浓度矩阵(1×fish)
[NN,row]=size(dxzl);   %NN为待选线路的维数
status=rand(fish,NN);  %人工鱼位置状态矩阵status
for i=1:fish
    for j=1:NN
        if status(i,j)<=0.5
            status(i,j)=0;
        else
            status(i,j)=1;
        end
    end
end
minvalue=inf;
for fishnumber=1:fish
    x=status(fishnumber,:);
    [B1,B,BL,NEW,NL,L,nbl]=builtnet(x,dxzl,yjzl);
    [tong]=liantong(N,L,BL);
    if tong>1
        objectvalue(fishnumber)=inf;
    else
       [operate,overflowvalue]=dcflow(N,L,BL,Pi,nbl);
       construction=0;
       for i=1:NEW
           construction=construction+25*B1(i,6);    %计算建设费用每公里线路建设费用取25万元
       end
       objectvalue(fishnumber)=construction+operate+overflowvalue;
    end
   if objectvalue(fishnumber)<minvalue
      minvalue=objectvalue(fishnumber);     %minvalue记录最小的目标函数值
      minfish=status(fishnumber,:);         %minfish记录最小目标函数值所对应的人工鱼的位置
   end
end
%进行行为策略
............................................................................
             [status,objectvalue]=prey(status,fishnumber,objectvalue,visual,fish,NN,N,delta,step,dxzl,yjzl,Pi);
        end
    end
end
for fishnumber=1:fish
    if objectvalue(fishnumber)<minvalue
      minvalue=objectvalue(fishnumber);  
      minfish=status(fishnumber,:); 
    end
end
min2(calculation)=minvalue;
disp(calculation);
disp(minvalue);
%if minvalue<=5900
%    break    
%end
calculation=calculation+1;
end
toc
plot(min2,'-*');
相关文章
|
5天前
|
传感器 机器学习/深度学习 算法
MATLAB - 使用 YOLO 和基于 PCA 的目标检测,对 UR5e 的半结构化智能垃圾箱拣选进行 Gazebo 仿真
MATLAB - 使用 YOLO 和基于 PCA 的目标检测,对 UR5e 的半结构化智能垃圾箱拣选进行 Gazebo 仿真
15 0
|
5天前
|
机器学习/深度学习 算法 定位技术
MATLAB - 遗传算法(GA)求解旅行商问题(TSP)
MATLAB - 遗传算法(GA)求解旅行商问题(TSP)
11 3
|
5天前
|
存储 数据可视化
MATLAB - 仿真单摆的周期性摆动
MATLAB - 仿真单摆的周期性摆动
7 1
|
4天前
|
算法 数据安全/隐私保护 计算机视觉
基于粒子滤波和帧差法的目标跟踪matlab仿真
本项目展示一种结合粒子滤波与帧差法的目标跟踪技术,在Matlab 2013b上实现。通过帧间差异检测运动目标,并利用粒子滤波优化跟踪精度。改进后的重采样方法提升了算法表现。核心代码详尽并附中文注释及操作指南。理论方面,帧差法通过对比连续帧识别移动对象;粒子滤波则基于一组随机粒子估计目标状态,两者结合有效应对复杂场景,如背景杂乱或光照变化,确保跟踪稳定可靠。
|
4天前
|
机器学习/深度学习
基于IEEE30电网系统的停电规模评价系统matlab仿真,对比IEEE118,输出停电规模,潮流分布和负载率等
本课题针对IEEE标准节点系统,通过移除特定线路模拟故障,计算其余线路的有功潮流分布系数及负载率变化。采用MATLAB2022a进行仿真,通过潮流计算确定电网运行状态,并以负载率评估负载能力。IEEE30与IEEE118系统对比显示,前者在故障下易过载,后者则因更好的拓扑结构拥有更高的负载裕度。
|
4天前
|
算法
蜂窝网络下行链路的覆盖率和速率性能matlab仿真分析
此程序在MATLAB2022a环境下运行,基于随机几何模型评估蜂窝网络的下行链路覆盖率和速率性能。通过模拟不同场景下的基站(BS)配置与噪声情况,计算并绘制了各种条件下的信号干扰加噪声比(SINR)阈值与覆盖率概率的关系图。结果显示,在考虑噪声和不同基站分布模型时,覆盖率有显著差异,提出的随机模型相较于传统网格模型更为保守但也更加贴合实际基站的分布情况。
|
5天前
|
算法 数据安全/隐私保护
基于星座图整形方法的QAM调制解调系统MATLAB误码率仿真,对比16,32,64,256四种QAM调制方式
本MATLAB 2022a仿真展示了不同QAM阶数下的星座图及误码率性能,通过星座图整形技术优化了系统性能。该技术利用非均匀分布的星座点提高功率效率,并通过合理布局增强抗干扰能力。随着QAM阶数增加,数据传输速率提升,但对信道质量要求也更高。核心程序实现了从比特生成到QAM映射、功率归一化、加噪及解调的全过程,并评估了系统误码率。
7 0
|
5天前
|
算法
基于EM期望最大化算法的GMM模型参数估计matlab仿真
此程序在MATLAB 2022a中实现了基于EM算法的GMM参数估计,用于分析由多个高斯分布组成的混合数据。程序通过迭代优化各高斯组件的权重、均值与协方差,直至收敛,并输出迭代过程的收敛曲线及最终参数估计结果。GMM假设数据由K个高斯分布混合而成,EM算法通过E步计算样本归属概率,M步更新参数,循环迭代直至收敛。
|
5天前
|
算法
基于模糊控制算法的倒立摆控制系统matlab仿真
本项目构建了一个基于模糊控制算法的倒立摆控制系统,利用MATLAB 2022a实现了从不稳定到稳定状态的转变,并输出了相应的动画和收敛过程。模糊控制器通过对小车位置与摆的角度误差及其变化量进行模糊化处理,依据预设的模糊规则库进行模糊推理并最终去模糊化为精确的控制量,成功地使倒立摆维持在直立位置。该方法无需精确数学模型,适用于处理系统的非线性和不确定性。
基于模糊控制算法的倒立摆控制系统matlab仿真
|
6天前
|
算法
基于多路径路由的全局感知网络流量分配优化算法matlab仿真
本文提出一种全局感知网络流量分配优化算法,针对现代网络中多路径路由的需求,旨在均衡分配流量、减轻拥塞并提升吞吐量。算法基于网络模型G(N, M),包含N节点与M连接,并考虑K种不同优先级的流量。通过迭代调整每种流量在各路径上的分配比例,依据带宽利用率um=Σ(xm,k * dk) / cm来优化网络性能,确保高优先级流量的有效传输同时最大化利用网络资源。算法设定收敛条件以避免陷入局部最优解。