当前位置: 首页 > article >正文

MATLAB|基于多时段动态电价的电动汽车有序充电策略优化

  

目录

 主要内容   

  模型研究   

一、蒙特卡洛模拟

​​  部分代码   

  部分结果一览   

下载链接


 主要内容   

该模型参考文献《基于多时段动态电价的电动汽车有序充电策略优化》,采用蒙特卡洛随机抽样方法来模拟电动汽车无序充电状态下的负荷曲线,并设置三个对比算例--基础场景(无电动汽车)、电动汽车无序充电和电动汽车有序充电场景,有序充电场景以电网端负荷差最小和用户侧充电成本最经济为目标,通过粒子群算法进行求解,程序采用matlab+matpower计算,注释清楚,运行稳定,出图效果好!

  模型研究   

一、蒙特卡洛模拟

蒙特卡洛模拟是对事件中的变量做统计分析,拟合出概率分布函数,通过抽样生成满足该分布的近似数据,然后对这些近似数据采取进一步分析,做出判断。因此,在电动汽车充电分析中,综合一定规模电动汽车充电特征,能够得出电动汽车群体的充电特点,具体蒙特卡洛​求解电动汽车充电特征的流程图如下:

​​  部分代码   

% 计算各节点电动汽车充电需求
P_L_EV = zeros(33,24);
for i=1:33
   P_L_EV(i,:) = sum(Load_EV((i-1)*car_number/33+1:(i-1)*car_number/33+car_number/33,:))/1000;
end
% 计算实际的总体负荷
mpc=case33bw;
P_L_act = sum(Power_load.*mpc.bus(:,3))+sum(P_L_EV);
% 验证是否满足潮流约束并计算最优潮流
V = zeros(33,24);% 逐时记录电压
P_loss = zeros(1,24);% 逐时记录网损
for t=1:T
    mpc=case33bw;
    mpc.bus(:,3)=Power_load(t).*mpc.bus(:,3);% 当前时刻各节点基础负荷
    mpc.bus(:,3)=mpc.bus(:,3)+P_L_EV(:,t);% 加上电动汽车充电渡河
    
    [result,sucess]=runopf(mpc,mpoption('OUT_ALL',0,'VERBOSE',0,'PF_ALG',3));% matpower计算最优潮流
    
    V(:,t) = result.bus(:,8);% 当前时刻各节点电压幅值
    P_loss(t) = sum(result.branch(:,14)+result.branch(:,16));% 当前时刻系统网损
    
    if sucess == 1% 判断是否满足潮流约束
%         disp('当前场景满足潮流约束!')
    elseif sucess == 0
        disp('当前场景不满足潮流约束!')
    end
end
%% 优化结果可视化
[fun,C_1,C_2] = objective2(bestPosition);
C_1_0 = sqrt((sum((P_L_base*1000-mean(P_L_base)*1000).^2))/24);
C_2_1 = sum(sum(P_EV_0).*csell);
​
disp('%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
')
disp('
%%            场景3结果输出               %
%
')
disp('
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%
')
disp(['
总目标函数的值为    :
',num2str(fun)])
disp(['
基础负荷波动的标准差为  :
',num2str(C_1_0)])
disp(['
总体负荷波动的标准差为  :
',num2str(C_1)])
disp(['
考虑动态电价电车用户的充电费用为:
',num2str(C_2)])
disp(['
不考虑动态电价电车用户的充电费用为:
',num2str(C_2_1)])
disp(['
总体负荷曲线的峰值为  :
',num2str(max(P_L_act*1000))])
disp(['
总体负荷曲线的谷值为  :
',num2str(min(P_L_act*1000))])
disp('
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%%%
%
')

  部分结果一览   

下载链接


http://www.kler.cn/news/309172.html

相关文章:

  • 【Qt】实现模拟触摸屏 上下滑动表格 的两种方式
  • 产品经理学AI:搭建大模型应用常用的三种方式
  • 【我的 PWN 学习手札】Fastbin Attack
  • TVM和EVM的比较
  • 费解的开关
  • 【常用集合】深入浅出Map集合
  • 如何在微服务的日志中记录每个接口URL、状态码和耗时信息?
  • python中Web开发框架的使用
  • 多速率信号处理
  • sourceTree使用笔记
  • ClickHouse的安装配置+DBeaver远程连接
  • DP子序列问题
  • Spring Boot-静态资源管理问题
  • Spring Cloud全解析:服务调用之Feign的编解码器
  • WebSocket 协议
  • VMware vSphere 8.0 Update 3b 发布下载,新增功能概览
  • 飞速爆单!TikTok跨境选品逻辑大揭秘!
  • socat用法结合案例分析
  • 我的AI工具箱Tauri版-MoYin文本转语音
  • 算法训练——day14字母异位词
  • 计算机三级网络技术总结(二)
  • 【D3.js in Action 3 精译_022】3.2 使用 D3 完成数据准备工作
  • Golang | Leetcode Golang题解之第400题第N位数字
  • 通信工程学习:什么是LCAS链路容量调整机制
  • LLM大模型基础知识学习总结,零基础入门到精通 非常详细收藏我这一篇就够了
  • 1.接口测试基础
  • Selenium等待机制:理解并应用显式等待与隐式等待,解决页面加载慢的问题
  • golang实现正向代理http_proxy和https_proxy
  • 【Python】从基础到进阶(八):文件操作与上下文管理
  • mybatis-generator代码生成