Using Special Ordered Sets (SOS)
A special ordered set (SOS) is an additional way to specify integrality conditions in a model. There are various types of SOS:
ILOG CPLEX uses special branching strategies to take advantage of SOS. The special branching strategies depend upon the order among the variables in the set. The order is specified by assigning weights to each variable. The order of the variables in the model (such as in the MPS or LP format data file, or the column index in a Callable Library application) is not used in SOS branching. If there is no order relationship among the variables (such that weights cannot be specified or would not be meaningful), SOS branching should not be used. For many classes of problems, these branching strategies can significantly improve performance.