为什么分布式优化?
分布式优化可用于:
- 分布式并发:允许您使用多台机器来解决一个LP或MIP模型。每台机器使用不同的策略来解决同样的问题,希望一个策略将特别有效,比其他人更早完成。
- 分布式MIP:允许你把工作解决单一MIP模型在多个机器。机器将问题数据传递给经理一组工人机器协调整个解决方案的过程。
- 分布式参数调优:如果您正在使用一个Gurobi计算服务器,您可以利用多台机器进行分布式并行优化为了加快寻找有效的参数设置。
分布式并发
随着分布式并发,方法是解决同样的问题在多个机器上同时但有不同的设置。
如果有这种方法特别有用巨大的性能变化。默认情况下,Gurobi将使用不同的随机种子每次运行——这通常产生足够的可变性。您还可以指定其他参数设置如果你有额外的知识。
并发解决独立以来,通信开销可以忽略不计。因此使用一个分布式并发方法不会影响性能。因此,如果你有多余的机器,总有一个好机会,你会得到一些受益于使用分布式并发。额外的好处可能尾添加越来越多的机器,为加速的主要作用(性能变异性)通常是利用一些机器。
分布式MIP
与分布式MIP,解决的方法是将工作一大MIP在多个机器。
MIP在一般情况下,并行性是有益的只在一些情况下,甚至在同一台计算机上。基于我们的丰富经验,我们一般意义上超出8(或者16)线程,加速效果不明显更好。事实上,有时候太多的线程甚至可以有害由于同步的开销。这个意义上也同意Amdahl法则关于理论加速在使用多个处理器。
当分裂多台计算机之间的工作,好处是更难实现,因为通信开销更重要的是由于延迟。通常,这不是有益的使用大量的工人。只要有可能,最好是一个大的机器上执行的优化,而不是许多小国。
然而分布式MIP的方法,适用于生产模型非常大,但相对较浅的树木。这些模型,开放的数量(未知的)节点具有良好的双边界优化变得非常大。
另一方面,如果MIP树搜索是一个“潜水”,并行多没有帮助,因为只有一个线程可以处理一个俯冲,而每个其他线程需要处理自己的潜水。如果MIP本质上是解决后一个潜水到最后直到找到一个最优或非常好的解决方案在一个叶节点,然后使用额外的线程处理额外的潜水不会帮助。
分布式MIP是如何工作的呢?
当解决一个模型使用分布式MIP方法,Gurobi始于“过渡”阶段。
在这个阶段,每个并发分布式工人解决问题。
在某些时候,Gurobi选择“最好”和树,由这些工人。
使用这个搜索树的起点分布式的阶段。从这一点上,不同的机器上各自探索树的不同部分和同步进步。
分布式优化
Gurobi包括一个参数调优工具,自动搜索参数设置,提高优化性能模型或一组模型。这个调优工具已经被证明是非常有效和非常受欢迎。调优工具的一个缺点是要花的时间。自动调优执行许多解决您的模型,每一个使用不同的参数设置。默认情况下,这个搜索改进参数设置需要大约10倍,只要解决模型(它通常是有益的,让调优工具运行更长时间)。分布式优化工具使用多个独立的机器进行调优,从而允许您探索更多的候选人在相同的时间参数设置。
限制
- 分布式优化MIQCP并不完全支持。
- 在并发优化器回调是有限的。具体细节,请参阅并发优化器。
- 分布式优化效果最好,如果所有的工人都有非常相似的性能。例如,如果一台机器在你的工人池比别人慢得多在分布式优化运行,任何参数设置在较慢的机器上测试比如果他们似乎更有效更快的机器上运行。类似的考虑申请分布式MIP和分布式并发。我们强烈建议您使用机器性能非常相似。
计算服务器节点只能运行一个分布式的工作。你需要几个计算服务器节点运行分布式工作。有关更多信息,请参见分布式工人和分布式管理器:
注意,我们只允许一台机器作为一个分布式的管理工作。如果你想同时运行多个分布式工作,你需要多个管理机。
许可
- 你需要一个许可的分布式机器上启用经理为了使用分布式MIP或分布式并发。为分布式调优,你不需要特别的许可。
- 分布式优化Gurobi即时云,总是启用。
- 分布式的工人不需要任何许可证。
评论
0评论
请登录留下你的评论。