A Modified Particle Swarm Optimizer

一种改进的粒子群优化算法
 
Yuhui Shi and Russell Eberhart
1998
 

摘要:

  本文在原有的粒子群算法中引入了一个新的参数--惯性权重。仿真结果表明,该新参数对粒子群优化算法具有显著而有效的影响。

1. INTRODUCTION

2. A MODIFIED PARTICLE SWARM OPTIMIZER (一种改进的粒子群优化算法)

  速度本身是无记忆的。假设在开始时,粒子i具有最好的全局位置,那么粒子z将在速度为0的情况下保持不动,直到另一个粒子接管全局最好位置。同时,每个其他粒子将向其自身最佳位置和全局最佳种群位置的加权质心“飞行”。如文献[6]所述,常数c1和c2的推荐选择是整数2,因为它平均使“社会”和“社会”部分的权重为1。在这一条件下,粒子从统计上收缩到当前全局最优位置,直到另一个粒子接管,从那时起所有粒子从统计上收缩到新的全局最优位置。因此,可以想象,没有第一部分的粒子群算法的搜索过程是一个搜索空间经过几代统计收缩的过程。它类似于本地搜索算法。通过在屏幕上显示“飞行”过程,可以更清楚地说明这一点。从屏幕上可以很容易地看出,如果没有方程式(La)的第一部分,所有的粒子都会倾向于向同一位置移动,即搜索区域在世代之间都在收缩。只有当全局最优解在初始搜索空间内时,PSO才有机会找到解。最终的解决方案在很大程度上依赖于初始种子(种群)。因此,在没有第一部分的情况下,它更有可能表现出局部搜索能力。另一方面,通过增加第一部分,部分有扩大搜索空间的趋势,即他们有能力探索新的领域。因此,通过添加第一部分,THQ更有可能具有全局搜索能力。局部搜索和全局搜索都有利于解决某些类型的问题。对于不同的问题,全局搜索和局部搜索是有权衡的,在局部搜索能力和全局搜索能力之间应该有不同的平衡。考虑到这一点,如公式(2)所示,在公式(1)中引入惯性权重w。这个w起到平衡全局搜索和局部搜索的作用,它可以是正常数,甚至是时间的正线性或非线性函数。

3. EXPERIMENTS AND DISCUSSION

4. CONCLUSION

  本文在原有的粒子Swann优化算法中引入了一个参数惯性权重。已经进行了仿真,以说明该参数的hpct对粒子群优化算法性能的影响。结果表明,惯性权重平均在[0.9,1.2]范围内的粒子群算法具有更好的性能,即在合理的迭代次数内有更大的机会找到全局最优解。此外,引入了随时间递减的惯性权重,使粒子群算法的性能有了很大的改善。已经做了仿真来支持它。
  虽然引入时变惯量已取得了较好的效果,但仍需做更多的研究。为了寻求更好的时间函数,需要测试不同的时间递减函数。例如,从图1可以很容易地看出,惯性权重不需要从1.4减小到0。从1.4降到0.5;也许效果会更好。时间的非线性递减函数也需要检验。本文只测试了一个Snoall基准问题:要充分证明惯性权重的好处,还需要检验更多的问题。在积累经验之后,可以期望更好地了解惯性权重对PSO性能的影响,可以建立一个模糊控制系统[101]来在线调整惯性权重。我们现在正在做这些事情。

其他:

进化规划
遗传算法
进化策略
遗传规划

A Modified Particle Swarm Optimizer的更多相关文章

  1. 【智能算法】粒子群算法(Particle Swarm Optimization)超详细解析+入门代码实例讲解

    喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号[程序猿声] 01 算法起源 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由E ...

  2. 粒子群优化算法(Particle Swarm Optimization)

    粒子群算法的思想源于对鸟/鱼群捕食行为的研究,模拟鸟集群飞行觅食的行为,鸟之间通过集体的协作使群体达到最优目的,是一种基于Swarm Intelligence的优化方法.它没有遗传算法的"交 ...

  3. A novel multi-swarm particle swarm optimization with dynamic learning strategy(一种新颖的具有动态学习策略的多种群粒子群优化算法)

    1.核心 在每个子种群的粒子被划分为普通粒子(ordinary particles)和交流粒子(communication particles),在每次迭代过程中,不同的粒子执行不同的进化操作.普通粒 ...

  4. 粒子群算法 Particle Swarm Optimization, PSO(转贴收藏)

    粒子群算法(1)----粒子群算法简介 http://blog.csdn.net/niuyongjie/article/details/1569671 粒子群算法(2)----标准的粒子群算法 htt ...

  5. A New Discrete Particle Swarm Optimization Algorithm

    题目:一种新的离散粒子群优化算法 中文摘要 粒子群优化算法在许多优化问题上表现得非常好.粒子群优化算法的缺点之一是假设算法中的变量为连续变量.本文提出一个新的粒子群优化算法,能够优化离散变量.这个新算 ...

  6. 算法(三)粒子群算法PSO的介绍

    一.引言 在讲算法之前,先看两个例子: 例子一:背包问题,一个书包,一堆物品,每个物品都有自己的价值和体积,装满书包,使得装的物品价值最大. 例子二:投资问题,n个项目,第i个项目投资为ci 收益为p ...

  7. 粒子群优化算法及其java实现

    憋了两周终于把开题报告憋出来了,再一次证明自己不适合搞学术,哎--,花了点时间把报告中提到的粒子群算法看了看,看了些资料,用java跑起来. 算法简介 粒子群算法最先由Barnhart博士和Kenne ...

  8. [Algorithm] 群体智能优化算法之粒子群优化算法

    同进化算法(见博客<[Evolutionary Algorithm] 进化算法简介>,进化算法是受生物进化机制启发而产生的一系列算法)和人工神经网络算法(Neural Networks,简 ...

  9. GO语言的开源库

    Indexes and search engines These sites provide indexes and search engines for Go packages: godoc.org ...

随机推荐

  1. IDEA远程部署调试Java应用程序

    IDEA远程部署调试Java应用程序 目录 IDEA远程部署调试Java应用程序 基本概述 准备工作 远程服务器准备 安装JDK 配置JAVA_HOME 项目准备 创建一个SpringBoot项目 创 ...

  2. Java 开发最容易写的 10 个bug

    原文链接:10 个让人头疼的 bug 那个谁,今天又写 bug 了,没错,他说的好像就是我...... 作为 Java 开发,我们在写代码的过程中难免会产生各种奇思妙想的 bug ,有些 bug 就挺 ...

  3. display:none、visibility:hidden,opacity:0三者区别

    1. display:none 设置display:none,让这个元素消失 消失不占据原本任何位置 连带子元素一起消失 元素显示:display:block 2. visibility:hidden ...

  4. TWAIN-v2.4-说明文档翻译(1)介绍

    介绍 Introduction 一致性需求(Need for Consistency) 对于扫描仪,数字摄像仪,以及其他图像获取设备,用户渴望发现将图像合并到他们的文档以及其他工作的价值.然而,支持展 ...

  5. 查询windows日志

    系统日志可以用来查看系统的一些信息,比如警告.错误.验证.开关机等. 打开系统日志 按下快捷键win+R,输入eventvwr.exe,并点击确定 查询开关机记录 点击左侧Windows日志-> ...

  6. qsort()函数的使用

    函数声明 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)) 参数 ...

  7. vue 2.0源码学习笔记—new Vue ( Vue 初始化过程 )

    new Vue(Vue 初始化) 一个vue实例化到底经历了什么?已下是博主自己的总结,不正确的地方请指出,谢谢~ 一.简述 从使用角度来看,挂载的顺序如下 1. $slots 2. $scopedS ...

  8. javascript-原生-结构

    1.获取用户输入内容的方法 window.prompt("提示信息","默认值"); 获取用户输入内容(字符串类型),返回用户输入内容. 2.顺序结构:所有语句 ...

  9. Linux常用命令介绍(满足日常操作)

    大家好,今天来给大家分享一些Linux的常用命令,希望对大家有用 命令行的基本格式:   命令字 [选项] [参数]     其中,命令字.选项.参数之间用空格分开,多余的空格将被忽略.[ ]括起来的 ...

  10. Codeforces Round #747 (Div. 2) Editorial

    Codeforces Round #747 (Div. 2) A. Consecutive Sum Riddle 思路分析: 一开始想起了那个公式\(l + (l + 1) + - + (r − 1) ...