基于纳什谈判理论的风–光–氢多主体能源系统合作运行方法(含matlab代码)

简介: 基于纳什谈判理论的风–光–氢多主体能源系统合作运行方法(含matlab代码)

主要内容  

程序解决的是一个基于合作博弈的风光氢能源交易的问题,首先,考虑主体间的电能交易建立各主体的优化运行模型, 然后基于纳什谈判理论建立风–光–氢多主体合作运行模型, 接着将其等效为联盟效益最大化和电能交易支付谈判两个子问题,运用交替方向乘子法(ADMM)提出上述两个子问题的分布式求解方法,程序注释清楚,参考性强!程序求解需要Matlab及mosek工具箱!

 部分代码  

maxIter=50;%最大迭代次数
tolerant=1e-5;%收敛精度
iter=1;%迭代次数
Ben_Store=[];%历史目标函数
toler1=[];%残差1,风电主体
toler2=[];%残差2,光伏主体
P_pv2h_2=zeros(maxIter+1,24);P_wt2h_2=zeros(maxIter+1,24);
value_P_wt2h_2=zeros(maxIter+1,24);value_P_pv2h_2=zeros(maxIter+1,24);
%% 迭代
while 1
    if iter==maxIter  %限制迭代次数
       disp('迭代不收敛,参数有误');
       break; 
    end 
    display(['迭代还未收敛,当前迭代第 ', num2str(iter),' 次']);
    if iter==1  %第一次求解比较特殊,要给一致性变量P_wt2h_1、P_pv2h_1赋初值
        [P_pv2h_2(2,:),P_wt2h_2(2,:),Obj_dzq(iter)]=Fun_dzq(value_P_pv2h_2(iter,:),value_P_wt2h_2(iter,:),rho_wt,rho_pv,lambda_wt,lambda_pv);
        [value_P_pv2h_2(2,:),Obj_gf(iter)]=Fun_gf(P_pv2h_2(2,:),rho_pv,lambda_pv);
        [value_P_wt2h_2(2,:),Obj_fd(iter)]=Fun_fd(P_wt2h_2(2,:),rho_wt,lambda_wt);
        lambda_wt=lambda_wt+rho_wt*(P_wt2h_2(2,:)-value_P_wt2h_2(2,:));
        lambda_pv=lambda_pv+rho_pv*(P_pv2h_2(2,:)-value_P_pv2h_2(2,:));
    else
        [P_pv2h_2(iter+1,:),P_wt2h_2(iter+1,:),Obj_dzq(iter)]=Fun_dzq(value_P_pv2h_2(iter,:),value_P_wt2h_2(iter,:),rho_wt,rho_pv,lambda_wt,lambda_pv);
        [value_P_pv2h_2(iter+1,:),Obj_gf(iter)]=Fun_gf(P_pv2h_2(iter+1,:),rho_pv,lambda_pv);
        [value_P_wt2h_2(iter+1,:),Obj_fd(iter)]=Fun_fd(P_wt2h_2(iter+1,:),rho_wt,lambda_wt);
        lambda_wt=lambda_wt+rho_wt*(P_wt2h_2(iter+1,:)-value_P_wt2h_2(iter+1,:));
        lambda_pv=lambda_pv+rho_pv*(P_pv2h_2(iter+1,:)-value_P_pv2h_2(iter+1,:));
    end
    %保存历史数据
    Ben_Store=[Ben_Store,[Obj_dzq(iter);Obj_gf(iter);Obj_fd(iter)]];
    %残差计算,公式(36)应该修改一下,是向量的二范数再平方
    toler1=[toler1,norm(P_wt2h_2(iter+1,:)-value_P_wt2h_2(iter+1,:))^2];%保存残差1 
    toler2=[toler2,norm(P_pv2h_2(iter+1,:)-value_P_pv2h_2(iter+1,:))^2];%保存残差2                
    %判断收敛条件
    if toler1(iter)<=tolerant && toler2(iter)<=tolerant
       display(['迭代收敛,在第 ', num2str(iter),' 次收敛']);
       break; 
    end
    iter=iter+1;
end
%% 画图
figure(1)
plot(-Ben_Store(1,:),'b-o','LineWidth',1.5);
xlabel('迭代次数');
ylabel('成本/元');
title('电制氢主体分布式迭代情况');
;
figure(2)
plot(-Ben_Store(2,:),'r-o','LineWidth',1.5);
xlabel('迭代次数');
ylabel('成本/元');
title('光伏主体分布式迭代情况');
;
figure(3)
plot(-Ben_Store(3,:),'k-o','LineWidth',1.5);
xlabel('迭代次数');
ylabel('成本/元');
title('风力主体分布式迭代情况');
;
%
Party=-Ben_Store(1,:)-Ben_Store(2,:)-Ben_Store(3,:);
figure(4)
plot(Party,'k-o','LineWidth',1.5);
xlabel('迭代次数');
ylabel('成本/元');
title('风光联盟总效益值');


 结果一览  

下载链接

相关文章
|
5天前
|
算法 数据可视化 图形学
网络通信系统的voronoi图显示与能耗分析matlab仿真
在MATLAB2022a中,该程序模拟了两层基站网络,使用泊松分布随机生成Macro和Micro基站,并构建Voronoi图。它计算每个用户的信号强度,选择最强连接,并分析SINR和数据速率。程序还涉及能耗计算,包括传输、接收、处理和空闲能耗的分析。Voronoi图帮助可视化网络连接和优化能源效率。
|
7天前
|
机器学习/深度学习 算法 调度
Matlab|基于改进鲸鱼优化算法的微网系统能量优化管理matlab-源码
基于改进鲸鱼优化算法的微网系统能量管理源码实现,结合LSTM预测可再生能源和负荷,优化微网运行成本与固定成本。方法应用于冷热电联供微网,结果显示经济成本平均降低4.03%,提高经济效益。代码包括数据分段、LSTM网络定义及训练,最终展示了一系列运行结果图表。
|
11天前
|
调度
基于蒙特卡洛的电力系统可靠性分析matlab仿真,对比EDNS和LOLP
电力系统可靠性评估研究,聚焦于LOLP(电力不足概率)和EDNS(期望缺供电量)的模拟分析。使用MATLAB2022a进行基于蒙特卡洛的仿真,模拟单线及多线故障,分析连锁效应。程序中通过随机断开线路,计算潮流,判断越限并用PSO优化。结果显示,LOLP和EDNS增加时,故障概率降低,但小概率大影响事件概率上升。以IEEE24-RTS系统为案例,考虑元件失效的马尔科夫过程,不考虑3个及以上元件失效情况,因为可能导致系统大规模崩溃。仿真步骤包括随机线路断开、故障分析和稳定性评估,涉及信息节点概率计算、潮流计算及优化决策。
|
11天前
|
算法 索引
基于Prony算法的系统参数辨识matlab仿真
Prony算法在MATLAB2022a中用于信号分析,识别复指数信号成分。核心程序通过模拟信号X1,添加不同SNR的噪声,应用Prony方法处理并计算误差。算法基于离散序列的复指数叠加模型,通过构建矩阵并解线性方程组估计参数,实现LTI系统动态特性的辨识。
|
15天前
|
机器学习/深度学习 数据采集 算法
m基于Googlenet深度学习的运动项目识别系统matlab仿真,包括GUI界面
**摘要:** 在MATLAB 2022a中,基于GoogLeNet的运动识别系统展示优秀性能。GoogLeNet,又称Inception网络,通过结合不同尺寸卷积核的Inception模块实现深度和宽度扩展,有效识别复杂视觉模式。系统流程包括数据预处理、特征提取(前端层学习基础特征,深层学习运动模式)、池化、Dropout及全连接层分类。MATLAB程序示例展示了选择图像、预处理后进行分类的交互过程。当按下按钮,图像被读取、调整大小并输入网络,最终通过classify函数得到预测标签。
10 0
|
2月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
2月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
2月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
2月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)

热门文章

最新文章