• 基于COE和LPSP粒子群优化(PSO)的独立光伏-电池-柴油发电机选型(Matlab代码实现)


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

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

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

    目录

    💥1 概述

    📚2 运行结果

    🎉3 参考文献

    🌈4 Matlab代码实现

    💥1 概述

    本文基于能源成本(COE)和供电概率损失(LPSP)的粒子群优化(PSO)对独立光伏-电池-柴油发电机进行选型​,并用Matlab代码实现。

    📚2 运行结果

    部分代码:

    %% Main PSO
    for n_ite=1:set.Niteration
        for n_par=1:set.Nparticle
            [LPSP,COE]=EMS(particle(n_par).position(1),...
                particle(n_par).position(2),...
                particle(n_par).position(3));
            %% Calculate Mark
            Mark=set.weight_LPSP*abs(LPSP-set.desired_LPSP)+...
                set.weight_COE*COE/set.Normal_COE;
            %% Best Particle
            if isempty(particle(n_par).best_Mark) || particle(n_par).best_Mark>Mark
                particle(n_par).best_position=particle(n_par).position;
                particle(n_par).best_LPSP=LPSP;
                particle(n_par).best_COE=COE;
                particle(n_par).best_Mark=Mark;
            end
            %% Best Global
            if (n_ite==1 && n_par==1) || best_global.Mark>Mark
                best_global.position=particle(n_par).position;
                best_global.LPSP=LPSP;
                best_global.COE=COE;
                best_global.Mark=Mark;
            end
            log_global(n_ite)=best_global;
            
            %% Velocity and New Position
            particle(n_par).velocity=set.w*particle(n_par).velocity...
                +set.c1*(particle(n_par).best_position-particle(n_par).position)...
                +set.c2*(best_global.position-particle(n_par).position);
            particle(n_par).position=particle(n_par).position...
                +particle(n_par).velocity;
            
            %% Round Position
            particle(n_par).position(1)=round(particle(n_par).position(1));
            particle(n_par).position(2)=round(particle(n_par).position(2));
            particle(n_par).position(3)=round(particle(n_par).position(3));
            
            %% Limit Position
            if particle(n_par).position(1)             particle(n_par).position(1)=set.Npv_min;
            end
            if particle(n_par).position(2)             particle(n_par).position(2)=set.Nbat_min;
            end
            if particle(n_par).position(3)             particle(n_par).position(3)=set.Ndg_min;
            end
            if particle(n_par).position(1)>set.Npv_max
                particle(n_par).position(1)=set.Npv_max;
            end
            if particle(n_par).position(2)>set.Nbat_max
                particle(n_par).position(2)=set.Nbat_max;
            end

    🎉3 参考文献

    [1]Razman Ayop (2022). PV-Battery-DG Sizing using Particle Swarm Optimization (PSO) 

    🌈4 Matlab代码实现

  • 相关阅读:
    C语言--每日五道练习题--Day18
    结合两个Python小游戏,带你复习while循环、if判断、函数等知识点
    Tomcat架构详解
    牛视源码定制,抖音矩阵系统,别和谐啊、、、
    【Nginx】Linux keepalived+nginx实现主从模式
    5种kafka消费端性能优化方法
    Nodejs+vue高校机房设备管理系统jt07u
    数学建模__线性规划Python实现
    Qt for Android : 使用libusb做CH340x串口传输的底层USB库
    设计模式(十一)----结构型模式之装饰者模式
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/127776188