This paper addresses the problem of determining the cutting patterns of metal sheets, which arises in a manufacturer of metal cages, in order to minimize the waste, the number of cuts performed, the number of metal sheets used or a weighted combination of the three. A two stage approach, to solve a 2D guillotine cutting stock problem with single and multiple stock sizes, is presented and compared with the company approach and state-of-the-art algorithms. The results show great improvement compared to the company approach and a very good performance compared to state-of-the-art algorithms.