• 基于改进粒子群算法的微电网多目标优化调度(Matlab代码实现)


     👨‍🎓个人主页:研学社的博客 

    💥💥💞💞欢迎来到本博客❤️❤️💥💥

    🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

    ⛳️座右铭:行百里者,半于九十。

    📋📋📋本文目录如下:🎁🎁🎁

    目录

    💥1 概述

    1.1 微网内分布式电源、储能发电特性

    1.2 微电网多目标优化模型 

    📚2 运行结果

    🌈3 Matlab代码实现

    🎉4 参考文献


    💥1 概述

    参考文献:

    微电网优化调度作为智能电网优化的重要组成部分,对降低能耗、环境污染具有重要
    意义。微电网的发展目标既要满足电力供应的基本需求,又要提高经济效益和环境保护。对此, 提出了一种综合考虑微电网系统运行成本和环境保护成本的并网模式下微电网多目标优化调 度模型。同时采用改进的粒子群算法对优化模型进行求解。仿真结果表明,该模型可以有效降低用户的用电成本和环境污染,促进微电网的优化运行,并验证了改进的粒子群算法的优越性能。
    微电网优化调度是指在满足系统的各种约束条件下,合理安排不同的 DG 出力和微网与主网之
    间的输电功率,从而达到低运行成本、低排放、高可靠性、高发电效率等不同目标。对于需求侧来说,微电网的优化调度可以有效降低用户的用电成本。对于供电侧来说,微电网优化调度可以提高
    电网的稳定性,减少电力生产的能量损耗以及环境污染。因此,对微电网进行优化调度有重要的
    现实意义。

    1.1 微网内分布式电源、储能发电特性

    1.2 微电网多目标优化模型 

     

    本文考虑了惯性因子和粒子自适应变异的改进粒子群算法解决之

    📚2 运行结果

     

     

     

     

     

     

    🌈3 Matlab代码实现

    部分代码:

    %% 初始化参数
    global PV;
    global WT;
    %蓄电池最大放电功率(正表示为电负荷供电,即放电)
    BESSMax_dischar=30;
    %蓄电池最大充电功率
    BESSMax_char=-30;
    %柴油机最大发电功率
    DEMax=30;
    %柴油机最小发电功率
    DEMin=6;
    %燃气轮机最大发电功率
    MTMax=30;
    %燃气轮机最小发电功率
    MTMin=3;
    %主网交互最大功率(正表示为电负荷供电)
    GridMax=30;
    %主网交互最小功率
    GridMin=-30;
    %% 种群初始化
    if nargin==0  %nargin是判断输入变量个数的函数
        c = [0.1,0.2]; % 加速因子
        iw = [0.5 0.001]; % 惯性因子
        max_iter =100; % 最大迭代次数
        %各设备出力约束
        for n=1:144 %粒子长度为144(光伏,风电,储能,柴油,燃气轮机,主网的6*24个小时出力)
             if n<25
                lower_bound(n)=0;
                upper_bound(n) =PV(n);
              end
             if n>24&&n<49
                lower_bound(n)=0;
                upper_bound(n) =WT(n-24);
             end
             if n>48&&n<73
             lower_bound(n)=BESSMax_char;
             upper_bound(n) =BESSMax_dischar;
             end
             if n>72&&n<97
             lower_bound(n)=DEMin;
             upper_bound(n) =DEMax;
             end
              if n>96&&n<121
             lower_bound(n)=MTMin;
             upper_bound(n) =MTMax;
              end
              if n>120
             lower_bound(n)=GridMin;
             upper_bound(n) =GridMax;
             end
        end
        swarm_size=100; % 种群个数
        rep_size=100; % 存档库大小
        grid_size=7; % 每个维度的网格数
        alpha=0.1; % 通货膨胀率
        beta=2; % 领导人选择压力
        gamma=2; % 删除选择压力
        mu=0.1; % 变异速率
        problem=@prob; % 创建函数句柄为problem,函数为pro,可以简单理解为调用
    end
    %% 初始化粒子
    fprintf('初始化种群中\n')
    w = @(it) ((max_iter - it) - (iw(1) - iw(2)))/max_iter + iw(2); %更新惯性因子--改进粒子群算法
    pm = @(it) (1-(it-1)/(max_iter-1))^(1/mu); %类比遗传算法引入变异操作,更新变异速率,在particle函数的78-84行
    swarm(1,swarm_size) = Particle(); %调用Particle函数,从obj中得到swarm_size
    for i = 1:swarm_size
        swarm(i)=Particle(lower_bound,upper_bound,problem);%调用Particle函数
        retry = 0;
        while swarm(i).infeasablity > 0 && retry < 100 %循环条件为:无不可行解且次数低于100
            swarm(i)=Particle(lower_bound,upper_bound,problem);%调用Particle函数
            retry = retry + 1;
        end
    end
    REP = Repository(swarm,rep_size,grid_size,alpha,beta,gamma); %调用Repository函数
    %% 算法循环
    fprintf('优化算法开始循环中\n')
    for it=1:max_iter
        leader = REP.SelectLeader(); %选择领导者
        wc = w(it); %目前的惯性因子
        pc=pm(it); %目前的变异因子
        for i =1:swarm_size %更新种群
            swarm(i)=swarm(i).update(wc,c,pc,leader,problem);
        end
        REP = REP.update(swarm);
        Title = sprintf('迭代第 %d 次 , 存档库内非支配解个数 = %d',it,length(REP.swarm));
        PlotCosts(swarm,REP.swarm,Title) %调用下面的PlotCosts函数
        disp(Title);
    end
     

    🎉4 参考文献

    部分理论来源于网络,如有侵权请联系删除。

    [1]李兴莘,张靖,何宇,张英,刘影,晏开封.基于改进粒子群算法的微电网多目标优化调度[J].电力科学与工程,2021,37(03):1-7.

     [2]胡志强. 基于改进粒子群算法的微电网多目标优化调度研究[D].南昌大学,2020.DOI:10.27232/d.cnki.gnchu.2020.002673.

  • 相关阅读:
    Go 源码解读|如何用好 errors 库的 errors.Is() 与 errors.As() 方法
    java抽象类(强制子类重写全部)
    规则引擎简介
    Kotlin 设置和获取协程名称
    vue做导入导出excel文档
    避免被反洗钱冻住的方法
    css nth-child 的使用
    keil debug查看变量提示not in scope
    加州65号提案(California Proposition 65)涵盖哪些物质?
    Linux学习——目录操作和库使用
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/128105781