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

相关推荐
Evand J14 小时前
【PMSM例程4】PMSM电阻辨识与模型补偿EKF,MATLAB例程。附下载链接,包运行成功
开发语言·matlab·电机·ekf·卡尔曼·pmsm
slandarer14 小时前
MATLAB | 文艺复兴:万圣节使用 MATLAB 绘制黑人抬棺动画
matlab·黑人抬棺
大江东去浪淘尽千古风流人物17 小时前
【FLORA】机器人视频标注引擎解析:三模型如何产出动作指令与四类奖励信号
matlab·机器人·跨模态·遥感·图像匹配·1024程序员节·特征描述符
骑着蜗牛撵大象32718 小时前
558 万美元训出 671B 模型:DeepSeek-V3 算法与系统的协同拆解
分布式·算法·moe·deepseek-v3·mla·fp8训练
德迅云安全-上官18 小时前
德迅游戏盾:面向 TCP 业务的分布式云安全防护方案
分布式·tcp/ip·游戏
麻瓜code21 小时前
分布式锁演进:从一个用户下两单,到 Redisson,我改了四版
分布式·wpf
skywalk816321 小时前
hive —— 多机 AI Agent 协同的任务总线:分布式,多节点同时运行,保障不会宕机
人工智能·hive·分布式
一条泥憨鱼21 小时前
【RabbitMQ】高级篇
java·分布式·rabbitmq·php·ruby
棣廷1 天前
初识Spark Core
大数据·分布式·spark
星夜离尘561 天前
MATLAB ADC 码流触顶诊断:命中数、缺口分段与削顶不可辨识性
开发语言·matlab