基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)

简介: 基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)

1 主要内容

该程序复现文章《市场模式下光伏用户群的电能共享与需求响应模型》,为了使光伏用户群内各经济主体能实现有序的电能交易,提出了一种基于光伏电能供需比(SDR)的内部价格模型。在考虑经济性和舒适度的基础上,提出了用户参与需求响应(DR)的效用成本模型。由于内部电价是以各时段光伏用户群内的供需比为基础,用户之间针对电价的需求响应行为可构成非合作博弈,在证明该博弈问题存在纳什均衡解的基础上,提出了分布式优化算法对用户的纳什均衡策略进行求解。最后,通过实际算例验证了所提模型在减少用电成本、提高光功率互用水平上的有效性。程序采用matlab编制,该程序注释较少,适合于有编程经验的同学进一步学习提升!

  • 光伏用户群结构

对于分布式光伏用户,首选光功率自消纳,光功率过剩时由服务商按内部购电电价收购,光伏功率不足时从服务商按内部售电电价购电。对于邻近的分布式光伏用户,其光照和温度等外部环境相同,导致光功率输出特性大致相同,但是由于不同用户间 的负荷特性普遍存在差异,因此净功率的差异为光 功率互用提供了基础条件。
  • 电能共享价格模型

  • 程序过程

2 部分代码

clear ;
clc;
load RU2;
RU2 = RU2(:,[1 3 4 2 5]);
s1 = [0;0;0;0;0;0;0.04;1.276;3.66;4.72;5.52;5.6;5.4;5.28;5.16;4.48;3.48;1.24;0.04;0;0;0;0;0];
s2 = [0;0;0;0;0;0;0;0;0.17;0.69;1.38;3.11;4.67;5.01;5.01;4.84;5.36;4.67;2.07;0.69;0.17;0;0;0];
s3 = [0;0;0;0;0;0;0;0;0.105;2.385;3.681;4.716;5.91;5.7;5.55;5.07;4.05;1.92;0.21;0;0;0;0;0];
s4 = [0;0;0;0;0;0;0;0;1.01;2.53;3.7;4.55;5.06;5.08;4.65;3.79;2.6;0.55;0.05;0;0;0;0;0];
s5 = [0;0;0;0;0;0;0.018;0.97;2.255;3.465;4.552;5.29;5.57;5.45;5.225;4.33;3.06;1.75;0.378;0;0;0;0;0];
% psell = [0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.8 0.8 0.8 1.3 1.3 1.3 1.3 0.8 0.8 0.8 0.8 1.3 1.3 1.3 0.8 0.8];
% load solar;
% solar = solar';
solar = [40*s1,20*s2,40*s3,30*s4,60*s5];
solar = solar(:,[1 3 4 2 5]);
% RU2 = RU2/1000;
% solar = solar/1000;
%solar = solar*5;
% global p;% k ;
Load = RU2 - solar;%[RU2(:,1)-40*s1,RU2(:,2)-20*s2,RU2(:,3)-40*s3,RU2(:,4)-30*s4,RU2(:,5)-60*s5];%设置光伏装配数量
% p = p*1000;
t_start = tic;
MAX_ITER = 40;
ABSTOL = 0.01;
RELTOL = 1e-3;
N = 5;%
x = zeros(24,N);
% k = 1; 
u = zeros(24,N);
rs = zeros(2,MAX_ITER);
totfeerecord = zeros(1,MAX_ITER);
pSrecord = zeros(24,MAX_ITER);
pBrecord = zeros(24,MAX_ITER);
x1record = zeros(24,MAX_ITER);
x2record = zeros(24,MAX_ITER);
x3record = zeros(24,MAX_ITER);
x4record = zeros(24,MAX_ITER);
x5record = zeros(24,MAX_ITER);
    x1record(:,1) = RU2(:,1);
    x2record(:,1) = RU2(:,2);
    x3record(:,1) = RU2(:,3);
    x4record(:,1) = RU2(:,4);
    x5record(:,1) = RU2(:,5);
    pSrecord(:,1) = 0.4*ones(24,1);
    pBrecord(:,1) = ones(24,1);
x1L = zeros(24,MAX_ITER);
x2L = zeros(24,MAX_ITER);
x3L = zeros(24,MAX_ITER);
x4L= zeros(24,MAX_ITER);
x5L = zeros(24,MAX_ITER);
% exitfalgrecord = zeros(N,96);
p = getPrice(Load);%集群买卖电价
pacture = p;
for i=2:MAX_ITER
    pSrecord(:,i) = p(:,1);
    pBrecord(:,i) = p(:,2);
    [x,exitflag] = update_x(x,RU2,solar,p);
    %Load = [x(:,1)-25*s1,x(:,2)-30*s2,x(:,3)-10*s3];%设置光伏装配数量


3 程序结果

部分原文结果

4 下载链接

相关文章
|
4天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
4天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
4天前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
4天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
4天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
4天前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
4天前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
|
4天前
|
算法 调度 SoC
电动汽车充放电V2G模型(Matlab代码)
电动汽车充放电V2G模型(Matlab代码)
|
4天前
|
算法
【免费】基于ADMM算法的多微网电能交互分布式运行策略(matlab代码)
【免费】基于ADMM算法的多微网电能交互分布式运行策略(matlab代码)

热门文章

最新文章