程序简介
程序提出了一种基于改进粒子群优化算法的有功最优潮流模型及求解方法,采用了自适应罚函数法处理最优潮流问题的各种约束条件。通过对IEEE-30节点系统的仿真计算,并且与遗传算法进行比较,验证了提出的模型和方法的有效性。程序算例丰富、注释清晰、干货满满,可扩展性和创新性很高!下面对文章和程序做简要介绍!
最优潮流简介
最优潮流(Optimal Power Flow ,OPF)是指在电力系统的结构参数及负荷情况均给定的情况下,通过调节发电机功率、变压器抽头、无功补偿器等可控设备所找到的满足所有运行约束条件,并使系统的某一性能指标或目标函数达到最优时的潮流分布。根据采用的目标函数和选择的控制变量及约束条件,最优潮流问题可分为对有功及无功进行综合优化的最优潮流、有功最优潮流、无功最优潮流等。
求解方法
最优潮流是一个典型的有约束非线性规划问题。求解OPF问题的经典算法主要有简化梯度法、线性规划法、二次规划法、牛顿法、内点法和解耦法等。其特点是利用目标函数对控制变量一阶或二阶梯度求解,但是当搜索起始点在局部最优解的收敛域以内时,常常会陷入局部最优解甚至造成发散。
粒子群算法简介
粒子群优化算法
粒子群优化(Particle Swarm Optimization, PSO)算法是近年来出现的一种依赖经验参数少、收敛速度快的仿生智能优化算法,具有良好的优化性能,其操作原理简单、收敛速度快,适合求解需要满足一定精度和速度要求的电力系统组合优化问题。和早期的基于群体进化的算法相比,PSO算法在计算速度和消耗内存上有较大优势,因为它的实现是通过个体间的“协作”来搜索最优解,只需简单的数学运算和较少的程序代码。
粒子群算法的改进
(1)采用了自适应罚函数法处理各种等式和不等式约束条件,如机组无功出力约束、节点电压约束和线路传输容量约束等。机组有功出力约束通过初始化粒子群的位置及判断粒子位置是否超出范围上边界和下边界自动满足;而潮流方程等式约束则通过潮流计算来处理。
(2)重新初始化不活动粒子。在进化过程中失去全局或局部搜索能力的粒子称为不活动粒子。对不活动粒子施加扰动或重新初始化不活动粒子,可以提高算法的搜索能力。
改进粒子群算法的步骤
程序结果
部分程序
%% 牛拉法潮流计算
nbus = 30;
busdata = busdatas(nbus);linedata = linedatas(nbus);
resultWithoutDG = nrloadflow(nbus,busdata,linedata);
Pmin=3; %光伏发电下限 MWPmax=30; %光伏发电上限 MW
%% 母线选择
R=linedata(:,3);sourcbus=linedata(:,1);
destintnbus=linedata(:,2);% del=180/pi*del;
for ii=1:size(linedata,1)
%% 遗传算法
fitness= @(x) objf(x,loadBusLocation,resultWithoutDG,nbus);
options = gaoptimset('MutationFcn',@mutationadaptfeasible,'PopulationSize',20);
%% 粒子群算法
[PSOx,objval]=PSO(loadBusLocation,resultWithoutDG,nbus,dim,Pmax,Pmin);
finalPSOresults= resultcalc(PSOx',loadBusLocation,resultWithoutDG,nbus);
部分内容源自网络,侵权联系删除!
欢迎感兴趣的小伙伴点击文末阅读原文获取完整版代码,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!
更多创新性预测及优化程序请点击公众号首页:《预测优化》|《综合能源》链接!