PSO的MapReduce版

Posted y-c-m520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PSO的MapReduce版相关的知识,希望对你有一定的参考价值。

基于上一次运行成功查看输出文件没有结果的经历,这一次仔细理解了pso的MapReduce代码,发现自己之前的输入数据并不符合代码要求的格式,于是加以修改了。

根据此代码,输入数据应该是如下字段:

粒子编号、位置向量1、粒子速度1、个人最优位置1、全局最优位置1、位置向量2、粒子速度2、个人最优位置2、全局最优位置2、个人最优值、全局最优值

 注意:这里由于代码中维度设为2,,所以位置向量、粒子速度、个人最优位置、全局最优位置都不是单纯的标量,而是要用二维形式表示,如位置向量position要用(x1,x2)来表示。

  因此,上面的如“位置向量1”后面的1仅仅代表位置向量的第1维度值而已。

  不难理解,若种群所处空间维度为n,位置向量position就得用(x1,x2,...,xn)来表示,其他三者也是一样的。

 个人最优值和全局最优值是根据适应度函数计算得出,设为标量。

另外,我了解到,种群维度的选择其实是与目标适应度函数的维度相关联的。代码中用到的是Ackley 函数,有关介绍可参考这里https://wenku.baidu.com/view/9e0e6838650e52ea55189870.html

 

技术图片

 

 这个函数的维度就是二维,因而代码中种群所处空间维度设为2。

 

 

技术图片

 技术图片

 技术图片

 技术图片

 技术图片

 技术图片

 技术图片

 

以上是关于PSO的MapReduce版的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop每日一讨论整理版

[vscode]--HTML代码片段(基础版,reactvuejquery)

PSO基于惯性因子和变异因子的PSO粒子群优化仿真

为啥我的 C 代码片段不起作用?简化版可以。为 unsigned long long 传递不带 VA_ARGS 的 args

基于LSSVM和PSO进行信号预测(Matlab代码实现)

故障诊断基于PSO_VMD_MCKD方法的风机轴承微弱故障诊断