• 基于MATLAB的风力光伏发电模型模拟以及遗传算法求解混合发电系统最优配置


    目录

    一、理论基础

    二、案例背景

    1.问题描述

    2.思路流程

    三、部分MATLAB程序

    四、仿真结论分析

    五、参考文献


    一、理论基础

    风力发电功率模型为:

    2个风力发电功率模型 

     

    通过GA优化算法对比三个模型算出的结果。

    二、案例背景

    1.问题描述

           由于化石燃料的消耗和污染特性,有必要寻找清洁能源以满足需求。人们正在关注风能和太阳能等可再生能源的使用,因为它们清洁、污染少。风力发电(WPG)和光伏发电(PVG)是在偏远和农村地区提供负荷的最有前景的技术,这些地区的公用事业线路由于地形原因安装不经济。提出了一种带有储能设备的独立混合风/光伏发电系统,该系统将有效地结合风能和太阳能的互补特性,以提高系统的可靠性并降低其成本。在混合动力系统中协调可再生能源、发电设备、储能装置和负载非常复杂,以经济可靠的方式获得电力对于混合动力系统的优化设计也非常重要。

    2.思路流程

          首先,通过matlab进行建模,然后通过遗传算法二进制编码求解混合发电系统配置优化问题。

    三、部分MATLAB程序

    遗传算法二进制编码求解混合发电系统配置优化问题

    1. %***************遗传算法二进制编码求解混合发电系统配置优化问题
    2. function [Apv,Aw,Cp,CT,LPSP,Pdump,Pdeficit,SOC,Iteration,BestJ,Bfi]=GASolveHybirdSystemSize(WindDataPV,SolarDataPVR,LoadDataPV,Apv_max,Aw_max,Cb_max)
    3. %**************遗传参数设置
    4. Size=200;%种群大小
    5. G=200;%迭代代数
    6. CodeL=10;%编码长度
    7. %**************问题解约束空间
    8. u1max=Apv_max;
    9. u1min=0;
    10. u2max=Aw_max;
    11. u2min=0;
    12. u3max=Cb_max;
    13. u3min=0;
    14. %**************初始化编码
    15. E=round(rand(Size,3*CodeL));
    16. %**************GA主程序
    17. for k=1:1:G
    18. k
    19. Iteration(k)=k;
    20. for s=1:1:Size
    21. m=E(s,:);
    22. y1=0;y2=0;y3=0;
    23. %*******************解码
    24. m1=m(1:1:CodeL);
    25. for i=1:1:CodeL
    26. y1=y1+m1(i)*2^(i-1);
    27. end
    28. x1=(u1max-u1min)*y1/1023+u1min;
    29. m2=m(CodeL+1:1:2*CodeL);
    30. for i=1:1:CodeL
    31. y2=y2+m2(i)*2^(i-1);
    32. end
    33. x2=(u2max-u2min)*y2/1023+u2min;
    34. m3=m(2*CodeL+1:1:3*CodeL);
    35. for i=1:1:CodeL
    36. y3=y3+m3(i)*2^(i-1);
    37. end
    38. x3=(u3max-u3min)*y3/1023+u3min;
    39. %******************适应度函数
    40. [F(s),~,~,~,~,~]=GAFitnessFunction(x1,x2,x3,WindDataPV,SolarDataPVR,LoadDataPV);
    41. end
    42. Ji=1./F;
    43. %*****************第一步:评估适应度
    44. BestJ(k)=min(Ji);
    45. fi=F; %适应度函数
    46. [Oderfi,Indexfi]=sort(fi); %按照适应度大小从小到大排序
    47. Bestfi=Oderfi(Size); %选取最佳适应度
    48. BestS=E(Indexfi(Size),:); %最佳基因序列
    49. Bfi(k)=Bestfi; %记录最佳适应度值
    50. %*****************第二步:选择和复制操作
    51. fi_sum=sum(fi);
    52. fi_Size=(Oderfi/fi_sum)*Size;
    53. fi_S=floor(fi_Size); %选择适应度较好的基因个体
    54. kk=1;
    55. for i=1:1:Size
    56. for j=1:1:fi_S(i) %选择和复制操作
    57. TempE(kk,:)=E(Indexfi(i),:);
    58. kk=kk+1;
    59. end
    60. end
    61. %*****************第三步:交叉操作
    62. pc=0.60;%交叉概率
    63. n=ceil(30*rand);
    64. for i=1:2:(Size-1)
    65. temp=rand;
    66. if pc>temp %交叉条件
    67. for j=n:1:30
    68. TempE(i,j)=E(i+1,j);
    69. TempE(i+1,j)=E(i,j);
    70. end
    71. end
    72. end
    73. TempE(Size,:)=BestS;
    74. E=TempE;
    75. %*****************第三步:变异操作
    76. pm=0.1; %变异概率
    77. for i=1:1:Size
    78. for j=1:1:2*CodeL
    79. temp=rand;
    80. if pm>temp %变异条件
    81. if TempE(i,j)==0
    82. TempE(i,j)=1;
    83. else
    84. TempE(i,j)=0;
    85. end
    86. end
    87. end
    88. end
    89. %保证第30个基因个体是最佳基因序列
    90. TempE(Size,:)=BestS;
    91. E=TempE;
    92. end
    93. %**********************解码最佳基因序列对应的各个参数优化值
    94. y1=0;y2=0;y3=0;
    95. m1=BestS(1:1:CodeL);
    96. for i=1:1:CodeL
    97. y1=y1+m1(i)*2^(i-1);
    98. end
    99. m2=BestS(CodeL+1:1:2*CodeL);
    100. for i=1:1:CodeL
    101. y2=y2+m2(i)*2^(i-1);
    102. end
    103. m3=BestS(2*CodeL+1:1:3*CodeL);
    104. for i=1:1:CodeL
    105. y3=y3+m3(i)*2^(i-1);
    106. end
    107. Apv=(u1max-u1min)*y1/1023+u1min;
    108. Aw=(u2max-u2min)*y2/1023+u2min;
    109. Cp=(u3max-u3min)*y3/1023+u3min;
    110. %**********************混合发电系统最佳配置的性能参数输出
    111. [~,LPSP,Pdump,Pdeficit,SOC,CT]=GAFitnessFunction(x1,x2,x3,WindDataPV,SolarDataPVR,LoadDataPV);

    混合发电系统优化配置算法

    1. %********混合发电系统优化配置算法
    2. clc;
    3. clear all;
    4. close all;
    5. RandStream.setDefaultStream(RandStream('mt19937ar','seed',1));
    6. %********优化参数约束空间
    7. Apv_max=50;%单位为m2
    8. Aw_max=120;%单位为m2
    9. Cb_max=160;%单位为KWH
    10. %********读取当地气候数据
    11. [WindDataPV,SolarDataPVR,LoadDataPV]=ReadLocalClimaticData();
    12. %***************遗传算法二进制编码求解混合发电系统配置优化问题
    13. [Apv,Aw,Cb,CT,LPSP,Pdump,Pdeficit,SOC,Iteration,BestJ,Bfi]=GASolveHybirdSystemSize(WindDataPV,SolarDataPVR,LoadDataPV,Apv_max,Aw_max,Cb_max);
    14. Apv,Aw,Cb,CT,LPSP

    四、仿真结论分析

     

    X坐标为风力发电机风轮扫过的面积

    Y坐标为光伏组件的面积

    Z 坐标为:LPSP(负荷失电率) 

     

    五、参考文献

    [1]廖萍, 李兴源, 徐娇. 小型风力发电机模型及其接入系统研究[J]. 南方电网技术, 2008, 2(1):5.A02-25

  • 相关阅读:
    微服务低代码Serverless平台(星链)的应用实践
    Redis常用实战场景及总结复习
    知识蒸馏基本原理
    多模态说话人开源项目3D-Speaker
    ESP-07S进行TCP 通信测试
    如何修改docker容器中的MySQL数据库的密码?
    jvm知识点总结(二)
    华为云云耀云服务器L实例评测|基于云服务器的minio部署手册
    C#:实现无向图的最小生成树的算法(附完整源码)
    大二暑假 + 大三上
  • 原文地址:https://blog.csdn.net/ccsss22/article/details/126130390