我在 Matlab 中编写了一个并行遗传算法,特别是双物种遗传算法 (DSGA)(更多信息可以在本文中找到),我在并行化部分代码时遇到了一些麻烦。
现在我是物理和数学专业的学生,我刚刚开始编程以帮助我的研究项目。我已经在 Matlab 中实现了一个带有某种并行适应度函数的串行遗传算法,但我对实现这个双物种遗传算法很感兴趣。
好的,问题是:我如何运行 2 个不同的 for 循环,这些循环在不同的 matlab 工作人员上做不同的事情?2 个 for 循环将有不同的数据和不同的代码,但我需要它们同时运行。我认为我不能为此使用 parfor 循环。在阅读了并行工具箱的文档后,看起来使用单程序多数据 (spmd) 功能可能是一种选择?我不确定它的最佳选择是否真的有效。
任何意见,将不胜感激。
谢谢。