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 下载链接

相关推荐
你想知道什么?10 分钟前
RabbitMQ简述
分布式·rabbitmq
sanggou4 小时前
Zookeeper的分布式事务与原子性:深入解析与实践指南
分布式·zookeeper·云原生
月忆3646 小时前
Etcd原理基础学习
分布式·golang
茉莉玫瑰花茶7 小时前
服务端高并发分布式结构演进之路
分布式
IvanCodes7 小时前
三、Spark 运行环境部署:全面掌握四种核心模式
大数据·分布式·spark
失散139 小时前
大型微服务项目:听书——10 缓存+分布式锁优化根据专辑id查询专辑详情接口
redis·分布式·缓存·微服务
white camel11 小时前
分布式方案 一 分布式锁的四大实现方式
redis·分布式·zookeeper·分布式锁
zhixingheyi_tian11 小时前
Hadoop 之 Yarn
大数据·hadoop·分布式
失散1313 小时前
大型微服务项目:听书——11 Redisson分布式布隆过滤器+Redisson分布式锁改造专辑详情接口
分布式·缓存·微服务·架构·布隆过滤器
卷心菜不卷Iris14 小时前
第4章唯一ID生成器——4.1 分布式唯一ID
java·分布式·系统设计·场景题·分布式唯一id