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

  • 相关阅读:
    LeetCode 面试题 04.05. 合法二叉搜索树
    JavaScript | Hello World?【三】
    基础架构之分布式任务
    智慧园区的首选:山海鲸可视化解决方案
    京东官方平台API接口获得JD商品详情页信息数据采集产品价格、原价、销量、商品属性名等
    设计模式浅析(二) ·观察者模式
    linux grep操作汇总
    第 2 章 线性表 (线性表的静态单链表存储结构(一个数组可生成若干静态链表)实现)
    redis如何保证接口的幂等性
    【华为OD机试真题 python】 【找单词】【2022 Q4 | 200分】
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/127776188