【发布时间】:2017-03-17 02:00:31
【问题描述】:
我有一个想要加速的遗传算法。我认为实现这一目标的最简单方法是通过 pythons 多处理模块。在我的 GA 上运行 cProfile 后,我发现大部分计算时间都发生在评估函数中。
def evaluation():
scores = []
for chromosome in population:
scores.append(costly_function(chromosome))
我将如何并行化此方法?重要的是,所有分数的附加顺序与程序按顺序运行时的顺序相同。
我正在使用 python 2.7
【问题讨论】:
-
使用
multiprocessing.Pool.map。结果将按照您发布的代码中的顺序进行排序。
标签: python-2.7 multiprocessing genetic-algorithm python-multiprocessing