0

I have a mathematical model, linear programming, with huge number of decision variables(>500K - 1M). Which of the open source software/library(java) can I use for my requirement?

The complexity of the problem is fairly simple, with five constraints and a cost minimisation function but the size is huge.

Please suggest me the best performing solver available(open-source or commercial/ any language), if there is nothing that can solve the problem.

Yashwanth Remidi
  • 161
  • 1
  • 4
  • 13

1 Answers1

0

COIN CLP is probably one of the faster open source solvers. In the commercial arena the most used high-performance LP solvers are Cplex and Gurobi. (The commercial offerings are mostly free for academics, but expensive otherwise). These packages have both Simplex (primal and dual) and interior point algorithms. Mosek is also worth mentioning (on some of my problems it is really fast: it has a very good interior point solver). The structure of the model may benefit a (primal) simplex method but you should check that in practice. All of these packages have Java bindings.

1 million variables and 5 constraints should not be too difficult for these solvers (the number of nonzero elements is < 6e6, not too bad).

Erwin Kalvelagen
  • 15,677
  • 2
  • 14
  • 39
  • Thanks. And, one more clarification, what is the time COIN CLP would take to solve the 1M variables? Since, I have heard that LP_Solver takes about 1Hr for 200 variables. – Yashwanth Remidi Mar 15 '16 at 05:45
  • Even LpSolve should solve an LP with 200 variables and 5 equations much faster. So this was may be not an LP but a MIP. I talked about LPs. For MIPs all bets are off. CLP cannot solve MIPs. There is COIN CBC that can solve MIPs. Cplex and Gurobi can, but there is no good way to predict if they even can solve a model like this. Only thing one can do is to try. Again, an LP is very different from a MIP. – Erwin Kalvelagen Mar 15 '16 at 06:20
  • Alright, now I understood the whole picture, yeah, as a matter of fact, I want to solve binary integer problem(1M decision variables). Which, if I am not wrong, makes the optimisation problem non-convex, and exponentially increase the the time and memory consumed. Thanks for the info, really helpful. – Yashwanth Remidi Mar 15 '16 at 07:10