Matlab|计及光伏电站快速无功响应特性的分布式电源优化配置方法

目录

[1 主要内容](#1 主要内容)

目标函数

约束条件

程序亮点

[2 部分代码](#2 部分代码)

[3 程序结果](#3 程序结果)

[4 下载链接](#4 下载链接)


1 主要内容

该程序复现博士文章《互动环境下分布式电源与电动汽车充电站的优化配置方法研究》第二章《计及光伏电站快速无功响应特性的分布式电源优化配置方法》,本章选取了光伏电站、微型燃气轮机两种典型的分布式电源进行优化配置问题的研究,通过构建加权电压支撑能力指标以表征配电系统中光伏电站对敏感负荷节点的电压支撑能力,并将其嵌入到分布式电源优化配置模型中以求解最优的分布式电源安装位置和安装容量。算例分析部分基于IEEE-33节点配电系统的优化结果,充分证明了本章研究的价值和意义。

目标函数

约束条件

程序亮点

本程序除了常规的33节点二阶锥模型的约束形式外,最大的特点是电压支撑能力指标,基于灵敏度分析理论求解该项指标,为原文增色不少!

2 部分代码

复制代码
Jz=inv(J);%求解雅可比矩阵逆矩阵
B4j=Jz(33:64,33:64);%求解得到B4j值,未考虑平衡节点
B4=[B4j,zeros(32,1);zeros(1,33)];%得到包含平衡节点的B4
%%
branch = mpc.branch;
branch(:,3) = branch(:,3)*100/(12.66^2);%求阻抗标幺值
r=real(branch(:,3));
x=imag(branch(:,3));
r=r(1:32);
x=x(1:32);
upstream=zeros(nb,nl);%代表流入节点支路
dnstream=zeros(nb,nl);%代表流出节点支路
for i=1:32
    upstream(i,i)=1;
end
for i=[1:16,18:20,22:23,25:31]
    dnstream(i,i+1)=1;
end
dnstream(1,18)=1;
dnstream(2,22)=1;
dnstream(5,25)=1;
dnstream(33,1)=1;
​
Vmax=[1.05*1.05*ones(32,1);1.05*1.05*ones(1,1)];
Vmin=[0.95*0.95*ones(32,1);1.05*1.05*ones(1,1)];
Pgmax=[zeros(32,1);100.*ones(1,1)];
Qgmax=[zeros(32,1);100.*ones(1,1)];
%计算负荷矩阵
Pload=busd(:,7);
Qload=busd(:,8);
P1=repmat(ploadz,33,1).*repmat(Pload,1,4*T)/100;%有功负荷矩阵
Q1=repmat(ploadz,33,1).*repmat(Qload,1,4*T)/100;%无功负荷矩阵
P2=zeros(33,4*T*N);
Q2=zeros(33,4*T*N);
for i=1:4*T%转化为4*T*N列矩阵
    for j=1:N
    P2(:,5*i+j-5)=P1(:,i);
    Q2(:,5*i+j-5)=Q1(:,i);
    end
end
%定义变量
V = sdpvar(nb,4*T*N);%电压的平方
I = sdpvar(nl,4*T*N);%电流的平方
P = sdpvar(nl,4*T*N);%线路有功
Q = sdpvar(nl,4*T*N);%线路无功
Pg = sdpvar(nb,4*T*N);%发电机有功
Qg = sdpvar(nb,4*T*N);%发电机无功
Npv = intvar(8,1);%光伏节点安装数量
%pv = sdpvar(nb,4*T*N);
qv = sdpvar(nb,4*T*N);
qv_h=sdpvar(8,4*T*N);
%sv = sdpvar(nb,4*T*N);
Ng = intvar(6,1);%燃气轮机安装数量
pg = intvar(nb,4*T*N);
Constraints = [];
%光伏处理
unitpv=10*1e-5;%单位光伏容量
pv_h=repmat(Npv,1,4*T*N).*repmat(dw_pv,8,4*T).*unitpv/10;
pv=[zeros(4,4*T*N);pv_h(1,:);zeros(5,4*T*N);pv_h(2,:);zeros(2,4*T*N);pv_h(3,:);zeros(1,4*T*N);pv_h(4,:);zeros(3,4*T*N);pv_h(5,:);zeros(2,4*T*N);pv_h(6,:);zeros(5,4*T*N);pv_h(7,:);zeros(1,4*T*N);pv_h(8,:);zeros(2,4*T*N)];
sv_h=unitpv.*repmat(Npv,1,4*T*N);
sv=[zeros(4,4*T*N);sv_h(1,:);zeros(5,4*T*N);sv_h(2,:);zeros(2,4*T*N);sv_h(3,:);zeros(1,4*T*N);sv_h(4,:);zeros(3,4*T*N);sv_h(5,:);zeros(2,4*T*N);sv_h(6,:);zeros(5,4*T*N);sv_h(7,:);zeros(1,4*T*N);sv_h(8,:);zeros(2,4*T*N)];
​
% Constraints = [Constraints,pv>=0,pv<=repmat(unitpv.*Npv,1,4*T*N)];
% Constraints = [Constraints,pv>=0,pv<=repmat(unitpv.*Npv,1,4*T*N)];
for i=1:33
    for t=1:T
        Constraints = [Constraints,cone([pv(i,t);qv(i,t)],sv(i,t))];
    end
end
qv=[zeros(4,4*T*N);qv_h(1,:);zeros(5,4*T*N);qv_h(2,:);zeros(2,4*T*N);qv_h(3,:);zeros(1,4*T*N);qv_h(4,:);zeros(3,4*T*N);qv_h(5,:);zeros(2,4*T*N);qv_h(6,:);zeros(5,4*T*N);qv_h(7,:);zeros(1,4*T*N);qv_h(8,:);zeros(2,4*T*N)];
Constraints = [Constraints,Npv>=0,Ng>=0,Npv<=100];
%微燃机处理

3 程序结果

4 下载链接

相关推荐
P.H. Infinity1 小时前
【RabbitMQ】03-交换机
分布式·rabbitmq
龙哥·三年风水3 小时前
群控系统服务端开发模式-应用开发-个人资料
分布式·php·群控系统
其实吧34 小时前
基于Matlab的图像融合研究设计
人工智能·计算机视觉·matlab
funnyZpC5 小时前
quartz集群增强版🎉
java·分布式·开源·集群·定时任务
明达技术6 小时前
工业4.0时代下的分布式IO模块
分布式
天冬忘忧7 小时前
Spark 程序开发与提交:本地与集群模式全解析
大数据·分布式·spark
一叶飘零_sweeeet9 小时前
Dubbo 构建高效分布式服务架构
分布式·架构·dubbo
孤蓬&听雨9 小时前
RabbitMQ自动发送消息工具(自动化测试RabbitMQ)
分布式·测试工具·自动化·rabbitmq·自动发送消息
呼啦啦啦啦啦啦啦啦9 小时前
RabbitMQ 七种工作模式介绍
分布式·rabbitmq
qq_203769499 小时前
win11安装最新rabbitmq
分布式·rabbitmq·ruby