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.

or of other subclasses of IloAlgorithm,for example) lend themselves to other parts of theproblem by specifying which variables to consider next (and thus which columns togenerate).In the Reference <strong>Manual</strong> of the C++ API, the concept Column-Wise Modeling providesmore detail about this topic and offers simple examples of its use.Describing the ProblemThe cutting stock problem in this chapter is sometimes known in math programming termsas a knapsack problem with reduced cost in the objective function.Generally, a cutting stock problem begins with a supply of rolls of material of fixed length(the stock). Strips are cut from these rolls. All the strips cut from one roll are known togetheras a pattern. The point of this example is to use as few rolls of stock as possible to satisfysome specified demand of strips. By convention, it is assumed that only one pattern is laidout across the stock; consequently, only one dimension—the width—of each roll of stock isimportant.Figure 23.1Figure 23.1 Two different patterns from a roll of stockEven with that simplifying assumption, the fact that there can be so many different patternsmakes a naive model of this problem (where a user declares one variable for every possiblepattern) impractical. Such a model introduces too many symmetries. Fortunately, for anygiven customer order, a limited number of patterns will suffice, so many of the possiblepatterns can be disregarded, and the application can focus on finding the relevant ones.Here is a conventional statement of a cutting stock problem in terms of the unknown X j , thenumber of times that pattern j will be used, and A ij , the number of items i of each pattern jneeded to satisfy demand d i :Minimize∑jX jsubject to A ij X jwith∑X j≥ 0ij<strong>ILOG</strong> <strong>CPLEX</strong> <strong>11.0</strong> — USER’ S MANUAL 375

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

Saved successfully!

Ooh no, something went wrong!