Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Speeding up integer linear optimisation with Pulp

I am trying to solve a massive linear integer optimisation problem (MILP) having more than 45.000 binary variables and ~350.000 constraints.

I am using Pulp for solving the problem, but I cannot find the solution in a reasonable amount of time.

Are there any ways for drastically speeding up the optimisation process? For example:

  • Can Pulp be parallelised somehow?
  • Any other packages/solver out there to use?
  • Any other suggestion?
like image 246
aprospero Avatar asked Nov 07 '22 22:11

aprospero


1 Answers

Some are the options you can try

  1. You can cache some of the parameters for your model.
  2. You can explore some other solvers like CPLEX, Gurobi, etc
  3. In modelling language, try Pyomo.
  4. You can do experiment on NEOS server there are many solvers available for academic purpose.

In last, you can improve your formulation.

like image 70
Rishikesh Kushwaha Avatar answered Nov 15 '22 07:11

Rishikesh Kushwaha