MILP Solver - Sparse Matrix - Parallel Computing


Badge

Hi, everyone.

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


4 replies

Userlevel 6
Badge +6

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. 
https://www.google.com/search?q=parallel+and+mip+solvers

Badge

Hi, @Gertjan. Thank you very much for your reply. Any considerations about parallel programming related to solvers?

Userlevel 6
Badge +6

Hi @cvictorr2508 

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). 

https://documentation.aimms.com/platform/solvers/solvers.html

A good benchmark, but does not include all commercial MILP solver is the one of prof. Hans Mittelmann:

http://plato.asu.edu/sub/benchm.html
 

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.

For example: 

or this,

https://how-to.aimms.com/Articles/108/108-kb07-speed-up-mip-solve.html

 

 

Badge

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.

Reply


Didn't find what you were looking for? Try searching on our documentation pages:

AIMMS Developer & PRO | AIMMS How-To | AIMMS SC Navigator