MIE376 Mathematical Programming
Lecture Notes
Daniel Frances
2011
1
Lecture 3: Cutting Stock Problem with Column Generation
This is a classical problem that leads to a totally new expansion of the capabilities of linear programming.
Suppose you sell boards of lumber to the retail market in lengths of 3 m., 5 m. and 9 m. to meet a demand
of
•
25 units of 3 m. boards
•
20 units of 5 m. boards
•
15 units of 9 m. Length
Suppose also that you can only buy boards in the wholesale market in 17 m lengths.
How many 17 m lengths do we need and how should we cut them to meet the demand at minimum waste.
Unfortunately we cannot simply start to define decision variables to formulate this problem into a
mathematical model. We need some preliminary analysis.
It turns out that one of the issues we have to deal with, is to define in advance all the possible ways that
we can cut a 17 m board into one or more of the target lengths.
This is best done methodically by using a table of all possible cuts:
Cut Type
3 m
5 m
9 m
waste
1
5
0
0
2
2
4
1
0
0
3
2
2
0
1
4
2
0
1
2
5
1
1
1
0
6
0
3
0
2
Note that we have omitted any cut which results in a waste
≥ 3 m.
Now the problem can be formulated as follows:
Let x
i
be the number of boards cut according to cut type i. and z the overall waste.
Then we could formulate the following LP problem:
Min z = 2x
1
+ x
3
+ 2x
4
+ 2x
6
subject to
5x
1
+ 4x
2
+ 2x
3
+ 2x
4
+ x
5
≥ 25
x
2
+2x
3
+x
5
+ 3x
6
≥ 20

This
** preview**
has intentionally

**sections.**

*blurred***to view the full version.**

*Sign up*