Hi, I am learning the branch and price algorithm, which is a improvement on branch and bound. I checked the BP example for generalized assignment problem on Xpress repository. FICO Xpress Examples Repository: Branch-and-Price for the Generalized Assignment Problem

It takes a lot more time to solve than the standard Xpress solver. I thought Xpress Integer problem solver is based on BB. But what makes it run so fast then? Does the solver have some special technique?

Thank you very much!

Hi, the Xpress MIP solver is indeed based on the branch-and-bound method.

The example you are referring to is implementing a simple branch-and-price algorithm purely in Mosel. The Xpress MIP solver is not used by this example, only the LP solver. As a consequence, the example does not benefit from any of the many branch-and-bound techniques that makes the Xpress MIP solver so fast at solving integer problems.

All modern solvers will apply techniques like preprocessing, cutting, heuristics and some variant of strong branching to solve a MIP efficiently. All of these techniques are left out of the example to keep it simple.