Tobias Achterberg
unread,Jul 17, 2017, 3:54:58 AM7/17/17Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to gur...@googlegroups.com
This is a pretty general question that is hard to answer in general.
First, a MIP with 1 million variables and 1 million constraints is pretty big.
Gurobi can solve some models of this size, but only if they are "easy" in a
combinatorial sense (i.e., the problem structure is simple and the LP relaxation
is very close to the integer polyhedron).
MIP in general is, as you probably know, NP-hard, and (to no surprise) the
algorithm to solve MIPs implemented in Gurobi has exponential worst case
run-time complexity. Hence, there are even very small problems (with 50
variables and just a few constraints) that Gurobi is unable to solve in
reasonable time. This is also true for other MIP solvers that currently exist,
and it will remain true until someone proves that P = NP. But most of the time,
models for practical problems have certain structure that the solver can exploit
so that the exponential worst case behavior does not kick in.
There are a few applications where the simple approach of formulating a model
and calling Gurobi as a black box does not work. These are usually areas of
scientific research, and one approach that emerges often in such research
projects is Benders decomposition. But there are other ways to tackle
complicated problems. In my view, the most important aspect is the modeling
part. Maybe you can simplify the model and make it smaller by aggregating
aspects of the real world, by using a coarser time or space discretization, by
disaggregating parts of your problem into several independent models, and so on.
This all depends on the problem you want to solve.
Finally, you could provide a link to your problem file (in mps format) so that
we can take a look. Maybe there is something like parameter settings that we can
recommend.
Regards,