网站大量收购闲置独家精品文档,联系QQ:2885784924

混合粒子群算法:基于杂交的算法.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
混合粒子群算法:基于杂交的算法 算法原理 借鉴遗传算法中杂交的概念,在每次迭代中,根据杂交率选取指定数量的粒子放入杂交池内,池内的粒子随机两两杂交,产生同样数目的子代粒子(),并用子代粒子代替亲代粒子()。子代位置由父代位置进行交叉得到: 或 其中,P是0到1之间的随机数。 子代的速度由下式计算: 或 算法步骤 基于自然选择的粒子群算法的基本步骤如下: 随机初始化种群中各微粒的位置和速度; 评价每个微粒的适应度,将当前各微子的位置和适应值存储在各微子的中,将所有的中适应最优个体的位置和适应值存储在中; 更新每个微粒的速度和位置; 对每个微粒,将其适应值与其经历过的最好位置作比较,如果较好,则将其作为当前的最好位置; 比较当前所有和的值,更新; 根据杂交概率选取指定数量的粒子放入杂交池中,池中的粒子随机两两杂交产生同样数目的子代粒子,子代的位置和速度计算公式如下: 。保持和不变; 若满足停止条件(通常为预设的运算精度或迭代次数),有哪些信誉好的足球投注网站停止,输出结果,否则返回(3)继续有哪些信誉好的足球投注网站。 算法MATLAB实现 在MATLAB中编程实现的基于杂交的粒子群算法优化函数为:。 功能:用基于杂交的粒子群算法求解无约束优化问题。 调用格式: 其中,:待优化的目标函数; :粒子数目; :学习因子1; :学习因子2; :惯性权重; :杂交概率; :杂交池的大小比例; :最大迭代次数; :自变量的个数; :目标函数取最小值时的自变量值; :目标函数的最小值。 基本粒子群算法的MATLAB代码如下: function [xm,fv]=BreedPSO(fitness,N,c1,c2,w,Pc,Sp,M,D) % fitness:待优化的目标函数; % N:粒子数目; % c1:学习因子1; % c2:学习因子2; % w:惯性权重; % Pc:杂交概率; % Sp:杂交池的大小比例; % M:最大迭代次数; % D:自变量的个数; % xm:目标函数取最小值时的自变量值; % fv:目标函数的最小值。 format long; for i=1:N for j=1:D x(i,j)=randn; %随机初始化位置 v(i,j)=randn; %随机初始化速度 end end for i=1:N p(i)=fitness(x(i,:)); y(i,:)=x(i,:); end pg=x(N,:); %pg为全局最优 for i=1:(N-1) if fitness(x(i,:))fitness(pg) pg=x(i,:); end end for t=1:M for i=1:N %速度、位移更新 v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:)); x(i,:)=x(i,:)+v(i,:); if fitness(x(i,:))p(i) p(i)=fitness(x(i,:)); y(i,:)=x(i,:); end if p(i)fitness(pg) pg=y(i,:); end r1=rand(); if r1Pc %杂交概率 numPool=round(Sp*N); %杂交池大小 PoolX=x(1:numPool,:); %杂交池中粒子的位置 PoolVX=v(1:numPool,:); %杂交池中粒子的速度 for i=1:numPool seed1=floor(rand()*(numPool-1))+1; seed2=floor(rand()*(numPool-1))+1; pb=rand(); %子代位置计算 childx1(i,:)=pb*PoolX(seed1,:)+(1-pb)*PoolX(seed2,:); %子代速度计算 childv1(i,:)=(PoolVX(seed1,:)+PoolVX(seed2,

文档评论(0)

我思故我在 + 关注
实名认证
内容提供者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档