• 基于遗传算法的微电网调度(风、光、蓄电池、微型燃气轮机)(Matlab代码实现)


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

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


    📝目前更新:🌟🌟🌟电力系统相关知识,期刊论文,算法,机器学习和人工智能学习。
    🚀支持:🎁🎁🎁如果觉得博主的文章还不错或者您用得到的话,可以关注一下博主,如果三连收藏支持就更好啦!这就是给予我最大的支持!

                              

                                    

    📋📋📋本文目录如下:⛳️⛳️⛳️

    目录

    1 绪论

    2 微电网电源模型

    1.1 微型燃气轮机( MT)

    1.2  燃料电池( FC)

    1.3  光伏电池( PV)

    1.4  风力发电( WT)

    1.5  蓄电池储能( SB)

    2 微电网的运行优化

    2.1 目标函数

    2.2  约束条件

    3 程序框图

    4 运行结果 

    5 Matlab代码实现

    参考文献 

    微电网作为智能电网的一部分,是分布式电源接入电网的一种有效手段,微电网经济运行是其中一个重要研究方面。考察微电网经济性,通常是从最小运行成本和最小环境污染物排放成本两方面入手进行微电网的多目标优化,通过给适应度函数设置权重系数,将多目标函数转换为单目标函数。结合具体的微电网系统算例进行了仿真研究,结果显示: 运用权重系数法能够使优化目标中经济成本与环境成本达到一个相对平衡的状态,实现了微电网经济运行。

    1 绪论

    全球各个国家都面临着能源不足的问题 各种可再生能源得到了广泛关注。 微电网 ( Micro-
    Grid ) 的出现为这些可再生能源的整合提供了一 种方法[1] 微电网是由负荷和各种分布式电源
    ( 如光伏 风力发电等 ) 共同组成的系统 同时可以提供热能和电能。 微电网有并网与孤岛两种运
    行模式 两种模式的平滑切换 [2] 增加了微电网运行的可靠性, 有效降低了发电成本
    本文中的微电网包括微型燃气轮机 ( MT ) 、 燃料电池( FC ) 光伏 ( PV ) 风机 ( WT ) 、蓄电池
    ( SB ) , 建立了热电联产型微电网模型 针对微电网并网运行, 采用遗传算法对微电网进行多目标
    优化 运用以热定电的策略 首先让燃气轮机 ( MT ) 满足用户热量的同时提供电能 再优先利
    用可再生能源发电 以最小化经济成本和最少环境污染物排放成本为目标函数, 运用权重系数法
    把多目标函数变为单目标函数 结合具体算例实现微电网经济运行。

    2 微电网电源模型

    1.1 微型燃气轮机( MT)

    微型燃气轮机利用天然气 、沼气等多种燃料提供热能与电能。燃气轮机的冷热电三联供系统
    ( CCHP ) 的示意图如图 1 所示 温度高的 有较 多可用能量的来发电, 温度比较低的经过溴化锂
    机组来制冷或者供热 提高了能源利用率 有助于提高经济效益和环境效益。
        
                                图 1 微型燃气轮机的冷热电三联供示意图

            

    1.2  燃料电池( FC)

    燃料电池是将化学能转换为电能的装置,不受卡诺循环限制,电能转化率高,清洁、噪声小,

    因此很适用于做分布式电源。燃料电池发电成本为:

    1.3  光伏电池( PV)

    光伏电池将太阳能转化为直流电能,其是一 种非线性电能,电压与电流随着光照强度和温度

    的改变呈现出非线性。得出其输出功率为:

                      

                                 

    1.4  风力发电( WT)

    风力发电是利用风电机组叶片从风中获得能量转换为机械能,然后传送给发电机,转化为电

    能,因此风力发电燃料成本和气体排放治理成本为 0。风力发电机组的输出功率与风速有关:

                                        

    1.5  蓄电池储能( SB)

    微电网中蓄电池充放电过程交替进行,充电达到额定容量后进入放电过程,放电达到 SOC

    ( 荷电状态) 为额定容量的 30% 时,停止放电,进入充电。

    2 微电网的运行优化

    2.1 目标函数

    ( 1) 运行成本目标函数为

                        

                                   

    2.2  约束条件

                                

    3 程序框图

    遗传算法( Genetic Algorithm) 是一种通过模拟自然进化过程搜索最优解的方法。它具有组织

    性、自适应性和学习性,利用种群的进化总结信息自行搜索,采用概率变迁规则来指导搜索方向,已被广泛用于电力规划领域。

    多目标遗传算法( MOGA) 指的是存在多个目标需要同时优化寻求出一组最优解。在实际运算

    中对多个目标优化而不能兼顾搜索全局,导致了最优解的遗失,往往是因为权重系数设置不合理。

    事先并不知道设置为多少合适,只能做估计和试探,这种做法往往影响了优化结果。本文所采用

    的是均值自适应法选取权重系数,算法流程图如图所示

                                  

    4 运行结果 

     

     

    部分代码: 

    1. %% 基于遗传算法的微电网调度(风、光、储能、微型燃气轮机)
    2. clc
    3. clear
    4. tic;
    5. close all
    6. %% 遗传算法参数
    7. MAXGEN=200; %进化代数
    8. sizepop=40; %种群规模
    9. pcross=0.6; %交叉概率
    10. pmutation=0.01; %变异概率
    11. lenchrom=ones(1,48); %变量字串长度,48个变量
    12. %% 导入数据
    13. global Load pv wt price
    14. Load=load('典型日负荷.txt');%负荷
    15. pv=load('PV.txt');%光伏发电
    16. wt=load('WT.txt');%风力发电
    17. price=load('电价.txt');%电价
    18. 。。。。。
    19. %% 交叉操作
    20. function ret=Cross(pcross,lenchrom,chrom,sizepop,bound)
    21. % pcorss input : 交叉概率
    22. % lenchrom input : 染色体的长度
    23. % chrom input : 染色体群
    24. % sizepop input : 种群规模
    25. % ret output : 交叉后的染色体
    26. for i=1:sizepop
    27. % 随机选择两个染色体进行交叉
    28. pick=rand(1,2);
    29. while prod(pick)==0
    30. pick=rand(1,2);
    31. end
    32. index=ceil(pick.*sizepop);
    33. % 交叉概率决定是否进行交叉
    34. pick=rand;
    35. while pick==0
    36. pick=rand;
    37. end
    38. if pick>pcross
    39. continue;
    40. end
    41. flag=0;
    42. while flag==0
    43. % 随机选择交叉位置
    44. pick=rand;
    45. while pick==0
    46. pick=rand;
    47. end
    48. pos=ceil(pick.*sum(lenchrom)); %随机选择进行交叉的位置,即选择第几个变量进行交叉,注意:两个染色体交叉的位置相同
    49. pick=rand; %交叉开始
    50. v1=chrom(index(1),pos);
    51. v2=chrom(index(2),pos);
    52. chrom(index(1),pos)=pick*v2+(1-pick)*v1;
    53. chrom(index(2),pos)=pick*v1+(1-pick)*v2; %交叉结束
    54. flag1=test(lenchrom,bound,chrom(index(1),:)); %检验染色体1的可行性
    55. flag2=test(lenchrom,bound,chrom(index(2),:)); %检验染色体2的可行性
    56. if flag1*flag2==0
    57. flag=0;
    58. else flag=1;
    59. end %如果两个染色体不是都可行,则重新交叉
    60. end
    61. end
    62. ret=chrom;

    5 Matlab代码实现

    👨‍🎓博主课外兴趣:中西方哲学,送予读者:

    👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“真理”上的尘埃吧。

         或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

  • 相关阅读:
    【JVM】字节码文件的组成部分
    利用Windows搭建Emby媒体库服务器,轻松实现无公网IP的远程访问
    AMQP协议详解
    删除变量为什么需要del加gc.collect
    【无标题】
    2024年抖店的市场已经饱和,小白不适合入局了?真实现状如下
    canvas基础简单易懂教程(完结,多图)
    javaWeb网上购物系统的设计与实现
    Linux上常用网络相关命令
    solidity开发讲解
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/126519785