【优化规划】基于禁忌搜索算法求解配电网无功补偿优化规划问题含Matlab源码

网友投稿 269 2022-09-06


【优化规划】基于禁忌搜索算法求解配电网无功补偿优化规划问题含Matlab源码

1 简介

配电网无功补偿优化规划是近年来热点研究的问题之一,本文探讨了基于改进的禁忌搜索算法对配电网并联电容器进行无功优化规划的方法,主要工作包括:针对目前配电网无功补偿优化规划采用的智能算法,提出了一种改进的禁忌搜索算法,即扩大邻域搜索范围,建立了以固定和可投切电容器的补偿容量,安装位置及投切时刻为变量的解空间.由于禁忌搜索的局限性,在搜索过程中,会出现不满足电压约束的不可行解区域,文中给出了扩大安装位置邻域搜索范围的策略,从而跳出不可行解区域,使得优化规划继续在可行解区域寻优.配电网无功补偿的效果是根据负荷对无功的需求进行的,在理论分析中,负荷预测曲线是分析无功补偿优化规划的重要依据,本文对负荷预测曲线进行了分段处理,在各个时段内,对可投切电容器的各种组合方式进行禁忌搜索,选择各个时段满足电压约束且适配值最大的组合方式作为可投切电容器优化规划的投切状态.这种投切策略会不可避免的造成可投切电容器的频繁操作,针对此类问题,提出了一种扩展搜索时段的策略进行搜索,对时段进行递推分段搜索,从而有效的确保了电网运行的可靠性.本文根据系统补偿后的投入产出比来确定并联电容器的安装点个数,从而使得禁忌搜索算法在整个无功补偿优化规划中进行有效搜索

2 部分代码

clc%%%%%%禁忌搜索算法%%%%%%%%%%%%%%%%%%%%%%%只考虑节点和容量分别单独变化的邻域搜索%%%%%%%%%%%%function []=TSVb=11; %Vb=11kVSb=100000; %Sb=100MVA=100000kVAZb=(Vb^2/Sb)*1000; %Zb单位为Ω 电流单位为AZ=[1 0 1 3 0.195/Zb+j*0.080/Zb 0.60 230/Sb 142.5/Sb; 2 1 2 2 0.195/Zb+j*0.080/Zb 0.55 0.00 0.00; 3 2 3 3 0.299/Zb+j*0.083/Zb 0.55 230/Sb 142.5/Sb; 4 3 4 3 0.299/Zb+j*0.083/Zb 0.50 230/Sb 142.5/Sb; 5 4 5 2 0.299/Zb+j*0.083/Zb 0.50 0.00 0.00; 6 5 6 2 0.524/Zb+j*0.090/Zb 0.60 0.00 0.00; 7 6 7 3 0.524/Zb+j*0.090/Zb 0.40 230/Sb 142.5/Sb; 8 7 8 3 0.524/Zb+j*0.090/Zb 0.60 230/Sb 142.5/Sb; 9 8 9 2 0.524/Zb+j*0.090/Zb 0.40 0.00 0.00; 10 9 10 3 0.524/Zb+j*0.090/Zb 0.25 230/Sb 142.5/Sb; 11 10 11 1 0.524/Zb+j*0.090/Zb 0.20 137/Sb 84/Sb; 12 2 12 3 0.524/Zb+j*0.090/Zb 0.30 72/Sb 45/Sb; 13 12 13 3 0.524/Zb+j*0.090/Zb 0.40 72/Sb 45/Sb; 14 13 14 3 0.524/Zb+j*0.090/Zb 0.20 72/Sb 45/Sb; 15 14 15 1 0.524/Zb+j*0.090/Zb 0.10 13.5/Sb 7.5/Sb; 16 5 16 3 0.299/Zb+j*0.083/Zb 0.60 230/Sb 142.5/Sb; 17 16 17 3 0.299/Zb+j*0.083/Zb 0.55 230/Sb 142.5/Sb; 18 17 18 3 0.378/Zb+j*0.086/Zb 0.55 230/Sb 142.5/Sb; 19 18 19 3 0.378/Zb+j*0.086/Zb 0.50 230/Sb 142.5/Sb; 20 19 20 3 0.378/Zb+j*0.086/Zb 0.50 230/Sb 142.5/Sb; 21 20 21 3 0.524/Zb+j*0.090/Zb 0.50 230/Sb 142.5/Sb; 22 21 22 3 0.524/Zb+j*0.090/Zb 0.50 230/Sb 142.5/Sb; 23 22 23 3 0.524/Zb+j*0.090/Zb 0.60 230/Sb 142.5/Sb; 24 23 24 3 0.524/Zb+j*0.090/Zb 0.40 230/Sb 142.5/Sb; 25 24 25 3 0.524/Zb+j*0.090/Zb 0.25 230/Sb 142.5/Sb; 26 25 26 1 0.524/Zb+j*0.090/Zb 0.20 137/Sb 85/Sb; 27 6 27 3 0.524/Zb+j*0.090/Zb 0.30 75/Sb 48/Sb; 28 27 28 3 0.524/Zb+j*0.090/Zb 0.30 75/Sb 48/Sb; 29 28 29 1 0.524/Zb+j*0.090/Zb 0.30 75/Sb 48/Sb; 30 9 30 3 0.524/Zb+j*0.090/Zb 0.30 57/Sb 34.5/Sb; 31 30 31 3 0.524/Zb+j*0.090/Zb 0.40 57/Sb 34.5/Sb; 32 31 32 3 0.524/Zb+j*0.090/Zb 0.30 57/Sb 34.5/Sb; 33 32 33 1 0.524/Zb+j*0.090/Zb 0.20 57/Sb 34.5/Sb]; %Z=[支路数 首节点 尾节点 尾节点类型 支路阻抗 支路长度 尾节点的有功功率 尾节点的无功功率] 电源点:0 末梢点:1 T接点:2 负荷点:3[h,l]=size(Z);b=h; %支路数 n=h+1; %节点数Vb=11; %Vb=11kVSb=100000; %Sb=100MVA=100000kVAZb=(Vb^2/Sb)*1000; %Zb单位为Ω 电流单位为A[PlossTotal0,Vm]=TideCal(Z); %初始潮流计算得到初始系统有功损耗为202.292471kWVm; %补偿前各节点电压Ptotal=0;for i=1:b Ptotal=Ptotal+Z(i,7)*Sb; %系统总有功功率endddP0=(PlossTotal0/Ptotal)*100; %系统原始网络线损率dP=0; %dP适配值函数TSMAX=4; %禁忌步长XT=zeros(TSMAX+1,4); %候选解集合Z(XC(1,1),8)=(Z(XC(1,1),8)*Sb-XC(1,3))/Sb;Z(XC(1,2),8)=(Z(XC(1,2),8)*Sb-XC(1,4))/Sb;QC(XC(1,1),1)=XC(1,3);QC(XC(1,2),2)=XC(1,4);[PlossTotal,U]=TideCal(Z); %调用潮流程序,计算有功损耗和各节点电压幅值 ,电压幅值的输出???????????ddP=((PlossTotal-dPmaxall)/Ptotal)*100; %补偿后网络线损率U; %输出当前解的各节点电压Z(XC(1,1),8)=(Z(XC(1,1),8)*Sb+XC(1,3))/Sb; %恢复原始节点矩阵Z(XC(1,2),8)=(Z(XC(1,2),8)*Sb+XC(1,4))/Sb;QC(XC(1,1),1)=0;QC(XC(1,2),2)=0;disp('输出原始潮流总损耗PlossTotal0')PlossTotal0disp('输出原始网络线损率ddP0')ddP0disp('输出补偿前各节点电压幅值Vm')Vmdisp('输出迭代次数mm')mmdisp('输出最优解连续不变的最大迭代步数mn')mndisp('输出补偿后各节点电压幅值U')Udisp('输出最大适配函数值MAXdP')MAXdP=dPmaxalldisp('输出最大适配值所对应的最优解空间Xbest')Xbestdisp('补偿后网络线损率ddP')ddPdisp('输出运行所需时间t')t=toc

3 仿真结果

4 参考文献

[1]高迪. 基于改进禁忌搜索算法的配电网无功补偿优化规划[D]. 西安理工大学, 2011.

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

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java SpringBoot核心源码详解
下一篇:springboot使用定时器@Scheduled不管用的解决
相关文章

 发表评论

暂时没有评论,来抢沙发吧~