三种混合粒子群算法比较
- 格式:pdf
- 大小:274.65 KB
- 文档页数:4
混合粒子群算法:基于自然选择的算法混合粒子群算法指的是借鉴其他一些智能优化算法的思想而形成的粒子群算法。
除了粒子群算法外,还有遗传算法、模拟退火算法以及神经网络等智能算法,这些算法是目前应用比较广泛的智能算法,每种智能算法都有其特点,因此自然而然就有结合各种智能算法的优点而形成的混合智能算法。
1. 算法原理将自然选择机理与粒子群算法结合得到基于有选择的粒子群算法,其基本思想为每次迭代过程中将整个粒子群按适应值排序,用群体中最好的一半的粒子的速度和位置替换最差的一半的位置和速度,同时保留原来每个个体所有记忆的历史最优值。
2. 算法步骤基于自然选择的粒子群算法的基本步骤如下:(1) 随机初始化种群中各微粒的位置和速度;(2) 评价每个微粒的适应度,将当前各微子的位置和适应值存储在各微子的pbest 中,将所有的pbest 中适应最优个体的位置和适应值存储在gbest 中;(3) 更新每个微粒的速度和位置;(4) 对每个微粒,将其适应值与其经历过的最好位置作比较,如果较好,则将其作为当前的最好位置;(5) 比较当前所有pbest 和gbest 的值,更新gbest ;(6) 将整个粒子群按适应值排序,用群体中做好的一半的粒子的速度和位置替换最差的一半的位置和速度,保持pbest 和gbest 不变;(7) 若满足停止条件(通常为预设的运算精度或迭代次数),搜索停止,输出结果,否则返回(3)继续搜索。
3. 算法的MATLAB 实现在MATLAB 中编程实现基于自然选择的粒子群算法优化函数为:SelPSO 。
功能:用基于自然选择的粒子群算法求解无约束优化问题。
调用格式:12[,](,,,,,,)xm fv SelPSO fitness N c c w M D其中,fitness :待优化的目标函数;N :粒子数目;1c :学习因子1;2c :学习因子2;w :惯性权重;M :最大迭代次数;D:自变量的个数;xm:目标函数取最小值时的自变量值;fv:目标函数的最小值。
布谷鸟粒子群混合算法杨小东;牛俊英;蔡泽凡【摘要】布谷鸟搜索算法和粒子群优化算法都属于仿生优化群算法,它们的原理简单、实现方便,在诸多领域得到应用.虽然这两种算法优点明显,但是它们在全局搜索能力、收敛速度等方面存在不同程度的不足,当它们应用于复杂优化问题时,需要采用改进措施来提升其性能.把布谷鸟搜索算法和粒子群优化算法进行混合,在两种算法平行进化的基础上引入共享机制,使两种算法优点互补.仿真证明,混合算法提升了算法的全局搜索能力和收敛速度,适应性更强,可以应用于复杂的优化问题.【期刊名称】《顺德职业技术学院学报》【年(卷),期】2018(016)003【总页数】7页(P10-16)【关键词】布谷鸟搜索算法;粒子群优化算法;混合算法;混沌【作者】杨小东;牛俊英;蔡泽凡【作者单位】顺德职业技术学院电子与信息工程学院,广东佛山 528333;顺德职业技术学院电子与信息工程学院,广东佛山 528333;顺德职业技术学院电子与信息工程学院,广东佛山 528333【正文语种】中文【中图分类】TP183布谷鸟搜索算法[1-5](Cuckoo Search Algorithm,CS)是一种启发式算法,灵感来自于布谷鸟寄生哺育幼雏的行为,同时结合鸟类和果蝇的Le'vy fight行为,它由剑桥大学的Xin-She Yang和C.V.Roman工程学院的Suash Deb于2009年共同开发。
粒子群优化算法[6-8](Particle Swarm Optimiztion,PSO)是模仿鸟群觅食行为的一种群体智能算法,该算法1995年由美国学者 J.Kennedy和R.C.Eberhart提出。
PSO算法包括一个速度更新方程和一个位置更新方程,需要调整的参数较少,程序容易实现。
不管是CS还是PSO,得益于它们的简单性和有效性,它们从诞生之日起就引起了广泛关注,并掀起了研究热潮,在诸多领域得到了成功的应用[7-18]。
混合粒子群算法 python混合粒子群算法(Hybrid Particle Swarm Optimization,简称HPSO)是一种基于群体智能技术的优化算法,主要应用于非线性函数优化问题。
它将粒子群算法和其他优化算法进行融合,具有高效、准确和稳定等优点,被广泛应用于实际问题的求解。
首先介绍一下粒子群算法(Particle Swarm Optimization,简称PSO)。
它是一种迭代式优化算法,受到鸟群捕食行为的启发,通过模拟粒子在搜索空间中的移动,寻找最优解。
在迭代过程中,粒子会根据个体最好位置和全局最优位置进行更新,以此不断逼近最优解。
粒子群算法具有简单易懂、易于实现等优点,被广泛应用于目标优化和参数寻优等问题。
然而,粒子群算法也存在着一些缺点,如易陷入局部最优解、收敛速度慢等。
为了克服这些缺点,研究者们提出了混合粒子群算法。
它将粒子群算法和其他优化算法进行融合,以期进一步提高求解效率和准确性。
常见的混合算法有PSO与遗传算法、PSO与模拟退火算法、PSO与蚁群算法等。
那么,HPSO是如何进行混合的呢?首先,HPSO会利用粒子群算法进行初步搜索,从而得到一个较为优秀的解或解集。
基于这个解或解集,引入其他优化算法进行进一步优化。
初始的粒子群算法可以通过调整初始参数、增加粒子数量等手段进一步提高搜索效率。
HPSO具有许多优点,比如可以克服单一优化算法固有的缺陷、充分利用各算法的优势、减少求解时间等。
同时,HPSO也有一些缺点,比如算法复杂度较高、优化难度较大等。
在python中,HPSO的实现可以借助现有的优化库,例如PySwarm、Optunity等。
通过调用相应的函数和参数,就可以进行HPSO的求解工作。
总之,混合粒子群算法是一个高效、准确和稳定的优化算法,在实际问题的求解中具有广泛的应用前景。
遗传粒子群优化算法混合遗传算法(Genetic Algorithm,GA)和粒子群优化算法(Particle Swarm Optimization,PSO)是两种常见的进化优化算法,它们各自有着优点和不足。
为了充分发挥它们的优势并弥补其不足之处,研究者们对这两种算法进行了混合。
本文将详细介绍遗传粒子群优化算法混合的相关内容。
首先,我们来了解一下遗传算法和粒子群优化算法的原理和特点。
遗传算法是一种模拟生物进化过程的优化算法,其基本思想是通过生物进化中的遗传、变异和选择等算子来最优解。
遗传算法通常由编码、适应度评价、选择、交叉和变异等步骤组成。
编码将待优化问题的解表示为染色体,适应度评价函数用于度量染色体的优劣,选择算子根据适应度选择个体进行繁殖,交叉算子和变异算子模拟生物的遗传和变异操作。
粒子群优化算法是一种模拟鸟群觅食行为的优化算法,其基本思想是通过多个粒子在解空间中的和迭代来找到最优解。
每个粒子都有自己的位置和速度,通过更新速度和位置来不断调整方向和距离。
粒子群优化算法主要包括初始化粒子群、更新速度和位置、更新最优个体和全局最优个体等步骤。
遗传粒子群优化算法混合的基本思想是将粒子群优化算法的能力和遗传算法的全局优化能力结合起来,形成一种新的混合优化算法。
具体来说,在遗传算法的基础上引入粒子群优化算法的思想和操作,使得算法能够更好地在空间中寻找到全局最优解。
将遗传算法和粒子群优化算法进行混合有以下几种常见的方式:1.遗传算法与粒子群优化算法交替使用:先使用遗传算法进行初始化种群和进行交叉变异操作,然后再使用粒子群优化算法进行和更新操作。
通过交替使用这两种算法,可以综合利用它们的优点,提高算法的效率和精度。
2.遗传算子和粒子群优化算法算子的融合:将遗传算法和粒子群优化算法的算子进行融合,形成一种新的算子。
例如,可以将遗传算法的交叉操作与粒子群优化算法的速度更新操作相结合,形成一种新的交叉操作方式;或者将遗传算法的变异操作与粒子群优化算法的位置更新操作相结合,形成一种新的变异操作方式。
遗传算法,粒子群算法和蚁群算法的异同点
遗传算法、粒子群算法和蚁群算法是三种不同的优化算法,它们的异同点如下:
1. 原理不同:
遗传算法是一种模拟自然进化过程的优化算法,主要利用遗传和交叉等运算来产生下一代候选解,通过适应度函数来评价每个候选解的好坏,最终选出最优解。
粒子群算法基于对群体智能的理解和研究,模拟了鸟群或鱼群等动物群体的行为,将每个解看作一个粒子,粒子通过跟踪历史最佳解的方式来更新自己的位置与速度,直到达到最佳解。
蚁群算法是基于模拟蚂蚁在食物和家之间寻找最短路径的行为,将每个解看作一只蚂蚁,通过随机选择路径并留下信息素来搜索最优解。
2. 适用场景不同:
遗传算法适用于具有较大搜索空间、多个可行解且无法枚举的问题,如旅行商问题、无序机器调度问题等。
粒子群算法适用于具有连续参数、寻求全局最优解的问题,如函数优化、神经网络训练等。
蚁群算法适用于具有连续、离散或混合型参数的优化问题,如
路径规划、图像分割等。
3. 参数设置不同:
遗传算法的参数包括个体数、交叉概率、变异概率等。
粒子群算法的参数包括粒子数、权重因子、学习因子等。
蚁群算法的参数包括蚂蚁数量、信息素挥发率、信息素初始值等。
4. 收敛速度不同:
遗传算法需要较多的迭代次数才能得到较优解,但一旦找到最优解,一般能够较好地保持其稳定性,不太容易陷入局部最优。
粒子群算法的收敛速度较快,但对参数设置较为敏感,可能会陷入局部最优。
蚁群算法的收敛速度中等,能够较好地避免局部最优,但也容易出现算法早熟和陷入局部最优的情况。
混合粒子群算法
混合粒子群算法(Mixed Particle Swarm Optimization,MPSO)是一种基于粒子群优化算法和遗传算法的混合模型。
它采用了粒子群优化算法中的速度和位置更新策略,并结合遗传算法的交叉和变异操作来提高算法的搜索能力和收敛速度。
MPSO算法的基本步骤包括:
1. 初始化算法参数,包括粒子群大小、遗传算法参数等;
2. 随机生成初始粒子群,并初始化粒子的位置和速度;
3. 根据粒子的位置和适应度函数计算粒子的适应度值;
4. 根据适应度值更新全局最优解和个体最优解;
5. 根据全局最优解和个体最优解,更新粒子的速度和位置;
6. 针对当前粒子群的一部分个体,采用遗传算法的交叉和变异操作进行优化;
7. 判断停止条件是否满足,若满足则输出当前最优解,否则返回步骤3。
MPSO算法相较于传统粒子群算法具有更强的全局搜索能力和局部搜索能力,适用于复杂多峰函数的优化问题。
解决约束三维装箱问题的混合粒子群算法装箱问题在现实生活中具有广泛的应用背景,如在实际工程优化问题中集装箱货物装载、内存调度分配,金属制造业下料问题等。
随着物流业的发展,在物流作业中,三维装箱问题更是得到了大量研究。
Falkenauer提出的HGGAf法用于解决装箱问题优化[1] ,将每个待装物品所装入的箱子编号,编码为染色体,交叉算子采用贪婪分割交叉算子改进,优化质量较高;何大勇,查建中等采用遗传算法对复杂集装箱装载问题求解,对其进入了深入的方法研究与探索[2] ;吴斐等在集装箱布局问题中进行了基于启发式结果的模拟退火算法的研究与应用[3] 。
显然,由于装箱问题复杂性高,各种约束条件限制,考虑组合优化层面自然很多,是典型的NP-Hard 问题[4] 。
随着装箱组合优化研究的进行,各种启发式算法配合遗传算法、模拟退火算法的设计不断涌现。
而配合采用混合粒子群算法的研究却少之又少。
遗传算法和粒子群算法都是解决全局搜索寻优的算法,但局部搜索能力不足。
因此现实装箱中多约束条件下,配合采用启发式算法解决局部搜索效率有所提高。
此外,采用粒子群算法过程中改进权重来增加局部搜索能力。
本文采用自适应权重结合BF 算法的混合粒子群算法进行研究,通过仿真试验,探索混合粒子群算法相比基本遗传算法解决多约束条件下三维装箱效率问题。
1 问题描述与约束定义多种货物三维装箱问题描述为:给定k个宽为W长为L,高为H,最大承载质量为M的箱体和n种不同类的货物al, a2, ... ,an,第i (i=1,2,.. ,n)种货物参数宽为w,长为l,高为h,质量为m满足约束条件下,集装箱装载要达到的目标为:最大化体积装载率,以提高集装箱利用率,获得最佳的效益。
最大化目标函数为:其中,该算法考虑的集装箱装载约束定义有:(1)最基本的约束:空间约束,被放入的任何货物边界不能超出长宽高限制的范围;(2)载重能力约束,对于每个箱体加一个载重能力的标识Sign 用以记录容器的最大承重重量;(3)物品方向约束,货物摆放可以以六个面中的任意一个面最为底面。
1.介绍:粒子群算法(Particle Swarm Optimization, PSO)最早是由Eberhart 和Kennedy于1995年提出,它的基本概念源于对鸟群觅食行为的研究。
设想这样一个场景:一群鸟在随机搜寻食物,在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但是它们知道当前的位置离食物还有多远。
那么找到食物的最优策略是什么呢?最简单有效的就是搜寻目前离食物最近的鸟的周围区域。
经过实践证明:全局版本的粒子群算法收敛速度快,但是容易陷入局部最优。
局部版本的粒子群算法收敛速度慢,但是很难陷入局部最优。
现在的粒子群算法大都在收敛速度与摆脱局部最优这两个方面下功夫。
其实这两个方面是矛盾的。
看如何更好的折中了。
粒子群算法主要分为4个大的分支:(1)标准粒子群算法的变形在这个分支中,主要是对标准粒子群算法的惯性因子、收敛因子(约束因子)、“认知”部分的c1,“社会”部分的c2进行变化与调节,希望获得好的效果。
惯性因子的原始版本是保持不变的,后来有人提出随着算法迭代的进行,惯性因子需要逐渐减小的思想。
算法开始阶段,大的惯性因子可以是算法不容易陷入局部最优,到算法的后期,小的惯性因子可以使收敛速度加快,使收敛更加平稳,不至于出现振荡现象。
经过本人测试,动态的减小惯性因子w,的确可以使算法更加稳定,效果比较好。
但是递减惯性因子采用什么样的方法呢?人们首先想到的是线型递减,这种策略的确很好,但是是不是最优的呢?于是有人对递减的策略作了研究,研究结果指出:线型函数的递减优于凸函数的递减策略,但是凹函数的递减策略又优于线型的递减,经过本人测试,实验结果基本符合这个结论,但是效果不是很明显。
对于收敛因子,经过证明如果收敛因子取0.729,可以确保算法的收敛,但是不能保证算法收敛到全局最优,经过本人测试,取收敛因子为0.729效果较好。
对于社会与认知的系数c2,c1也有人提出:c1先大后小,而c2先小后大的思想,因为在算法运行初期,每个鸟要有大的自己的认知部分而又比较小的社会部分,这个与我们自己一群人找东西的情形比较接近,因为在我们找东西的初期,我们基本依靠自己的知识取寻找,而后来,我们积累的经验越来越丰富,于是大家开始逐渐达成共识(社会知识),这样我们就开始依靠社会知识来寻找东西了。
混合粒子群优化算法分析随着信息技术的飞速发展,人们对于智能化技术的需求越来越高。
而优化算法作为人工智能领域里的一种重要技术,已经广泛地应用于各自领域。
混合粒子群优化算法(Hybrid Particle Swarm Optimization, HPSO)作为一种基于粒子群优化算法和其他进化算法的算法,近年来在各领域都有了广泛的应用。
该算法的优势在于能够克服其他优化算法的缺点,在各种应用场景中都有着很好的效果。
下面将从算法的原理、步骤、优缺点等方面进行分析。
1.算法原理混合粒子群优化算法将粒子群优化算法的搜索策略与其他进化算法的优势相结合,采用了一种多样化的优化策略。
该算法的主要思路是建立一个由多个子群构成的总群体,每个子群使用不同的优化算法进行搜索,每次迭代通过一定的策略更新子群的分配,并结合每个子群的信息来更新全局最优解。
这样能够在一定程度上避免当前搜索仅局限于某些局部最优解的情况,进一步提升算法的性能。
2.算法步骤混合粒子群优化算法的步骤大致可以分为以下三步:(1)初始化:定义问题的搜索空间,初始化所有粒子的位置及速度,并求出每个粒子的适应度值。
(2)迭代搜索:按照混合策略将所有粒子分配到不同的子群中,每个子群使用不同的进化算法进行搜索,通过选择操作策略将粒子的信息结合并更新群体的全局最优解。
(3)终止条件:当满足一定的终止条件时停止迭代搜索,并输出最优解。
3.算法优缺点(1)优点①综合了多种进化算法的优势,克服了单一算法的短板。
②通过分配多个子群进行搜索,有效克服了过早陷入局部最优解的问题。
③能够自适应地调整群体的拓扑结构,有较好的适应度计算方式。
(2)缺点①算法过于复杂,运算量较大。
②算法原理及实现过程较为繁琐,需要一定的数学和编程基础。
③算法的建模及参数调整需要一定的经验和专业知识。
4.应用领域混合粒子群优化算法在各个领域中都有很好的应用,如:航天、金融、交通、医学、环境等方面。
在跨领域合作中也有很大的价值,极大地促进了学科之间的交叉融合和技术创新。
结合遗传算法的混合粒子群优化算法混合粒子群优化算法是一种基于群体智能的优化算法,它模拟鸟群觅食的行为,将问题的解空间看作搜索空间中某个点,并通过不断迭代更新粒子的位置和速度,从而寻找最优解。
然而,传统的粒子群优化算法在应对复杂的优化问题时往往收敛速度较慢,易陷入局部最优解。
为解决这一问题,结合遗传算法的混合粒子群优化算法应运而生。
混合粒子群优化算法首先采用粒子群优化算法进行初步搜索,通过更新粒子的位置和速度来寻找解空间中的最优解。
然后,在搜索过程中引入遗传算子,通过选择、交叉和变异等遗传操作,对个体进行优胜劣汰的筛选和更新。
通过粒子群优化和遗传算法的互补作用,进一步改进搜索算法的收敛速度和全局搜索能力,提高解的质量。
混合粒子群优化算法的基本流程如下:1. 初始化粒子群的位置和速度。
设定适当的参数,包括群体规模、迭代次数、惯性权重等。
2. 计算每个粒子的适应度值。
根据问题的特定评价函数,评估每个粒子的解的质量。
3. 更新粒子的速度和位置。
根据粒子群优化算法的更新规则,通过考虑个体经验和群体经验,更新个体的速度和位置。
4. 判断终止条件。
当达到预设的迭代次数或满足精度要求时,停止算法并输出最优解。
5. 引入遗传算子。
在每次迭代中,根据个体的评价结果,选择优秀的个体作为父代,通过交叉和变异等遗传操作,生成新的子代。
6. 与粒子群优化算法的更新过程相结合。
将新的子代与原有的粒子进行比较,并根据适应度值选择更优的个体作为下一代的粒子。
通过不断地迭代更新粒子的速度和位置,同时引入遗传算子进行优胜劣汰,混合粒子群优化算法能够在解决复杂优化问题时实现较好的搜索效果。
混合粒子群优化算法具有以下优点:1. 充分利用了粒子群优化算法和遗传算法的优势,相互之间进行信息交流和合作,提高了算法的搜索能力和全局收敛性。
2. 通过引入遗传算子,增加了算法的多样性和搜索空间的广度,避免了陷入局部最优解的困境。
3. 算法参数的选择相对较少,便于调整和优化,能够适应不同的问题求解需求。
粒子群蚁群混合算法
粒子群蚁群混合算法是一种优化算法,将粒子群算法和蚁群算法相结合,利用它们各自的优点进行优化。
该算法通常用于解决复杂的优化问题,如多目标优化、非线性优化等。
在粒子群蚁群混合算法中,粒子群算法模拟了一群鸟或昆虫在搜索环境中的行为,通过粒子的位置和速度来探索解空间。
而蚁群算法则模拟了蚂蚁在寻找食物时的行为,通过蚂蚁遗留的信息素来引导搜索过程。
粒子群蚁群混合算法中,粒子群算法的速度和位置更新公式如下: $$v_i^{t+1} = wv_i^t + c_1r_1(pbest_i - x_i^t) +
c_2r_2(gbest - x_i^t)$$
$$x_i^{t+1} = x_i^t + v_i^{t+1}$$
其中,$v_i^t$表示粒子$i$在$t$时刻的速度,$x_i$表示粒子
$i$在$t$时刻的位置,$pbest_i$表示粒子$i$的个体最优解,$gbest$表示全局最优解,$w$是惯性因子,$c_1$和$c_2$是学习因子,$r_1$和$r_2$是随机数。
蚁群算法则通过信息素的更新和挥发来实现搜索过程,信息素更新公式如下:
$$tau_{ij}^{t+1} = (1-rho)tau_{ij}^t + Deltatau_{ij}^t$$ 其中,$tau_{ij}$表示从节点$i$到节点$j$的信息素浓度,$rho$是信息素挥发系数,$Deltatau_{ij}$是信息素增量。
粒子群蚁群混合算法中,将粒子群算法和蚁群算法的更新公式相
结合,实现了更加高效的搜索过程。
该算法的应用范围广泛,可用于机器学习、神经网络等领域的优化问题。
粒子群算法的各种变体算法全文共四篇示例,供读者参考第一篇示例:粒子群算法(Particle Swarm Optimization,PSO)是一种优化算法,源于对鸟群和鱼群等生物群体行为的模拟。
通过模拟个体在搜索空间中的飞行和群体协作,PSO算法能够有效地解决各种优化问题。
PSO算法的基本原理是将每个个体看作是一个粒子,这些粒子在搜索空间中移动,通过互相沟通和协作来寻找最优解。
每个粒子都有自己的位置和速度,在每一次迭代中,根据自身的经验和全局最优解来更新自己的位置和速度,最终收敛到最优解。
在PSO算法的基础上,研究者们提出了各种变体算法,通过对算法的改进和优化,使其在不同的优化问题中表现更好。
下面将介绍几种常见的粒子群算法的变体:1. Multi-Objective Particle Swarm Optimization(MOPSO)多目标粒子群算法是基于PSO算法的一种技术,主要应用于解决多目标优化问题。
在传统的PSO算法中,只有一个优化目标,而在MOPSO算法中,可以同时优化多个目标。
通过引入Pareto前沿等概念,MOPSO算法能够找到一组解决方案,这些解决方案在不同目标下都是最优的,称为非劣解。
混合粒子群算法是将PSO算法与其他优化算法相结合的一种方法,旨在克服各自算法的缺点,发挥各自算法的优势。
常见的混合方法包括将PSO算法与遗传算法、模拟退火算法、蚁群算法等结合起来,形成一个更为有效的优化算法。
量子行为粒子群算法是通过模拟量子力学中的一些基本原理,对传统PSO算法进行改进的一种算法。
QPSO算法引入了量子演化的概念,使得粒子在搜索空间中的行为更为多样化和灵活,能够更好地避免陷入局部最优解。
模糊粒子群算法是将模糊逻辑引入到PSO算法中的一种变体算法。
通过模糊逻辑的模糊隶属度函数,可以更好地描述粒子在搜索空间中的状态和行为,从而提高了算法的搜索效率和鲁棒性。
除了以上几种常见的粒子群算法的变体,还有许多其他的改进和优化方法,如混沌粒子群算法、蜂群粒子群算法、自适应粒子群算法等。
混合三群粒子群优化算法求解min-max-min问题
韦鹏;曹德欣
【期刊名称】《计算机工程与应用》
【年(卷),期】2010(046)035
【摘要】针对标准粒子群算法求解复杂优化问题时客易出现过早收数的问题,提出了混合三群协同粒子群算法(HTSPSO),将粒子群分为3个协同优化的子群,保持迭代后期粒子群的多样性.在4个经典测试函数上的仿真实脸表明,新算法校传统PSO 算法收数更快,精度更高.将粒子群算法应用于求解一类min-max-min问题,并给出了数值算例.
【总页数】4页(P219-221,230)
【作者】韦鹏;曹德欣
【作者单位】中国矿业大学理学院,江苏,徐州,221008;中国矿业大学理学院,江苏,徐州,221008
【正文语种】中文
【中图分类】TP39
【相关文献】
1.求解双向无等待混合流水车间调度问题的粒子群优化算法 [J], 张其亮;陈永生
2.自适应混合粒子群优化算法求解大规模旅行商问题 [J], 张江维
3.求解旅行商问题的混合粒子群优化算法 [J], 沈继红;王侃
4.混合粒子群优化算法求解模糊柔性作业车间调度问题 [J], 蔡敏;王艳;纪志成
5.基于协同进化的混合变量多目标粒子群优化算法求解无人机协同多任务分配问题[J], 王峰;张衡;韩孟臣;邢立宁
因版权原因,仅展示原文概要,查看原文内容请购买。
主程序:%------基本粒子群优化算法(Particle Swarm Optimization)----------- %------名称:混合粒子群优化算法(基于杂交的算法)%------作用:求解优化问题%------说明:全局性,并行性,高效的群体智能算法%------初始格式化-------------------------------------------------- clear all;clc;format long;%------给定初始化条件----------------------------------------------c1=2; %学习因子1%c1=3;%c2=2;Pc=0.9;Sp=0.2;c2=2; %学习因子2w=0.7; %惯性权重%MaxDT=500;MaxDT=10000; %最大迭代次数D=5; %搜索空间维数(未知数个数)N=40; %初始化群体个体数目%eps=10^(-6); %设置精度(在已知最小值时候用)%------初始化种群的个体(可以在这里限定位置和速度的范围)------------fori=1:Nfor j=1:Dx(i,j)=randn; %随机初始化位置v(i,j)=randn; %随机初始化速度endend%------先计算各个粒子的适应度,并初始化Pi和Pg----------------------figure(3)fori=1:NP(i)=fitness2(x(i,:));y(i,:)=x(i,:);endPg=x(N,:); %Pg为全局最优fori=1:(N-1)if fitness2(x(i,:))<fitness2(Pg)Pg=x(i,:);endend%------进入主要循环,按照公式依次迭代,直到满足精度要求------------for t=1:MaxDTfori=1:Nv(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(Pg-x(i,:));x(i,:)=x(i,:)+v(i,:);if fitness2(x(i,:))<P(i)P(i)=fitness2(x(i,:));y(i,:)=x(i,:);endif P(i)<fitness2(Pg)Pg=y(i,:);endr1=rand();if r1<Pc %杂交概率numPool=round(Sp*N); %杂交池大小PoolX=x(1:numPool,:); %杂交池中粒子的位置PoolVX=v(1:numPool,:); %杂交池中粒子的速度fori=1:numPoolseed1=floor(rand()*(numPool-1))+1;seed2=floor(rand()*(numPool-1))+1;pb=rand();childx1(i,:)=pb*PoolX(seed1,:)+(1-pb)*PoolX(seed2,:); %子代的位置计算childv1(i,:)=(PoolVX(seed1,:)+PoolVX(seed2,:))*norm(PoolVX(seed1,:))/norm(PoolVX(seed1,:)+Po olVX(seed2,:));endx(1:numPool,:)=childx1; %子代位置替换父代位置v(1:numPool,:)=childv1; %子代速度替换父代速度endPbest(t)=fitness2(Pg);endendplot(Pbest)TempStr=sprintf('c1= %g ,c2=%g',c1,c2);title(TempStr);xlabel('迭代次数');ylabel('适应度值');%------最后给出计算结果disp('*************************************************************')disp('函数的全局最优位置为:')Solution=Pgdisp('最后得到的优化极值为:')Result=fitness2(Pg)disp('*************************************************************')。