%《考虑电动汽车可调度潜力的充电站两阶段市场投标策略》一文相关程序,作为《电力系统自动化》稿件附件
%包含功能:实时可调度潜力计算,日前可调度潜力计算,充电站日前投标策略,充电站实时投标策略,参数灵敏度分析
%仅供学术交流使用,已注册软件著作权
%authors:X.P. Zhan. GitHub:WHU_zxp
%运行环境:MATLAB R2014a,需要YALMIP工具箱和GUROBI求解器
clear
clc
close all
%% 第一节(基础数据获取,包括蒙特卡洛抽样,可调度潜力计算以及无序充电计算)
%%%蒙特卡洛抽样%%%
%I类车(800),夜晚充电,私家车;II类车(400),夜晚充电,网约车;III类车(800),白天充电,上班族。
rng(1);%固定随机数种子(伪随机:保证蒙特卡洛抽样的结果稳定)
Ta_EV1=normrnd(18,2,[1001,1000]);%电动汽车1的停车时间抽样
rng(1);Tl_EV1=normrnd(8,2,[1001,1000]);%电动汽车1的离开时间抽样
rng(1);S0_EV1=unifrnd(0.4,0.6,[1001,1000]);%电动汽车1的初始SOC抽样
rng(1);Ta_EV2=normrnd(21,1,[1001,500]);
rng(1);Tl_EV2=normrnd(7,1,[1001,500]);
rng(1);S0_EV2=unifrnd(0.2,0.4,[1001,500]);
rng(1);Ta_EV3=normrnd(9,sqrt(2),[1001,1000]);
rng(1);Tl_EV3=normrnd(17,sqrt(2),[1001,1000]);
rng(1);S0_EV3=unifrnd(0.4,0.6,[1001,1000]);
rng(1);EV1_CS1=round(unifrnd(180,220,[1001,1]));%充电站1中I类车的数量
rng(1);EV1_CS2=round(unifrnd(180,220,[1001,1]));%充电站2中I类车的数量
rng(1);EV1_CS3=zeros(1001,1);%充电站3中I类车的数量
rng(1);EV1_CS4=round(unifrnd(380,420,[1001,1]));%充电站4中I类车的数量
rng(1);EV2_CS1=round(unifrnd(190,210,[1001,1]));
rng(1);EV2_CS2=round(unifrnd(80,120,[1001,1]));
rng(1);EV2_CS3=round(unifrnd(90,110,[1001,1]));
rng(1);EV2_CS4=zeros(1001,1);
rng(1);EV3_CS1=zeros(1001,1);
rng(1);EV3_CS2=round(unifrnd(380,420,[1001,1]));
rng(1);EV3_CS3=round(unifrnd(380,420,[1001,1]));
rng(1);EV3_CS4=zeros(1001,1);
%数据修正,从08:00开始计算,超出范围的进行截尾(截尾正态分布)
Ta_EV1=Ta_EV1-8;Tl_EV1=Tl_EV1+24-8;Ta_EV2=Ta_EV2-8;Tl_EV2=Tl_EV2+24-8;Ta_EV3=Ta_EV3-8;Tl_EV3=Tl_EV3-8;S0_EV1=32*S0_EV1;S0_EV2=32*S0_EV2;S0_EV3=32*S0_EV3;
DA_Ta_EV1=ceil(Ta_EV1(1:1000,:));DA_Ta_EV2=ceil(Ta_EV2(1:1000,:));DA_Ta_EV3=ceil(Ta_EV3(1:1000,:));%日前离散化
DA_Tl_EV1=floor(Tl_EV1(1:1000,:));DA_Tl_EV2=floor(Tl_EV2(1:1000,:));DA_Tl_EV3=floor(Tl_EV3(1:1000,:));
DA_S0_EV1=S0_EV1(1:1000,:);DA_S0_EV2=S0_EV2(1:1000,:);DA_S0_EV3=S0_EV3(1:1000,:);
RT_Ta_EV1=ceil(4*Ta_EV1(1001,:));RT_Ta_EV2=ceil(4*Ta_EV2(1001,:));RT_Ta_EV3=ceil(4*Ta_EV3(1001,:));%实时离散化
RT_Tl_EV1=floor(4*Tl_EV1(1001,:));RT_Tl_EV2=floor(4*Tl_EV2(1001,:));RT_Tl_EV3=floor(4*Tl_EV3(1001,:));
RT_S0_EV1=S0_EV1(1001,:);RT_S0_EV2=S0_EV2(1001,:);RT_S0_EV3=S0_EV3(1001,:);
DA_Ta_EV1(find(DA_Ta_EV1<1))=1;DA_Ta_EV2(find(DA_Ta_EV2<1))=1;DA_Ta_EV3(find(DA_Ta_EV3<1))=1;%Ta截首
RT_Ta_EV1(find(RT_Ta_EV1<1))=1;RT_Ta_EV2(find(RT_Ta_EV2<1))=1;RT_Ta_EV3(find(RT_Ta_EV3<1))=1;
DA_Ta_EV1(find(DA_Ta_EV1>24))=24;DA_Ta_EV2(find(DA_Ta_EV2>24))=24;DA_Ta_EV3(find(DA_Ta_EV3>24))=24;%Ta截尾
RT_Ta_EV1(find(RT_Ta_EV1>96))=96;RT_Ta_EV2(find(RT_Ta_EV2>96))=96;RT_Ta_EV3(find(RT_Ta_EV3>96))=96;
DA_Tl_EV1(find(DA_Tl_EV1<1))=1;DA_Tl_EV2(find(DA_Tl_EV2<1))=1;DA_Tl_EV3(find(DA_Tl_EV3<1))=1;%Tl截首
RT_Tl_EV1(find(RT_Tl_EV1<1))=1;RT_Tl_EV2(find(RT_Tl_EV2<1))=1;RT_Tl_EV3(find(RT_Tl_EV3<1))=1;
DA_Tl_EV1(find(DA_Tl_EV1>24))=24;DA_Tl_EV2(find(DA_Tl_EV2>24))=24;DA_Tl_EV3(find(DA_Tl_EV3>24))=24;%Tl截尾
RT_Tl_EV1(find(RT_Tl_EV1>96))=96;RT_Tl_EV2(find(RT_Tl_EV2>96))=96;RT_Tl_EV3(find(RT_Tl_EV3>96))=96;
index=find(6.6*(DA_Tl_EV1-DA_Ta_EV1+1)<32*0.9-DA_S0_EV1);%日前数据修正,若不合理则赋期望值
for i=1:length(index)
DA_Ta_EV1(index(i))=10;DA_Tl_EV1(index(i))=24;
end
index=find(6.6*(DA_Tl_EV2-DA_Ta_EV2+1)<32*0.9-DA_S0_EV2);
for i=1:length(index)
DA_Ta_EV2(index(i))=13;DA_Tl_EV2(index(i))=23;
end
index=find(6.6*(DA_Tl_EV3-DA_Ta_EV3+1)<32*0.9-DA_S0_EV3);
for i=1:length(index)
DA_Ta_EV3(index(i))=1;DA_Tl_EV3(index(i))=9;
end
index=find(0.25*6.6*(RT_Tl_EV1-RT_Ta_EV1+1)<32*0.9-RT_S0_EV1);%实时数据修正,若不合理则赋期望值
for i=1:length(index)
RT_Ta_EV1(index(i))=40;RT_Tl_EV1(index(i))=96;
end
index=find(0.25*6.6*(RT_Tl_EV2-RT_Ta_EV2+1)<32*0.9-RT_S0_EV2);
for i=1:length(index)
RT_Ta_EV2(index(i))=52;RT_Tl_EV2(index(i))=92;
end
index=find(0.25*6.6*(RT_Tl_EV3-RT_Ta_EV3+1)<32*0.9-RT_S0_EV3);
for i=1:length(index)
RT_Ta_EV3(index(i))=4;RT_Tl_EV3(index(i))=36;
end
%%%车辆分配%%%
for i=1:1000
data_CS1(i).Ta=[DA_Ta_EV1(i,1:EV1_CS1(i)),DA_Ta_EV2(i,1:EV2_CS1(i)),DA_Ta_EV3(i,1:EV3_CS1(i))];
data_CS2(i).Ta=[DA_Ta_EV1(i,1+EV1_CS1(i):EV1_CS1(i)+EV1_CS2(i)),DA_Ta_EV2(i,1+EV2_CS1(i):EV2_CS1(i)+EV2_CS2(i)),DA_Ta_EV3(i,1+EV3_CS1(i):EV3_CS1(i)+EV3_CS2(i))];
data_CS3(i).Ta=[DA_Ta_EV1(i,1+EV1_CS1(i)+EV1_CS2(i):EV1_CS1(i)+EV1_CS2(i)+EV1_CS3(i)),DA_Ta_EV2(i,1+EV2_CS1(i)+EV2_CS2(i):EV2_CS1(i)+EV2_CS2(i)+EV2_CS3(i)),DA_Ta_EV3(i,1+EV3_CS1(i)+EV3_CS2(i):EV3_CS1(i)+EV3_CS2(i)+EV3_CS3(i))];
data_CS4(i).Ta=[DA_Ta_EV1(i,1+EV1_CS1(i)+EV1_CS2(i)+EV1_CS3(i):EV1_CS1(i)+EV1_CS2(i)+EV1_CS3(i)+EV1_CS4(i)),DA_Ta_EV2(i,1+EV2_CS1(i)+EV2_CS2(i)+EV2_CS3(i):EV2_CS1(i)+EV2_CS2(i)+EV2_CS3(i)+EV2_CS4(i)),DA_Ta_EV3(i,1+EV3_CS1(i)+EV3_CS2(i)+EV3_CS3(i):EV3_CS1(i)+EV3_CS2(i)+EV3_CS3(i)+EV3_CS4(i))];
data_CS1(i).Tl=[DA_Tl_EV1(i,1:EV1_CS1(i)),DA_Tl_EV2(i,1:EV2_CS1(i)),DA_Tl_EV3(i,1:EV3_CS1(i))];
data_CS2(i).Tl=[DA_Tl_EV1(i,1+EV1_CS1(i):EV1_CS1(i)+EV1_CS2(i)),DA_Tl_EV2(i,1+EV2_CS1(i):EV2_CS1(i)+EV2_CS2(i)),DA_Tl_EV3(i,1+EV3_CS1(i):EV3_CS1(i)+EV3_CS2(i))];
data_CS3(i).Tl=[DA_Tl_EV1(i,1+EV1_CS1(i)+EV1_CS2(i):EV1_CS1(i)+EV1_CS2(i)+EV1_CS3(i)),DA_Tl_EV2(i,1+EV2_CS1(i)+EV2_CS2(i):EV2_CS1(i)+EV2_CS2(i)+EV2_CS3(i)),DA_Tl_EV3(i,1+EV3_CS1(i)+EV3_CS2(i):EV3_CS1(i)+EV3_CS2(i)+EV3_CS3(i))];
data_CS4(i).Tl=[DA_Tl_EV1(i,1+EV1_CS1(i)+EV1_CS2(i)+EV1_CS3(i):EV1_CS1(i)+EV1_CS2(i)+EV1_CS3(i)+EV1_CS4(i)),DA_Tl_EV2(i,1+EV2_CS1(i)+EV2_CS2(i)+EV2_CS3(i):EV2_CS1(i)+EV2_CS2(i)+EV2_CS3(i)+EV2_CS4(i)),DA_Tl_EV3(i,1+EV3_CS1(i)+EV3_CS2(i)+EV3_CS3(i):EV3_CS1(i)+EV3_CS2(i)+EV3_CS3(i)+EV3_CS4(i))];
data_CS1(i).S0=[DA_S0_EV1(i,1:EV1_CS1(i)),DA_S0_EV2(i,1:EV2_CS1(i)),DA_S0_EV3(i,1:EV3_CS1(i))];
data_CS2(i).S0=[DA_S0_EV1(i,1+EV1_CS1(i):EV1_CS1(i)+EV1_CS2(i)),DA_S0_EV2(i,1+EV2_CS1(i):EV2_CS1(i)+EV2_CS2(i)),DA_S0_EV3(i,1+EV3_CS1(i):EV3_CS1(i)+EV3_CS2(i))];
data_CS3(i).S0=[DA_S0_EV1(i,1+EV1_CS1(i)+EV1_CS2(i):EV1_CS1(i)+EV1_CS2(i)+EV1_CS3(i)),DA_S0_EV2(i,1+EV2_CS1(i)+EV2_CS2(i):EV2_CS1(i)+EV2_CS2(i)+EV2_CS3(i)),DA_S0_EV3(i,1+EV3_CS1(i)+EV3_CS2(i):EV3_CS1(i)+EV3_CS2(i)+EV3_CS3(i))];
data_CS4(i).S0=[DA_S0_EV1(i,1+EV1_CS1(i)+EV1_CS2(i)+EV1_CS3(i):EV1_CS1(i)+EV1_CS2(i)+EV1_CS3(i)+EV1_CS4(i)),DA_S0_EV2(i,1+EV2_CS1(i)+EV2_CS2(i)+EV2_CS3(i):EV2_CS1(i)+EV2_CS2(i)+EV2_CS3(i)+EV2_CS4(i)),DA_S0_EV3(i,1+EV3_CS1(i)+EV3_CS2(i)+EV3_CS3(i):EV3_CS1(i)+EV3_CS2(i)+EV3_CS3(i)+EV3_CS4(i))];
end
data_CS1(1001).Ta=[RT_Ta_EV1(1:EV1_CS1(1001)),RT_Ta_EV2(1:EV2_CS1(1001)),RT_Ta_EV3(1:EV3_CS1(1001))];
data_CS2(1001).Ta=[RT_Ta_EV1(1+EV1_CS1(1001):EV1_CS1(1001)+EV1_CS2(1001)),RT_Ta_EV2(1+EV2_CS1(1001):EV2_CS1(1001)+EV2_CS2(1001)),RT_Ta_EV3(1+EV3_CS1(1001):EV3_CS1(1001)+EV3_CS2(1001))];
data_CS3(1001).Ta=[RT_Ta_EV1(1+EV1_CS1(1001)+EV1_CS2(1001):EV1_CS1(1001)+EV1_CS2(1001)+EV1_CS3(1001)),RT_Ta_EV2(1+EV2_CS1(1001)+EV2_CS2(1001):EV2_CS1(1001)+EV2_CS2(1001)+EV2_CS3(1001)),RT_Ta_EV3(1+EV3_CS1(1001)+EV3_CS2(1001):EV3_CS1(1001)+EV3_CS2(1001)+EV3_CS3(1001))];
data_CS4(1001).Ta=[RT_Ta_EV1(1+EV1_CS1(1001)+EV1_CS2(1001)+EV1_CS3(1001):EV1_CS1(1001)+EV1_CS2(1001)+EV1_CS3(1001)+EV1_CS4(1001)),RT_Ta_EV2(1+EV2_CS1(1001)+EV2_CS2(1001)+EV2_CS3(1001):EV2_CS1(1001)+EV2_CS2(1001)+EV2_CS3(1001)+EV2_CS4(1001)),RT_Ta_EV3(1+EV3_CS1(1001)+EV3_CS2(1001)+EV3_CS3(1001):EV3_CS1(1001)+EV3_CS2(1001)+EV3_CS3(1001)+EV3_CS4(1001))];
data_CS1(1001).Tl=[RT_Tl_EV1(1:EV1_CS1(1001)),RT_Tl_EV2(1:EV2_CS1(
墨痕_777
- 粉丝: 4751
- 资源: 776
最新资源
- 基于Delaunay三角化的点云数据三维曲面重建matlab仿真,包括程序,中文注释,仿真操作步骤视频
- 船舶检测20-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- 船舶检测19-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- 华为ENSP基本配置!!!
- Java高级软件工程师简历模板-技能特长与项目经历
- 山东理工大学 SDUT 中外OS 操作系统 学习笔记 2024
- 山东理工大学 SDUT 中外OS 操作系统 学习笔记 2024
- TurboWarp-Setup-1.12.3-x64.exe
- 船检测4-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- 提升工程效率的必备工具:IPAddressApp-无显示器远程调试的新选择
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈