I am a newbie in this community.
We have a research project to solve MILP with sparse matrices applying parallel computing. We would like to select the best alternative for solver to call up by our code (C++ / Python), preferably with open source code, so we could customize it. Any recommendations? WBR, Victor
Just to make myself clear, at first, we are seeking a solver available with AIMSS, as we intend to use it as our benchmarking in the research.
within the AIMMS Developer system there is a specific set available for MILP that can be used freely by Academics: CPLEX, Gurobi, COPT (all commercial solvers), and CBC (open source).
A good benchmark, but does not include all commercial MILP solver is the one of prof. Hans Mittelmann:
It’s good to realize that a benchmark as above uses default settings of the solver. In some cases, you really have to tune differently (eg using a depth-first vs a breadth-first search) for a model. So it says a lot, but the results can’t be copied to any model. In addition, they way you model can also have a huge effect; especially if models get large and complex. So depending on the size of your models, you need to do more than just formulating a straightforward model and send it to a solver.
@Gertjan. Thank you very much for your reply. Any considerations about parallel programming related to solvers?
Parallel (within a solve) can certainly help, but often only to a certain extend (e.g. more than 8 threads no longer serves you). In some cases, it does not help at all. Again, it depends on the problem and also on the algorithm/solver used.
Can imagine your research can be very valuable. Some others have published about it as well. See e.g.