分布式算法


分布式算法

如前所述,Gurobi优化器实现了许多分布式算法,允许您使用多台机器更快地解决问题。现有的分布式算法有:

  • 分布式MIP求解器手机万博登录,它允许您将解决单个MIP模型的工作分配给多台机器。管理器机器将问题数据传递给一组工人机器,以便协调整个解决方案过程。
  • 分布式并发求解器手机万博登录,它允许您使用多台机器来解决LP或MIP模型。与分布式MIP解算器不同,并发解算器不会在不同的机器之手机万博登录间分配工作。相反,每台机器使用不同的策略来解决整个问题,希望其中一种策略会特别有效,比其他策略完成得更早。对于某些问题,这种并发方法可能比试图分割工作更有效。
  • 分布参数调优,它会自动搜索改善优化模型(或模型集)性能的参数设置。调优使用各种参数设置解决模型问题,测量每个设置获得的性能,然后使用结果确定产生最佳总体性能的设置。调优的分布式版本在多台机器上执行这些试验,这使得整个调优过程运行得更快。
这些分布式算法被设计成对用户几乎是透明的。用户只需修改一些参数,而将计算分配到多台机器的工作则由Gurobi库在幕后处理。

分布式工人和分布式管理器

运行分布式算法需要多台机器。其中一人充当管理人员,协调机器集合的活动。其他人充当工人,从经理那里接受任务。经理本身典型地扮演工人的角色,尽管并非总是如此。更多的机器通常会产生更好的性能,尽管随着您添加更多的机器,额外的机器的边际效益通常会下降。

我们将讨论不久在美国,分布式工人不需要格洛比许可证。您可以将任何机器添加到Remote Services集群中,以充当分布式工作人员。管理器确实需要分布式算法许可证(您将看到分布式=如果启用了分布式算法,请在您的许可证文件中添加行)。

典型的分布式优化如下所示,所有的机器都属于同一个远程服务集群:

图像distributed2

与管理分布式算法相关的工作负载相当轻,因此一台机器可以同时处理管理人员和工作人员角色,而不会降低性能。

另一种选择是使用远程服务集群外的一台机器作为管理器:

图像分布式

注意,我们只允许一台机器作为单个分布式作业的管理器。如果希望同时运行多个分布式作业,则需要多个管理器机器。