Professional Documents
Culture Documents
Homework - 4 - 2023
Homework - 4 - 2023
Homework - 4 - 2023
1. (Column generation to solve the LP relaxation of the Cutting Stock problem – 30 pts.)
In this problem you will use column generation in order to solve the LP version of the Cutting
Stock problem, that is, the LP problem we obtain after removing all the integrality require-
ments on the variables (this LP is called the LP relaxation of the Cutting Stock problem, as we
“relax” the integrality constraints).
1
• Method 1: Rounding the LP relaxation solution. In this approach, the idea is to take
the fractional solution found by using column generation and rounding down the
values of the fractional variables. Then any residual demand is satisfied by adding an
appropriate number of extra rolls. See the example in Chapter 15 in the textbook Linear
Programming, V. Chvátal (page 195).
• Method 2: Solving a reduced MIP. In this approach, we take the columns/patterns
generated in the column generation procedure (let’s say that this patterns are the
ones in the set I ∗ ), and then formulate and solve the problem:
X
min xi
i∈I ∗
X
s.t. aij xi ≥ dj , for all j = 1, . . . , m
i∈I ∗
xi ∈ Z for all i ∈ I ∗
xi ≥ 0 for all i ∈ I ∗ ,
that is, the ‘integer programming’ version of the (final) Master problem solved by the
column generation approach.
In the following three questions, you need to use the data of the cutting stock problem in the
(original) file HW4 CuttingStock.jl (where the initial set of patterns is given by A=[1 0; 1
0; 0 2; 1 0]).
(a) Use Method 1. What is the optimal solution? What is the optimal value?
(b) Use Method 2 (formulate and solve the corresponding integer program in Julia/JuMP).
What is the optimal solution? What is the optimal value?
(c) The two methods described above are heuristics and therefore, they may not give the
optimal solution of the cutting stock problem. Find the real/exact optimal solution by
formulating and solving the (Bad) Integer Optimization model in slide 6 of Lecture 8b.
Compare to the solutions found in the previous parts. HINT: Do not use N = m
P
j=1 dj ,
find a better one.
Instructions.
• All files should be submitted through the link available in Webcursos. You can write your
solution in a single Jupyter notebook or a combination of a single PDF file and a Julia
script (so at most two files in your submission).
• On every assignment you must list the names of all the students you discussed a particular
problem and you must cite all the references you used in order to achieve your solution (pa-
pers, websites, AIs, etc.). Failing to report cooperation or to cite the corresponding sources
is considered cheating/plagiarism.