【有序充电】基于粒子群算法优化车辆充电附matlab代码

简介: 【有序充电】基于粒子群算法优化车辆充电附matlab代码

 ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机

⛄ 内容介绍

大规模电动汽车接入电力系统时,就会使得电力负荷的峰谷差和功率波动产生的巨大的影响,更严重的,还会超过电力系统的供电能力和承受能力,给电网的安全稳定运行带来巨大的挑战.在此背景下,首先对电动汽车充电负荷的影响因素进行了分析,根据电动汽车的充电特性建立起电动汽车充电负荷的模型.然后,基于粒子群算法对模型进行优化求解,使得电网负荷的峰谷差最小,约束条件为负荷波动和充电电量限制.通过仿真,与无序充电的情况做出对比,有序充电在平滑负荷波动,降低电网的峰谷差的方面有很好的'削峰填谷'的作用.

⛄ 部分代码

%相关原始数据格式说明如下:

%n——节点个数;n1——支路条数;isb——平衡节点号;H——PQ节点个数(为后面形成PVU存储PV节点初始电压用);pr——误差精度。

%B1——支路参数矩阵,其中第一列和第二列是起始节点编号和终点节点编号,第三列、第四列、第五列、第六列分别为:支路电阻、电抗、变压器变比、电纳。(不考虑电导)

%B2——节点参数矩阵,其中第一列和第二列为节点编号和节点类型;第三列到第六列分别为:注入有功、注入无功、电压幅值、电压相位。

%节点类型分类如下:“0”为平衡节点,“1”为PQ,“2”为PV节点;“3”为PQ(V)节点,“4”为PI节点。

function  [Ploss_after,V]=test(P_flex)

n=33 ;      

n1=32;

isb=1;

H=31;                %%%%%%%%%%%%%18节点加DG    PQV处理

pr=0.0001;  

v_amp=0;

B1=[1 2 0.00922 0.0047i 1 0;

   2 3 0.00493 0.02511i 1 0;

   3 4 0.0366 0.01864i 1 0;

   4 5 0.03811 0.01941i 1 0;

   5 6 0.0819 0.0707i 1 0;

   6 7 0.01872 0.06188i 1 0;

   7 8 0.07114 0.02351i 1 0;

   8 9 0.103 0.074i 1 0;

   9 10 0.1044 0.074i 1 0;

   10 11 0.01966 0.0065i 1 0;

   11 12 0.03744 0.01238i 1 0;

   12 13 0.1468 0.1155i 1 0;

   13 14 0.05416 0.07129i 1 0;

   14 15 0.05910 0.0526i 1 0;

   15 16 0.07463 0.05450i 1 0;

   16 17 0.1289 0.1721i 1 0;

   17 18 0.0732 0.0574i 1 0;

   2 19 0.0164 0.01565i 1 0;

   19 20 0.15042 0.13554i 1 0;

   20 21 0.04095 0.04784i 1 0;

   21 22 0.07089 0.09373i 1 0;

   3 23 0.04512 0.03083i 1 0;

   23 24 0.08980 0.07091i 1 0;

   24 25 0.08960 0.07011i 1 0;

   6 26 0.0203 0.01034i 1 0;

   26 27 0.02842 0.01447i 1 0;

   27 28 0.1059 0.09337i 1 0;

   28 29 0.08042 0.07006i 1 0;

   29 30 0.05075 0.02585i 1 0;

   30 31 0.09744 0.0963i 1 0;

   31 32 0.03105 0.03619i 1 0;

   32 33 0.03410 0.05302i 1 0];

B2=[1 0 0 0 1.05 0;

   2 1 -0.01 -0.006 1 0;

   3 1 -0.009 -0.004 1 0;

   4 1 -0.012 -0.008 1 0;

   5 1 -0.006 -0.003 1 0;

   6 1 -0.006 -0.002 1 0;

   7 1 -0.02 -0.01 1 0;

   8 1 -0.02 -0.01 1 0;

   9 1 -0.006 -0.002 1 0;

   10 1 -0.006 -0.0035 1 0;

   11 1 -0.0045 -0.003 1 0;

   12 1 -0.006 -0.0035 1 0;

   13 1 -0.006 -0.0035 1 0;

   14 1 -0.012 -0.008 1 0;

   15 1 -0.006 -0.001 1 0;

   16 1 -0.006 -0.002 1 0;

   17 1 -0.006 -0.002 1 0;

   18 1 -0.009 -0.004 1 0;

   19 1 -0.009 -0.004 1 0;

   20 1 -0.009 -0.004 1 0;

   21 1 -0.009 -0.004 1 0;

   22 1 -0.009 -0.004 1 0;

   23 1 -0.009 -0.005 1 0;

   24 1 -0.042 -0.02 1 0;

   25 1 -0.042 -0.02 1 0;

   26 1 -0.006 -0.0025 1 0;

   27 1 -0.006 -0.0025 1 0;

   28 1 -0.006 -0.002 1 0;

   29 1 -0.012 -0.007 1 0;

   30 1 -0.02 -0.06 1 0;

   31 1 -0.015 -0.007 1 0;

   32 1 -0.021 -0.01 1 0;

   33 1 -0.006 -0.004 1 0];

B2(:,3)=B2(:,3)*P_flex;

B2(:,4)=B2(:,4)*P_flex;

% Ploss_before=239;

Y=zeros(n);               %zeros就是生成一个全0的矩阵

Times=1;                  %置迭代次数为初始值

for i=1:n1

       p=B1(i,1);

       q=B1(i,2);

       Y(p,q)=Y(p,q)-1/((B1(i,3)+B1(i,4))*B1(i,5));

       Y(q,p)=Y(p,q);

       Y(p,p)=Y(p,p)+1/(B1(i,3)+B1(i,4))+0.5*B1(i,6);%

       Y(q,q)=Y(q,q)+1/((B1(i,3)+B1(i,4))*B1(i,5)^2)+0.5*B1(i,6);%高压侧阻抗乘以变比平方  输入时注意低压侧在前

end

%disp('节点导纳矩阵:') ;

Y;

G=real(Y);

B=imag(Y);

OrgS=zeros(2*n-2,1);

DetaS=zeros(2*n-2,1);   %将OrgS、DetaS初始化

%创建OrgS,用于存储初始功率参数

Q=0;

PQV=0;

x=1.655;         %%%x1=6.7,x2=9.85,x=x1+x2;其中x1为定子漏抗,x2为转子漏抗

xp=18.8;         %%%xc=,xm=,xp=xc*xm/(xc-xm);其中xc为机端并联电容器电抗,xm为激磁电抗

h=0;

for i=1:n    %对PQ(V)节点的处理

   h=h+1;

   if i~=isb&&B2(i,2)==3  

        Q(i)=-(B2(i,5))^2/xp+(-(B2(i,5))^2+sqrt((B2(i,5))^4-4*(B2(i,3))^2*x^2))/2*x;

        B2(i,4)=Q(i);

        B2(i,2)=1;

        PQV=h;

   end  

end

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Ig=0.01;

Q=0;

PI=0;

h=0;

for i=1:n    %对PI节点的处理

   h=h+1;

   if i~=isb&&B2(i,2)==4  

        Q(i)=sqrt(Ig^2*((B2(i,5))^2)-B(i,3)^2);        %e=B2(i,5),f=0,e^2+f^2=B2(i,5))^2,其中e和f为光伏发电系统接入节点电压的实部和虚部

        B2(i,4)=Q(i);

        B2(i,2)=1;

        PI=h;

   end  

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

h=0;

j=0;

for i=1:n            %对PQ节点的处理

   if i~=isb&&B2(i,2)==1  

       h=h+1;

       for j=1:n

           OrgS(2*h-1,1)=OrgS(2*h-1,1)+B2(i,5)*(G(i,j)*B2(j,5)-B(i,j)*B2(j,6))+B2(i,6)*(G(i,j)*B2(j,6)+B(i,j)*B2(j,5));   %Pi 书P57页11-45

           OrgS(2*h,1)=OrgS(2*h,1)+B2(i,6)*(G(i,j)*B2(j,5)-B(i,j)*B2(j,6))-B2(i,5)*(G(i,j)*B2(j,6)+B(i,j)*B2(j,5));       %Qi  同上

       end

   end

end

for i=1:n           %对PV节点的处理

   if i~=isb&&B2(i,2)==2

       h=h+1;

       for j=1:n

           OrgS(2*h-1,1)=OrgS(2*h-1,1)+ B2(i,5)*(G(i,j)*B2(j,5)-B(i,j)*B2(j,6))+B2(i,6)*(G(i,j)*B2(j,6)+B(i,j)*B2(j,5)); %同上

           OrgS(2*h,1)=OrgS(2*h,1)+ B2(i,6)*(G(i,j)*B2(j,5)-B(i,j)*B2(j,6))-B2(i,5)*(G(i,j)*B2(j,6)+B(i,j)*B2(j,5));    %同上

       end

   end

end

OrgS;

%创建PVU 用于存储PV节点的初始电压

PVU=zeros(n-H-1,2);

t=0;

for i=1:n

   if B2(i,2)==2

       t=t+1;

       PVU(t,1)=B2(i,5);

       PVU(t,2)=B2(i,6);

   end

end

%disp('PV节点初始值:电压、相位ei、fi:')   ;

PVU;

%创建DetaS,用于存储有功功率、无功功率和电压幅值的不平衡量 书p58 11-46和11-47

h=0;

for i=1:n           %对PQ节点的处理

   if i~=isb&&B2(i,2)==1

       h=h+1;

       DetaS(2*h-1,1)=B2(i,3)-OrgS(2*h-1,1);

       DetaS(2*h,1)=B2(i,4)-OrgS(2*h,1);

   end

end

t=0;

for i=1:n           %对PV节点的处理

   if i~=isb&&B2(i,2)==2

       h=h+1;

       t=t+1;

⛄ 运行结果

image.gif编辑

image.gif编辑

image.gif编辑

image.gif编辑

⛄ 参考文献

[1]沈亮, 俞伟勇, 秦奋. 基于改进粒子群算法的电动汽车有序充电策略[J]. 产业与科技论坛, 2017, 16(5):2.

[2]余星儒, 高桂革. 基于粒子群算法的电动汽车有序充电控制策略的研究[J]. 电力学报, 2017, 32(3):7.

❤️ 关注我领取海量matlab电子书和数学建模资料

❤️部分理论引用网络文献,若有侵权联系博主删除

相关文章
|
8天前
|
算法 安全 数据安全/隐私保护
基于AES的遥感图像加密算法matlab仿真
本程序基于MATLAB 2022a实现,采用AES算法对遥感图像进行加密与解密。主要步骤包括:将彩色图像灰度化并重置大小为256×256像素,通过AES的字节替换、行移位、列混合及轮密钥加等操作完成加密,随后进行解密并验证图像质量(如PSNR值)。实验结果展示了原图、加密图和解密图,分析了图像直方图、相关性及熵的变化,确保加密安全性与解密后图像质量。该方法适用于保护遥感图像中的敏感信息,在军事、环境监测等领域具有重要应用价值。
|
11天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化TCN-GRU时间卷积神经网络时间序列预测算法matlab仿真
本项目基于MATLAB2022a开发,提供无水印算法运行效果预览及核心程序(含详细中文注释与操作视频)。通过结合时间卷积神经网络(TCN)和遗传算法(GA),实现复杂非线性时间序列的高精度预测。TCN利用因果卷积层与残差连接提取时间特征,GA优化超参数(如卷积核大小、层数等),显著提升模型性能。项目涵盖理论概述、程序代码及完整实现流程,适用于金融、气象、工业等领域的时间序列预测任务。
|
11天前
|
算法 定位技术 数据安全/隐私保护
基于遗传优化算法的多AGV栅格地图路径规划matlab仿真
本程序基于遗传优化算法实现多AGV栅格地图路径规划的MATLAB仿真(测试版本:MATLAB2022A)。支持单个及多个AGV路径规划,输出路径结果与收敛曲线。核心程序代码完整,无水印。算法适用于现代工业与物流场景,通过模拟自然进化机制(选择、交叉、变异)解决复杂环境下的路径优化问题,有效提升效率并避免碰撞。适合学习研究多AGV系统路径规划技术。
|
13天前
|
传感器 存储 算法
基于ECC簇内分组密钥管理算法的无线传感器网络matlab性能仿真
本程序基于ECC(椭圆曲线密码学)簇内分组密钥管理算法,对无线传感器网络(WSN)进行MATLAB性能仿真。通过对比网络通信开销、存活节点数量、网络能耗及数据通信量四个关键指标,验证算法的高效性和安全性。程序在MATLAB 2022A版本下运行,结果无水印展示。算法通过将WSN划分为多个簇,利用ECC生成和分发密钥,降低计算与通信成本,适用于资源受限的传感器网络场景,确保数据保密性和完整性。
|
15天前
|
存储 算法 调度
基于和声搜索优化算法的机器工作调度matlab仿真,输出甘特图
本程序基于和声搜索优化算法(Harmony Search, HS),实现机器工作调度的MATLAB仿真,输出甘特图展示调度结果。算法通过模拟音乐家即兴演奏寻找最佳和声的过程,优化任务在不同机器上的执行顺序,以最小化完成时间和最大化资源利用率为目标。程序适用于MATLAB 2022A版本,运行后无水印。核心参数包括和声记忆大小(HMS)等,适应度函数用于建模优化目标。附带完整代码与运行结果展示。
|
8月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
320 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
8月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
257 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
8月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
199 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
11月前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
11月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度

热门文章

最新文章