Originally posted by: SystemAdmin
As far as I'm concerned, branch-and-bound and branch-and-cut are functionally the same. Branch-and-cut is the more current terminology. In the early days of branch-and-whatever, the cuts that were added were always of the form variable <= new upper bound or variable >= new lower bound. The term "branch-and-cut" reflects a greater flexibility in current algorithms, which may separate a node using one or more arbitrary cuts. The "off the shelf" behavior of most solvers still tends to involve adding a single cut that modifies the bounds of a variable, but sometimes separation is done in a fancier way, and in particular contemporary solvers let the user select his/her own combination of cuts to use for separating a node.
Branch-and-price refers to branch-and-cut with on-the-fly column generation. The "price" part refers to using a subproblem (or external oracle) to decide at any given node of the master problem's search tree whether to add new variables to the master problem. It has proven useful in large scale integer optimization models (airline crew scheduling is a prominent application), but AFAIK it is beyond the capabilities of typical IP solvers, both open source and commercial. You need software specifically designed to implement branch-and-price.
/Paul
Mathematicians are like Frenchmen: whenever you say something to them, they translate it into their own language, and at once it is something entirely different. (Goethe)
#CPLEXOptimizers#DecisionOptimization