<p>我终于设法解决了这个问题。下面我将描述我使用谷歌服务计算引擎的方法</p>
<p>在我找到解决方案之前,我尝试了两件事:</p>
<ul>
<li>首先,我在运行时方面对代码进行了优化。例如,我删除了一个每月只分配几次的轮班类型,以减少搜索空间。此外,我还删除了个别特定的移位旋转规则和序列长度约束,因为它们会导致运行时的大幅增加</li>
<li>我尝试了“num\u search\u workers”参数的各种设置。请注意,在最新版本的脚本中,此参数不再包含在代码中,必须手动添加</李>
</ul>
<p>然而,这些更改并没有导致所需的运行时间减少。很明显代码很好,但我只是没有足够的计算能力。因此,我考虑了如何在更强大的设备上运行脚本。我开始尝试在Google Colab上运行它,但在这里运行时间甚至比在我自己的设备上还要长</p>
<p>然后我决定在谷歌云服务上试用计算引擎。GCS允许只需单击几下,即可设置一个专用于CPU密集型任务的虚拟机(具有自定义规范)。此外,如果您以前从未使用过该服务,您可以获得300美元的信用卡来租用服务器。如果您注册,默认情况下会分配一个测试帐户,该帐户对VM的规范有一些限制。但是,如果您切换到付费帐户,则信用将添加到您的帐户中,并且限制将取消。通过这种方式,我可以接触到比我的笔记本电脑强大几个数量级的机器</p>
<p>对于那些对使用GCS运行python脚本感兴趣的人,我建议观看以下视频作为介绍:</p>
<ul>
<li><a href="https://www.youtube.com/watch?v=JtUIQz_EkUw" rel="nofollow noreferrer">https://www.youtube.com/watch?v=JtUIQz_EkUw</a></li>
</ul>
<p>此外,谷歌还介绍了如何在本代码库中使用虚拟机:</p>
<ul>
<li><a href="https://codelabs.developers.google.com/codelabs/cloud-compute-engine#0" rel="nofollow noreferrer">https://codelabs.developers.google.com/codelabs/cloud-compute-engine#0</a></li>
</ul>
<p>这些视频介绍了如何在Debian操作系统上设置python:</p>
<ul>
<li><a href="https://www.youtube.com/watch?v=5OL7fu2R4M8&t=194s" rel="nofollow noreferrer">https://www.youtube.com/watch?v=5OL7fu2R4M8&t=194s</a></li>
<li><a href="https://www.youtube.com/watch?v=nMY0qDg16y4&t=143s" rel="nofollow noreferrer">https://www.youtube.com/watch?v=nMY0qDg16y4&t=143s</a></li>
</ul>
<p>如果您正在设置Python,请不要忘记创建一个虚拟环境来安装软件包和运行脚本:</p>
<ul>
<li><a href="https://www.youtube.com/watch?v=N5vscPTWKOk&t=445s" rel="nofollow noreferrer">https://www.youtube.com/watch?v=N5vscPTWKOk&t=445s</a></li>
</ul>
<p>一旦我了解了如何在虚拟机上运行脚本,我就尝试了虚拟机配置/num搜索工作者设置。不要忘记,如果使用多核处理器,可以增加搜索工作者的数量,从而降低运行时间</p>
<p>我注意到8核(30GB RAM)计算专用系统(在“试用帐户”中提供)在运行时间上比我的笔记本电脑快20-30倍。然而,我决定使用更强大的虚拟机。使用30核设置(130 GB RAM),脚本在20秒内运行完成,而不是48小时</p>