A New Discrete Particle Swarm Optimization Algorithm
题目:一种新的离散粒子群优化算法
中文摘要
粒子群优化算法在许多优化问题上表现得非常好。粒子群优化算法的缺点之一是假设算法中的变量为连续变量。本文提出一个新的粒子群优化算法,能够优化离散变量。这个新算法被称为整数和分类粒子群优化算法,该算法融合了分布估计算法的思想,即粒子代表概率分布而不是解的值,并且PSO更新修改了概率分布。本文描述了该算法,并将其性能与其他离散PSO算法进行了比较。实验表明,该算法比其他离散PSO算法要好 。
中文引言
离散优化问题,如贝叶斯网络中的特征选择或推理,是一组重要且具有挑战性的问题。这些问题不同于连续问题,因为每个变量的状态是有限个。在整数问题的例子中,变量被限制为一组整数值。对于此类问题,相邻值之间存在一种关系。一般而言,整数中存在一种隐式排序:差异较大的整数被认为是相距较远的整数。
虽然整数问题是离散问题的子集,但也有其他类型的问题。例如,在贝叶斯推理中,目标是找到一个能很好解释一组观察结果的状态集。在这里,相邻状态之间可能不存在直接关系或梯度。例如,假设状态集是悲伤、恐惧、愤怒、喜悦和厌恶的情绪。虽然在优化过程中这些状态可以用整数表示,但这种编码的值之间没有真正的有序关系。我们把这类问题称为分类优化问题。
注意:这里的顺序关系就是数学中的大小关系。
粒子群优化是一种相对简单的搜索算法,适用于各种各样的优化问题。然而,原始PSO算法无法处理离散问题,如上述问题,因为其速度更新需要连续的解值。目前,虽然离散的定义在应用程序和算法之间有很大差异, 但是PSO算法的几个变体允许离散值。本文正式给出离散问题的定义,并针对这问题提出了一种新的粒子群优化算法,称为整数和分类粒子群优化算法(ICPSO)。然后将ICPSO与文献中提出的其他离散PSO变体进行比较。
ICPSO算法的目标是保持对连续PSO的扩展尽可能简单,并保留大部分原始语义,同时解决其他离散PSO算法的一些潜在缺陷。为了实现这一点,我们改变粒子位置的表示形式,以便粒子的每个属性都是其可能值的分布,而不是值本身。这类似于分布估计算法(EDA),其中使用一组拟合个体生成分布向量,然后生成拟合解。ICPSO与EDAs的不同之处在于,该算法具有多个分布向量,这些分布向量使用PSO更新公式进行更新。
对于ICPSO,评价粒子变为从这些分布中抽取候选解并计算其适应度的任务。ICPSO还允许使用原始PSO更新公式,避免了可能解值的隐式排序相关的问题。另外,每当产生一个全局最优样本时,ICPSO会修改全局最优解和局部最优解的分布。这使得分布偏向于产生的最优样本,同时仍然允许搜索空间的探索。
传统PSO算法
--后续补充
A New Discrete Particle Swarm Optimization Algorithm的更多相关文章
- 【智能算法】粒子群算法(Particle Swarm Optimization)超详细解析+入门代码实例讲解
喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号[程序猿声] 01 算法起源 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由E ...
- 粒子群优化算法(Particle Swarm Optimization)
粒子群算法的思想源于对鸟/鱼群捕食行为的研究,模拟鸟集群飞行觅食的行为,鸟之间通过集体的协作使群体达到最优目的,是一种基于Swarm Intelligence的优化方法.它没有遗传算法的"交 ...
- A novel multi-swarm particle swarm optimization with dynamic learning strategy(一种新颖的具有动态学习策略的多种群粒子群优化算法)
1.核心 在每个子种群的粒子被划分为普通粒子(ordinary particles)和交流粒子(communication particles),在每次迭代过程中,不同的粒子执行不同的进化操作.普通粒 ...
- 粒子群算法 Particle Swarm Optimization, PSO(转贴收藏)
粒子群算法(1)----粒子群算法简介 http://blog.csdn.net/niuyongjie/article/details/1569671 粒子群算法(2)----标准的粒子群算法 htt ...
- Jordan Lecture Note-8: The Sequential Minimal Optimization Algorithm (SMO).
The Sequential Minimal Optimization Algorithm (SMO) 本文主要介绍用于解决SVM对偶模型的算法,它于1998年由John Platt在论文“Seque ...
- 从Random Walk谈到Bacterial foraging optimization algorithm(BFOA),再谈到Ramdom Walk Graph Segmentation图分割算法
1. 从细菌的趋化性谈起 0x1:物质化学浓度梯度 类似于概率分布中概率密度的概念.在溶液中存在不同的浓度区域. 如放一颗糖在水盆里,糖慢慢溶于水,糖附近的水含糖量比远离糖的水含糖量要高,也就是糖附近 ...
- RaPC(rasterized polygon clipper): A discrete grid-based polygon clipping algorithm
RaPC(rasterized polygon clipper)-A discrete grid-based polygon clipping algorithm This algorithm is ...
- A Modified Particle Swarm Optimizer
A Modified Particle Swarm Optimizer 一种改进的粒子群优化算法 Yuhui Shi and Russell Eberhart 1998 摘要: 本文在原有的粒 ...
- Adam Optimization Algorithm
曾经多次看到别人说起,在选择Optimizer的时候默认就选Adam.这样的建议其实比较尴尬,如果有一点科学精神的人,其实就会想问为什么,并搞懂这一切,这也是我开这个Optimizer系列的原因之一. ...
随机推荐
- [atAGC052B]Tree Edges XOR
定义两点的距离$d(x,y)$为$x$到$y$路径上边权异或和,则两棵树相同当且仅当$\forall 1\le i\le n$,$d(1,i)$相同 新建一个节点0,连边$(0,1)$,初始权值为0, ...
- [bzoj5508]甲苯先生的字符串
首先定义状态f[i][j]表示长度为i的串以j为结尾有多少符合条件的串,发现$f[i][j]=\sum f[i-1][k]$(j和k可以相邻),这个用矩阵乘法优化一下即可. 1 #include< ...
- [luogu5665]划分
暴力dp,用f[i][j]表示前i个数,最后一个区间是(j,i]的最小答案,转移方程用可以用前缀和来优化,复杂度为$o(n^3)$(然后可以各种优化到$o(n^2)$,但这不需要)输出f[i][j], ...
- Java培训班4个月有用吗?
很多想学Java都会经历这样一个选择,是自学还是报班?自学的话需要一步步摸索,从无到有硬啃下来,时间没保证:可如果报班的话,目前市面上五花八门的培训机构又是鱼龙混杂,并且现在越来越多的培训机构宣称&q ...
- C语言 fastq文件转换为fasta文件
目前只能处理短序列,若要处理长序列,可按照https://www.cnblogs.com/mmtinfo/p/13036039.html的读取方法. 1 #include <stdio.h> ...
- vc控制台程序关闭事件时的正确处理方式
百度可以找到很多关于这个问题解决的方法 关键控制台API函数:SetConsoleCtrlHandler 在支持C++ 11以上的编译器中,你可以这么做. SetConsoleCtrlHandler( ...
- Demo04分解质因数
package 习题集1;import java.util.Scanner;//将一个正整数分解质因数.例如输入90,打印出90=2*3*3*5public class Demo04 { public ...
- MybatisPlus使用Wrapper实现查询功能
Wrapper---条件查询器 :使用它可以实现很多复杂的查询 几个案例 环境: 参照博客:MybatisPlus入门程序 1.条件查询 1.1 查询name不为空的用户,并且邮箱不为空的用户,年龄大 ...
- MybatisPlus的CRUD及拓展
创建一个简单的MybatisPlus项目在上一篇博客:MybatisPlus入门程序 一.CRUD 1. select 1.1 查找全部用户 //查 @Test public void select( ...
- Linux修改默认挂载NFS协议版本
系统版本:CentOS Linux release 7.4.1708 (Core) $ vi /etc/nfsmount.conf # # /etc/nfsmount.conf - see nfsmo ...