"Benchmarks" on small models #2516
-
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
|
Yes, HiGHS is designed for large, hard LPs and MIPs, and there may be overheads that make it slower than GLPK on small instances like these. We've certainly seen lesser solvers out-perform it on small MIPs. I'd be curious to have these 16 instances to see what their nature is. I also have to ask whether they are random in any way. |
Beta Was this translation helpful? Give feedback.
-
|
HiGHS is running presolve for all these LPs, and it's faster with presolve than without. About half the time (39-63%) is spent performing presolve Relatively little time (5-30%) is spent solving the presolved LP However, after postsolve, it's having to run a few simplex iterations to clean up small primal and dual infeasibilities. More time (17-36%) is spent doing this than solving the presolved LP I doubt whether GLPK's presolve will be reducing the LP as much (so spending less time) but enough to make the main solve significantly cheaper. Then, after postsolve, maybe there are no small primal and dual infeasibilities to clean up (due to GLPK having fewer presolve rules) so that time is not required. I can't put more time into this now, but it's interesting, as we know there are users who want to solve vast numbers of very easy LPs/MIPs, and someday we should see whether we can improve performance by skipping some of the more sophisticated tricks that are a bad "investment" for small problems. Note that there are no changes to option settings that I see enhancing performance |
Beta Was this translation helpful? Give feedback.


Something similar is observed here: https://discourse.julialang.org/t/an-idea-to-explain-a-drastic-difference-in-computation-times-for-optimizing-a-jump-model-and-the-unexpected-ranking-of-solvers-used/131253
Even Gurobi is was much slower than GLPK. Sometimes it is the right tool for the job.