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.

Solving this model with all columns present from the beginning is practically impossible. Infact, even with only 10 types of items with a size roughly 1/10 of the width of the roll, therewould exist roughly 10^10 kinds of patterns, and hence that many decision variables. Such aformulation might not even fit in memory on a reasonably large computer. Moreover, mostof those patterns would obviously not be interesting in a solution. These considerationsmake column generation an interesting approach for this problem.To solve a cutting stock problem by column generation, start with a subproblem. Choose onepattern, lay it out on the stock, and cut as many items as possible, subject to the constraintsof demand for that item and the width of the stock. This procedure will surely work in that itproduces some answer (a feasible solution) to the problem, but it will not necessarilyproduce a satisfactory answer in this way since it probably uses too many rolls.To move closer to a satisfactory solution, the application can then generate other columns.That is, other decision variables (other X j ) will be chosen to add to the model. Thosedecision variables are chosen on the basis of their favorable reduced cost with the help of asubproblem. This subproblem is defined to identify the coefficients of a new column of themaser problem with minimal reduced cost. With π i as the vector of the dual variables of thecurrent solution of the master problem, the subproblem is defined like this:Minimizesubject to∑1 – π i A ii∑W i A i ≤ Wiwhere W is the width of a roll of stock and the entries A i are the modeling variables of thesubproblem. Their solution values will be the coefficients of the new column to be added tothe master model if a solution with a negative objective function is found for thesubproblem. Consequently, the variables A i must be nonnegative integers.Representing the DataAs usual in a Concert Technology application, an environment, an instance of IloEnv, iscreated first to organize the data and build the model of the problem.The data defining this problem includes the width of a roll of stock.This value is read from afile and represented by a numeric value, rollWidth. The widths of the ordered strips arealso read from a file and put into an array of numeric values, size. Finally, the number ofrolls ordered of each width is read from a file and put into an array of numeric values,amount.376 <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!