In this work, an optimization problem related to the carpet weaving industry is introduced, modeled and solved using an enumeration algorithm and integer programming. The problem is to schedule orders of carpets with known widths, lengths and ordered amounts to looms with fixed widths. Although, it is a two-dimensional stock cutting problem with the objective being to fulfill the orders with minimum total scrap (empty area woven) and using the least number of setups, the problem exhibits some unique characteristics. Our approach consists of preprocessing the problem to find all reasonable two-dimensional patterns and then formulating and solving a pure integer problem. The whole procedure can be completed in a reasonable amount of time by the current computer technology and integer programming solvers. (c) 2007 Elsevier Ltd. All rights reserved.