I am running a large LP (approximately 5M non-zeros) and I want to speed up the solving process. I tried a concurrent solve to test which algorithm solves my problem the quickest and I found that the barrier method is the clear winner (solver = Xpress MP, but I guess that it would be the same for other solvers).
However, I want to further speed it up. I noticed that the real barrier solve takes less than 1% of the total solution time. The remainder of the time is spend in the crossover (~40%) and the primal solve (to find the corner solution in the new basis) (~60%). Unfortunately, I couldn't find a setting to tell the solver to do the dual crossover (there is one in Cplex, but I don't have a license for Cplex). Therefore I couldn't compare if this would be quicker.
Therefore I tried to turn off the crossover which yields a huge speed increase, but there are some disadvantages according to the documentation. So far, the drawbacks that I know of are:
- Barrier solutions tend to be midface solutions.
- Barrier without crossover does not produce a basic solution (although that the solver settings mention that "The full primal and dual solution is available whether or not crossover is used.").
- Without a basis, you will not be able to optimize the same or similar problems repeatedly using advanced start information.
- Without a basis, you will not be able to obtain range information for performing sensitivity analysis.
My question(s) is(are) simple. What other drawbacks are important to justify the very inefficient crossover step (both Cplex and Xpress MP enable the crossover as default setting). Alternatively, is my problem exceptional and is the crossover step very quick in other problems? Finally, what is wrong with having midface solutions (this means that a corner optimum is also not unique)?
Sources:
- http://www.cs.cornell.edu/w8/iisi/ilog/cplex101/usrcplex/solveBarrier2.html (Barrier algorithm high-level theory)
- http://tomopt.com/docs/xpress/tomlab_xpress008.php (Xpress MP solver settings)
- https://d-nb.info/1053702175/34 (p87)