function [u,UB] = SP_simple(x)
%% 1.参数设置
%燃气轮机参数设置
pg_max=800; %燃气轮机最大功率限制
pg_min=80; %燃气轮机最小功率限制
a=0.67; %燃气轮机成本系数a,b设置
b=0;
%蓄电池参数设置
ps_max=500; %储能允许最大充放电给功率
Es_max=1800; %蓄电池调度过程中允许的最大剩余容量
Es_min=400; %蓄电池调度过程中允许的最小剩余容量
Es_0=1000; %调度过程中初始容量
Ks=0.38; %折算后充放电成本
yita=0.95; %充放电效率
%需求响应负荷参数设置
K_DR=0.32; %需求响应负荷单位调度成本
D_DR=2940; %需求响应总用电需求
D_DR_min=50;
D_DR_max=200;
%配电网交互功率参数设置
pm_max=1500; %微电网与配电网交互功率最大值
%配电网日前交易电价,为24*1向量
price = [0.48;0.48;0.48;0.48;0.48;0.48;0.48;0.9;1.35;1.35;1.35;0.9;0.9;0.9;0.9;0.9;0.9;0.9;1.35;1.35;1.35;1.35;1.35;0.48];
%光伏日前预测,为24*1向量
p_pv_forecast_0 = 1500*[ 0 0 0 0 0 0.0465 0.1466 0.3135 0.4756 0.5213 0.6563 1.0000 0.7422 0.6817 0.4972 0.4629 0.2808 0.0948 0.0109 0 0 0 0 0]';
%p_pv_forecast=[0; 0; 0; 0; 0; 0; 40; 200; 425; 731; 884; 1180; 900; 830; 600; 510; 340; 50; 0; 0; 0; 0; 0; 0]; %初始最坏数据
%负荷日前预测,为24*1向量
p_l_forecast_0=1500*[ 0.4658 0.4601 0.5574 0.5325 0.5744 0.6061 0.6106 0.6636 0.7410 0.7080 0.7598 0.8766 0.7646 0.7511 0.6721 0.5869 0.6159 0.6378 0.6142 0.6752 0.6397 0.5974 0.5432 0.4803]';
%p_l_forecast=[400; 350; 320; 300; 300; 310; 451; 561; 605; 748; 720; 810; 891; 836; 770; 726; 775.5; 730; 790; 810; 850; 800; 505; 410]; %初始最坏数据
%
C=[];
c=[a*ones(1,24) Ks*yita*ones(1,24) (Ks/yita)*ones(1,24) zeros(1,24) K_DR*ones(1,48) price' -price' zeros(1,48)]; % 这个为什么多 zeros(1,48) ? % MP_simple 中的QC QC=c cy是目标函数
%% 2.变量设置
%对偶变量设置
gamma=sdpvar(192,1);
lamda=sdpvar(50,1);
miu=sdpvar(192,1);
pai=sdpvar(48,1);
%二元变量B设置
%B=binvar(48,1); %B为子问题初始二元变量,取到1即为最坏情况
%% 3.1 设子问题第一行约束
%其中,D为192*240矩阵,d为192*1矩阵 就是原来的y矩阵,现在换位y;u矩阵,所以多出48行
D=[eye(24) zeros(24,216); % 对应原来的Q1
-eye(24) zeros(24,216); % 删掉了 Q31;Q32 Q51;Q52 Q101;Q102 转移到F、G、h的约束中去了
zeros(24,24) yita.*tril(ones(24,24),0) -1/yita.*tril(ones(24,24),0) zeros(24,168); % 对应原来的Q4
zeros(24,24) -yita.*tril(ones(24,24),0) 1/yita.*tril(ones(24,24),0) zeros(24,168);
zeros(24,72) eye(24) zeros(24,144); % 对应原来的Q9
zeros(24,72) -eye(24) zeros(24,144);
zeros(24,96) eye(24) zeros(24,120); % 对应原来的Q101
zeros(24,120) eye(24) zeros(24,96);]; % 对应原来的Q102
d=[pg_min.*ones(24,1);
-pg_max.*ones(24,1);
(Es_min-Es_0).*ones(24,1);
-(Es_max-Es_0).*ones(24,1);
D_DR_min.*ones(24,1);
-D_DR_max.*ones(24,1);
zeros(48,1)];
%其中,K为50*240矩阵,s为50*1矩阵
K=[zeros(1,24) yita.*ones(1,24) -1/yita.*ones(1,24) zeros(1,168); % Q2
zeros(1,72) ones(1,24) zeros(1,144); % Q8
zeros(24,72) eye(24) eye(24) -eye(24) zeros(24,96); % 103
eye(24) -eye(24) eye(24) -eye(24) zeros(24,48) eye(24) -eye(24) eye(24) -eye(24)]; % 这行哪里出来的 有点像Q6 但又不完全一样 后面多出来48行 是啥?
s=[0; % 这又是那里出来的 %这个应该是g,它写成s了
2940; %总的需求响应
110 % 这个是可转移负荷的参数
100
90
80
100
100
130
100
120
160
175
200
140
100
100
120
140
150
190
200
200
190
80
60
%每个调度时刻的期望需求响应
zeros(24,1)];
%其中,G为192*240矩阵,h为192*1向量,F为192*48矩阵
F=[zeros(24,48);
ps_max.*eye(24) zeros(24,24);
zeros(24,48);
-ps_max.*eye(24) zeros(24,24);
zeros(24,48);
zeros(24,24) pm_max*eye(24);
zeros(24,48);
zeros(24,24) -pm_max*eye(24);];
G=[zeros(24,48) eye(24) zeros(24,168); % Q32
zeros(24,48) -eye(24) zeros(24,168); % -Q32 *
zeros(24) eye(24) zeros(24,192); % Q31
zeros(24) -eye(24) zeros(24,192); % -Q31 *
zeros(24,144) eye(24) zeros(24,72); % Q51
zeros(24,144) -eye(24) zeros(24,72); % -Q51 *
zeros(24,168) eye(24) zeros(24,48); % Q52
zeros(24,168) -eye(24) zeros(24,48)]; % -Q52 *
h=[zeros(72,1);
-ps_max.*ones(24,1);
zeros(72,1);
-pm_max.*ones(24,1)];
%I为48*240矩阵,u为48*1向量
I=[zeros(24,192) eye(24) zeros(24);
zeros(24,216) eye(24)];
u0=[p_pv_forecast_0;p_l_forecast_0];
C = [C, D'*gamma+K'*lamda+G'*miu+I'*pai<=c']; %子问题第一行约束
%%
Dp_pv_max=0.15*1500*[ 0 0 0 0 0 0.0465 0.1466 0.3135 0.4756 0.5213 0.6563 1.0000 0.7422 0.6817 0.4972 0.4629 0.2808 0.0948 0.0109 0 0 0 0 0]';
DPL_max=0.1*1500*[ 0.4658 0.4601 0.5574 0.5325 0.5744 0.6061 0.6106 0.6636 0.7410 0.7080 0.7598 0.8766 0.7646 0.7511 0.6721 0.5869 0.6159 0.6378 0.6142 0.6752 0.6397 0.5974 0.5432 0.4803]';
delta_u=[Dp_pv_max;DPL_max];
BPV=binvar(24,1,'full');
BL=binvar(24,1,'full');
B=[BPV;BL];
BB=sdpvar(48,1); %引入的辅助变量B’,记为BB
%引入的辅助变量B’,记为BB
C = [C, gamma>=0];
C = [C, miu>=0];
%C = [C, lamda>=0];
%C = [C, pai>=0];
C = [C, BB>=0];
C = [C,BB<=1000000*B];
%C = [C, BB>=pai-10*(ones(48,1)-B)];
C = [C, pai-1000000*(1-B)<=BB,BB<=pai];
C = [C, sum(B(1:24,:))<=15];
C = [C, sum(B(1:24,:))>=15];
C = [C, sum(B(25:48,:))<=15];
C = [C, sum(B(25:48,:))>=15];
%L1=[ones(1,24) zeros(1,24)];
%L2=[zeros(1,24) ones(1,24)];
%C = [C, L1*B<=12];
%C = [C, L2*B<=12];
%% 4.目标函数
%
% Z=-(d'*gamma+s'*lamda+(h-F*x)'*miu+u0'*B+delta_u'*BB)+6200; % 为啥要加上6200? s'*lamda?
% Z=-(d'*gamma+s'*lamda+(h-F*x)'*miu+u0'*B+delta_u'*BB); % 为啥要加上6200? s'*lamda? 为啥要加还要想想
Z=-(d'*gamma+s'*lamda+(h-F*x)'*miu+u0'*pai+delta_u'*BB); % 为啥要加上6200? s'*lamda? 为啥要加还要想想
%% 5.求解
ops = sdpsettings('solver','cplex');
result = optimize(C,Z,ops);
BBB=value(B);
BBBB=value(BB);
GAMMA=value(gamma);
LAMDA=value(lamda);
MIU=value(miu);
PAI=value(pai);
UB=value(Z);
for k=1:24
p_pv(k,1)=p_pv_forecast_0(k,1)-BBB(k,1)*delta_u(k,1);
PL(k,1)=p_l_forecast_0(k,1)+BBB(k+24,1)*delta_u(k+24,1);
end
u=[p_pv;PL];
%% 画图
% figure(6)
% plot(BBB(1:24),'r','linewidth',2)
% hold on
% plot(BBB(25:48),'b','linewidth',2)
% %hold on
% %plot(BBBB,'k','linewidth',3)
figure(6)
plot(p_pv,'k','linewidth',1)
hold on
plot(p_pv_forecast_0,'r.--','linewidth',1)
hold on
plot(p_pv_forecast_0+Dp_pv_max,'g.--','linewidth',1)
hold on
plot(p_pv_forecast_0-Dp_pv_max,'g.--','linewidth',1)
legend('光伏实际出力','光伏预测出力','光伏区间出力上限','光伏区间出力下限');
xlabel('时间/h')
ylabel('功率/kw')
grid on
figure(7)
plot(PL,'k','linewidth',1)
hold on
plot(p_l_forecast_0,'r.--','linewidth',1)
hold on
plot(p_l_forecast_0+DPL_max,'g.--','linewidth',1)
hold on
plot(p_l_forecast_0-DPL_max,'g.--','linewidth',1)
legend('负荷实际出力','负荷预测出力','负荷区间出力上限','负荷区间出力下限');
xlabel('时间/h')
ylabel('功率/kw')
grid on
没有合适的资源?快使用搜索试试~ 我知道了~
微电网两阶段鲁棒优化经济调度方法.zip

共4个文件
m:4个

需积分: 5 0 下载量 100 浏览量
2025-03-19
12:33:28
上传
评论
收藏 9KB ZIP 举报
温馨提示
微电网两阶段鲁棒优化经济调度方法.zip
资源推荐
资源详情
资源评论





















收起资源包目录








共 4 条
- 1
资源评论


夏白分享社
- 粉丝: 130
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 海尔的网站设计方案.doc
- 软件认识实习报告.docx
- 网络工程项目总结报告.docx
- 基于VisualBasic平台的学生宿舍管理系统的开发与设计说明.doc
- 健康网络远离网瘾主题班会课件.ppt
- 家长培训会总结.jsp.docx
- 如何进行项目管理才具有执行力.doc
- 计算机实训总结.docx
- 工程项目管理心得体会PPT课件.ppt
- 外企项目管理个人经验总结.docx
- 综合布线毕业设计样本.doc
- 发展思维-训练方法-促进学生深度学习.doc
- 互联网公司市场经理转正申请个人建议.docx
- 项目管理软件及其应用.pptx
- 专题讲座资料(2021-2022年)工会财务软件操作培训手册新中大软件公司.doc
- 智能家居完整创业计划书实例.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
