EI期刊论文复现:考虑电动汽车可调度潜力的充电站两阶段市场投标策略程序代码!

news2024/11/27 2:16:34

本程序代码参考EI期刊论文《考虑电动汽车可调度潜力的充电站两阶段市场投标策略》,程序中基于历史数据评估可调度潜力,由联合报价模型确定节点边际电价,作为报价的参考,包含个体竞价模式,纳什博弈竞价,算例丰富,注释清晰,干货满满!下面对程序代码和文章进行简要介绍!

运行平台:MATLAB+Cplex+Yalmip;或者:MATLAB+Gurobi+Yalmip

有很多公证号介绍了该程序代码,差别从运行平台开始,懂得都懂!

使用两种求解器对模型进行求解,均可以得到良好效果!

在电力市场环境下,充电站优化投标策略能降低电力成本,甚至通过售电获取收益。文中考虑了电动汽车成为柔性储荷资源的潜力,提出了日前电力市场和实时电力市场下充电站的投标策略。首先,基于闵可夫斯基加法提出了充电站内电动汽车集群模型的压缩方法,并建立了日前可调度潜力预测模型和实时可调度潜力评估模型。同时,考虑充电站间的非合作博弈,建立了电力零售市场下充电站的策略投标模型,并基于驻点法将其转化为一个广义Nash均衡问题。然后,提出了基于日前报价和实时报量的两阶段市场交易模式,并与合作投标模式、价格接受模式和集中调度模式进行对比。最后,基于一个38节点配电系统进行了仿真。仿真结果表明所提出的可调度潜力计算方法能够将电动汽车集群封装为广义储能设备,从而降低了模型的维度。基于可调度潜力的策略投标模型能够挖掘电动汽车的储荷潜力,实现电动汽车与电网的有序互动。

算例共分为7节,限于篇幅,介绍前3节内容。

第一节算例结果:

第二节算例结果:

第三节算例结果:

介绍到这里,您看出和其他相关介绍的区别了吗?

部分代码:

% %% 第七节,日前可调度潜力预测算法对比
% %算法1:个体
% clear
% clc
% close all
% load data_EV
% X_CS1=data_CS1.X;X_CS2=data_CS2.X;X_CS3=data_CS3.X;X_CS4=data_CS4.X;
% S0_CS1=data_CS1.S0;S0_CS2=data_CS2.S0;S0_CS3=data_CS3.S0;S0_CS4=data_CS4.S0;
% m1=length(S0_CS1);m2=length(S0_CS2);m3=length(S0_CS3);m4=length(S0_CS4);
% %充电站投标问题
% pch_CS1=sdpvar(m1,24);pdis_CS1=sdpvar(m1,24);%电动汽车个体的充放电功率
% pch_CS2=sdpvar(m2,24);pdis_CS2=sdpvar(m2,24);
% pch_CS3=sdpvar(m3,24);pdis_CS3=sdpvar(m3,24);
% pch_CS4=sdpvar(m4,24);pdis_CS4=sdpvar(m4,24);
% s_CS1=sdpvar(m1,24);s_CS2=sdpvar(m2,24);s_CS3=sdpvar(m3,24);s_CS4=sdpvar(m4,24);%电动汽车个体的SOC
% Pch=sdpvar(4,24);%充电站充电功率
% Pdis=sdpvar(4,24);%充电站放电功率
% Ccs=[Pch(1,:)==sum(pch_CS1),Pch(2,:)==sum(pch_CS2),Pch(3,:)==sum(pch_CS3),Pch(4,:)==sum(pch_CS4),
%     Pdis(1,:)==sum(pdis_CS1),Pdis(2,:)==sum(pdis_CS2),Pdis(3,:)==sum(pdis_CS3),Pdis(4,:)==sum(pdis_CS4),
%     0<=pch_CS1<=6.6*X_CS1,0<=pch_CS2<=6.6*X_CS2,0<=pch_CS3<=6.6*X_CS3,0<=pch_CS4<=6.6*X_CS4,
%     0<=pdis_CS1<=6.6*X_CS1,0<=pdis_CS2<=6.6*X_CS2,0<=pdis_CS3<=6.6*X_CS3,0<=pdis_CS4<=6.6*X_CS4,
%     s_CS1(:,1)==S0_CS1'+0.95*pch_CS1(:,1)-pdis_CS1(:,1)/0.95,
%     s_CS2(:,1)==S0_CS2'+0.95*pch_CS2(:,1)-pdis_CS2(:,1)/0.95,
%     s_CS3(:,1)==S0_CS3'+0.95*pch_CS3(:,1)-pdis_CS3(:,1)/0.95,
%     s_CS4(:,1)==S0_CS4'+0.95*pch_CS4(:,1)-pdis_CS4(:,1)/0.95,
%     s_CS1(:,2:24)==s_CS1(:,1:23)+0.95*pch_CS1(:,2:24)-pdis_CS1(:,2:24)/0.95,
%     s_CS2(:,2:24)==s_CS2(:,1:23)+0.95*pch_CS2(:,2:24)-pdis_CS2(:,2:24)/0.95,
%     s_CS3(:,2:24)==s_CS3(:,1:23)+0.95*pch_CS3(:,2:24)-pdis_CS3(:,2:24)/0.95,
%     s_CS4(:,2:24)==s_CS4(:,1:23)+0.95*pch_CS4(:,2:24)-pdis_CS4(:,2:24)/0.95,
%     32*0.15<=s_CS1<=32*0.9,32*0.15<=s_CS2<=32*0.9,32*0.15<=s_CS3<=32*0.9,32*0.15<=s_CS4<=32*0.9
%     sum(0.95*pch_CS1-pdis_CS1/0.95,2)==32*0.9-S0_CS1',
%     sum(0.95*pch_CS2-pdis_CS2/0.95,2)==32*0.9-S0_CS2',
%     sum(0.95*pch_CS3-pdis_CS3/0.95,2)==32*0.9-S0_CS3',
%     sum(0.95*pch_CS4-pdis_CS4/0.95,2)==32*0.9-S0_CS4'
%     ];%约束条件
% % %市场出清问题
% Loadcurve=[0.955391944564747,0.978345604157644,1,0.995019488956258,0.972932005197055,0.970333477695972,0.930489389346037,0.890428757037679,0.902771762667822,0.941966219142486,0.911000433087917,0.862061498484192,0.840190558683413,0.831095712429623,0.756604590731919,0.671719359029883,0.611520138588133,0.582936336076224,0.572542226071893,0.574707665656128,0.587267215244695,0.644218276310091,0.755521870939801,0.884798614118666];
% PL_base=[5.704;5.705;5.631;6.518;4.890;5.705;5.847]*1000;%负荷分布
% PL=PL_base*Loadcurve;%基础负荷
% Pf=sdpvar(7,24);%馈线功率
% Pf(1,:)=PL(1,:)+Pch(1,:)-Pdis(1,:);Pf(2,:)=PL(2,:);Pf(3,:)=PL(3,:);Pf(4,:)=PL(4,:)+Pch(2,:)-Pdis(2,:);Pf(5,:)=PL(5,:)+Pch(3,:)-Pdis(3,:);Pf(6,:)=PL(6,:);Pf(7,:)=PL(7,:)+Pch(4,:)-Pdis(4,:);%馈线功率组成
% Pf_limit=1000*[40,40,40,40,40,40,40]';%馈线功率限制
% Pg=sdpvar(10,24);%发电商分段电量
% Pg_step=1000*[20,5,3,2,2,2,2,2,2,100]';%报价区间
% Price_DSO=[3:12]'*0.1;%分段电价
% Lagrant_G_left=sdpvar(10,24);%发电商电量下界
% Lagrant_G_right=sdpvar(10,24);%发电商电量上界
% b_Lagrant_G_left=binvar(10,24);%发电商电量下界布尔变量
% b_Lagrant_G_right=binvar(10,24);%发电商电量上界布尔变量
% Lagrant_L_left=sdpvar(7,24);%线路功率下界
% Lagrant_L_right=sdpvar(7,24);%线路功率上界
% b_Lagrant_L_left=binvar(7,24);%线路功率上界布尔变量
% b_Lagrant_L_right=binvar(7,24);%线路功率下界布尔变量
% Lagrant_G=sdpvar(1,24);%平衡节点电价
% DLMP=sdpvar(7,24);%DLMP
% Ckkt=[sum(Pg)==sum(Pf),
%     0<=Pg<=Pg_step*ones(1,24),
%     Price_DSO*ones(1,24)-Lagrant_G_left+Lagrant_G_right-ones(10,1)*Lagrant_G==0,
%     DLMP==ones(7,1)*Lagrant_G+Lagrant_L_right-Lagrant_L_left,
%     Pg<=1E6*b_Lagrant_G_left,0<=Lagrant_G_left<=(1-b_Lagrant_G_left),
%     Pg_step*ones(1,24)-Pg<=1E6*b_Lagrant_G_right,0<=Lagrant_G_right<=(1-b_Lagrant_G_right),
%     -Pf_limit*ones(1,24)<=Pf<=Pf_limit*ones(1,24),
%     Pf+Pf_limit*ones(1,24)<=1E6*b_Lagrant_L_left,0<=Lagrant_L_left<=(1-b_Lagrant_L_left),
%     -Pf+Pf_limit*ones(1,24)<=1E6*b_Lagrant_L_right,0<=Lagrant_L_right<=(1-b_Lagrant_L_right)];%市场出清问题的KKT条件
% Obj=sum(sum((Price_DSO*ones(1,24)).*Pg))-sum(sum(DLMP.*PL))+sum(sum((Pg_step*ones(1,24)).*Lagrant_G_right))+sum(sum((Lagrant_L_left+Lagrant_L_right).*(Pf_limit*ones(1,24))));
% %求解问题
% C=[Ccs,Ckkt];%约束条件
% ops=sdpsettings('solver','cplex');
% result=solvesdp(C,Obj,ops);
% DLMP=double(DLMP);
% Lagrant_G=double(Lagrant_G);
% Pf=double(Pf);
% Pch=double(Pch);
% Pdis=double(Pdis);
% Pg=double(Pg);
% %实时调度
% load data_RT_potential
% load result_order
% Pch1=RT_CS1(96).Pch;Pdis1=RT_CS1(96).Pdis;Smin1=RT_CS1(96).Smin;Smax1=RT_CS1(96).Smax;dS1=RT_CS1(96).dS;%取最后一个时刻的可调度潜力
% Pch2=RT_CS2(96).Pch;Pdis2=RT_CS2(96).Pdis;Smin2=RT_CS2(96).Smin;Smax2=RT_CS2(96).Smax;dS2=RT_CS2(96).dS;
% Pch3=RT_CS3(96).Pch;Pdis3=RT_CS3(96).Pdis;Smin3=RT_CS3(96).Smin;Smax3=RT_CS3(96).Smax;dS3=RT_CS3(96).dS;
% Pch4=RT_CS4(96).Pch;Pdis4=RT_CS4(96).Pdis;Smin4=RT_CS4(96).Smin;Smax4=RT_CS4(96).Smax;dS4=RT_CS4(96).dS;
% Pchmax=[Pch1;Pch2;Pch3;Pch4];
% Pdismax=[Pdis1;Pdis2;Pdis3;Pdis4];
% Smin=[Smin1;Smin2;Smin3;Smin4];
% Smax=[Smax1;Smax2;Smax3;Smax4];
% dS=[dS1;dS2;dS3;dS4];
% Link=zeros(24,96);%时段换算矩阵(日前1h换算为实时15min)
% for i=1:24
%     Link(i,4*i-3:4*i)=1;
% end
% DA_Ps=Pch-Pdis;%日前调度数据
% DA_Ps=DA_Ps*Link;%时段换算
% DA_Pf=Pf*Link;%日前总功率
% %充电站投标问题
% Pch=sdpvar(4,96);%充电站充电功率
% Pdis=sdpvar(4,96);%充电站放电功率
% S=sdpvar(4,96);%充电站广义储能SOC
% Ccs=[0<=Pch<=Pchmax,0<=Pdis<=Pdismax,Smin<=S<=Smax,S(:,1)==0.95*0.25*Pch(:,1)-0.25*Pdis(:,1)/0.95+dS(:,1),S(:,2:96)==S(:,1:95)+0.25*0.95*Pch(:,2:96)-0.25*Pdis(:,2:96)/0.95+dS(:,2:96)];%约束条件
% % %市场出清问题
% Loadcurve=[0.955391944564747,0.978345604157644,1,0.995019488956258,0.972932005197055,0.970333477695972,0.930489389346037,0.890428757037679,0.902771762667822,0.941966219142486,0.911000433087917,0.862061498484192,0.840190558683413,0.831095712429623,0.756604590731919,0.671719359029883,0.611520138588133,0.582936336076224,0.572542226071893,0.574707665656128,0.587267215244695,0.644218276310091,0.755521870939801,0.884798614118666];
% Loadcurve=Loadcurve*Link;%换成96个时段
% PL_base=[5.704;5.705;5.631;6.518;4.890;5.705;5.847]*1000;%负荷分布
% PL=PL_base*Loadcurve;%基础负荷
% Pf=sdpvar(7,96);%馈线功率
% Pf(1,:)=PL(1,:)+Pch(1,:)-Pdis(1,:);Pf(2,:)=PL(2,:);Pf(3,:)=PL(3,:);Pf(4,:)=PL(4,:)+Pch(2,:)-Pdis(2,:);Pf(5,:)=PL(5,:)+Pch(3,:)-Pdis(3,:);Pf(6,:)=PL(6,:);Pf(7,:)=PL(7,:)+Pch(4,:)-Pdis(4,:);%馈线功率组成
% Pf_limit=1000*[40,40,40,40,40,40,40]';%馈线功率限制
% Pg=sdpvar(10,96);%发电商分段电量
% Pg_step=1000*[20,5,3,2,2,2,2,2,2,100]';%报价区间
% Price_DSO=[3:12]'*0.1;%分段电价
% Lagrant_G_left=sdpvar(10,96);%发电商电量下界
% Lagrant_G_right=sdpvar(10,96);%发电商电量上界
% b_Lagrant_G_left=binvar(10,96);%发电商电量下界布尔变量
% b_Lagrant_G_right=binvar(10,96);%发电商电量上界布尔变量
% Lagrant_L_left=sdpvar(7,96);%线路功率下界
% Lagrant_L_right=sdpvar(7,96);%线路功率上界
% b_Lagrant_L_left=binvar(7,96);%线路功率上界布尔变量
% b_Lagrant_L_right=binvar(7,96);%线路功率下界布尔变量
% Lagrant_G=sdpvar(1,96);%平衡节点电价
% DLMP=sdpvar(7,96);%DLMP
% Ckkt=[sum(Pg)==sum(Pf),
%     0<=Pg<=Pg_step*ones(1,96),
%     0.25*Price_DSO*ones(1,96)-Lagrant_G_left+Lagrant_G_right-ones(10,1)*Lagrant_G==0,
%     DLMP==ones(7,1)*Lagrant_G+Lagrant_L_right-Lagrant_L_left,
%     Pg<=1E6*b_Lagrant_G_left,0<=Lagrant_G_left<=(1-b_Lagrant_G_left),
%     Pg_step*ones(1,96)-Pg<=1E6*b_Lagrant_G_right,0<=Lagrant_G_right<=(1-b_Lagrant_G_right),
%     -Pf_limit*ones(1,96)<=Pf<=Pf_limit*ones(1,96),
%     Pf+Pf_limit*ones(1,96)<=1E6*b_Lagrant_L_left,0<=Lagrant_L_left<=(1-b_Lagrant_L_left),
%     -Pf+Pf_limit*ones(1,96)<=1E6*b_Lagrant_L_right,0<=Lagrant_L_right<=(1-b_Lagrant_L_right)];%市场出清问题的KKT条件
% Obj=0.25*sum(sum((Price_DSO*ones(1,96)).*Pg))-sum(sum(DLMP.*PL))+sum(sum((Pg_step*ones(1,96)).*Lagrant_G_right))+sum(sum((Lagrant_L_left+Lagrant_L_right).*(Pf_limit*ones(1,96))))+0.1*0.25*sum(sum(abs(Pch-Pdis-DA_Ps)));
% %求解问题
% C=[Ccs,Ckkt];%约束条件
% result=solvesdp(C,Obj);
% DLMP=double(DLMP);
% Lagrant_G=double(Lagrant_G);
% Pf=double(Pf);
% Pch=double(Pch);
% Pdis=double(Pdis);
% Pg=double(Pg);
% S=double(S);
% double(Obj)
% figure(1)%实时日前结果对比
% hold on
% plot(sum(Pf),'r.-')
% plot(sum(DA_Pf),'b--');
% Cost=sum(sum((Pf-PL).*DLMP));%总用电费用
% Cost_b=sum(sum(((Pf-PL)>0).*(Pf-PL).*DLMP))%总购电费用
% Cost_s=-sum(sum(((Pf-PL)<0).*(Pf-PL).*DLMP))%总售电收入
% Cost_r=0.1*0.25*sum(sum(abs(Pch-Pdis-DA_Ps)))%平衡费用
% MAPE=100*sum(abs((sum(DA_Pf)-sum(Pf))./sum(DA_Pf))/96);%平均百分误差
% %% 第七节,日前可调度潜力预测算法对比
% %算法2:群体
% clear
% clc
% close all
% load data_EV
% X_CS1=data_CS1.X;X_CS2=data_CS2.X;X_CS3=data_CS3.X;X_CS4=data_CS4.X;
% S0_CS1=data_CS1.S0;S0_CS2=data_CS2.S0;S0_CS3=data_CS3.S0;S0_CS4=data_CS4.S0;
% m1=length(S0_CS1);m2=length(S0_CS2);m3=length(S0_CS3);m4=length(S0_CS4);
% X=[sum(X_CS1);sum(X_CS2);sum(X_CS3);sum(X_CS4)];
% Energy=[32*0.9*m1-sum(S0_CS1);32*0.9*m2-sum(S0_CS2);32*0.9*m3-sum(S0_CS3);32*0.9*m4-sum(S0_CS4)];
% %充电站投标问题
% Pch=sdpvar(4,24);%充电站充电功率
% Pdis=sdpvar(4,24);%充电站放电功率
% Ccs=[0<=Pch<=6.6*X,
%     0<=Pdis<=6.6*X,
%     sum(Pch-Pdis,2)==Energy
%     ];%约束条件
% % %市场出清问题
% Loadcurve=[0.955391944564747,0.978345604157644,1,0.995019488956258,0.972932005197055,0.970333477695972,0.930489389346037,0.890428757037679,0.902771762667822,0.941966219142486,0.911000433087917,0.862061498484192,0.840190558683413,0.831095712429623,0.756604590731919,0.671719359029883,0.611520138588133,0.582936336076224,0.572542226071893,0.574707665656128,0.587267215244695,0.644218276310091,0.755521870939801,0.884798614118666];
% PL_base=[5.704;5.705;5.631;6.518;4.890;5.705;5.847]*1000;%负荷分布
% PL=PL_base*Loadcurve;%基础负荷
% Pf=sdpvar(7,24);%馈线功率
% Pf(1,:)=PL(1,:)+Pch(1,:)-Pdis(1,:);Pf(2,:)=PL(2,:);Pf(3,:)=PL(3,:);Pf(4,:)=PL(4,:)+Pch(2,:)-Pdis(2,:);Pf(5,:)=PL(5,:)+Pch(3,:)-Pdis(3,:);Pf(6,:)=PL(6,:);Pf(7,:)=PL(7,:)+Pch(4,:)-Pdis(4,:);%馈线功率组成
% Pf_limit=1000*[40,40,40,40,40,40,40]';%馈线功率限制
% Pg=sdpvar(10,24);%发电商分段电量
% Pg_step=1000*[20,5,3,2,2,2,2,2,2,100]';%报价区间
% Price_DSO=[3:12]'*0.1;%分段电价
% Lagrant_G_left=sdpvar(10,24);%发电商电量下界
% Lagrant_G_right=sdpvar(10,24);%发电商电量上界
% b_Lagrant_G_left=binvar(10,24);%发电商电量下界布尔变量
% b_Lagrant_G_right=binvar(10,24);%发电商电量上界布尔变量
% Lagrant_L_left=sdpvar(7,24);%线路功率下界
% Lagrant_L_right=sdpvar(7,24);%线路功率上界
% b_Lagrant_L_left=binvar(7,24);%线路功率上界布尔变量
% b_Lagrant_L_right=binvar(7,24);%线路功率下界布尔变量
% Lagrant_G=sdpvar(1,24);%平衡节点电价
% DLMP=sdpvar(7,24);%DLMP
% Ckkt=[sum(Pg)==sum(Pf),
%     0<=Pg<=Pg_step*ones(1,24),
%     Price_DSO*ones(1,24)-Lagrant_G_left+Lagrant_G_right-ones(10,1)*Lagrant_G==0,
%     DLMP==ones(7,1)*Lagrant_G+Lagrant_L_right-Lagrant_L_left,
%     Pg<=1E6*b_Lagrant_G_left,0<=Lagrant_G_left<=(1-b_Lagrant_G_left),
%     Pg_step*ones(1,24)-Pg<=1E6*b_Lagrant_G_right,0<=Lagrant_G_right<=(1-b_Lagrant_G_right),
%     -Pf_limit*ones(1,24)<=Pf<=Pf_limit*ones(1,24),
%     Pf+Pf_limit*ones(1,24)<=1E6*b_Lagrant_L_left,0<=Lagrant_L_left<=(1-b_Lagrant_L_left),
%     -Pf+Pf_limit*ones(1,24)<=1E6*b_Lagrant_L_right,0<=Lagrant_L_right<=(1-b_Lagrant_L_right)];%市场出清问题的KKT条件
% Obj=sum(sum((Price_DSO*ones(1,24)).*Pg))-sum(sum(DLMP.*PL))+sum(sum((Pg_step*ones(1,24)).*Lagrant_G_right))+sum(sum((Lagrant_L_left+Lagrant_L_right).*(Pf_limit*ones(1,24))));
% %求解问题
% C=[Ccs,Ckkt];%约束条件
% ops=sdpsettings('solver','cplex');
% result=solvesdp(C,Obj,ops);
% DLMP=double(DLMP);
% Lagrant_G=double(Lagrant_G);
% Pf=double(Pf);
% Pch=double(Pch);
% Pdis=double(Pdis);
% Pg=double(Pg);
% %实时调度
% load data_RT_potential
% load result_order
% Pch1=RT_CS1(96).Pch;Pdis1=RT_CS1(96).Pdis;Smin1=RT_CS1(96).Smin;Smax1=RT_CS1(96).Smax;dS1=RT_CS1(96).dS;%取最后一个时刻的可调度潜力
% Pch2=RT_CS2(96).Pch;Pdis2=RT_CS2(96).Pdis;Smin2=RT_CS2(96).Smin;Smax2=RT_CS2(96).Smax;dS2=RT_CS2(96).dS;
% Pch3=RT_CS3(96).Pch;Pdis3=RT_CS3(96).Pdis;Smin3=RT_CS3(96).Smin;Smax3=RT_CS3(96).Smax;dS3=RT_CS3(96).dS;
% Pch4=RT_CS4(96).Pch;Pdis4=RT_CS4(96).Pdis;Smin4=RT_CS4(96).Smin;Smax4=RT_CS4(96).Smax;dS4=RT_CS4(96).dS;
% Pchmax=[Pch1;Pch2;Pch3;Pch4];
% Pdismax=[Pdis1;Pdis2;Pdis3;Pdis4];
% Smin=[Smin1;Smin2;Smin3;Smin4];
% Smax=[Smax1;Smax2;Smax3;Smax4];
% dS=[dS1;dS2;dS3;dS4];
% Link=zeros(24,96);%时段换算矩阵(日前1h换算为实时15min)
% for i=1:24
%     Link(i,4*i-3:4*i)=1;
% end
% DA_Ps=Pch-Pdis;%日前调度数据
% DA_Ps=DA_Ps*Link;%时段换算
% DA_Pf=Pf*Link;%日前总功率
% %充电站投标问题
% Pch=sdpvar(4,96);%充电站充电功率
% Pdis=sdpvar(4,96);%充电站放电功率
% S=sdpvar(4,96);%充电站广义储能SOC
% Ccs=[0<=Pch<=Pchmax,0<=Pdis<=Pdismax,Smin<=S<=Smax,S(:,1)==0.95*0.25*Pch(:,1)-0.25*Pdis(:,1)/0.95+dS(:,1),S(:,2:96)==S(:,1:95)+0.25*0.95*Pch(:,2:96)-0.25*Pdis(:,2:96)/0.95+dS(:,2:96)];%约束条件
% % %市场出清问题
% Loadcurve=[0.955391944564747,0.978345604157644,1,0.995019488956258,0.972932005197055,0.970333477695972,0.930489389346037,0.890428757037679,0.902771762667822,0.941966219142486,0.911000433087917,0.862061498484192,0.840190558683413,0.831095712429623,0.756604590731919,0.671719359029883,0.611520138588133,0.582936336076224,0.572542226071893,0.574707665656128,0.587267215244695,0.644218276310091,0.755521870939801,0.884798614118666];
% Loadcurve=Loadcurve*Link;%换成96个时段
% PL_base=[5.704;5.705;5.631;6.518;4.890;5.705;5.847]*1000;%负荷分布
% PL=PL_base*Loadcurve;%基础负荷
% Pf=sdpvar(7,96);%馈线功率
% Pf(1,:)=PL(1,:)+Pch(1,:)-Pdis(1,:);Pf(2,:)=PL(2,:);Pf(3,:)=PL(3,:);Pf(4,:)=PL(4,:)+Pch(2,:)-Pdis(2,:);Pf(5,:)=PL(5,:)+Pch(3,:)-Pdis(3,:);Pf(6,:)=PL(6,:);Pf(7,:)=PL(7,:)+Pch(4,:)-Pdis(4,:);%馈线功率组成
% Pf_limit=1000*[40,40,40,40,40,40,40]';%馈线功率限制
% Pg=sdpvar(10,96);%发电商分段电量
% Pg_step=1000*[20,5,3,2,2,2,2,2,2,100]';%报价区间
% Price_DSO=[3:12]'*0.1;%分段电价
% Lagrant_G_left=sdpvar(10,96);%发电商电量下界
% Lagrant_G_right=sdpvar(10,96);%发电商电量上界
% b_Lagrant_G_left=binvar(10,96);%发电商电量下界布尔变量
% b_Lagrant_G_right=binvar(10,96);%发电商电量上界布尔变量
% Lagrant_L_left=sdpvar(7,96);%线路功率下界
% Lagrant_L_right=sdpvar(7,96);%线路功率上界
% b_Lagrant_L_left=binvar(7,96);%线路功率上界布尔变量
% b_Lagrant_L_right=binvar(7,96);%线路功率下界布尔变量
% Lagrant_G=sdpvar(1,96);%平衡节点电价
% DLMP=sdpvar(7,96);%DLMP
% Ckkt=[sum(Pg)==sum(Pf),
%     0<=Pg<=Pg_step*ones(1,96),
%     0.25*Price_DSO*ones(1,96)-Lagrant_G_left+Lagrant_G_right-ones(10,1)*Lagrant_G==0,
%     DLMP==ones(7,1)*Lagrant_G+Lagrant_L_right-Lagrant_L_left,
%     Pg<=1E6*b_Lagrant_G_left,0<=Lagrant_G_left<=(1-b_Lagrant_G_left),
%     Pg_step*ones(1,96)-Pg<=1E6*b_Lagrant_G_right,0<=Lagrant_G_right<=(1-b_Lagrant_G_right),
%     -Pf_limit*ones(1,96)<=Pf<=Pf_limit*ones(1,96),
%     Pf+Pf_limit*ones(1,96)<=1E6*b_Lagrant_L_left,0<=Lagrant_L_left<=(1-b_Lagrant_L_left),
%     -Pf+Pf_limit*ones(1,96)<=1E6*b_Lagrant_L_right,0<=Lagrant_L_right<=(1-b_Lagrant_L_right)];%市场出清问题的KKT条件
% Obj=0.25*sum(sum((Price_DSO*ones(1,96)).*Pg))-sum(sum(DLMP.*PL))+sum(sum((Pg_step*ones(1,96)).*Lagrant_G_right))+sum(sum((Lagrant_L_left+Lagrant_L_right).*(Pf_limit*ones(1,96))))+0.1*0.25*sum(sum(abs(Pch-Pdis-DA_Ps)));
% %求解问题
% C=[Ccs,Ckkt];%约束条件
% result=solvesdp(C,Obj);
% DLMP=double(DLMP);
% Lagrant_G=double(Lagrant_G);
% Pf=double(Pf);
% Pch=double(Pch);
% Pdis=double(Pdis);
% Pg=double(Pg);
% S=double(S);
% double(Obj)
% figure(1)%实时日前结果对比
% hold on
% plot(sum(Pf),'r.-')
% plot(sum(DA_Pf),'b--');
% Cost=sum(sum((Pf-PL).*DLMP));%总用电费用
% Cost_b=sum(sum(((Pf-PL)>0).*(Pf-PL).*DLMP))%总购电费用
% Cost_s=-sum(sum(((Pf-PL)<0).*(Pf-PL).*DLMP))%总售电收入
% Cost_r=0.1*0.25*sum(sum(abs(Pch-Pdis-DA_Ps)))%平衡费用
% MAPE=100*sum(abs((sum(DA_Pf)-sum(Pf))./sum(DA_Pf))/96);%平均百分误差

以上就是本次介绍的主要内容,欢迎关注下方公众号获取完整版代码,小编会继续推送更有质量的学习资料、文章和程序代码,为您的科研加油助力!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1257415.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PC8231(CC/CV)5V/2.4A同步降压芯片 频率可调 限流欠压补偿

一&#xff0e;概述 PC8231 是一款同步降压转换器&#xff0c; 该转换器可驱动输出 2.4A 负载电流。 设计允许 PC8231 在 9V 到40V 宽输入电压范围内工作。通过将 COMP/EN 引脚逻辑电平拉低来实现外部关断功能&#xff0c;并进入待机模式。外部补偿使反馈控制环路具有良好的线…

相机内存卡照片删除怎么恢复?没有备份可这样操作

在使用相机时&#xff0c;不小心删除了重要的照片可能是每位摄影爱好者的噩梦。然而&#xff0c;通过一些恢复方法&#xff0c;我们有机会挽救被删除的照片。本文将详细介绍相机内存卡照片删除恢复的方法。 图片来源于网络&#xff0c;如有侵权请告知 如果您误删了相机内存卡中…

网络篇---第二篇

系列文章目录 文章目录 系列文章目录前言一、说说 TCP 与 UDP 的区别,以及各自的优缺点二、说一下 HTTP 和 HTTPS 的区别三、说说HTTP、TCP、Socket 的关系是什么?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,…

在NAS上部署.NET版本的WOL远程开机服务

在本文中&#xff0c;我们将以部署基于.NET的WOL远程开机服务为例&#xff0c;详细介绍如何利用Docker技术在群辉部署ASP.NET服务。同时&#xff0c;我们还将展示如何对原有的控制台WOL进行改造&#xff0c;以及如何使用SignAuthorization简易URL验签类库。文章相关的代码开源地…

卤素灯和白炽灯哪个更护眼?精选高品质的护眼台灯

如果是放在以前&#xff0c;我觉得卤素灯会比白炽灯会眼一点。不过在如今这个高速发展的时代&#xff0c;灯源的迭代也经历了一轮又一轮&#xff0c;对于目前来说最护眼的还是LED护眼台灯 因为卤素灯和白炽灯产生的光线包含大量的红外线和紫外线&#xff0c;并且具有较高的亮度…

python树的孩子链存储结构

树的孩子链存储结构是一种树的存储方式&#xff0c;它使用孩子兄弟表示法来表示树的结构。在这种存储结构中&#xff0c;树的每个节点都有一个指向其第一个孩子的指针和一个指向其下一个兄弟的指针。这样&#xff0c;可以通过这些指针来表示树的层次结构和节点之间的关系。 具…

前端项目部署自动检测更新后通知用户刷新页面(前端实现,技术框架vue、js、webpack)——方案一:编译项目时动态生成一个记录版本号的文件

前言 当我们重新部署前端项目的时候&#xff0c;如果用户一直停留在页面上并未刷新使用&#xff0c;会存在功能使用差异性的问题&#xff0c;因此&#xff0c;当前端部署项目后&#xff0c;需要提醒用户有去重新加载页面。 技术框架 vue、js、webpack 解决方案 编译项目时动…

C#、.net、asp.net 超快超简单(一看就会)将redis添加到自己的项目中

背景&#xff1a;凌晨两点&#xff0c;隔壁楼情侣闹得欢&#xff0c;本单身狗不服气&#xff0c;决定总结一下今晚添加到项目的redis。 我的使用场景&#xff1a;asp.net core web apivue3的项目中数据库的权限表是最经常读取的&#xff0c;所以权限表中的数据放到redis中最为…

java Swing UI设置统一字体大小

编写一个遍历组件设置字体大小的方法 public static void setUIFont() {Font f new Font("宋体", Font.PLAIN, 18);String names[] {"Label", "CheckBox", "PopupMenu", "MenuItem", "CheckBoxMenuItem", &quo…

基于springboot+Web实现社区医院管理服务系统项目【项目源码+论文说明】

基于springbootWeb实现社区医院管理服务系统演示 摘要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括社区医院管理服务系统的网络应用&#xff0c;在外国线上管理系统已经是很普遍的方式&#xff0c;不过国内的管理系统可…

SAP是什么公司,开发什么系统软件?

SAP 是公司原德语名称 Systemanalyse Programmentwicklung 的首字母缩写&#xff0c;意思是系统分析程序开发 (System Analysis Program Development) 。现在&#xff0c;公司的注册名称为 SAP SE&#xff0c;其中 SE 代表 societas Europaea&#xff0c;是指根据欧盟公司法注册…

有关循环依赖和三级缓存的这些问题,你都会么?(面试常问)

一、什么是循环依赖 大家平时在写业务的时候应该写过这样的代码。 其实这种类型就是循环依赖&#xff0c;就是AService 和BService两个类相互引用。 二、三级缓存可以解决的循环依赖场景 如上面所说&#xff0c;大家平时在写这种代码的时候&#xff0c;项目其实是可以起来的&am…

leetcode:有效的括号

题目描述 题目链接&#xff1a;20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 题目分析 题目给了我们三种括号&#xff1a;&#xff08;&#xff09;、{ }、[ ] 这里的匹配包括&#xff1a;顺序匹配和数量匹配 最优的思路就是用栈来解决&#xff1a; 括号依次入栈…

Java核心知识点整理大全17-笔记

Java核心知识点整理大全-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全2-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全3-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全4-笔记-CSDN博客 Java核心知识点整理大全5-笔记-CSDN博客 Java核心知识点整理大全6…

vue 中 js 金额数字转中文

参考&#xff1a;js工具函数之数字转为中文数字和大写金额_js封装工具类函数金额大写-CSDN博客 我使用的框架vol.core。 客户需求要将录入框的金额数字转换成中文在旁边显示&#xff0c;换了几种函数&#xff0c;最终确定如下函数 function changeToChineseMoney(Num) {//判断…

Drool 7 SpreadSheet Decision Template 笔记

1 Excel Decision table 1.1 很棒的示意图&#xff0c;来自https://blog.csdn.net/justlpf/article/details/128109731 1.2 参考URL 1.2.1 https://blog.csdn.net/justlpf/article/details/128109731 1.3 多sheet 模式 默认是用第一个sheet如果要支持多sheet&#xff0c;需…

2023年【通信安全员ABC证】考试题及通信安全员ABC证证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年【通信安全员ABC证】考试题及通信安全员ABC证证考试&#xff0c;包含通信安全员ABC证考试题答案和解析及通信安全员ABC证证考试练习。安全生产模拟考试一点通结合国家通信安全员ABC证考试最新大纲及通信安全员A…

8.0 泛型

通过之前的学习&#xff0c;读者可以了解到&#xff0c;把一个对象存入集合后&#xff0c;再次取出该对象时&#xff0c;该对象的编译类型就变成了Object类型&#xff08;尽管其在运行时类型没有改变&#xff09;。集合设计成这样&#xff0c;提高了它的通用性&#xff0c;但是…

Java 基础学习(一)Java环境搭建和基本数据类型

1 Java 开发环境搭建 1.1 Java 编程语言 1.1.1 什么是Java编程语言 语言是人类进行沟通交流的各种表达符号&#xff0c;方便人与人之间进行沟通与信息交换&#xff1b;而计算机编程语言则是人与计算机之间进行信息交流沟通的一种特殊语言&#xff0c;也有语法规则、字符、符…

嵌入式八股 | 笔试面试 | 校招秋招 | 题目精选

嵌入式八股精华版1.0所有216道题目如下&#xff1a; 欢迎关注微信公众号【赛博二哈】并加入嵌入式求职交流群。提供简历模板、学习路线、岗位整理等 欢迎加入知识星球【嵌入式求职星球】获取完整嵌入式八股。 提供简历修改、项目推荐、求职规划答疑。另有各城市、公…