基于分布式优化的多产消者非合作博弈能量共享(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 下载链接

相关文章
|
12天前
|
机器学习/深度学习 算法 新能源
【优化调度】基于matlab粒子群算法求解水火电经济调度优化问题研究(Matlab代码实现)
【优化调度】基于matlab粒子群算法求解水火电经济调度优化问题研究(Matlab代码实现)
|
12天前
|
机器学习/深度学习 存储 并行计算
【无人机】基于MPC的无人机路径规划研究(Matlab代码实现)
【无人机】基于MPC的无人机路径规划研究(Matlab代码实现)
|
12天前
|
机器学习/深度学习 边缘计算 人工智能
【无人机】采用NOMA的节能多无人机多接入边缘计算(Matlab代码实现)
【无人机】采用NOMA的节能多无人机多接入边缘计算(Matlab代码实现)
|
12天前
|
机器学习/深度学习 传感器 运维
【电机轴承监测】基于matlab声神经网络电机轴承监测研究(Matlab代码实现)
【电机轴承监测】基于matlab声神经网络电机轴承监测研究(Matlab代码实现)
|
12天前
|
数据采集 算法 调度
【电力系统】基于matlab虚拟电厂内部负荷调度优化模型(matlab+yalmip+cplex)(Matlab代码实现)
【电力系统】基于matlab虚拟电厂内部负荷调度优化模型(matlab+yalmip+cplex)(Matlab代码实现)
|
12天前
|
传感器 并行计算 算法
【无人机编队】基于非支配排序遗传算法II NSGA-II高效可行的无人机离线集群仿真研究(Matlab代码实现)
【无人机编队】基于非支配排序遗传算法II NSGA-II高效可行的无人机离线集群仿真研究(Matlab代码实现)
|
12天前
|
存储 并行计算 算法
【图像压缩】在 MATLAB 中使用奇异值分解 (SVD) 进行图像压缩(Matlab代码实现)
【图像压缩】在 MATLAB 中使用奇异值分解 (SVD) 进行图像压缩(Matlab代码实现)
104 3
|
13天前
|
算法 Java 计算机视觉
【图像去模糊】非盲去模糊实景图像处理,使用点扩散函数(PSF)快速去除实景图像中的模糊(Matlab代码实现)
【图像去模糊】非盲去模糊实景图像处理,使用点扩散函数(PSF)快速去除实景图像中的模糊(Matlab代码实现)
|
13天前
|
机器学习/深度学习 资源调度 算法
【图像去噪的滤波器】非局部均值滤波器的实现,用于鲁棒的图像去噪研究(Matlab代码实现)
【图像去噪的滤波器】非局部均值滤波器的实现,用于鲁棒的图像去噪研究(Matlab代码实现)
|
13天前
|
机器学习/深度学习 分布式计算 算法
【投资组合】具有多个视野的动态投资组合管理研究(Matlab代码实现)
【投资组合】具有多个视野的动态投资组合管理研究(Matlab代码实现)

热门文章

最新文章