Distributed Algorithms
Gurobi Optimizer implements a number of distributed algorithms that
allow you to use multiple machines to solve a problem faster.
Available distributed algorithms are:
- A distributed MIP solver, which allows you to
divide the work of solving a single MIP model among multiple
machines. A manager machine passes problem data to a
set of worker machines to coordinate the overall solution
process.
- A distributed concurrent solver, which allows you to use
multiple machines to solve an LP or MIP model. Unlike the
distributed MIP solver, the concurrent solver doesn't divide the
work among machines. Instead, each machine uses a different
strategy to solve the same problem, with the hope that one strategy
will be particularly effective and will finish much earlier than the
others. For some problems, this concurrent approach can be more
effective than attempting to divide up the work.
- Distributed parameter tuning, which automatically
searches for parameter settings that improve performance on your
optimization model (or set of models). Tuning solves your model(s)
with a variety of parameter settings, measuring the performance
obtained by each set, and then uses the results to identify the settings
that produce the best overall performance. The distributed version of
tuning performs these trials on multiple machines, which makes the overall
tuning process run much faster.
These distributed algorithms are designed to be nearly transparent to
the user. The user simply modifies a few parameters, and the work of
distributing the computation among multiple machines is handled behind
the scenes by the Gurobi library.
Additional information about distributed algorithms can be found in a
later section.