
粒子群算法
Deng笨蛋
路漫漫其修远兮,吾将上下而求索。
展开
-
白话例子群算法—C语言实现
简介 上次在自话遗传算法中提到后期会写两篇关于粒子群算法和蚁群算法的博文,所以这次给大家带来的是我对粒子群的一些理解,并附带一个相当简单的实例去描述这个算法,我会尽力通俗易懂的把整个算法描述一遍,其实粒子群算法的思想也挺简单的,希望我不要反而写复杂了,下面同样引用百度百科的摘要结束简介部分。 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computat转载 2016-11-30 13:31:56 · 1353 阅读 · 0 评论 -
粒子群算法(1)----粒子群算法简介
粒子群算法简介一、粒子群算法的历史 粒子群算法源于复杂适应系统(Complex Adaptive System,CAS)。CAS理论于1994年正式提出,CAS中的成员称为主体。比如研究鸟群系统,每个鸟在这个系统中就称为主体。主体有适应性,它能够与环境及其他的主体进行交流,并且根据交流的过程“学习”或“积累经验”改变自身结构与行为。整个系统的演变或进化包括:新层次的产生(小鸟的出生转载 2016-11-30 16:26:18 · 799 阅读 · 0 评论 -
粒子群算法(2)----标准的粒子群算法
标准的粒子群算法 在上一节的叙述中,唯一没有给大家介绍的就是函数的这些随机的点(粒子)是如何运动的,只是说按照一定的公式更新。这个公式就是粒子群算法中的位置速度更新公式。下面就介绍这个公式是什么。在上一节中我们求取函数y=1-cos(3*x)*exp(-x)的在[0,4]最大值。并在[0,4]之间放置了两个随机的点,这些点的坐标假设为x1=1.5; x2=2.5;这里的点是一个标转载 2016-11-30 16:43:19 · 977 阅读 · 0 评论 -
粒子群算法(3)----标准的粒子群算法(局部版本)
在全局版的标准粒子群算法中,每个粒子的速度的更新是根据两个因素来变化的,这两个因素是:1. 粒子自己历史最优值pi。2. 粒子群体的全局最优值pg。如果改变粒子速度更新公式,让每个粒子的速度的更新根据以下两个因素更新,A. 粒子自己历史最优值pi。B. 粒子邻域内粒子的最优值pnk。其余保持跟全局版的标准粒子群算法一样,这个算法就变为局部版的粒子群算法。 一般一个粒子i 的邻域随着迭代转载 2016-11-30 16:57:28 · 852 阅读 · 0 评论 -
粒子群算法(4)----粒子群算法分类
粒子群算法主要分为4个大的分支:(1)标准粒子群算法的变形 在这个分支中,主要是对标准粒子群算法的惯性因子、收敛因子(约束因子)、“认知”部分的c1,“社会”部分的c2进行变化与调节,希望获得好的效果。 惯性因子的原始版本是保持不变的,后来有人提出随着算法迭代的进行,惯性因子需要逐渐减小的思想。算法开始阶段,大的惯性因子可以是算法不容易陷入局部最优,到算法的后期,小的惯性转载 2016-11-30 18:12:25 · 808 阅读 · 0 评论 -
粒子群算法(8)---混合粒子群算法的实现
混合粒子群算法将全局粒子群算法与局部粒子群算法结合,其速度更新采用公式:其中G(k+1)是全局版本的速度更新公式,而L(k+1)是局部版本的速度更新公式,混合粒子群算法采用H(k+1)的公式。位置更新公式: 因为是局部版本与全局版本相结合,所以,粒子群的初始化函数应该与局部版本的相同转载 2016-12-10 11:14:15 · 4237 阅读 · 6 评论 -
粒子群算法(5)-----标准粒子群算法的实现
标准粒子群算法的实现 标准粒子群算法的实现思想基本按照粒子群算法(2)—-标准的粒子群算法的讲述实现。主要分为3个函数。第一个函数为粒子群初始化函数InitSwarm(SwarmSize……AdaptFunc)其主要作用是初始化粒子群的粒子,并设定粒子的速度、位置在一定的范围内。本函数所采用的数据结构如下所示:表ParSwarm记录的是粒子的位置、速度与当前的适应度值,我们用W来表转载 2016-12-04 15:44:04 · 1520 阅读 · 0 评论 -
粒子群算法(6)-----几个适应度评价函数
下面给出几个适应度评价函数,并给出图形表示 头几天机子种了病毒,重新安装了系统,不小心把程序全部格式化了,痛哭!!!没办法,好多程序不见了,现在把这几个典型的函数重新编写了,把他们给出来,就算粒子群算法的一个结束吧!痛恨病毒!!!!第一个函数:Griewank函数,图形如下所示:适应度函数如下:(为了求最大值,我去了所有函数值的相反数) function y转载 2016-12-09 17:25:39 · 5815 阅读 · 1 评论 -
粒子群算法(7)------粒子群算法局部版本的实现
最近要写篇与粒子群算法有关的文章,因此不得不实现粒子群算法的局部版本。粒子群算法局部版本的实现思想已经在粒子群算法(3)----标准的粒子群算法(局部版本)中已经讲述。主要分为3个函数。第一个函数为粒子群初始化函数LocalInitSwarm(SwarmSize......AdaptFunc)其主要作用是初始化粒子群的粒子,并设定粒子的速度、位置在一定的范围内。本函数所采用的数据结构如下所示:转载 2016-12-10 10:40:13 · 1134 阅读 · 0 评论