粒子群优化算法matlab程序多维,基于粒子群优化算法求解指派问题

  粒子群优化算法matlab程序多维,基于粒子群优化算法求解指派问题

  【优化调度】基于粒子群优化算法,用matlab代码实现发电机组调度_ MATLAB仿真技术博客_博客

  内容简介随着国民经济的持续快速发展,全社会对电力的需求大幅增加。为了缓解全社会的电力短缺,电力工业得到了快速发展,但却造成了能源浪费和污染物超标排放。正因如此,国家要求发电量要按照发电机组类型和能耗进行排名。目前我国电力结构以火电为主,由于电网安全稳定的制约,不能仅仅以发电顺序表为标准,根据机组的煤耗率,必须考虑电网的安全稳定运行,因此机组组合将成为目前我国节能发电调度的核心。机组组合问题是一个高维、离散、非线性的优化问题,理论上很难找到最优解。然而,由于其显著的益处,人们一直在积极地研究它。提出了各种方法来解决这个问题。本文根据节能发电调度的要求,以节约能耗和减少污染为目标,建立了节能发电调度机组组合问题的数学模型。在目标函数中,考虑了潮流分布变化引起的网损变化。对于模型的约束,考虑了机组出力、节点电压、线路潮流和爬坡率的约束。机组组合优化问题的求解。

  2模拟代码% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

  %主函数,利用粒子群优化算法,求6台机组发电调度成本最低的目标函数。

  %用于初始化和运行差分的脚本文件

  %进化优化器。

  %********************************************************************

  clc

  清晰;

  全部关闭;

  %参数设置:第一行是上网电价,第二行是最小发电量,第三行是最大发电量。

  si . gp=[415 418 420 422 430 428;

  30 30 100 100 250 300;

  350 400 600 650 800 1000];

  %网损系数(Bij是电厂I和电厂J之间的网损系数)

  si . LC=[0.002022-0.000286-0.000534-0.000565-0.000454 0.000103;

  -0.000286 0.003243 0.000016 -0.000307 -0.000422 -0.000147;

  -0.000534 0.000016 0.001085 0.000831 0.000023 -0.000270;

  -0.000565 -0.000307 0.000831 0.001129 0.000113 -0.000295;

  -0.000454 -0.000422 0.000023 0.000113 0.000460 -0.000153;

  0.000103 -0.000147 -0.000270 -0.000295 -0.000153 0.000898;

  ];

  是的。TG=2400电力需求百分比(兆瓦时)

  对于i=1:I_itermax

  %粒子群优化算法

  w=ws-(ws-we)*(i/i_itermax)^2;

  对于j=1:I_NP

  V(j,=w*V(j,)c1*rand*(Gbest_pop (j,)- pop(j,))c2*rand*(Zbest_pop - pop(j,);

  对于k=1:I_D % -通过反弹的边界约束-

  if (V(j,k) Vmax(k))

  V(j,k)=Vmax(k);

  目标

  if (V(j,k) Vmin(k))

  V(j,k)=Vmin(k);

  目标

  目标

  pop(j,=pop(j,)V(j,);

  % -选择允许哪些载体进入新群体-

  对于k=1:I_D % -通过反弹的边界约束-

  if (pop(j,k) FVr_maxbound(k))

  pop(j,k)=FVr _ max bound(k)rand *(Zbest _ pop(k)-FVr _ max bound(k));

  目标

  if (pop(j,k) FVr_minbound(k))

  pop(j,k)=FVr _ min bound(k)rand *(Zbest _ pop(k)-FVr _ min bound(k));

  目标

  目标

  % pop(j,(pop(j,)SI.gp(2,))=SI.gp(2,(pop(j,)SI.gp(2,));

  % pop(j,(pop(j,)SI.gp(3,))=SI.gp(2,(pop(j,)SI.gp(3,));

  染色体(j,)=objfun(pop(j,),SI);

  if(染色体(j,I_D M) Gbest(j))

  GB est(j)=染色体(j,I _ D M);

  Gbest_pop(j,)=染色体(j,1:I _ D);

  目标

  if(染色体(j,I_D M) Zbest)

  Zbest=染色体(j,I _ D M);

  Zbest _ pop=染色体(j,1:I _ D);

  目标

  目标

  Zbest it(I 1)=Zbest;

  Zbestit_pop(i 1,)=Zbest _ pop

  If ~mod(i,I _ refresh)% If I的余数除以S_struct。I_refresh为0,输出I。

  fprintf(%d\n ,I);

  目标

  目标

  总有机碳

  p _ Sum=0;p _ loss=0;

  p _ Sum=Sum(z best _ pop);

  p _ loss=z best _ pop * si . LC * z best _ pop ;

  Disp([最优解——输出:,num2str(Zbest_pop),成本:,num 2 str(Zbest)]);

  Disp([输出总和(MW):,num2str (p _ sum),网络损耗(MW):,num2str (p _ loss)])

  我猜的

  标题(“最佳成本”);

  plot(zbest it);

  xlim([0 I _ ITER max]);

  网格打开;

  拖延

  运算结果最优解:3354输出:350;成本:38860 . 48868686861

  总输出(MW): 3038.1023,网损(MW): 638.1023

  4参考文献[1]程。基于改进粒子群算法的微电网能量优化调度研究与实现[D].中南大学,2014。

  博主:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等领域的Matlab仿真。相关的matlab代码问题可以私信交流。有些理论引用自网络文献。如有侵权,联系博主删除。

  原创作品来自matlab研究助手,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: