摘要粒子群算法是基于群体及自身发展的一种优化算法,具有简单易行,参数可调的优点。本文根据粒子群算法的算法实现流程,使用MATLAB语言分别实现了该算法的各个流程功能。以Cu建立结构模型,实现了模型初始化结构的产生、能量计算、赋予初始化速度,并根据粒子群算法编写了原子速度和坐标演化的程序模块,实现了粒子群算法的一代一代结构更新。59526
毕业论文关键词:粒子群算法(PSO),MATLAB,编程
Abstract With the advantages of simple to operate,adjustable parameters, particle swarm optimization algorithm(PSO) is a kind of an optimization algorithm based on swarm intelligence and its own development. In this paper, using MATLAB language, we rewrite the program of PSO. We build the modules of building initialization structure, energy calculation, initial velocity, and the evolution of the atomic velocity and coordinate depending on the PSO.
Keywords: particle swarm optimization, MATLAB, programming
目录
第一章 绪论-1
1.1 粒子群算法(PSO)的介绍-1
1.1.1PSO算法的基本原理-1
1.1.2PSO算法的参数设置-2
1.2 MATLAB程序编程介绍-3
1.2.1语法格式3
1.2.2数据格式5
1.2.3常用函数命令7
1.2.4 程序编程-7
1.2.4.1 if语句-7
1.2.4.2 switch语句-7
1.2.4.3 while语句8
1.2.4.4 for语句8
1.2.4.5 break语句和continue语句9
1.2.4.6 try...catch...end语句-9
第二章 粒子群算法的MATLAB程序实现10
2.1程序编程的流程10
2.2算法的MATLAB程序实现-10
第三章 粒子群算法在模型结构优化中的应用13
3.1 建立模型-13
3.2 数据处理与结果讨论-14
第四章 总结与展望-18
致谢19
参考文献20
第一章.绪论
1.1PSO(粒子群优化)算法的介绍
PSO全称Particle Swarm Optimization,百度百科解释其是一种基于种群的随机优化技术[3],(以下简称PSO)PSO是1995年由Eberhart和Kennedy提出的,他是一种借鉴生物群体行为模型,结合生物进化思想实现的新型算法。PSO算法是一种模拟群集行为,主要模仿昆虫、兽群、鸟群和鱼群等的行为模式,这些群体按照合作的方式活动,每个成员都通过总结它自己的经验和团体的经验来不断改进自己的搜索模式。
PSO算法的形成,由早期的简单模型Boid(Bird-oid)模型演变而来的。Boid模型是主要设计模拟鸟群的行为的模型,它为PSO算法提供了基本框架和主题思想。其中最简单的模型是由直角坐标系上的点表示每一个鸟的个体本身,随机性束缚地为他们产生一个初始速度与初始位置,程序运行按照“最近邻速度匹配”规则,这会迅速地使得所有的点的速度变相同。但是因为这个模拟的模型太过简单并且脱离现实的情况,无法真实的反应结构。所以在速度变量中加入了一个随机变量,也可以说是在迭代的每一步过程中除了需要符合“最近邻速度匹配”规则外,我们还给每一次的点的速度加入了一个随机变量,这可以使得我们的整个模拟更加接近现实的情况,结果更加可信[7]。
1.1.1PSO算法的基本原理
基本上,PSO算法是一种基于种群的优化算法[1],和遗传算法具有相似点。在粒子群优化算法之中,粒子群中的一个粒子表示该问题的一个可能解,粒子是由速度v和位置x两个数据组成的,在N维结构搜索空间中飞行。该粒子具有自我性和社会性,自我性代表粒子可以根据自身的经验去判断飞行的速度和位置;社会性代表粒子可以依据自己在解空间中的飞行经验或者粒子群体的飞行状况动态地改变自己的速度和位置,寻找平衡[5],[6]。并且PSO使用进化型计算中“群体”和”进化”这两个概念,与遗传算法相似地依据粒子的个体适应值计算结构。