I'm using Pyomo to formulate an LP with approx 500,000 constraints and 200,000 decision variables. The LP is solved using CLP. Some instances fail to return even a feasible solution after many iterations (in the range 300,000-700,000). It's not hard for me to find a basic feasible solution, which would likely help the solver with solving the instances.

My questions are:

  1. Can I provide an initial solution to CLP to skip Phase 1 of the LP-solve (ideally from Pyomo)? If so, how?
  2. Are there other ways for me to explore to improve LP solving performance? The high iteration count is likely either due to degenerate constraints or numerical instability for some specific instances (see Klotz and Newman (2013) Practical Guidelines for Solving Difficult Linear Programs). I was unable to identify degenerate constraints in my formulation and have tried to limit the span of order of magnitudes in the parameters of the model. Are there any other approaches that have proved fruitful for you in similar situations?
  • $\begingroup$ Do you have any force to use CLP to solve your problem? Would you try using other solvers via NEOS interface using Pyomo? $\endgroup$ – A.Omidi Aug 30 '20 at 6:42
  • $\begingroup$ Thanks for your suggestion. Unfortunately, the Terms and Conditions of NEOS prohibit me from using their service. I've tried using Glpk as a solver, but found CLP better in terms of performance. $\endgroup$ – Arjan Dijkstra Aug 30 '20 at 17:13
  • $\begingroup$ Would you see this link? I hope it would be helpful. $\endgroup$ – A.Omidi Aug 30 '20 at 19:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.