【发布时间】:2016-05-14 02:27:44
【问题描述】:
我有 GA,一个运行几代的for 循环,在这个for 我有while,它正在用新的更好的个体替换旧个体,我该如何并行化呢?我找到了this topic,他们说我应该分成更小的部分,但这部分会是什么?
【问题讨论】:
标签: parallel-processing genetic-algorithm
我有 GA,一个运行几代的for 循环,在这个for 我有while,它正在用新的更好的个体替换旧个体,我该如何并行化呢?我找到了this topic,他们说我应该分成更小的部分,但这部分会是什么?
【问题讨论】:
标签: parallel-processing genetic-algorithm
通常情况下,遗传算法中的绝大多数计算工作都涉及评估群体中每个个体的适应度。通常情况下,每个个体的适应度评估不依赖于当前这一代种群中的任何其他个体。
因此,典型的并行化方法是并行评估一代内多个个体的适应度。
您还可以轻松地在从一代到下一代时并行创建新个体。每个个体都可以选择其父母并与所有其他个体并行执行交叉和变异步骤。
我还会注意到,在许多情况下,您会发现您想要多次运行进化(使用不同的初始条件或不同的参数设置)。当然,您可以只并行运行非并行化的 GA 实例。
【讨论】: