|
|
|
|
|
by zvr
229 days ago
|
|
Many thanks to you and the parent comment for providing names to search when looking for implementations. A basic question, before searching these: are they "input compatible"? I mean, can a problem be formulated once and then be solved by a variety of solvers? Or does each one of them use its own input language? |
|
Nearly every solver supports the MPS format, but that's a really old format straight from the era of punchcards, it sucks.
Many solvers support the nl format, which is a low level format spat out by the AMPL tool (commercial software for mathematical modeling).
Many solvers support the CPLEX lp format, which is a nice human readable and writable format.
Google OR-Tools includes an API for mathematical modeling that supports the relevant open source MIP solvers plus Gurobi I think and its own CP solver. There are Python and Julia packages that try to do the same (rather than calling the solver APIs directly they usually spit out a problem in nl format though).
MiniZinc supports various open source MILP solvers plus various CP solvers. Very nice language, very high level.
For MINLP the only standard I know of is OSiL but support for it is spotty, mostly supported by open source tools I think.