12.07.2015 Views

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

continuous, a model containing one or more special ordered sets (SOSs) becomes a discreteoptimization problem requiring the mixed integer optimizer for its solution.<strong>ILOG</strong> <strong>CPLEX</strong> uses special branching strategies to take advantage of SOSs. For manyclasses of problems, these branching strategies can significantly improve performance.These special branching strategies depend upon the order among the variables in the set. Theorder is specified by assigning weights to each variable. The order of the variables in themodel (such as in the MPS or LP format data file, or the column index in a Callable Libraryapplication) is not used in SOS branching. If there is no ordered relationship among thevariables (such that weights cannot be specified or would not be meaningful), otherformulations should be used instead of a special ordered set.Example: SOS Type 1 for Sizing a WarehouseTo give you a feel for how SOSs can be useful, here’s an example of an SOS Type 1 used tochoose the size of a warehouse. Assume for this example that a warehouse of 10000, 20000,40000, or 50000 square feet can be built. Define binary variables for the four sizes, say, x 1 ,x 2 , x 4 , and x 5 . Connect these variables by a constraint defining another variable to denoteavailable square feet, like this: z - 10000x 1 - 20000x 2 - 40000x 4 - 50000x 5 =0.Those four variables are members of a special ordered set. Only one size can be chosen forthe warehouse; that is, at most one of the x variables can be nonzero in the solution. And,there is an order relationship among the x variables (namely, the sizes) that can be used asweights. Then the weights of the set members are 10000, 20000, 40000, and 50000.Assume furthermore that there is a known fractional (that is, noninteger) solution ofx 1 =0.1, x 5 =0.9. These values indicate that other parts of the model have imposed therequirement of 46000 square feet since 0.1*10000 + 0.9*50000 = 46000. In SOS parlance,the weighted average of the set is (0.1*10000 + 0.9*50000)/(0.1 + 0.9) = 46000.Split the set before the variable with weight exceeding the weighted average. In this case,split the set like this: x 1 , x 2 , and x 4 will be in one subset; x 5 in the other.Now branch. One branch restricts x 1 , x 2 , x 4 to 0 (zero). This branch results in x 5 being setto 1 (one).The other branch, where x 5 is set to 0 (zero), results in an infeasible solution, so it isremoved from further consideration.If a warehouse must be built, then the additional constraint is needed thatx 1 +x 2 +x 4 +x 5 =1. The implicit constraint for an SOS Type 1 is less than or equal to one.The continuous relaxation may more closely resemble the MIP if that constraint is added.330 <strong>ILOG</strong> <strong>CPLEX</strong> <strong>11.0</strong> — USER’ S MANUAL

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!