基于遗传算法的电动汽车有序充放电优化问题(附matlab源码)

发布时间:2025-04-06 21:34

电动汽车电池技术的研发,有望解决续航和充电速度问题。 #生活知识# #生活感悟# #科技生活变迁# #新能源汽车#

   为了减小电动汽车规模化充电给配电网安全稳定运行带来的不利影响,提出一种基于遗传算法的电动汽车有序充电策略。考虑用户出行规律及保证配电网的安全稳定运行,以 降低负荷曲线峰谷差与充电成本最小为目标,建立峰值不超过变压器容量和电池电量充满为约束 的优化模型。

1 、目标函数的建立  

                ​编辑

                  ​

                    ​

                     ​

2、求解及其算法流程

               ​

3、部分代码

clc clear all warning off %% 不同车辆数结果对比 load EV200.mat load EV300.mat load zpe2.mat load zpe3.mat dianjia=[0.500000000000000,0.650000000000000,0.650000000000000,0.650000000000000,0.500000000000000,0.500000000000000,0.500000000000000,0.500000000000000,0.500000000000000,0.350000000000000,0.350000000000000,0.350000000000000,0.350000000000000,0.350000000000000,0.350000000000000,0.350000000000000,0.500000000000000,0.500000000000000,0.650000000000000,0.650000000000000,0.650000000000000,0.650000000000000,0.500000000000000,0.650000000000000]; Residential_load=[1393.851097.4742.992392.3289.767300.912418.305653.8331010.471243.031482.271832.221880.511901.321888.691863.421883.491968.932067.752113.072086.321969.671829.251665.05]; fengdian=[236,210,198,182,240,180,168,96,48,30,96,108,84,132,150,132,108,72,96,110,136,192,192,180]; guangfu=[0 0 0 0 0 20 65 110 180 249.9 260 275 270 265 245 230 175 120 30 0 0 0 0 0]; xinnengyuan=fengdian+guangfu; figure plot(EV200,'k*-','LineWidth',1.5) hold on plot(EV300,'r*-','LineWidth',1.5) hold off xlabel('时间/h') ylabel('充电负荷(kw)') title('电动车充电负荷曲线') legend('200辆车','300辆车') xlim([0,24]) set(gca,'xtick',[0:4:24]) figure plot(Residential_load,'ko-','LineWidth',1.5); xlabel('时间/h') ylabel('总负荷(kw)') title('基础负荷曲线') xlim([1,24]) set(gca,'xtick',[0:4:24]) figure plot(zpe2,'bo-','LineWidth',1.5); hold on plot(zpe3,'r*-','LineWidth',1.5); hold off xlabel('时间/h') ylabel('总负荷(kw)') title('无序充电负荷曲线') legend('200辆车无序','300辆车无序') xlim([1,24]) set(gca,'xtick',[0:4:24]) figure plot(zpe2+Residential_load,'b-o','LineWidth',1.5); hold on plot(zpe3+Residential_load,'r-*','LineWidth',1.5); hold off xlabel('时间/h') ylabel('总负荷(kw)') title('考虑无序充电的总负荷曲线') legend('200辆车无序','300辆车无序') xlim([1,24]) set(gca,'xtick',[0:4:24]) figure plot(Residential_load,'ko-','LineWidth',1.5); hold on plot(EV200+Residential_load,'bo-','LineWidth',1.5); hold on plot(EV300+Residential_load,'ro-','LineWidth',1.5); hold on plot(zpe2+Residential_load,'b--','LineWidth',1.5); hold on plot(zpe3+Residential_load,'r--','LineWidth',1.5); hold on zzz=ones(1,24)*2800; plot(zzz,'k--','LineWidth',1.5') xlabel('时间/h') ylabel('总负荷(kw)') title('考虑电动车充电的总负荷曲线') legend('基础负荷','200辆车有序','300辆车有序','200辆车无序','300辆车无序') xlim([1,24]) set(gca,'xtick',[0:4:24]) figure plot(Residential_load,'ko-','LineWidth',1.5); hold on plot(EV200+Residential_load,'bo-','LineWidth',1.5); hold on plot(zpe2+Residential_load,'b--','LineWidth',1.5); xlabel('时间/h') ylabel('总负荷(kw)') title('200辆车有序与无序总负荷曲线') legend('基础负荷','200辆车有序','200辆车无序') xlim([1,24]) set(gca,'xtick',[0:4:24]) figure plot(Residential_load,'ko-','LineWidth',1.5); hold on plot(EV300+Residential_load,'ro-','LineWidth',1.5); hold on plot(zpe3+Residential_load,'r--','LineWidth',1.5); xlabel('时间/h') ylabel('总负荷(kw)') title('300辆车有序与无序总负荷曲线') legend('基础负荷','300辆车有序','300辆车无序') xlim([1,24]) set(gca,'xtick',[0:4:24]) %电价曲线 figure DJ=[]; T=[]; for i=1:24 T0=i-1:0.01:i; DJ=[DJ dianjia(i)*square(T0/(2*pi))]; T=[T,T0]; end plot(T,abs(DJ),'r-','LineWidth',1.5); xlabel('时间/h') ylabel('电价/元') title('电价曲线') xlim([1,24]) ylim([0 1]) set(gca,'xtick',[0:4:24]) %风电出力曲线 figure plot(fengdian,'r-','LineWidth',1.5); xlabel('时间/h') ylabel('功率/kw') title('风电出力曲线') xlim([1,24]) set(gca,'xtick',[0:4:24]) %光伏出力曲线 figure plot(guangfu,'r-','LineWidth',1.5); xlabel('时间/h') ylabel('功率/kw') title('光伏出力曲线') xlim([1,24]) set(gca,'xtick',[0:4:24]) %新能源出力曲线 figure m_x=mean(xinnengyuan); max_x=1.25*m_x*ones(24,1); min_x=0.75*m_x*ones(24,1); plot(xinnengyuan,'b-','LineWidth',1.5); hold on plot(max_x,'r--','LineWidth',1.5); hold on plot(min_x,'k--','LineWidth',1.5); xlabel('时间/h') ylabel('功率/kw') title('新能源出力曲线') legend('新能源出力曲线','高出力临界值','低出力临界值') xlim([1,24]) ylim([0 500]) set(gca,'xtick',[0:4:24]) %% 利用量曲线 figure %计算有序充电的新能源消纳率 st1=find(EV200-xinnengyuan>=0);%新能源发电全部用于汽车充电的时间段 st2=find(EV200-xinnengyuan<0);%新能源发电有剩余的时间段 xiaonalv=(sum(xinnengyuan(st1))+sum(EV200(st2)))/sum(xinnengyuan); XL200(st1)=xinnengyuan(st1); XL200(st2)=EV200(st2); st3=find(EV300-xinnengyuan>=0);%新能源发电全部用于汽车充电的时间段 st5=find(EV300-xinnengyuan<0);%新能源发电有剩余的时间段 xiaonalv=(sum(xinnengyuan(st3))+sum(EV300(st5)))/sum(xinnengyuan); XL300(st3)=xinnengyuan(st3); XL300(st5)=EV300(st5); st11=find(zpe2-xinnengyuan>=0);%新能源发电全部用于汽车充电的时间段 st22=find(zpe2-xinnengyuan<0);%新能源发电有剩余的时间段 xiaonalv=(sum(xinnengyuan(st11))+sum(zpe2(st22)))/sum(xinnengyuan); WL200(st11)=xinnengyuan(st11); WL200(st22)=zpe2(st22); st33=find(zpe3-xinnengyuan>=0);%新能源发电全部用于汽车充电的时间段 st55=find(zpe3-xinnengyuan<0);%新能源发电有剩余的时间段 xiaonalv=(sum(xinnengyuan(st33))+sum(zpe3(st55)))/sum(xinnengyuan); WL300(st33)=xinnengyuan(st33); WL300(st55)=zpe3(st55); plot(XL200, 'r-pentagram','LineWidth',1.5); hold on plot(WL200, 'c-o','LineWidth',1.5); xlabel('时间/h') ylabel('新能源利用量/kw') title('200辆车有序与无序充电新能源利用量曲线') legend('有序充电','无序充电') xlim([1,24]) set(gca,'xtick',[0:4:24]) %% 计算有序无序充电的参数 %计算有序充电的峰谷差率 fh1=zpe2+Residential_load; fgc=(max(fh1)-min(fh1))/max(fh1)*100; disp('无序充电的峰谷差率') fgc %计算有序充电的电费 disp('无序充电的电费') P=sum(0.8.*zpe2) %计算有序充电的新能源消纳率 st1=find(zpe2-xinnengyuan>=0);%新能源发电全部用于汽车充电的时间段 st2=find(zpe2-xinnengyuan<0);%新能源发电有剩余的时间段 xiaonalv=(sum(xinnengyuan(st1))+sum(zpe2(st2)))/sum(xinnengyuan); XL200(st1)=xinnengyuan(st1); XL200(st2)=zpe2(st2); disp('新能源消纳率') xiaonalv %计算有序充电的峰谷差率 fh1=zpe3+Residential_load; fgc=(max(fh1)-min(fh1))/max(fh1)*100; disp('无序充电的峰谷差率') fgc %计算有序充电的电费 disp('无序充电的电费') P=sum(0.8.*zpe3) st1=find(zpe3-xinnengyuan>=0);%新能源发电全部用于汽车充电的时间段 st2=find(zpe3-xinnengyuan<0);%新能源发电有剩余的时间段 xiaonalv=(sum(xinnengyuan(st1))+sum(zpe2(st2)))/sum(xinnengyuan); XL200(st1)=xinnengyuan(st1); XL200(st2)=zpe2(st2); disp('新能源消纳率') xiaonalv

 4、结果展示

 ​

 ​

网址:基于遗传算法的电动汽车有序充放电优化问题(附matlab源码) https://www.yuejiaxmz.com/news/view/854846

相关内容

【优化调度】基于多时间尺度的电动汽车光伏充电站联合分层优化调度附Matlab代码
电动汽车充电站的最优选址和定容【两种方法】(Matlab代码实现)
【噪声控制】基于FXLMS算法实现有源噪声控制附Matlab代码
电动汽车充电站的最优选址matlab程序
【负荷预测】基于DBO、PSO、SSA、GOOSE算法优化ELM的电力负荷预测研究附Matlab代码
m基于遗传算法的城市生活垃圾回收网络优化matlab仿真
【电力系统】基于分时电价条件下家庭能量管理策略研究附MATLAB代码
【创新未发表】基于鱼鹰OOA求解带时间窗的骑手外卖配送路径规划问题,最优路径成本附Matlab代码
遗传算法matlab仿真实例
【电力系统】智能家居能源管理系统(HEMS)粒子群优化电力管理和MPC控制matlab复现

随便看看