2

I have a large MIP problem, and I use GLPSOL in GLPK to solve it. However, solving the LP relaxation problem takes many iterations, and each iteration the obj and infeas value are all the same. I think it has found the optimal solution, but it won't stop and has continued to run for many hours. Will this happen for every large-scale MIP/LP problem? How can I deal with such cases? Can anyone give me any suggestions about this? Thanks!

jvdhooft
  • 657
  • 1
  • 12
  • 33
abc
  • 211
  • 1
  • 3
  • 10
  • 1
    GLPK has never claimed to be a perfect MILP solver. Maybe your problem is difficult. I suggest you try some other solver as well, perhaps [SCIP](http://scip.zib.de/) would perform better. – Ali Oct 25 '13 at 11:11
  • This question appears to be off-topic because it is about **linear programming** and not about programming. – Ali Oct 25 '13 at 11:12

1 Answers1

6

The problem of solving MIPs is NP-complete in general, which means that there are instances which can't be solved efficiently. But often our problems have enough structure, so that heuristics can help to solve these models. This allowed huge gains in solving-capabilities in the last decades (overview).

For understanding the basic-approach and understanding what exactly is the problem in your case (no progress in upper-bound, no progress in lower-bound, ...), read Practical Guidelines for Solving Difficult Mixed Integer Linear Programs.

Keep in mind, that there are huge gaps between commercial solvers like Gurobi / Cplex and non-commercial ones in general (especially in MIP-solving). There is a huge amount of benchmarks here.

There are also a lot of parameters to tune. Gurobi for example has different parameter-templates: one targets fast findings of feasible solution; one targets to proof the bounds.

My personal opinion: compared to cbc (open-source) & scip (open-source but non-free for commercial usage), glpk is quite bad.

sascha
  • 32,238
  • 6
  • 68
  • 110