- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言实现的粒子群算法代码及解释
//粒子群PSO算法
#includestdio.h
#includemath.h
#includetime.h
#includestdlib.h
#define PI 3.141592653589 /* */
#define P_num 200 //粒子数目
#define dim 50
#define low -100 //搜索域范围
#define high 100
#define iter_num 1000
#define V_max 20 //速度范围
#define c1 2
#define c2 2
#define w 0.5
#define alp 1
double particle[P_num][dim]; //个体集合
double particle_loc_best[P_num][dim]; //每个个体局部最优向量
double particle_loc_fit[P_num]; //个体的局部最优适应度,有局部最优向量计算而来
double particle_glo_best[dim]; //全局最优向量
double gfit; //全局最优适应度,有全局最优向量计算而来
double particle_v[P_num][dim]; //记录每个个体的当前代速度向量
double particle_fit[P_num]; //记录每个粒子的当前代适应度
double Sphere(double a[])
{
int i;
double sum=0.0;
for(i=0; idim; i++)
{
sum+=a[i]*a[i];
}
return sum;
}
double Rosenbrock(double a[])
{
int i;
double sum=0.0;
for(i=0;idim-1; i++)
{
sum+= 100*(a[i+1]-a[i]*a[i])*(a[i+1]-a[i]*a[i])+(a[i]-1)*(a[i]-1);
}
return sum;
}
double Rastrigin(double a[])
{
int i;
double sum=0.0;
for(i=0;idim;i++)
{
sum+=a[i]*a[i]-10.0*cos(2*PI*a[i])+10.0;
}
return sum;
}
double fitness(double a[]) //适应度函数
{
return Rastrigin(a);
}
void initial()
{
int i,j;
for(i=0; iP_num; i++) //随即生成粒子
{
for(j=0; jdim; j++)
{
particle[i][j] = low+(high-low)*1.0*rand()/RAND_MAX; //初始化群体
particle_loc_best[i][j] = particle[i][j]; //将当前最优结果写入局部最优集合
particle_v[i][j] = -V_max+2*V_max*1.0*rand()/RAND_MAX; //速度
}
}
for(i=0; iP_num; i++) //计算每个粒子的适应度
{
particle_fit[i] = fitness(particle[i]);
particle_loc_fit[i] = particle_fit[i];
}
gfit = particle_loc_fit[0]; //找出全局最优
j=0;
for(i=1; iP_num; i++)
{
if(particle_loc_fit[i]gfit)
{
gfit = particle_loc_fit[i];
j = i;
}
}
for(i=0; idim; i++) //更新全局最优向量
{
particle_glo_best[i] = particle_loc_best[j][i];
}
}
void renew_particle()
{
int i,j;
for(i=0; iP_num; i++) /
您可能关注的文档
- 2014年设计委托书(范本).doc
- 2014广告媒体教程复习资料.doc
- 2014执业药师真题-综合.docx
- 2014新思路MSOffice高级应用二级第七套试题答案.docx
- 2014湖南师范大学研究生入学考试水文学大纲.doc
- 2014生产开机复生产方案.doc
- 2014考研历史学各校真题(非统考).docx
- 2014考试试题自然辩证法.docx
- 2014科目三考试最全总结了好久.doc
- 2014试验检测员考试重点复习内容12.docx
- 2024年国网北京市电力公司招聘高校毕业生考试(第一批)公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 2024年太原青创招考聘用太原市杏花岭区综合应急大队工作人员公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 2024年四川省安州区事业单位招聘55人历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 2024年天津市农机发展服务中心招考事业单位工作人员公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 2024年安徽亳州蒙城县招募特聘动物防疫专员18人历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 2024年夏福建上杭县事业单位招考拟录人选五公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 2024年国网英大国际控股集团限公司招聘约4人历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 2024年安徽安庆桐城团市委选调工作人员1人历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 2024年宁波市象山县黄避岙乡人民政府招考编制外人员公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 2024年安徽合肥肥西县供销社招聘基层单位工作人员12人公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
文档评论(0)