• Matlab|【防骗贴】【免费】基于主从博弈的主动配电网阻塞管理


    目录

    1 主要内容

    程序亮点

    2 部分代码

    3 程序结果

    4 下载链接


    主要内容

    《基于主从博弈的主动配电网阻塞管理》文献介绍:主要采用一种配电网节点边际电价统一出清的主从博弈双层调度框架。上层框架解决用户在负荷聚合商引导下的用电成本最小化问题,负荷聚合商为主从博弈的领导者;下层框架解决配电网系统运 营商在考虑网络潮流安全和电压越限前提下的社会福利最大化问题,配电网系统运营商为主从博弈的追随者。利用 Karush-Kuhn-Tucker 最优性条件和对偶定理,将非线性双层问题转化为单层混合整数线性规划问题求解。仿真算例验证分析了所提出的模型对缓解网络阻塞的有效性,以及灵活性资源在配电网阻塞管理当中的作用。

    从文献摘要就能梳理得到模型的几个重要内容:

    1. 主从博弈
    2. KKT条件
    3. 对偶
    4. 混合整数规划

    某同学发给我一个广为流传的matlab程序版本打算答疑,该程序出图还是比较多的(详见第三部分),但是该程序仅采用粒子群算法,做了双层优化结构,上层决策边际报价,下层求解出清电价和运行方案反馈到上层,反复迭代出结果。但是程序并未实现2-3部分内容,主从博弈过程未充分体现,总体来看,实现效果欠佳,本次免费分享给大家供参考!

    • 程序亮点

    考虑四种场景
    场景1考虑可中断负荷和可调节负荷以及电压约束
    场景2考虑电动汽车和储能以及电压约束
    场景3综合场景12并增加线路传输容量约束
    场景4也就是无阻塞管理模式,在场景3基础上不考虑电压和传输容量约束。在IEEE 33节点算例下进行仿真验证。

    部分代码

    clc
    clear
    tic
    [a,V_bus1,Ploss1,S1]=UB1();%%%场景1
    [b,V_bus2,Ploss2,S2]=UB2();%%%场景2
    [c,V_bus3,Ploss3,S3]=UB3();%%%场景3
    [d,V_bus4,Ploss4,S4]=UB4();%%%场景4
    %% 
    p_MT1=zeros(2,24);
    p_ess1=zeros(2,24);
    p_wt1=zeros(3,24);
    q_svc1=zeros(2,24);
    p_ev1=zeros(1,24);
    C_G1=zeros(1,24);
    s_IL1=zeros(1,24);
    s_TL1=zeros(1,24);
    V1=zeros(33,24);
    loss1=zeros(1,24);
        p_MT1(1,:)=a(1:24);
        p_MT1(2,:)=a(25:48);
        p_ess1(1,:)=a(49:72);
        p_ess1(2,:)=a(73:96);
        p_wt1(1,:)=a(97:120);
        p_wt1(2,:)=a(121:144);
        p_wt1(3,:)=a(145:168);
        q_svc1(1,:)=a(169:192);
        q_svc1(2,:)=a(193:216);
        p_ev1(1,:)=a(217:240);
        C_G1(1,:)=a(241:264);
        s_IL1=a(265:288);
         s_TL1=a(289:312);
       loss1=Ploss1;
       V1=V_bus1;
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
    p_MT2=zeros(2,24);
    p_ess2=zeros(2,24);
    p_wt2=zeros(3,24);
    q_svc2=zeros(2,24);
    p_ev2=zeros(1,24);
    C_G2=zeros(1,24);
    V2=zeros(33,24);
    loss2=zeros(1,24);
        p_MT2(1,:)=b(1:24);
        p_MT2(2,:)=b(25:48);
        p_ess2(1,:)=b(49:72);
        p_ess2(2,:)=b(73:96);
        p_wt2(1,:)=b(97:120);
        p_wt2(2,:)=b(121:144);
        p_wt2(3,:)=b(145:168);
        q_svc2(1,:)=b(169:192);
        q_svc2(2,:)=b(193:216);
        p_ev2(1,:)=b(217:240);
        C_G2(1,:)=b(241:264);
       loss2=Ploss2;
       V2=V_bus2;
       %%%%%%%%%%%%%%%%%%%%%%%%%
     p_MT3=zeros(2,24);
    p_wt3=zeros(3,24);
    q_svc3=zeros(2,24);
    C_G3=zeros(1,24);
    s_IL3=zeros(1,24);
    s_TL3=zeros(1,24);
    V3=zeros(33,24);
    loss3=zeros(1,24);
        p_MT3(1,:)=c(1:24); 
        p_MT3(2,:)=c(25:48);
        p_wt3(1,:)=c(97:120);
        p_wt3(2,:)=c(121:144);
        p_wt3(3,:)=c(145:168);
        q_svc3(1,:)=c(169:192);
        q_svc3(2,:)=c(193:216);
        C_G3(1,:)=c(241:264);
        s_IL3=c(265:288);
         s_TL3=c(289:312);
       loss3=Ploss3;
       V3=V_bus3; 
         %%%%%%%%%%%%%%%%%%%%%%%%%
    p_MT4=zeros(2,24);
    p_ess4=zeros(2,24);
    p_wt4=zeros(3,24);
    q_svc4=zeros(2,24);
    p_ev4=zeros(1,24);
    C_G4=zeros(1,24);
    s_IL4=zeros(1,24);
    s_TL4=zeros(1,24);
    V4=zeros(33,24);
    loss4=zeros(1,24);
        p_MT4(1,:)=d(1:24);
        p_MT4(2,:)=d(25:48);
        p_ess4(1,:)=d(49:72);
        p_ess4(2,:)=d(73:96);
        p_wt4(1,:)=d(97:120);
        p_wt4(2,:)=d(121:144);
        p_wt4(3,:)=d(145:168);
        q_svc4(1,:)=d(169:192);
        q_svc4(2,:)=d(193:216);
        p_ev4(1,:)=d(217:240);
        C_G4(1,:)=d(241:264);
        s_IL4=d(265:288);
         s_TL4=d(289:312);
       loss4=Ploss4;
       V4=V_bus4;
    toc
    % V1=V1*1.05;
    % V2=V2*1.05;
    % V3=V3*1.05;
    %% 画图
    figure(1)
    mesh(V1);
    xlabel('时刻/h');
    ylabel('节点');
    zlabel('电压标幺值');
    title('场景3节点电压');
    

    程序结果

    4 下载链接

  • 相关阅读:
    在Google Kubernetes集群创建分布式Jenkins(一)
    Docker 常用命令
    XSS靶场level1解题思路
    Java基础 | 如何用Javadoc Tool写规范正确的java注释
    DP(动态规划)【2】 最大连续子列和 最长不降子序列
    超简单集成 HMS ML Kit 实现最大脸微笑抓拍
    kafka latest 模式消费偏移丢数据
    Knapsack Problem
    硬件寿命警告!Windows11在特定情况下对【固态硬盘】执行与【机械硬盘】相同的磁盘碎片整理。
    Timer,时间堆
  • 原文地址:https://blog.csdn.net/superone89/article/details/137440901