• 基于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代码实现

  • 相关阅读:
    什么是虚拟DOM(Virtual DOM)?它在前端框架中的作用是什么?
    Centos7 搭建 GitLab服务 下载-安装-配置-卸载 完整版
    MySQL大表数据导入到MongoDB
    MySQL read 查询语句5 日期时间相关函数
    基于JAVA面向特定群体的健康管理平台计算机毕业设计源码+数据库+lw文档+系统+部署
    大一学生《Web编程基础》期末网页制作 基于HTML+CSS+JavaScript响应式个人主页相册介绍模板
    【LeetCode】54. 螺旋矩阵
    漏洞复现 - - - Fastjson反序列化漏洞
    北京:PMP证书在可对应中级职称!
    计算机视觉基础:【矩阵】矩阵选取子集
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/127776188