前言
近年来,随着分布式电源(Distributed Generation,DG)的快速发展,为了提高配电网的安全性与电能质量,大量DG被接入到配电网中,这使得传统数学算法在复杂的配电网中不再适用,国内外学者常采用人工智能算法来进行配电网优化。综合考虑已有研究,以有功网损和节点电压偏移作为目标函数,建立配电网重构模型,并对传统二进制粒子群算法(Binary Particle Swarm Optimization,BPSO)进行改进,在IEEE33节点配电系统上进行分析,可以有效增强算法性能,提升网络重构效率。
配电网重构模型
通过改变配电网中开关分合状态,达到有功网损与节点电压偏移最小的目标。配电网重构模型需要考虑优化目标与约束条件,具体如下:
1)有功网损最小目标;2)节点电压偏移最小目标;
程序介绍
程序对传统的二进制粒子群算法进行了改进,将自适应比例选择策略与混沌搜索引入算法中,避免传统算法容易陷入局部最优、收敛速度较慢等问题。以IEEE33节点配电系统为研究对象,考虑了含有多种分布式电源的情况,以有功网损和节点电压偏移作为目标函数,进行了配电网重构的仿真试验。程序算例丰富、注释清晰、干货满满,可扩展性和创新性很高!下面对文章和程序做简要介绍!
仿真平台:Matlab+Yalmip+Cplex
建模方法
网络编码方式
传统研究中常采用二进制编码策略,但会得到许多不可行解,计算效率低,为了提高算法性能,采用环路编码方式。在编码时,每个粒子的维数与开关数相等,用0和1表示开关的分合。步骤如下:
1)使配电系统处于正常运行状态;
2)依次闭合第 1-5 个联络开关,形成 Loop1⋯⋯Loop5;
3)用变量 x 表示 Loop 中的开关编号。例如集合x1包含了支路 2、3、4、5、6、7、18、19、20、33上的开关。
对于不可行解的剔除
接入大量 DG 时,会使配电系统变得更加复杂,但配电网辐射状运行的结构不变。基于图论和树状结构的理论分析得出正常运行判据,即闭合支路数=有效节点数-1。通过剔除不可行解提高计算效率。
潮流计算方法
由于配电网呈辐射状运行,故采用前推回代算法进行潮流计算。
改进算法流程图如图所示
程序结果
部分程序
%% 设置种群参数
sizepop = 50; % 初始种群个数
dim = 37; % 空间维数
ger = 22; % 最大迭代次数
[xlimit_max,xlimit_min,vlimit_max,vlimit_min] = set_up_2();
c_1 = 0.8; % 惯性权重
c_2 = 1.5; % 自我学习因子
c_3 = 1.5; % 群体学习因子
%% 生成初始种群
% 首先随机生成初始种群位置% 然后随机生成初始种群速度
% 然后初始化个体历史最佳位置,以及个体历史最佳适应度
% 然后初始化群体历史最佳位置,以及群体历史最佳适应度
% 设置禁忌对象和其对应的持续迭代次数
[pop1,pop2,pop3,pop_v] = CreatPSO_2(sizepop,vlimit_max,vlimit_min);
pop=[pop1,pop2,pop3];gbest = pop1; % 每个个体的历史最佳位置
success = huanlu(pop2);
L=5;%禁忌对象对应的持续迭代次数
[SAIFI,SAIDI,CAIDI,ASAI,Lambda_load,Gamma_load,U_load] = reliability(pop1(j,:));
fitness_gbest(j) = SAIDI; % 每个个体的历史最佳适应度
zbest = pop1(1,:); % 种群的历史最佳位置forbidden=zbest; % 种群的禁忌对象
fitness_zbest = fitness_gbest(1); % 种群的历史最佳适应度
fitness_gbest(j) < fitness_zbest % 如果求最小值,则为<; 如果求最大值,则为>;
zbest = pop1(j,:);fitness_zbest=fitness_gbest(j);
部分内容源自网络,侵权联系删除!
欢迎感兴趣的小伙伴关注并私信获取完整版代码,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!