粒子群算法适合解决哪些问题(具体些)?产生的背景是什么?

骑着黄牛来上网2022-10-04 11:39:541条回答

已提交,审核后显示!提交回复

共1条回复
豆泥丸丸 共回答了13个问题 | 采纳率92.3%
传统的多目标优化方法是将多目标问题通过加权求和转化为单目标问题来处理的,而粒子算法主要是解决一些多目标优化问题的(例如机械零件的多目标设计优化),其优点是容易实现,精度高,收敛速度快,你可以参照http://baike.baidu.com/view/1531379.htm,对它产生的背景,原理,数学描述和流程都写的很清楚,当然最主要的还是结合你的优化对象编写程序.
1年前

相关推荐

粒子群算法的改进有哪些?哪种收敛速度快?
xiaozhu06631年前1
samdam 共回答了19个问题 | 采纳率89.5%
粒子群的改进,可以通过修改学习因子和认知因子来改变收敛的效果,另外也可以通过初始化的时候就对粒子进行合理的布局,使得其分布更合理,速度的快慢也是一个相对的东西,针对不同的适应度函数,可以采用不同的优化策略,没有一种完美的优化策略适应任何的适应度函数,有机会一起交流哦
遗传算法、粒子群算法、蚁群算法,各自优缺点和如何混合?
舞伴1年前2
我是风沙 共回答了18个问题 | 采纳率88.9%
遗传算法适合求解离散问题,具备数学理论支持,但是存在着汉明悬崖等问题.
粒子群算法适合求解实数问题,算法简单,计算方便,求解速度快,但是存在着陷入局部最优等问题.
蚁群算法适合在图上搜索路径问题,计算开销会大.
要将三种算法进行混合,就要针对特定问题,然后融合其中的优势,比如将遗传算法中的变异算子加入粒子群中就可以形成基于变异的粒子群算法.
蚁群算法、遗传算法、蜂群算法、粒子群算法和差分进化算法,这五种群智能对比分析
狮子行大运1年前1
yslzjx 共回答了23个问题 | 采纳率95.7%
粒子群算法(PSO)和遗传算法(GA)都是优化算法,都力图在自然特性的基础上模拟个体种群的适应性,它们都采用一定的变换规则通过搜索空间求解.
PSO和GA的相同点:
(1)都属于仿生算法.PSO主要模拟鸟类觅食、人类认知等社会行为而提出;GA主要借用生物进化中“适者生存”的规律.
(2)都属于全局优化方法.两种算法都是在解空间随机产生初始种群,因而算法在全局的解空间进行搜索,且将搜索重点集中在性能高的部分.
(3)都属于随机搜索算法.都是通过随机优化方法更新种群和搜索最优点.PSO中认知项和社会项前都加有随机数;而GA的遗传操作均属随机操作.
(4)都隐含并行性.搜索过程是从问题解的一个集合开始的,而不是从单个个体开始,具有隐含并行搜索特性,从而减小了陷入局部极小的可能性.并且由于这种并行性,易在并行计算机上实现,以提高算法性能和效率.
(5)根据个体的适配信息进行搜索,因此不受函数约束条件的限制,如连续性、可导性等.
(6)对高维复杂问题,往往会遇到早熟收敛和收敛性能差的缺点,都无法保证收敛到最优点.
PSO和GA不同点
(1)PSO有记忆,好的解的知识所有粒子都保存,而GA没有记忆,以前的知识随着种群的改变被破坏.
(2)在GA算法中,染色体之间相互共享信息,所以整个种群的移动是比较均匀地向最优区域移动.PSO中的粒子仅仅通过当前搜索到最优点进行共享信息,所以很大程度上这是一种单项信息共享机制,整个搜索更新过程是跟随当前最优解的过程.在大多数情况下,所有粒子可能比遗传算法中的进化个体以更快速度收敛于最优解.
(3)GA的编码技术和遗传操作比较简单,而PSO相对于GA,不需要编码,没有交叉和变异操作,粒子只是通过内部速度进行更新,因此原理更简单、参数更少、实现更容易.
(4)在收敛性方面,GA己经有了较成熟的收敛性分析方法,并且可对收敛速度进行估计;而PSO这方面的研究还比较薄弱.尽管已经有简化确定性版本的收敛性分析,但将确定性向随机性的转化尚需进一步研究.
(5)在应用方面,PSO算法主要应用于连续问题,包括神经网络训练和函数优化等,而GA除了连续问题之外,还可应用于离散问题,比如TSP问题、货郎担问题、工作车间调度等.
粒子群算法中的D维搜索空间的“维”是什么概念?相当于通常所说的三维空间那种意思吗?
粒子群算法中的D维搜索空间的“维”是什么概念?相当于通常所说的三维空间那种意思吗?
另外:例如pbest表示为向量形式p=(Pi1,Pi2,...,Pid)如何理解?是不是假如是3维空间里的点的坐标?即(x,y,z)?
cosfox1年前1
金色山庄 共回答了19个问题 | 采纳率89.5%
维度可以理解为你的求解空间,即需要几个分量来表示你的解,在数据集上体现为数据的特征个数.如果是3维的点,及需要3个分量表达坐标,既是你提及的.
针对粒子群算法如何判断结果达到全局最优与局部最优
jacy_20061年前1
灭灭0504 共回答了22个问题 | 采纳率86.4%
有个纯数学的可以计算的方法,不过比较难.一般而言都是比较如果达到一定的迭代次数并未改进,则认为达到了局部最优,然后判断下是否接近于全局最优.
粒子群算法为什么要设置个体最优值
粒子群算法为什么要设置个体最优值
如果求函数最优值,直接设置全局最优值,然后通过计算得到的全局最优值不就是要求的函数最优值,那为什么要设置个体最优值?
不枯gg神1年前1
rainday_1181 共回答了13个问题 | 采纳率92.3%
粒子群的个体最优解pbest在位置更新时候需要用,这个相当于一个过程变量,记录单个粒子所经过的最有位置.基本粒子群算法位置更新公式就包含pbest和gbest两个要素.
启发式算法是最优化算法吗?像遗传算法、粒子群算法这一类的可不可以归结到最优化算法里?
yuansy1年前1
一个孩子 共回答了21个问题 | 采纳率81%
启发式算法实际上就是针对具体问题,加入了人的经验的最优求解算法.不同的问题,有不同的启发规则.
遗传算法、粒子群算法这一类算法某种程度上可以归为启发式算法.因不同的问题,实现遗传算法和粒子群算法的方法与途径也会有所区别.
急求有约束的粒子群算法的适应度函数怎么写?
急求有约束的粒子群算法的适应度函数怎么写?
程序片段如下:.p(i,:)=x(i,:); %初始化时把粒子位置设为个体最优位置end%根据两个函数确定最优位置适应度函数Pbest=10^(-5);for i=1:N if fitness(p(i,:),i)
忍生1年前1
就是骂你了 共回答了13个问题 | 采纳率61.5%
function result=fitness(X)sum1=34584;sum2=8451.3;sum3=5672.1; sum1=sum1-X(1)*(443.15-X(2))/(X(3)+443.15-X(4)); sum2=sum2-X(1)*(443.15-X(2))/(X(3)+443.15-X(4)); sum3=sum3-X(1)*(443.15-X(2))/(X(3)+443.15-X(4));endresult=abs(sum1)+abs(sum2)+abs(sum3);就是改成这样试一下,我个人感觉的这样! 查看原帖>>
求采纳
粒子群算法中的第i个粒子的位置适应值Zi的适应值是什么?不太理解适应值是什么?
周星星95271年前1
夜幕下的紫玫瑰a 共回答了22个问题 | 采纳率86.4%
适应值是为了满足某个问题而构造的目标函数中可计算出其适应度值,适应值 fitnessi =f (Xi ),然后根据适应度值的大小衡量 Xi的优劣.
粒子群算法主要用于处理离散问题,离散指什么?
粒子群算法主要用于处理离散问题,离散指什么?
遗传算法主要用于连续问题,这个连续指的又是什么,能举例说明吗?
Maggieyung1年前1
旧哈棵安康 共回答了25个问题 | 采纳率88%
比如说港口海岸线,离散的是指:把海岸线人为地划分为1,2,3号泊位,来泊分散地安排在每个泊位;反之,则是连续的.
粒子群算法中我有100个数据,写成10*10的矩阵,那么它的粒子群的个数是多少?维数是多少?
粒子群算法中我有100个数据,写成10*10的矩阵,那么它的粒子群的个数是多少?维数是多少?
如题
我是tt的1年前2
kuulbrn 共回答了12个问题 | 采纳率75%
粒子数是10个 ,维数为10个