• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: 其他
  • 标签:

资源简介

提出了一种基于改进离散粒子群优化算法求解机组组合问题的新方法.首先采用新的策略生成粒子,以保证所有生成的粒子均为满足基本约束条件的可行解,使整个算法只在可行解区域进行优化搜索;然后引入优化窗口的概念和启发式的规则以缩短计算时间和提高优化精度.仿真结果表明所提出的算法具有解的质量高、收敛速度快的特点,充分证明了它能很好地解决机组组合问题。

资源截图

代码片段和文件信息

% 问题模型
%  (1)数学模型:
%   以IEEE 3机6节点为工况模型 ,Load=850MW
%  (2)目标函数:
%   minF=∑(i=1,Ng)Fi(PGi),Fi(PGi) =aiPi2+biPi+ci+Ei,考虑阀点(Valve-Point)效应
%  (3)约束条件:
%  a.发电机组输出功率上下限约束,即PGi min<=PGi<= PGimax;
%  b.电力负荷平衡约束;
%  c.忽略网损,即∑(i=1,Ng)(PGi)= PGD;

     

function pso
%主程序
clear;
clc;
format long;
xGbest=0;
yPbest=[];
bound=[100 600;100 400;50 200;50 200];   %上下限
a=[0.00156;0.00194;0.00482;0.00482] ;
b=[7.92;7.85;7.97;7.97];
c=[561;310;78;78];
g=[300;200;150;150];
h=[0.0315;0.042;0.063;0.063];
load=500;      %负荷
popsize=20 ;    %粒子数
MaxDD=100;     %迭代次数
c1=1.4962;        %学习因子
c2=1.4962;        %学习因子
w=0.729;      %惯性权重
dimsize=length(bound);

 vmax=vmaxinitial(dimsizebound);                %vmax产生过程  
 pop=initial(dimsizepopsizeboundload);        %初始种群
 cost=obj(popdimsizepopsizeabcghbound) ; %初始种群目标函数值
  
 Pbest=pop(:1:dimsize);                         %初始Pbest 和 Gbest
 [ggBestxindex]=min(cost);
 xtemp=pop(xindex1:dimsize);
 Gbest=xtemp;
 
 v=vinitial(popsizedimsizevmax);             %初始速度种群
 
 for m=1:MaxDD
    
  for t=1:popsize
     while(1)
         vv=vrenew(vmaxdimsizePbestpopGbesttwvc1c2);      %进化速度
         ppop=poprenew(vvdimsizetpopboundload) ;            %进化位置
         if(ppop(t1)bound(11))  break;
         end
     end
    
     ccost=hobjrenew(tdimsizeappopbcghbound) ;       %进化目标函数值
     pcost=hPestobj(tdimsizeaPbestbcghbound)  ;       %Pbest的目标函数值
     Gcost=hGbestobj(dimsizeaGbestbcghbound)   ;     %Gbest的目标函数值
   
     if  ccost         Pbest(t1:dimsize)=ppop(t1:dimsize);
     end
  
     if  ccost         Gbest=ppop(t1:dimsize);
         GGcost=ccost;
     end
    
  pop(t:)=ppop(t:);
  v(tdimsize:2)=vv(tdimsize:2);
  end
   

  ggBest(m:)=Gcost;
  xtemp(m:)=Gbest;  
 
 end
    yPbest=xtemp(MaxDD:);
    xGbest=ggBest(MaxDD);
    yPbestxGbestpop
    plot(1:MaxDDggBest)

 

function vmax=vmaxinitial(dimsizebound)                    %子程序
    for i=1:dimsize                                       %vmax产生过程
    vmax(i)=(bound(i2)-bound(i1))/20;
    end
end

 

function pop=initial(dimsizepopsizeboundload)  
 while (1)                                              %初始种群
    
      for i=dimsize:-1:2
      pop(:i)=rand(popsize1)*(bound(i2)-bound(i1))+bound(i1);
      end

      i=dimsize;s=zeros(popsize1);
      while i>=2
        s=s+pop(:i);
        i=i-1;
      end

      pop(:1)=load*ones(popsize1)-s;
  
      if(pop(:1)ones(popsize1)*bound(11))  break;
      end
 
 end
end
end

 

function cost=obj(popdimsizepopsizeabcghbound)
    t=1;cost=zeros(popsize1);                             %初始种群目标函数值
    while t<=dimsize
      cost=cost+a(t)*pop(:t).^2+b(t)*pop(:t)+c(t)+abs(g(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5640  2012-02-24 08:23  pso.m

----------- ---------  ---------- -----  ----

                 5640                    1


评论

共有 条评论

相关资源