49. BRANDR
LINGO uses a branch-and-bound solution procedure when solving integer programming models. One of the fundamental operations involved in the branch-and-bound algorithm is branching on variables. Branching involves forcing an integer variable that is currently fractional to either the next greatest integer value or to the next lowest integer value. As an example, suppose there is a general integer variable that currently has a value of 5.6. If LINGO were to branch on this variable, it would have to choose whether to set the variable first to 6 or 5. The BRANDR parameter controls how LINGO makes this branching decision.
There are three possible settings for BRANDR:
BRANDR Value |
Preferred Branching Direction |
0 |
Both up and down |
1 |
Up |
2 |
Down |
The default option, Both up and down, involves LINGO making an intelligent guess as to whether it should branch up or down first on each individual variable. If the Up option is selected, LINGO will always branch up to the next highest integer first. If Down is selected, LINGO will always branch down first. In most cases, the Both up and down option will result in the best performance. Occasionally, models will benefit from use of one of the other two options.