粒子群算法的论文

合集下载

毕业设计(论文)-一种改进的粒子群算法

毕业设计(论文)-一种改进的粒子群算法

南京邮电大学毕业设计(论文)题目一种改进的粒子群算法专业网络工程学生姓名班级学号指导教师指导单位物联网学院日期:2017年1月15日至2017年6月16日毕业设计(论文)原创性声明本人郑重声明:所提交的毕业设计(论文),是本人在导师指导下,独立进行研究工作所取得的成果。

除文中已注明引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写过的作品成果。

对本研究做出过重要贡献的个人和集体,均已在文中以明确方式标明并表示了谢意。

论文作者签名:日期:年月日摘要粒子群优化(PSO: Particle Swarm Optimization)是在20世纪被引入的一种强大且广泛使用的群优化计算方式,用于解决优化问题。

由于其实施的简单性,PSO 在过去几十年中已经广泛应用于各个领域。

粒子群的个体行为和整体行为互相影响,粒子之间信息互换,群体之间的信息共享,因此可通过粒子的协作对分布式问题进行求解。

粒子群算法具有参数较少、实现容易、寻找能力强的优点。

但是随着当前问题的规模不断增大,粒子群算法常常容易陷入搜索精度不足的问题。

针对上述问题,研究人员提出了许多的优化策略,社会学习机制就是其中的一种。

社会学习机制包含好几种学习机制,即联结,强化和模仿。

在这些机制中,应用最广泛的社会学习机制是模仿。

同样在粒子群算法中粒子与粒子之间的相互学习影响也可以利用这种机制。

粒子通过动态学习自身历史经验和模仿周围粒子的社会经验完成粒子最优解的搜索。

这种基于模仿的社会学习机制可以使得算法的搜索性能更加的强大。

本文将社会学习机制引入PSO,提出了一种基于社会学习的改进的粒子群算法,称为SL-PSO(Social Learning-Particle Swarm Optimization),仿真实验表明所提出的基于整个群体的算法在问题的维度变化的时候具有较好的性能,但是收敛速度慢的问题我们不能忽略。

为了避免出现收敛速度慢的问题,我们需要减少搜索范围,然后将向整个种群中的行为学习改变成向前5个优秀学习的粒子进行学习,并且定义为ISL-PSO(Improved Social Learning-Particle Swarm Optimization)。

粒子群算法论文

粒子群算法论文

粒子群算法的寻优算法摘要:粒子群算法是在仿真生物群体社会活动的基础上,通过模拟群体生物相互协同寻优能力,从而构造出一种新的智能优化算法。

这篇文章简要回顾了粒子群算法的发展历史;引入了一个粒子群算法的实例,对其用MATLAB进行编程求解,得出结论。

之后还对其中的惯性权重进行了延伸研究,对惯性权重的选择和变化的算法性能进行分析。

关键词:粒子群、寻优、MATLAB、惯性权重目录:1.粒子群算法的简介 (2)1.1 粒子群算法的研究背景 (2)1.2 起源 (2)1.3 粒子群理论 (3)2.案例背景 (4)2.1问题描述 (4)2.2 解题思路及步骤 (4)3.MATLAB编程实现 (5)3.1设置PSO算法的运行参数 (5)3.2种群初始化 (5)3.3寻找初始极值 (5)3.4迭代寻优 (6)3.5结果分析 (6)4.惯性权重对PSO算法的影响 (8)4.1惯性权重的选择 (8)4.2惯性权重变化的算法性能分析 (8)5 结论 (10)参考文献: (11)1.粒子群算法的简介粒子群算法(Particle Swarm Optimization)是一种新的智能优化算法。

谈到它的发展历史,就不得不先介绍下传统的优化算法,正因为传统优化算法自身的一些不足,才有新智能优化算法的兴起,而粒子群算法(PSO)就是在这种情况下发展起来的。

1.1 粒子群算法的研究背景最优化是人们在科学研究、工程技术和经济管理等领域中经常遇到的问题。

优化问题研究的主要内容是在解决某个问题时,如何从众多的解决方案中选出最优方案。

它可以定义为:在一定的约束条件下,求得一组参数值,使得系统的某项性能指标达到最优(最大或最小)。

传统的优化方法是借助于优化问题的不同性质,通常将问题分为线性规划问题、非线性规划问题、整数规划问题和多目标规划问题等。

相应的有一些成熟的常规算法,如应用于线性规划问题的单纯形法,应用于非线性规划的牛顿法、共扼梯度法,应用于整数规则的分枝界定法、动态规划等。

粒子群算法(优化算法)毕业设计毕设论文(包括源代码实验数据,截图,很全面的)

粒子群算法(优化算法)毕业设计毕设论文(包括源代码实验数据,截图,很全面的)

毕业论文题目粒子群算法及其参数设置专业信息与计算科学班级计算061学号3060811007学生xx指导教师徐小平2010年I粒子群优化算法及其参数设置专业:信息与计算科学学生: xx指导教师:徐小平摘要粒子群优化是一种新兴的基于群体智能的启发式全局搜索算法,粒子群优化算法通过粒子间的竞争和协作以实现在复杂搜索空间中寻找全局最优点。

它具有易理解、易实现、全局搜索能力强等特点,倍受科学与工程领域的广泛关注,已经成为发展最快的智能优化算法之一。

论文介绍了粒子群优化算法的基本原理,分析了其特点。

论文中围绕粒子群优化算法的原理、特点、参数设置与应用等方面进行全面综述,重点利用单因子方差分析方法,分析了粒群优化算法中的惯性权值,加速因子的设置对算法基本性能的影响,给出算法中的经验参数设置。

最后对其未来的研究提出了一些建议及研究方向的展望。

关键词:粒子群优化算法;参数;方差分析;最优解IIParticle swarm optimization algorithm and itsparameter setSpeciality: Information and Computing ScienceStudent: Ren KanAdvisor: Xu XiaopingAbstractParticle swarm optimization is an emerging global based on swarm intelligence heuristic search algorithm, particle swarm optimization algorithm competition and collaboration between particles to achieve in complex search space to find the global optimum. It has easy to understand, easy to achieve, the characteristics of strong global search ability, and has never wide field of science and engineering concern, has become the fastest growing one of the intelligent optimization algorithms. This paper introduces the particle swarm optimization basic principles, and analyzes its features. Paper around the particle swarm optimization principles, characteristics, parameters settings and applications to conduct a thorough review, focusing on a single factor analysis of variance, analysis of the particle swarm optimization algorithm in the inertia weight, acceleration factor setting the basic properties of the algorithm the impact of the experience of the algorithm given parameter setting. Finally, its future researched and prospects are proposed.Key word:Particle swarm optimization; Parameter; Variance analysis; Optimal solutionIII目录摘要 (II)Abstract ............................................................................................................................. I II 1.引言. (1)1.1 研究背景和课题意义 (1)1.2 参数的影响 (1)1.3 应用领域 (2)1.4 电子资源 (2)1.5 主要工作 (2)2.基本粒子群算法 (3)2.1 粒子群算法思想的起源 (3)2.2 算法原理 (4)2.3 基本粒子群算法流程 (5)2.4 特点 (6)2.5 带惯性权重的粒子群算法 (7)2.7 粒子群算法的研究现状 (8)3.粒子群优化算法的改进策略 (9)3.1 粒子群初始化 (9)3.2 邻域拓扑 (9)3.3 混合策略 (12)4.参数设置 (14)4.1 对参数的仿真研究 (14)4.2 测试仿真函数 (15)4.3 应用单因子方差分析参数对结果影响 (33)4.4 对参数的理论分析 (34)5结论与展望 (39)致谢 (43)附录 (44)IV11.引言1.1 研究背景和课题意义“人工生命”是来研究具有某些生命基本特征的人工系统。

粒子群优化算法及其应用

粒子群优化算法及其应用
近几十年来面对信息时代海量数据的出现数据挖掘技术应运而生并得到迅猛发展其中关联规则挖掘作为数据挖掘的重要模式之一它所得到的知识能为支持决策提供依据有着极其重要的研究价值
华中科技大学 硕士学位论文 粒子群优化算法及其应用 姓名:王雁飞 申请学位级别:硕士 专业:软件工程 指导教师:陆永忠 20081024
1.2
1.2.1
课题研究现状
粒子群优化研究现状 粒子群优化算法是 1995 年由 Kennedy 和 Eberhart 源于对鸟群和鱼群捕食行为的
1
华 中 科 技 大 学 硕 士 学 位 论 文
简化社会模型的模拟而提出的一种基于群集智能的演化计算技术[1,2]。该算法具有并 行处理、鲁棒性好等特点,能以较大的概率找到问题的全局最优解,且计算效率比 传统随机方法高,其最大的优势在于实现容易、收敛速度快,而且有深刻的智能背 景,既适合科学研究,又适合工程应用。因此,PSO 一经提出立刻引起了演化计算 领域研究者的广泛关注,并在短短几年时间里涌现出大量的研究成果,在函数优化、 神经网络训练、模糊系统控制、分类、模式识别、信号处理、机器人技术等领域获 得了成功应用。 PSO 算法是基于群集智能理论的优化算法,通过群体中粒子间的合作与竞争产 生的群体智能指导优化搜索。与进化算法比较,粒子群优化算法不仅保留了基于种 群的全局搜索策略,而且又避免了复杂的遗传操作,它特有的记忆使其可以动态跟 踪当前的搜索情况调整其搜索策略。与进化算法比较,PSO 算法是一种更高效的并 行搜索算法,但其不足之处是在某些初始化条件下易陷入局部最优,且搜索精度比 遗传算法低[3]。 由于 PSO 算法概念简单,实现容易,短短几年时间,PSO 算法便获得了很大的 发展,但是,其数学基础不完善,实现技术不规范,在适应度函数选取、参数设置、 收敛理论等方面还存在许多需要深入研究的问题。文献[4-6]展开了一系列研究,取得 了一些建设性的成果,如关于算法收敛性的分析。围绕 PSO 的实现技术和数学理论 基础,以 Kennedy 和 Eberhart 为代表的许多专家学者一直在对 PSO 做深入的探索, 尤其在实现技术方面,提出了各种改进版本的 PSO。 对 PSO 参数的研究,研究最多的是关于惯性权重的取值问题。PSO 最初的算法 是没有惯性权重的, 自从 PSO 基本算法中对粒子的速度和位置更新引入惯性权重[7,8], 包括 Eberhart、Shi 等在内的许多学者对其取值方法和取值范围作了大量的研究[9-11]。 目前大致可分为固定惯性权重取值法、线性自适应惯性权重取值法、非线性惯性权 重取值法[12-14]等。 PSO 是一种随机优化技术,其实现技术与遗传算法(GA)非常相似,受 GA 的启 发,人们提出多种改进的 PSO 算法,如带交叉算子的 PSO、带变异算子的 PSO、带 选择算子的 PSO 等等。 文献[15]在粒子群每次迭代后, 通过交叉来生成更优秀的粒子,

粒子群优化算法论文

粒子群优化算法论文

粒子群优化算法论文粒子群优化算法摘要近年来,智能优化算法—粒子群算法(particle swarm optimization,简称PSO)越来越受到学者的关注。

粒子群算法是美国社会心理学家JamesKennedy 和电气工程师Russell Eberhart在1995年共同提出的,它是受到鸟群社会行为的启发并利用了生物学家Frank Heppner的生物群体模型而提出的。

它用无质量无体积的粒子作为个体,并为每个粒子规定简单的社会行为规则,通过种群间个体协作来实现对问题最优解的搜索。

由于算法收敛速度快,设置参数少,容易实现,能有效地解决复杂优化问题,在函数优化、神经网络训练、图解处理、模式识别以及一些工程领域都得到了广泛的应用。

PSO是首先由基于不受约束的最小化问题所提出的基于最优化技术。

在一个PSO系统中,多元化解决方案共存且立即返回。

每种方案被称作“微粒”,寻找空间的问题的微粒运动着寻找目标位置。

一个微粒,在他寻找的时间里面,根据他自己的以及周围微粒的经验来调整他的位置。

追踪记忆最佳位置,遇到构建微粒的经验。

因为那个原因,PSO占有一个存储单元(例如,每个微粒记得在过去到达时的最佳位置)。

PSO系统通过全局搜索方法(通过)搜索局部搜索方法(经过自身的经验),试图平衡探索和开发。

粒子群优化算法是一种基于群体的自适应搜索优化算法,存在后期收敛慢、搜索精度低、容易陷入局部极小等缺点,为此提出了一种改进的粒子群优化算法,从初始解和搜索精度两个方面进行了改进,提高了算法的计算精度,改善了算法收敛性,很大程度上避免了算法陷入局部极小.对经典函数测试计算,验证了算法的有效性。

关键词:粒子群优化算法;粒子群;优化技术;最佳位置;全局搜索;搜索精度Particle swarm optimization (PSO) algorithm is a novel evolutionary algorithm. It is a kind of stochastic global optimization technique. PSO finds optimal regions of complex search spaces through the interaction of individualsin a population of particles. The advantages of PSO lie in simple and powerful function. In this paper , classical particle swarm optimization algorithm , thepresent condition and some applications of the algorithms are introduced , and the possible research contents in future are also discussed.PSO is a population-based optimization technique proposed firstly for the above unconstrained minimization problem. In a PSO system, multiple candidate solutions coexist and collaborate simultaneously. Each solution called a ‘‘particle’’, flies in the problem sear ch space looking for the optimal position to land. A particle, as time passes through its quest, adjusts its position according to its own ‘‘experience’’ as well as the experience of neighboring particles. Tracking and memorizing the best position encountered build particle_s experience. For that reason, PSO possesses a memory (i.e. every particle remembers the best position it reached during the past). PSO system combines local search method(through self experience) with global search methods (through neighboring experience), attempting to balance explorationand exploitation.Abstract Particle Swarm Optimization Algorithm is a kind of auto-adapted search optimization based on community.But the standard particle swarm optimization is used resulting in slow after convergence, low search precision and easily leading to local minimum. A new Particle Swarm Optimization algorithm is proposed to improve from the initial solution and the search precision. The obtained results showed the algorithm computation precision and the astringency are improved,and local minimum is avoided. The experimental results of classic functions show that the improved PSO is efficientand feasible.Key words :particle swarm optimization algorithms ; unconstrained minimization problem;the bestposition;global search methods; the search precision目录一.引言二.PSO算法的基本原理和描述(一)概述(二)粒子群优化算法(三)一种改进型PSO算法——基于遗传交叉因子的粒子群优化算法简介1 自适应变化惯性权重2 交叉因子法(四) PSO与GA算法的比较1 PSO算法与GA算法2 PSO算法与GA算法的相同点3 PSO算法与GA算法的不同点三.PSO算法的实现及实验结果和仿真(一)基本PSO算法(二)算法步骤(三)伪代码描述(四)算法流程图(五)六个测试函数的运行结果及与GA算法结果的比较四结论五. 致谢六.参考文献一、引言混沌是一种有特点的非线形系统,它是一种初始时存在于不稳定的动态状态而且包含着无限不稳定时期动作的被束缚的行为。

粒子群算法论文

粒子群算法论文

VS
详细描述
组合优化问题是指在一组离散的元素中寻 找最优解的问题,如旅行商问题、背包问 题等。粒子群算法通过模拟群体行为进行 寻优,能够有效地求解这类问题。例如, 在旅行商问题中,粒子群算法可以用来寻 找最短路径;在背包问题中,粒子群算法 可以用来寻找最大化的物品价值。
粒子群算法在组合优化问题中的应用
粒子群算法论文
目录
CONTENTS
• 粒子群算法概述 • 粒子群算法的理论基础 • 粒子群算法的改进与优化 • 粒子群算法的实际应用 • 粒子群算法的未来展望
01 粒子群算法概述
粒子群算法的基本原理
粒子群算法是一种基于群体智能的优化算法,通过模拟鸟群、鱼群等生物群体的行 为规律,利用粒子间的信息共享和协作机制,寻找最优解。
高模型的决策能力和性能。
05 粒子群算法的未来展望
粒子群算法与其他智能算法的融合研究
融合遗传算法
通过引入遗传算法的变异、交叉和选 择机制,增强粒子群算法的搜索能力 和全局寻优能力。
混合粒子群优化
结合其他优化算法,如模拟退火、蚁 群算法等,形成混合优化策略,以处 理多目标、约束和大规模优化问题。
粒子群算法的理论基础深入研究
通过对粒子群算法的收敛性进行分析, 可以发现算法在迭代过程中粒子的分 布规律以及最优解的稳定性,有助于 优化算法参数和提高算法性能。
粒子群算法的参数优化
参数优化是提高粒子群算法性能 的关键步骤之一,主要涉及粒子 数量、惯性权重、学习因子等参
数的调整。
通过对参数进行优化,可以改善 粒子的搜索能力和全局寻优能力,
总结词
粒子群算法在机器学习中可以用于特征选择、模型选择 和超参数调整等方面。
详细描述
机器学习是人工智能领域的一个重要分支,旨在通过训 练数据自动地学习和提取有用的特征和规律。粒子群算 法可以应用于机器学习的不同方面,如特征选择、模型 选择和超参数调整等。通过模拟群体行为进行寻优,粒 子群算法可以帮助机器学习模型找到最优的特征组合、 模型参数和超参数配置,从而提高模型的性能和泛化能 力。

粒子群算法论文范文

粒子群算法论文范文

粒子群算法论文范文在粒子群算法中,每个个体被称为粒子,每个粒子都有一个位置和速度。

每个粒子通过更新自己的速度和位置来最优解。

更新过程涉及到个体的历史最优位置和群体的历史最优位置,被记为pbest和gbest。

粒子根据自己的速度和位置以及pbest和gbest来计算下一次的速度和位置。

通过不断迭代更新,粒子群逐渐收敛于最优解。

PSO算法的核心思想是通过合作和信息交流来实现全局和局部的平衡。

每个粒子都有自己的经验和知识,通过与周围粒子的交流不断更新自己的位置和速度。

当一个粒子找到更好的位置时,会通过更新pbest来存储自己的历史最优位置;当整个粒子群找到更好的位置时,会通过更新gbest来存储全局最优位置。

通过这种方式,粒子群能够在过程中不断自我调整,逐渐靠近最优解。

PSO算法的优势在于其简便性和并行性。

算法的流程简单明了,易于理解和实现。

同时,每个粒子都是独立的个体,可以并行地进行计算,提高了算法的效率。

此外,粒子群算法能够通过参数的调整适应不同类型的问题,并且对问题的数学模型没有要求,具有一定的鲁棒性。

虽然PSO算法具有许多优势,但也存在一些不足之处。

首先,PSO算法对参数的敏感性较高,不同问题需要不同的参数设置才能获得较好的优化效果。

其次,算法的收敛性和局部最优解问题仍然是研究的重点。

虽然算法能够通过速度和位置的更新来实现全局和局部的平衡,但是当空间较大或者存在复杂的函数拓扑结构时,算法容易陷入局部最优解。

在最近的研究中,学者们对PSO算法进行了各种改进和优化。

例如,引入自适应权重、多群体协同、约束处理等方法,来提高算法的性能和适应性。

此外,与其他优化算法相结合的混合算法也被广泛研究,以克服各自算法的局限性。

综上所述,粒子群算法是一种基于群体协作和信息交流的优化算法。

通过不断更新速度和位置来最优解。

该算法具有简便性、并行性和鲁棒性,可以应用于多种优化问题。

但在实际应用中需要根据具体问题进行参数调整,并且对于复杂问题容易陷入局部最优解。

《粒子群优化算法研究及在阵列天线中的应用》范文

《粒子群优化算法研究及在阵列天线中的应用》范文

《粒子群优化算法研究及在阵列天线中的应用》篇一一、引言随着科技的进步,优化算法在众多领域中发挥着越来越重要的作用。

粒子群优化算法(Particle Swarm Optimization, PSO)作为一类群体智能优化算法,凭借其出色的全局寻优能力及良好的适应性,已广泛应用于众多工程优化问题。

尤其是在阵列天线的设计与优化中,粒子群优化算法表现出了独特的优势。

本文将详细介绍粒子群优化算法的研究进展及其在阵列天线中的应用。

二、粒子群优化算法概述粒子群优化算法是一种基于群体行为的寻优方法,其核心思想是通过模拟鸟群、鱼群等自然群体的行为规律,利用群体中粒子的协作与竞争关系,实现全局寻优。

算法中,每个粒子代表问题的一个可能解,通过不断更新自身的速度和位置来寻找最优解。

PSO算法具有以下特点:1. 算法简单易实现,参数调整相对容易;2. 具有良好的全局寻优能力,能够处理复杂的非线性问题;3. 粒子间的协作与竞争关系有助于算法跳出局部最优解,提高寻优效率;4. 算法对初始解的依赖性较小,具有较强的鲁棒性。

三、粒子群优化算法在阵列天线中的应用阵列天线是一种由多个天线单元组成的系统,通过调整各单元的幅度和相位,可以实现波束的定向、赋形等功能。

在阵列天线的优化过程中,如何合理地分配各单元的幅度和相位是一个关键问题。

而粒子群优化算法正好可以解决这一问题。

在阵列天线的应用中,PSO算法可以通过以下步骤进行寻优:1. 将阵列天线的每个单元视为一个粒子,粒子的位置代表各单元的幅度和相位;2. 设定目标函数,如天线的增益、副瓣电平等;3. 初始化粒子群,并计算每个粒子的适应度值;4. 根据粒子的适应度值和速度更新公式,更新粒子的速度和位置;5. 根据更新后的粒子位置重新计算适应度值,判断是否达到终止条件(如达到最大迭代次数或适应度值满足要求);6. 若未达到终止条件,则返回步骤4继续迭代;若达到终止条件,则输出最优解。

通过PSO算法的优化,可以有效地提高阵列天线的性能指标,如增益、副瓣电平等。

粒子群算法研究及其工程应用案例

粒子群算法研究及其工程应用案例

粒子群算法研究及其工程应用案例一、概述随着现代制造业对高精度生产能力和自主研发能力需求的提升,优化指导技术在精确生产制造领域中的应用日益广泛。

粒子群优化算法(Particle Swarm Optimization,PSO)作为一种基于群体智能的优化算法,因其结构简单、参数较少、对优化目标问题的数学属性要求较低等优点,被广泛应用于各种工程实际问题中。

粒子群算法起源于对鸟群捕食行为的研究,通过模拟鸟群或鱼群等群体行为,利用群体中的个体对信息的共享,使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而找到最优解。

自1995年由Eberhart博士和kennedy博士提出以来,粒子群算法已成为一种重要的进化计算技术,并在工程应用中展现出强大的优势。

在工程应用中,粒子群算法可用于工艺参数优化设计、部件结构轻量化设计、工业工程最优工作路径设计等多个方面。

通过将粒子群算法与常规算法融合,可以形成更为强大的策略设计。

例如,在物流路径优化、机器人路径规划、神经网络训练、能源调度优化以及图像分割等领域,粒子群算法都取得了显著的应用成果。

本文旨在深入研究粒子群算法的改进及其工程应用。

对优化理论及算法进行分析及分类,梳理粒子群算法的产生背景和发展历程,包括标准粒子群算法、离散粒子群算法(Discrete Particle Swarm Optimization, DPSO)和多目标粒子群算法(Multi Objective Particle Swarm Optimization Algorithm, MOPSO)等。

在此基础上,分析粒子群算法的流程设计思路、参数设置方式以及针对不同需求得到的改进模式。

结合具体工程案例,探讨粒子群算法在工程实际中的应用。

通过构建基于堆栈和指针概念的离散粒子群改进方法,分析焊接顺序和方向对高速铁路客车转向架构架侧梁的焊接残余应力和变形的影响。

同时,将粒子群算法应用于点云数据处理优化设计,提高曲面重建和粮食体积计算的精度和效率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘自:人工智能论坛1. 引言粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),有Eberhart博士和kennedy博士发明。

源于对鸟群捕食的行为研究PSO同遗传算法类似,是一种基于叠代的优化工具。

系统初始化为一组随机解,通过叠代搜寻最优值。

但是并没有遗传算法用的交叉(crossover)以及变异(mutation)。

而是粒子在解空间追随最优的粒子进行搜索。

详细的步骤以后的章节介绍同遗传算法比较,PSO的优势在于简单容易实现并且没有许多参数需要调整。

目前已广泛应用于函数优化,神经网络训练,模糊系统控制以及其他遗传算法的应用领域2. 背景: 人工生命"人工生命"是来研究具有某些生命基本特征的人工系统. 人工生命包括两方面的内容1. 研究如何利用计算技术研究生物现象2. 研究如何利用生物技术研究计算问题我们现在关注的是第二部分的内容. 现在已经有很多源于生物现象的计算技巧. 例如, 人工神经网络是简化的大脑模型. 遗传算法是模拟基因进化过程的.现在我们讨论另一种生物系统- 社会系统. 更确切的是, 在由简单个体组成的群落与环境以及个体之间的互动行为. 也可称做"群智能"(swarm intelligence). 这些模拟系统利用局部信息从而可能产生不可预测的群体行为例如floys 和boids, 他们都用来模拟鱼群和鸟群的运动规律, 主要用于计算机视觉和计算机辅助设计.在计算智能(computational intelligence)领域有两种基于群智能的算法. 蚁群算法(ant colony optimization)和粒子群算法(particle swarm optimization). 前者是对蚂蚁群落食物采集过程的模拟. 已经成功运用在很多离散优化问题上.粒子群优化算法(PSO) 也是起源对简单社会系统的模拟. 最初设想是模拟鸟群觅食的过程. 但后来发现PS O是一种很好的优化工具.3. 算法介绍如前所述,PSO模拟鸟群的捕食行为。

设想这样一个场景:一群鸟在随机搜索食物。

在这个区域里只有一块食物。

所有的鸟都不知道食物在那里。

但是他们知道当前的位置离食物还有多远。

那么找到食物的最优策略是什么呢。

最简单有效的就是搜寻目前离食物最近的鸟的周围区域。

PSO从这种模型中得到启示并用于解决优化问题。

PSO中,每个优化问题的解都是搜索空间中的一只鸟。

我们称之为“粒子”。

所有的例子都有一个由被优化的函数决定的适应值(fitness value),每个粒子还有一个速度决定他们飞翔的方向和距离。

然后粒子们就追随当前的最优粒子在解空间中搜索PSO 初始化为一群随机粒子(随机解)。

然后通过叠代找到最优解。

在每一次叠代中,粒子通过跟踪两个"极值"来更新自己。

第一个就是粒子本身所找到的最优解。

这个解叫做个体极值pBest. 另一个极值是整个种群目前找到的最优解。

这个极值是全局极值gBest。

另外也可以不用整个种群而只是用其中一部分最为粒子的邻居,那么在所有邻居中的极值就是局部极值。

在找到这两个最优值时, 粒子根据如下的公式来更新自己的速度和新的位置v[] = v[] + c1 * rand() * (pbest[] - present[]) + c2 * rand() * (gbest[] - present[]) (a)present[] = persent[] + v[] (b)v[] 是粒子的速度, persent[] 是当前粒子的位置. pbest[] and gbest[] 如前定义rand () 是介于(0,1)之间的随机数. c1, c2 是学习因子. 通常c1 = c2 = 2.程序的伪代码如下For each particle____Initialize particleENDDo____For each particle________Calculate fitness value________If the fitness value is better than the best fitness value (pBest) in history____________set current value as the new pBest____End____Choose the particle with the best fitness value of all the particles as the gBest____For each particle________Calculate particle velocity according equation (a)________Update particle position according equation (b)____EndWhile maximum iterations or minimum error criteria is not attained在每一维粒子的速度都会被限制在一个最大速度Vmax,如果某一维更新后的速度超过用户设定的Vmax,那么这一维的速度就被限定为Vmax4. 遗传算法和PSO 的比较大多数演化计算技术都是用同样的过程1. 种群随机初始化2. 对种群内的每一个个体计算适应值(fitness value).适应值与最优解的距离直接有关3. 种群根据适应值进行复制4. 如果终止条件满足的话,就停止,否则转步骤2从以上步骤,我们可以看到PSO和GA有很多共同之处。

两者都随机初始化种群,而且都使用适应值来评价系统,而且都根据适应值来进行一定的随机搜索。

两个系统都不是保证一定找到最优解但是,PSO 没有遗传操作如交叉(crossover)和变异(mutation). 而是根据自己的速度来决定搜索。

粒子还有一个重要的特点,就是有记忆。

与遗传算法比较, PSO 的信息共享机制是很不同的. 在遗传算法中,染色体(chromosomes) 互相共享信息,所以整个种群的移动是比较均匀的向最优区域移动. 在PSO中, 只有gBest (or lBest) 给出信息给其他的粒子,这是单向的信息流动. 整个搜索更新过程是跟随当前最优解的过程. 与遗传算法比较, 在大多数的情况下,所有的粒子可能更快的收敛于最优解5. 人工神经网络和PSO人工神经网络(ANN)是模拟大脑分析过程的简单数学模型,反向转播算法是最流行的神经网络训练算法。

进来也有很多研究开始利用演化计算(evolutionary computation)技术来研究人工神经网络的各个方面。

演化计算可以用来研究神经网络的三个方面:网络连接权重,网络结构(网络拓扑结构,传递函数),网络学习算法。

不过大多数这方面的工作都集中在网络连接权重,和网络拓扑结构上。

在GA中,网络权重和/或拓扑结构一般编码为染色体(Chromosome),适应函数(fitness function)的选择一般根据研究目的确定。

例如在分类问题中,错误分类的比率可以用来作为适应值演化计算的优势在于可以处理一些传统方法不能处理的例子例如不可导的节点传递函数或者没有梯度信息存在。

但是缺点在于:在某些问题上性能并不是特别好。

2. 网络权重的编码而且遗传算子的选择有时比较麻烦最近已经有一些利用PSO来代替反向传播算法来训练神经网络的论文。

研究表明PSO 是一种很有潜力的神经网络算法。

PSO速度比较快而且可以得到比较好的结果。

而且还没有遗传算法碰到的问题这里用一个简单的例子说明PSO训练神经网络的过程。

这个例子使用分类问题的基准函数(Benchmark fun ction)IRIS数据集。

(Iris 是一种鸢尾属植物) 在数据记录中,每组数据包含Iris花的四种属性:萼片长度,萼片宽度,花瓣长度,和花瓣宽度,三种不同的花各有50组数据. 这样总共有150组数据或模式。

我们用3层的神经网络来做分类。

现在有四个输入和三个输出。

所以神经网络的输入层有4个节点,输出层有3个节点我们也可以动态调节隐含层节点的数目,不过这里我们假定隐含层有6个节点。

我们也可以训练神经网络中其他的参数。

不过这里我们只是来确定网络权重。

粒子就表示神经网络的一组权重,应该是4*6+6*3=42个参数。

权重的范围设定为[-100,100] (这只是一个例子,在实际情况中可能需要试验调整).在完成编码以后,我们需要确定适应函数。

对于分类问题,我们把所有的数据送入神经网络,网络的权重有粒子的参数决定。

然后记录所有的错误分类的数目作为那个粒子的适应值。

现在我们就利用PSO来训练神经网络来获得尽可能低的错误分类数目。

PSO本身并没有很多的参数需要调整。

所以在实验中只需要调整隐含层的节点数目和权重的范围以取得较好的分类效果。

6. PSO的参数设置从上面的例子我们可以看到应用PSO解决优化问题的过程中有两个重要的步骤: 问题解的编码和适应度函数PSO的一个优势就是采用实数编码, 不需要像遗传算法一样是二进制编码(或者采用针对实数的遗传操作.例如对于问题f(x) = x1^2 + x2^2+x3^2 求解, 粒子可以直接编码为(x1, x2, x3), 而适应度函数就是f(x).接着我们就可以利用前面的过程去寻优.这个寻优过程是一个叠代过程, 中止条件一般为设置为达到最大循环数或者最小错误PSO中并没有许多需要调节的参数,下面列出了这些参数以及经验设置粒子数: 一般取20 –40. 其实对于大部分的问题10个粒子已经足够可以取得好的结果, 不过对于比较难的问题或者特定类别的问题, 粒子数可以取到100 或200粒子的长度: 这是由优化问题决定, 就是问题解的长度粒子的范围: 由优化问题决定,每一维可是设定不同的范围Vmax: 最大速度,决定粒子在一个循环中最大的移动距离,通常设定为粒子的范围宽度,例如上面的例子里,粒子(x1, x2, x3) x1 属于[-10, 10], 那么Vmax 的大小就是20学习因子: c1 和c2 通常等于2. 不过在文献中也有其他的取值. 但是一般c1 等于c2 并且范围在0和4之间中止条件: 最大循环数以及最小错误要求. 例如, 在上面的神经网络训练例子中, 最小错误可以设定为1个错误分类, 最大循环设定为2000, 这个中止条件由具体的问题确定.全局PSO和局部PSO: 我们介绍了两种版本的粒子群优化算法: 全局版和局部版. 前者速度快不过有时会陷入局部最优. 后者收敛速度慢一点不过很难陷入局部最优. 在实际应用中, 可以先用全局PSO找到大致的结果,再有局部PSO进行搜索.另外的一个参数是惯性权重, 由Shi 和Eberhart提出, 有兴趣的可以参考他们1998年的论文(题目: A mod ified particle swarm optimizer)7. Online Resources of PSOThe development of PSO is still ongoing. And there are still many unknown areas in PSO research such as the mathematical validation of particle swarm theory.One can find much information from the internet. Following are some information you can get online: lots of information about Particle Swarms and, particularly, Particle Swarm Optimization. lots of Particle Swarm Links./~hux/PSO.shtml lists an updated bibliography of particle swarm optimization an d some online paper links/ you can search particle swarm related papers and references.References:/~eberhart//cathyk/jimk.html/cwr/boids/http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.html/~shi/Coference/psopap4.htmlKennedy, J. and Eberhart, R. C. Particle swarm optimization. Proc. IEEE int'l conf. on neural networks Vol. IV, pp. 1942-1948. IEEE service center, Piscataway, NJ, 1995.Eberhart, R. C. and Kennedy, J. A new optimizer using particle swarm theory. Proceedings of the sixth i nternational symposium on micro machine and human science pp. 39-43. IEEE service center, Piscataway, NJ, Nagoya, Japan, 1995.Eberhart, R. C. and Shi, Y. Particle swarm optimization: developments, applications and resources. Proc. congress on evolutionary computation 2001 IEEE service center, Piscataway, NJ., Seoul, Korea., 2001. Eberhart, R. C. and Shi, Y. Evolving artificial neural networks. Proc. 1998 Int'l Conf. on neural networks and brain pp. PL5-PL13. Beijing, P. R. China, 1998.Eberhart, R. C. and Shi, Y. Comparison between genetic algorithms and particle swarm optimization. Evo lutionary programming vii: proc. 7th ann. conf. on evolutionary conf., Springer-Verlag, Berlin, San Diego, CA., 1998.Shi, Y. and Eberhart, R. C. Parameter selection in particle swarm optimization. Evolutionary Programming VII: Proc. EP 98 pp. 591-600. Springer-Verlag, New York, 1998.Shi, Y. and Eberhart, R. C. A modified particle swarm optimizer. Proceedings of the IEEE International Conference on Evolutionary Computation pp. 69-73. IEEE Press, Piscataway, NJ, 1998。

相关文档
最新文档