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版的主要内容,如果未能解决你的问题,请参考以下文章
[vscode]--HTML代码片段(基础版,reactvuejquery)
为啥我的 C 代码片段不起作用?简化版可以。为 unsigned long long 传递不带 VA_ARGS 的 args