参考文献:
《基于分时电价和蓄电池实时控制策略的家庭能量系统优化》参考部分模型
《计及舒适度的家庭能量管理系统优化控制策略》参考部分模型
主要内容:
主要做的是家庭能量管理模型,首先构建了电动汽车、空调、热水器以及烘干机等若干家庭用户用电设备的能量管理模型,其次,考虑在分时电价、动态电价以及动态电价下休息日和工作日家庭用户的最优能量管理策略,依次通过CPLEX完成不同场景下居民用电策略的优化,该代码适合新手学习以及在此基础上进行拓展,代码质量非常高,保姆级的注释以及人性化的模块子程序,所有数据均有可靠来源。
部分程序:
clear;clc;close all;
load('Ele_Price.mat');%导入电价
load('Pho_Power.mat');%导入光伏发电功率
load('Rigid_Load.mat');%导入刚性负荷
load('Tem_Out.mat');%导入室外温度
load('Hot_Water.mat');%导入每日热水用水量
load('time.mat');%导入时间
n = 48;%将一天分成48组,半小时一组
%刚性负荷>rigid load>rl
%洗衣机>washing machine>wm 功率一般为0.5kw 每次使用时间为1h,调度时间为 19:00-22:00
%热水壶>thermos jug>tj 功率一般为1.5kw 每次使用时间为0.5h,调度时间为 21:00-7:00
%吸尘器>dust collector>dc 功率一般为1kw 工作日不考虑使用
%洗碗机>dish-washing machine>dwm 功率一般为0.5kw 每次使用时间为1h,调度时间为 20:00-2:00
%消毒柜>dishinfection cabinet>dfc 功率一般为0.3kw 每次使用时间为0.5h,调度时间为 19:00-7:00
%烘干机>dryer>dy 功率一般为1.5kw 每次使用时间为1h,调度时间为 22:00-7:00
%电动汽车>electric vehicle>ev 功率一般为3kw,充电时间3h,调度时间为18:00-6:00
%电脑>personal computer>pc 0.3/0.15 高功率使用时间为2h,调度时间为19:00-22:00
%低功率调度时间为18:00-0:00
%空调>air conditioner>ac 2kw 假定当空调使用时,可以保持室内温度维持在25-27度,调度时间为全天
%热水器>water heater>wh 2.5kw 假定当热水器使用时,可以保持热水温度维持在45-55度,调度时间为7:00-0:00
% 决策变量
% 2.1刚性负荷模型
x_rl = Rigid_Load(1,:);
% 2.2可转移负荷模型
x_wm = binvar(1,n,'full');
x_tj = binvar(1,n,'full');
%x_dc = binvar(1,n,'full');
x_dwm = binvar(1,n,'full');
x_dfc = binvar(1,n,'full');
x_dy = binvar(1,n,'full');
y_wm = binvar(1,n,'full');
y_tj = binvar(1,n,'full');
%y_dc = binvar(1,n,'full');
y_dwm = binvar(1,n,'full');
y_dfc = binvar(1,n,'full');
y_dy = binvar(1,n,'full');
% 2.3可中断负荷模型
x_ev = binvar(1,n,'full');
% 2.4可削减负荷模型
x_pc = intvar(1,n,'full');
% 2.5温控负荷模型
t_ac = intvar(1,n,'full');
t_wh = intvar(1,n,'full');
% 目标
m = x_wm*0.25+x_tj*0.75+x_dwm*0.25+x_dfc*0.15+x_dy*0.75+x_ev*1.5+x_pc*0.075;
for i = 1:n
if i == 1
m(1,i) = m(1,i) + abs(((t_ac(1,i)-27*exp(-0.5/(0.57*6)))/(1-exp(-0.5/(0.57*6)))-Tem_Out(1,i))/(2.9*6))*0.5;
else
m(1,i) = m(1,i) + abs(((t_ac(1,i)-t_ac(1,i-1)*exp(-0.5/(0.57*6)))/(1-exp(-0.5/(0.57*6)))-Tem_Out(1,i))/(2.9*6))*0.5;
end
end
for i = 1:n
if Hot_Water(1,i) ~=0
if i == 1
m(1,i) = m(1,i) + abs(((t_wh(1,i)-27*exp(-0.5/(0.08*332)))/(1-exp(-0.5/(0.08*332)))-27-332*(Hot_Water(1,i)*0.0042*(t_wh(1,i)-27))/0.5)/(0.95*332))*0.5;
else
m(1,i) = m(1,i) + abs(((t_wh(1,i)-t_wh(1,i-1)*exp(-0.5/(0.08*332)))/(1-exp(-0.5/(0.08*332)))-27-332*(Hot_Water(1,i)*0.0042*(t_wh(1,i)-27))/0.5)/(0.95*332))*0.5;
end
end
end
z = sum(Ele_Price(3,:).*(m-Pho_Power*0.3));%考虑到家用光伏设备发电质量,需要乘上一个0.8的系数
运行结果
动态电价下上班族工作日的最便宜用电负荷,考虑到普通上班族属于白天在公司工作,早饭午饭在外解决,在家时间基本为晚上,故我们以每日14点作为时间分界,将每日的调度时段划为昨日14点-今日14点。
分时电价和激励下上班族工作日的最便宜且最舒适的用电负荷。
完整程序见博主资源!!!