资源简介
自己编写的粒子群算法,用于计算电力系统的最优潮流,实力验证。
代码片段和文件信息
clear;
clc;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%初始化%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%数据加载
n=input(‘请输入要计算的节点系统(5):‘)
load Node5.txt;%节点数据
load Branch5.txt;%支路数据
load Generator5.txt;%发电机数据
Node=Node5;
Branch=Branch5;
Generator=Generator5;
%节点数据处理
N=Node(:1);%节点号
Type=Node(:2);%节点类型
Uamp=Node(:3);%节点电压幅值
Dlta=Node(:4);%节点电压相角
Pd=Node(:5);%节点负荷有功
Qd=Node(:6);%节点负荷无功
Pg=Node(:7);%节点出力有功
Qg=Node(:8);%节点出力无功
Umax=Node(:9);%节点电压幅值上限
Umin=Node(:10);%节点电压幅值下限
Bc=Node(:11);%节点补偿电容电纳值
%支路数据处理
Nbr=Branch(:1);%支路号
Nl=Branch(:2);%支路首节点
Nr=Branch(:3);%支路末节点
R=Branch(:4);%支路电阻
X=Branch(:5);%支路电抗
Z=R+1i*X;%支路阻抗=支路电阻+支路电抗
Bn=Branch(:6);%支路对地电纳
K=Branch(:7);%支路变压器变比,0表示无变压器
Ptmax=Branch(:8);%线路传输功率上限
%发电机数据处理
Ng=Generator(:1);%发电机序号
Nbus=Generator(:2);%所在母线号
Pumax=Generator(:3);%发电机有功出力上界
Qumax=Generator(:4);%发电机无功出力上界
Pumin=Generator(:5);%发电机有功出力下界
Qumin=Generator(:6);%发电机无功出力下界
a2=Generator(:7);%燃料耗费曲线二次系数
a1=Generator(:8);%燃料耗费曲线一次系数
a0=Generator(:9);%燃料耗费曲线常数项
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n=length(N);%节点个数
ng=length(Ng);%发电机台数
nbr=length(Nbr);%支路个数
x=zeros(2*(ng+n)1);%控制变量+状态变量
x(1:ng)=Pg(Nbus);
x(ng+1:2*ng)=Qg(Nbus);
x((2*ng+2):2:2*(ng+n))=Uamp;
x((2*ng+1):2:2*(ng+n)-1)=Dlta;
l=0.8*ones(2*ng+n+nbr1);%松弛变量
u=1.1*ones(2*ng+n+nbr1);%松弛变量
w=-1.5*ones(2*ng+n+nbr1);%拉格朗日乘子
z=ones(2*ng+n+nbr1);%拉格朗日乘子
y=zeros(2*n1);%拉格朗日乘子
y(1:2:2*n-1)=1e-3;
y(2:2:2*n)=-1e-3;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%计算不等式约束的上下限%%%%%%%%%%%%%%%%%%%%%%%%
%gmin
gmin=zeros(2*ng+n+nbr1);
gmin(1:ng)=Pumin;
gmin(ng+1:2*ng)=Qumin;
gmin(2*ng+1:2*ng+n)=Umin;
gmin(2*ng+n+1:2*ng+n+nbr)=-Ptmax;
%gmax
gmax=zeros(2*ng+n+nbr1);
gmax(1:ng)=Pumax;
gmax(ng+1:2*ng)=Qumax;
gmax(2*ng+1:2*ng+n)=Umax;
gmax(2*ng+n+1:2*ng+n+nbr)=Ptmax;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%形成导纳矩阵%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Y=zeros(nn);
%%%%%%%%%%%%%%%%%%%%计算非对角元素%%%%%%%%%%%%%%%%%%%%%
for ii=1:nbr
if K(ii)==0%非变压器支路
Y(Nl(ii)Nr(ii))=-1/Z(ii);
Y(Nr(ii)Nl(ii))=Y(Nl(ii)Nr(ii));
else%变压器支路
Y(Nl(ii)Nr(ii))=-1/Z(ii)/K(ii);
Y(Nr(ii)Nl(ii))= Y(Nl(ii)Nr(ii));
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%计算对角元素%%%%%%%%%%%%%%%%%%%%%%
for ii=1:n%将支路导纳加入到对角元素中
for jj=1:nbr
if K(jj)==0&&(Nl(jj)==ii||Nr(jj)==ii)%非变压器支路
Y(iiii)=Y(iiii)+1/Z(jj);
else if K(jj)~=0&&(Nl(jj)==ii||Nr(jj)==ii)%变压器支路
Y(iiii)=Y(iiii)+1/Z(jj)/K(jj);
end
end
end
end
for ii=1:nbr%将对地电纳加入到对角元素中
if K(ii)==0%非变压器支路
Y(Nl(ii)Nl(ii))=Y(Nl(ii)Nl(ii))+1i*Bn(ii);
Y(Nr(ii)Nr(ii))=Y(Nr(ii)Nr(ii))+1i*Bn(ii);
else%变压器支路
Y(Nr(ii)Nr(ii))=Y(Nr(ii)Nr(ii))+(K(ii)-1)/K(ii)/Z(ii);
Y(Nl(ii)Nl(ii))=Y(Nl(ii)Nl(ii))+(1-K(ii))/K(ii)/K(ii)/Z(ii);
end
end
fo
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 19852 2018-09-20 20:50 MATLAB最优潮流\mopf.m
目录 0 2018-09-20 20:51 MATLAB最优潮流\
- 上一篇:小程序自定义分页选择组件
- 下一篇:利用遗传算法解决电力系统最优潮流问题。
相关资源
- 利用遗传算法解决电力系统最优潮流
- Unity粒子特效特效 100种 包含20个插件
- 多种群协同多目标粒子群
- 粒子群算法解决企业生产调度问题
- 光滑粒子流體動力學方法的理論
- 基于量子粒子群算法的混沌系统参数
- 多目标粒子群论文加代码
- 粒子滤波mcmc介绍
- 粒子滤波应用到锂离子电池
- 无线传感网络虚拟力粒子群算法
- 遗传算法与粒子群神经网络的混合算
- 基于PSO优化的otsu分割算法.zip
- 粒子系统 [插件] Environment Weather Effe
- 基于格林函数边缘检测的焊缝信息获
- 混沌粒子群优化算法代码
- rbf神经网络权值的粒子群优化算法
- 经典经典的粒子群算法
- 带约束处理的粒子群算法,简明清晰
- 粒子群算法 实现 最短路径
- 改进的自适应遗传算法和粒子群算法
- 太阳粒子特效unity
- 基于粒子群算法优化Spiking神经网络
- 模拟退火SA、遗传算法GA、粒子群优化
- 一种更简化而高效的粒子群优化算法
- 基于粒子群优化神经网络的程序
- 粒子群优化粒子滤波方法
- 基于改进离散粒子群算法的电力系统
- 可以看看 刀光 粒子
- 混合粒子群和引力搜索算法代码
- 工业调度粒子群算法
评论
共有 条评论