Distributed Parallel 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 in order 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 associated with solving the problem among the machines.
Instead, each machine uses a different strategy to solve the whole
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. Tuning solves your model
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.
Subsections