选择正确的算法

选择正确的算法

Gurobi Optimizer提供了两个主要的算法来解决连续模型和混合整数型号的连续放松:屏障和单纯幅。

屏障算法通常最快,适用于大型困难的模型。但是,它也是更敏感的。即使当阻隔算法收敛时,通常遵循的交叉算法可能由于数值问题而停止。

Simplex方法通常是良好的替代方案,因为它对数值问题通常敏感。使用双单纯x或原始单纯x,设置方法参数分别为1或0。

请注意,在许多优化应用程序中,并非所有问题实例都具有数值问题。因此,专门选择单纯形式可能会阻止您利用在数值良好行为的实例上的屏障算法的性能优势。在这种情况下,您应该使用并发优化器,它同时使用多个算法并从第一个返回解决方案完成。并发优化器是LP模型的默认值,可以通过设置来选择MIP方法参数到3或4。

有关通过并发优化程序的详细控制,您可以创建并发环境,您可以在其中设置每个并发求解的特定算法参数。例如,您可以创建一个并发环境方法= 0.另一个方法= 1同时使用原始和双单位。最后,您可以使用分布式优化的多个不同计算机使用并发优化。在单个计算机上,不同的算法在多个线程上运行,每个线程都使用不同的处理器核心。通过分布式优化,独立计算机运行单独的算法,这可能更快,因为计算机不竞争访问内存。