OR - 9522A Mixed Integer Programming Model For Solving A Cutting Stock Problem in The Fashion Clothing Industry

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

DEPARTEMENT TOEGEPASTE

ECONOMISCHE WETENSCHAPPEN

ONDERZOEKSRAPPORT NR 9522

A Mixed Integer Programming Model for Solving a


Cutting Stock Problem in the Fashion Clothing Industry

by

Zeger DEGRAEVE
Martina V ANDEBROEK

Katholieke Universiteit Leuven

Naamsestraat 69, B - 3000 Leuven


ONDERZOEKSRAPPORT NR 9522

A Mixed Integer Programming Model for Solving a


Cutting Stock Problem in the Fashion Clothing Industry

by

Zeger DEGRAEVE
Martina V ANDEBROEK

D/1995/2376/23
KA THOLIEKE UNIVERSITEIT LEUVEN

Department of Applied Economic Sciences

A Mixed Integer Programming Model for Solving a Cutting Stock Problem

in the Fashion Clothing Industry

by

Zeger Degraeve *

Martina Vandebroek*

July, 30 1995

• Katholieke Universiteit Leuven, Belgium.

We would like to thank W. Gochet for constructive comments and encouragements and R. Bemelmans and J.

Tistaert for research assistance.


A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

Abstract

The cutting operation In the high fashion clothing industry· has some particular

features that make it especially interesting and complex. The process essentially involves

putting several layers of cloth on a long cutting table and fixing templates of the parts of

several articles on top of it before the actual cutting can be initiated. This is a very time

consuming task giving raise to high setup costs in addition to waste production resulting from

cutting. Total production costs can then be optimized by minimizing the number of these

cutting operations while at the same time producing little or no waste. In this paper a mixed

integer programming model is proposed that searches for optimal cutting patterns, each

giving the height of the stack of cloth and the corresponding combination of articles to be cut

in one operation.

(cutting stock problem, clothing industry, mixed integer programming)

2
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

1 Introduction

For several years now, the Belgian clothing industry has been suffering from strong

competition of low wage countries. Large series production and stitching work for low cost

manufacturing has already been relocated completely to these countries leading to a

substantial increase in the domestic female unemployment. The remaining clothing industry

focuses on high fashion designer garments, e.g. skirts, blouses, suits and dresses, in small

quantities. This clothing is sold in a few specialty stores which carry frequently at most one

item of various designs. Typically, the products make use of exclusive and therefore

expensive fabrics requiring waste, resulting from the production process, to be kept at a

minimum. One of the most costly, waste producing and time consuming operations is the

preparation for and actual cutting of the fabric into the various parts of an article of clothing.

This paper addresses the optimization of this operation by presenting a mixed integer

programming model for finding the most economical cutting patterns.

The cutting problem was presented to us by INSYS N.V., a software consulting firm

with customers in the high fashion garment and textile industry. Several of their clients were

struggling with this problem for quite some years now. Using some straightforward simple

heuristics they had been able to derive feasible solutions, however, neither themselves nor

their clients had found those solutions to be really satisfactory.

The outline of this paper is as follows. In section 2, we give a description of the

cutting process and introduce the problem. Section 3 presents the derivation of the mixed

integer programming model and in section 4 we discuss the model's implementation. An

extension of our formulation to allow for multiple colors and corresponding computational

results are proposed in section 5. Finally, in section 6 we formulate conclusions and

directions for future research.

3
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

2 The cutting process

In this section we give a detailed description of the cutting process and introduce the

particular aspects of the problem.

Before production is initiated, the demand data is collected partly from fixed orders

and partly from sales forecasts. Demand for a specific article of clothing typically consists of

the number of units of each size. This contains all necessary input for the cutting process. An

example of the demand data for an article is given in Table 1. The size information is for

female adults in European measurements. The example in Table 1 represents a real-life case

as it was found at one of the client companies of INSYS N.V .. In addition, the order of

magnitude of this demand data remains essentially the same for other data sets reflecting the

low quantities and consequently exclusive character of the various clothes. Observe that the

distribution of the demand data is centered around the mean size of 42.

Table 1 : Demand data for a specific article.

Size 38 40 42 44 46
Demand 54 84 91 60 29

Next, an efficient way of cutting the different parts of an article, e.g. the front, the

back, the sleeves, the pockets, etc., out of the width of cloth supplied on rolls is needed for

each size. Most companies are using commercially available software, called Pattern Design

System (PDS), for this decision. The software visually constructs templates indicating how to

place the parts on the cloth such that the width of the roll is used up as much as possible.

These templates are called stencils and are laid out on the cloth to guide the cutting process.

4
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

As a result, good stencils effectively use the width of the roll of cloth as much as possible.

The length of cloth needed for an article does not vary substantially from size to size and is

generally assumed to be equal for all sizes. As a result, the different stencils for the various

sizes have equal length.

It would be inefficient to cut each stencil separately, therefore the cloth is spread out

in several layers on a long cutting table of a specific length. The cutting operation can start

after a particular combination of the stencils are fixed on top of this stack, see Figure 1 for a

simplified illustration. The spreading of the fabric on the cutting table, the fixil}g of the

stencils and layers and the cutting itself are extremely delicate and very time consuming.

Therefore, the people in charge of cutting want to minimize the number of these operations.

The problem then consists of finding the optimal combination of the number of layers of cloth

on the cutting table and the associated combination of stencils that will result in the minimum

number of cutting setup operations while the demand is satisfied with little or no excess.

Figure 1 : Stencils fixed on top of a stack of layers of cloth ready for cutting.

... stencil size 38 stencil size 46 stencil size 46

The number of layers that can be cut in one operation is limited by the length of the

knives and the thickness of the fabric. This upper limit on the number of layers has to be

taken into account. A second restriction on the cutting process is introduced by the length of

the cutting table which limits the number of stencils that can be cut in one operation.

5
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

Given an upper bound on the number of layers of 35 and a cutting table's length

allowing for at most 4 stencils to be cut in the same operation, a solution to the problem

introduced in Table 1 is given in Table 2. This solution was termed 'excellent' by the

specialists at INSYS N.V .. The column labeled 'Number of Layers' gives the height of the

stack; the other entries give the number of stencils of the corresponding size that will be cut

in the same operation. Such a combination will be referred to as a cutting pattern in the

remainder of this paper. In the industry, a cutting pattern is also termed a marker or lay plan.

Observe that 3 cutting patterns are being used in the solution.

Table 2 : A cutting proposal.

Number Sizes
of 38 40 42 44 46
Layers
Pattern 1 27 2 2 0 0 0
Pattern 2 31 0 1 2 1 0
Pattern 3 29 0 0 1 1 1
Production 54 85 91 60 29
Demand 54 84 91 60 29
Excess 0 1 0 0 0

The row labeled 'Production' gives then the total production of the different sizes

using the proposed cutting patterns with the corresponding number of layers of cloth. In order

to compute the excess production, labeled 'Excess', we have also included the demand data

of Table 1. Given that 3 patterns are to be used, the minimum excess is 1 as size 40 will be

cut one more time than was demanded. In most cases however, this excess is not really

considered as waste because it is generally accepted that the client will buy a few extra pieces

of an article upto 5 % of the demand. In some cases however, the surplus production is really

6
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

useless, e.g. when a client is ordering uniforms for its employees and has already included

extras in the demand data.

3 The mixed integer programming model

The problem we are presented with, is a variant of the well known one dimensional

cutting stock problem discussed throughout the literature. Materials such as paper, cellophane

and metallic foil are manufactured in rolls of a standard width. The widths of the rolls

specified by different customer orders may vary widely. When a large number of orders has to

be filled, finding the most economical way of cutting the standard rolls into the desired final

widths is rarely obvious and is termed the cutting stock problem.

The objective function is often stated in terms of minimizing waste or minimizing the

number of standard rolls to be used but it has also been stated in terms of minimizing the

number of different cutting patterns or, equivalently, minimizing the setup cost. For our

problem, we will need a combination of these two objectives as we are minimizing the

number of cutting operations while at the same time minimizing excess.

Before formally stating the problem, we introduce some notation:

R : set of all different patterns to be used,

P : set of different sizes,

b : cutting table's length,

di : demand for size i, \j i E P,

: length of each stencil, equal for all sizes,

7
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

H : maximum height of the stack, maximum number of layers of cloth that can be cut at

the same time,

C : setup cost that is associated with the spreading of the cloth and the fixing of the

stencils (assumed equal for all cutting patterns),

aij : number of copies of size i found in pattern j, ViE P, V j E R,

Yj = 1, if pattern j is used, 0, otherwise, \/ j E R,

Zj : number of layers of cloth cut according to pattern j, V j E R.

The cutting stock problem can then be formulated as follows:

(i) minimize the setup cost and excess;

MIN C 2:, Yj + 2:, 2:, a ij Zj (CSP) (1)


jeR ieP jeR

subject to

(ii) satisfy demand for each size;

2:, a ij Zj ~ di ViE P (2)


jeR

(iii) do not exceed the length of the cutting table;

2:, 1 a ij ~ b Yj \/j E R (3)


ieP

(iv) indicate the patterns used;

Vj E R (4)

8
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

(v) integrality.

a ij E {a, 1, 2, 3, ... } \:;j i E P, \:;j j E R (5)

Yj E {a, I}

Zj E {a, 1, 2, 3, ...}

Due to the fact that all sizes have equal length 1, we can scale the length of the table b and use

b = lYtJthroughout the remainder of this paper.

The model (CSP) is difficult to solve for two reasons. First, due to the fact that both aij

and Zj are general integer variables appearing as a product in the objective function (1) and in

the demand constraints (2), model (CSP) is a general integer nonlinear programming

problem. Second, the presence of the knapsack constraints (3) complicate matters also.

The first problem can be resolved by generating all possible combinations of stencils

in advance such that the aij are no longer variable. In the resulting model only the Zj, the

thickness of the stacks, have to be optimized for each pattern. However, the model will only

be solvable if the length of the cutting table is not too large compared to the length of the

stencils. For the example of Table 1, consisting of 5 different sizes and a cutting table which

can hold at most 4 stencils, the possible number of patterns is 124 (I R I = 124). This can
easily be computed with the following recursion:

eij = number of different patterns with i stencils and size j being the largest size, i = 1, 2,

... , b, j = 1, 2, ... , Ipi,

9
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

1 = 1, 2, ... , b
1 J = 1, 2, ... , IPI
= 2, 3, ... , b; j 2,3, ... , Ipi

We tried in vain to solve this problem for finding 3 different patterns on a 486, 33

MHz IBM PC with LINDO (Schrage, 1994). After more than 24 hours the program had not

found a feasible solution yet while the solution reported in Table 2 was found after about 6

minutes on a 486, 66 MHz IBM PSNP PC with the model to be presented next.

Another solution approach based on Dantzig-Wolfe decomposition or column

generation was developed by Gilmore and Gomory (1961). This iterative procedure starts

with a master program consisting of the demand constraints and a few prespecified cutting

patterns. The decision variables are then the number of layers that will be cut according to the

currently generated patterns. Using information provided by the master (i.e. the dual prices),

the subproblem consisting of the knapsack constraint (3) implicitly considers all possible

cutting patterns to select the one(s) to be added to the master program likely to improve its LP

objective. This new pattern is then included in the master program etc .. The procedure stops

when an optimal solution is found to the LP relaxation of the master program. Then an integer

program is solved over the patterns on hand. Consequently, the resulting integer solution may

be arbitrarily bad. Empirically however, it has been found that the column generation

procedure produces heuristic solutions close to optimality while at the same time giving a

tight lower bound (Degraeve, 1992).

We have used this procedure for trying to solve our problem but the resulting cutting

patterns appeared far from being optimal. We speculate that this might be due to the fact that

10
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

all stencils have equal lengths and that the demand for the different sizes shows no extreme

high or low values. For such a cutting problem no cutting pattern is especially favorable and

the optimal combination of patterns can hardly be found by extending an existing set of

patterns with an extra pattern at a time. We therefore had to resort to a different solution

approach.

We cope with the nonlinearity in the demand constraints by discretizing the variables

aij, \I i E P, \I j E R. This allows us to linearize the product of variables aij Zj subsequently.

Before writing the discrete expansion of the variables aij, we need an additional set and

variable definition:

B : set of all integer parts of the table length b

Wijk = 1, if k copies of size i will be included in pattern j, 0, otherwise, \I i E P, \I j E R,

\IkE B

To clarify the set definition B, consider a cutting table of length 4 (b = 4), then B is the set
{O, 1, 2, 3, 4}. The discrete expansion of variable aij is then as follows:

\I i E P, \I j E R (6)

L, W ijk =1 \I i E P, \I j E R
kEB (7)
W ijk E {O, I} \I i E P, \I j E R, \I k E B

We use (6) to substitute variables aij out of the demand and knapsack constraints (2) and (3)

of model (CSP). The demand constraints are then as follows:

11
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

L L k W ijk Zj ~ di ViEP (8)


jER kEB

Obviously, the discretization did not resolve the nonlinearity problem. However, the product

of a 011 variable with a general integer variable, Wijk Zj, can easily be linearized. Before giving

the linearization constraints, we define the variable which will capture the nonlinearity as

follows:

Vijk :::: Zj if Wijk:::: 1,0, otherwise, effectively Vijk:::: Wijk Zj, ViE P, V j E R, V k E B

The constraints in (8) become:

L L k V ijk ~ di ViEP (8a)


jER kEB

and the objective function is changed accordingly. The linearization constraints are then as

follows:

V ijk ::::; Zj ViE P, V j E R, V k E B


V ijk ::::; H W ijk (8b)
V ijk ~ Zj - H + H W ijk

By discretizing the variables aij and the linearization constraints, we have effectively

eliminated the nonlinearity from the model (CSP), a general integer linear program remains.

Alternatively, we could have chosen to discretize the variables Zj. However, as the upper

12
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

bound on the variables aij is always lower than the one on the variables Zj, we have chosen to

discretize the variable which gives the lowest cardinality of the set B. It is now possible to

reduce the number of constraints (8b), knowing that Vijk =Wijk Zj and summing this expression

over all k, k E B, while making use of constraints (7) as follows:

L
keB
Vijk L Wijk
= keB Zj L Wijk = Zj
= Zj keD ViE P, V j E R (9)

However, we still have to zero out the variables Vijk in case Wijk equals zero. Therefore, we

need the following variable upper bound constraints:

V ijk :S; HW ijk ViE P, V j E R, V k E B (10)

We will use (9) and (10) instead of (8b) in our model.

Eliminating the nonlinearities did not remove the difficulty presented by the knapsack

constraints (3). We are able to resolve this difficulty because of the particular property that

the different stencils all have equal length 1. This property fundamentally reduces the

complexity of the· knapsack problem. For a knapsack problem, a state is defined to be the

length remaining after some sizes have been cut. The state space or the number of states of a

regular knapsack problem grows exponentially with the number of sizes, which actually

happens if the sizes have different lengths. However, with stencils of equal length, the state

space only grows linear, specifically it is (b + 1) Ipl. This observation led us to model the
knapsack constraint using its network or dynamic programming formulation (Dyckhoff,

13
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

1981), resulting in a model which remains linear in size. In order to do so, we need the

following additional variable:

Xijrs = 1, if we allocate s copies of size i to pattern j when r positions are still free, 0,

otherwise, ViE P, V j E R, V r, S E B, S :::;; r.

The network formulation for the knapsack problem, one for each possible pattern j, "i j E R,

is then as follows:

X tjb(b-r) = L x 2jrs "ir E B (11)


s=o
b-r r

L x ij(r+s)s =L x(i+t)jrs "ir E B, Vi E P\{l, !P!}


s=o s=o

This formulation is derived by considering the sizes sequentially, allocating first copies of

size 1, then copies of size 2, and so on until the pattern is fully allocated. Essentially, this

allows us to eliminate alternative solutions at the pattern level from being investigated by the

branch and bound search tree. We believe that this is one of the major strengths of our

formulation. Note also that when pattern j is not being used (Yj = 0), the corresponding Xijrs

variables are all zero. Due to the introduction of the variables Xijrs, we are able to substitute

the variables Wijk out of our model using the following expression:

W ijk = L X ijrk "i i E P, V j E R, "i k E B (12)


r=k

14
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

In addition, constraints (7) can be eliminated from the model by observing that through

summing equalities (12) over all k, k E B, we obtain:

b b b
L W ijk L L X ijrk = Yj \:;j i E P, \:;j j E R (13)
k=O k=O r=k

To derive (13), we have taken into account the network constraints (11). Consequently, we

have shown that constraints (7) are implicitly represented in our model.

Although constraints (11) through the variable definition Xijrs, effectively eliminate

alternative solutions at the pattern level, it is still possible to obtain alternatives across

patterns, i.e. any renumbering of the patterns will create such an alternative solution. It is also

possible to eliminate those alternatives from being considered by the branch and bound

enumeration process if we include additional constraints in the formulation. Those additional

constraints will enforce a solution to look only as illustrated in Table 3. The solution should

satisfy the conditions that patterns are ranked such that the number of copies of the first size

effectively appearing in subsequent patterns is always nonincreasing (see bold borders in

Table 3). Observe also that the solution reported in Table 2 also satisfies those conditions.

15
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

Table 3 : Elimination of alternative solutions across patterns.

Sizes

38 40 42 44 46

Pattern 1 2 2 0 0 0

Pattern 2 1 3 0 0 0

Pattern 3 0 1 1 2 0

Pattern 4 0 1 3 0 0

For the first size (i = 1) the constraints eliminating alternatives across patterns are as follows:

b b
L X 1jbr :::;; L xlCi-llbr Vj E R\{l}, Vk E B (14)
r=k r=k

for all other sizes, the constraints are quite similar except for an additional term between

brackets in the RHS as follows:

b b
LX jjbr
r=k
:::;; LXjCi-llbr
r=k
+ (1 - x(i-1l(j-llbO) ViE P \ {I}, V j E R \ {I}, V k E B (15)

Only if X(i-l)(j-l)bO is equal to 1, implying that size i is the first size effectively appearing in

patternj-l, will the constraint be enforced otherwise it will be redundant. The constraints (14)

and (15) tremendously increase the density of the constraint matrix. In order to do a density

transformation define the slack variables Uijk on (14) and (15) resulting in :

16
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

b b
L,X 1jbr + U1jk L, x1G-l)br V j E R \ {I}, V k E B (14a)
r=k r=k

b b
L,X ijbr + Uijk L, xiG-Ilbr + (1- X(i-IlG-IlbO) ViE P \ {I}, V j E R \ {I}, V k E B (15a)
r=k r=k

The density transformation on (14a) and (15a) respectively is performed by subtracting row

k+I from row k for k = 0, 1, ... , b-I, giving the following result:

Xijbk + Uijk - Uij(k+ll XiG-l)bk Vi E P, V j E R \ {I}, V k E B \ {b} (16)

X1jbb + U1jb = XIG-llbb Vj E R \ {I}

Xijbb + Uijb = XiG-llbb + (1 - X(i-1l(i-1lbO) ViE P\{I}, Vj E R\{I}

We have now completed the derivation of the model. As it is straightforward to

compute a lower bound on the minimum number of different patterns necessary to satisfy

demand, we have altered the objective function (1) by fixing the number of different patterns

(see below), i.e. by specifying values for the 0/1 variables yj, V j E R. We then use the model

to create the pattern composition by only minimizing the excess, the amount by which the

demand for all the sizes will be oversatisfied.

For the example in Table 1 it is easy to calculate the minimum number of patterns to

satisfy demand as follows: given a maximum number of layers of cloth of 35 (H = 35), we

have to cut size 38 at least twice, sizes 40 and 42 at least 3 times, size 44 at least twice and

size 46 at least once. Therefore, the minimum number of stencils to be cut is 11 (= 2 + 3 + 3 +

2 + 1) which, taking the length of the cutting table (b = 4) into account, require at least 3

cutting patterns. So we will impose the following additional conditions:

17
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

Yl = Y2 = Y3 = 1, Yj = 0, V j E P \ {I, 2, 3}

To summarize, the formulation for our cutting stock problem in the fashion clothing

industry (CSTFI) is as foliov/s :

(i) minimize the excess;

MIN L L L
iEP jER kEB
k V ijk
-
(CSTFI) (17)

subject to

(ii) satisfy demand for each size;

L L k V ijk :2: d i ViE P (18)


jER kEB

(iii) allocate the sizes to the patterns;

Yj =L X 1jbs V j E R, V rEB, ViE P \ {I, IPI}


SEB
r

X Ijb(b-r) L
= s=o x 2jrs (19)
b-r r

L
s=o
xij(r+s)s L
= s=o x(i+l)jrs

(iv) linearization constraints;

ViE P, V j E R, V k E B (20)

V ijk ::::; H L.. X ijrk


r=k

(v) indicate the patterns used;

'v'j E R (21)

18
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

(vi) eliminate alternatives across patterns;

X ijbk + U ijk - U ij(k+11 = Xi(j-Ilbk 'v'i E P, 'v' j E R \ {I}, 'v' k E B \ {b} (22)

X 1jbb + U 1jb = XIG-Ilbb 'v'j E R\{l}

X ijbb + U ijb = XiG-llbb + (1 - X (i-11G-llbO ) 'v'i E P \ {I}, 'v' j E R \ {1}

(vii) nonnegativity and integrality.

'v' i E P, 'v' j E R, 'v' k, r, s E B, s ~ r (23)

X ijrs E {O, 1}

yj E {O, 1}

Zj E {O, 1, 2, 3, ...}

For the data of Table 1, generating model CSTFI yields a formulation with 326

variables, amongst which 201 are integer variables, 211 constraints and 1035 nonzeroes.

Optimality of the reported solution was proven after about 20 minutes on the 486, 66 MHz

IBM PSNP Pc. Clearly, with the objective function (17), the objective function value of the

LP relaxation is simply the sum of the demands which is 321 for the example. The objective

function value of the MIP is 322 giving the excess production of one copy for size 40.

Consequently, gaps are very small.

We also tried to solve the problem with two different models. One model in which we

kept the original knapsack constraints (3) with the discrete expansion of the variables aij.

Another model where we tried the network or dynamic programming formulation for the

knapsack constraints (11) but instead of using the discrete expansion of the variables aij (6)

and (7), the binary expansion was used. However, in those few cases where we were able to

19
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

find solutions, computation times with both shorter models far exceeded those obtained with

the proposed formulation CSTFI.

4 Model Implementation

We have implemented our model using OMP (Beyers and Partners, 1995) on an IBM

PSNP 486, 66 MHz Pc. OMP is a professional integrated menu driven LP/IP optimization

package available on several platforms. It is capable of producing stand alone applications

through its automatic pilot which is close to a high level programming language. The

automatic pilot is used to build a shell around OMP that will guide users through an

application from data input to solution interpretation without them even knowing that linear

programming is being used to solve their problem. Besides the automatic pilot, OMP consists

of several modules. It contains a model generator, a variant of a modeling language, which

permits prototyping at a realistic scale. The model generator allows for separation between

model and data. It also contains a state-of-the-art LP/IP optimization engine enhanced with

several modules such as segmentation and restart to speed up calculations. In addition, it

provides the expert user with great flexibility for choosing alternative branching strategies to

complement its build in procedures for solving integer programs. Moreover, it contains some

advanced integer programming implementations such as tightening through the use cutting

planes. Finally, a report generator gives the user complete freedom for defining tables, lists

and full information reports on variables and constraints selected. People at INSYS N.V.

found it really convenient to use OMP.

20
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

5 The Multi-Color Model

Being very pleased with a solution for a problem they had been struggling with for

years, people at INSYS N.V. asked us if it would be possible to also include layers of cloth of

different colors in the stack. It was quite straightforward to extend our model to cope with this

additional complication. Vie define an extra set S with index c, modeling the number of

different colors and adding the index to all relevant variables and parameters. The multi-color

cutting stock problem (CSTFIC) is then as follows:

(i) minimize the excess;

MIN L L L L k V icjk (CSTFIC) (24)


iEP CES jER kEB

subject to

(ii) satisfy demand for each size and each color ;

L L
jER kEB
k V icjk ~ d ic ViE P, V C E S (25)

(iii) allocate the sizes to the patterns;

V j E R, V rEB, \i i E P\ {I, IPI}


r

X Ijb(b-r) L
s=o
x 2jrs (26)
b-r r
L
s=o
x ij(r+s)s L
= s=o X (i+I)jrs

(iv) linearization constraints;

L V icjk \i i E P, V j E R, V k E B, \i c E S (27)
kEB

b
V icjk ::::; H IX jjrk
r=k

21
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

(v) indicate the patterns used;

Vj E R (28)

(vi) eliminate alternatives across patterns;

X ijbk + U ijk - Uij(k+l) = Xi(j-l)bk Vi E P, V j E R \ {I}, V k E B \ {b} (29)

X 1jbb + U 1jb = X1(j-I)bb V j E R \ {I}

X ijbb + U ijb = Xi(j-l)bb + (1 - X (i-I)(j-I)bO ) ViE P \ {I}, V j E R \ {I}

(vii) nonnegativity and integrality.

ViE P, V j E R, V k, r, s E B, s ~ r, V c E S

X ijrs E {O, I} (30)

yj E {O, I}

Zcj E {O, 1, 2, 3, ...}

With multiple colors allowed, it is not straightforward to compute a lower bound on

the minimum number of patterns required so, we solved the problem with a given number of

patterns ; this is also common practice in the industry. Table 4 summarizes computational

results for a three color demand data set using 4 cutting patterns. The upper bound on the

number of layers of cloth was 100 (H = 100) and the cutting table's length permitted at most
8 stencils to be cut at the same time (b = 8). The solution reported was the best found after
having had the PC run overnight, however, the particular solution was obtained after 1 hour

and 21 minutes of computing time on the 486, 66 MHz IBM PSNP Pc. In general, we find

that intermediate solutions with low excess are obtained within minutes, surely much shorter

time than needed by an experienced person constructing cutting patterns with similar excess

production heuristically. To obtain this result, we had to exclude constraints (29). From our

22
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

computational experiments we learned that constraints (22) were useful for proving

optimality for the single color problems, however, for the multiple-color version, constraints

(29) prevented us from finding feasible solutions within reasonable computation times. The

particular cutting pattern proposal of Table 4 was again termed 'excellent' by the consultants

at INSYS N.V ..

23
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

Table 4 : Results for a three color data set using 4 cutting patterns.

H= 100 Sizes
b=8 38 40 42 44 46
Demand Blue 54 84 91 60 29
Red 30 61 89 76 45
r"!..-o.on ').c:; '7(\ ;::;'2 <;:11 '2{\
'-Jl. \..1\..111 .<"J IV VJ J'-t J7

Number
of Layers
Pattern 1 Blue 27
Red 15 2 0 1 1 0
Green 13
Pattern 2 Blue 28
Red 21 0 3 0 0 1
Green 24
Pattern 3 Blue 32
Red 37 0 0 2 1 0
Green 25
Pattern 4 Blue 1
Red 24 0 0 0 1 1
Green 16
Production Blue 54 84 91 60 29
Red 30 63 89 76 45
Green 26 72 63 54 40
Excess Blue 0 0 0 0 0
Red 0 2 0 0 0
Green 1 2 0 0 1

24
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

6 Conclusions and directions for future research

Although the consultants at INSYS N.V. were quite impressed with the convenience

with which good patterns, giving low excess production, could be computed with our model,

they soon started to express some secondary, implicit criteria which had previously been

unvoiced. Obviously, we had optimized the problem given the key criteria they had presented

to us, however, it became apparent that they are considering additional criteria to finally

select the cutting patterns to be used from among the list generated with the simple heuristics

they were using before. Moreover, it turned out to be extremely hard for them to explicitly

describe those secondary criteria. After sitting down with the consultants and comparing

several cutting pattern proposals for the same demand data set, we were able to extract the

following three additional considerations.

First, for various cutting pattern proposals, given the same number of cutting patterns

and low excess, they give preference to the proposal which has fewer stencils per pattern and

consequently a higher height of the stack of layers of cloth. As can be observed from the

example problem in Table 4, they felt that our solution satisfies this criterion extremely well.

The cutting table's length allowed for 8 stencils to be used per pattern (b = 8) but the

maximum number of stencils per pattern never exceeds 4.

Second, in those cases where the cloth is really extremely expensive, e.g. some cloths

are· woven from both textile and gold threads, and when the excess production is not too bad,

they prefer to completely use the full length of the roll of cloth. If cloth remains on the roll it

is either stored in inventory for later use or, as happens in most cases, it is just considered as

waste. To avoid such waste, they modify the cutting pattern proposal such that the total

production will use up the complete roll of cloth as much as possible, allocating excess

production appropriately over the sizes. For example, if cloth remains for the problem in

25
A Cutting Stock Problem in the Fashion Clothing Industry Degraeve and Vandebroek

Table 2, they would prefer to add an additional layer to the stack of pattern 2 because

resulting excess production with this pattern is smallest relative to the demand.

The third and most interesting observation is the fact that for some articles, the

stencils generated with the layout software are not very efficient with respect to the usage of

the width of the cloth. mostlv because there iust does not exist a better wav of constmctinlY
' . . 1 oJ - - -J - - - - --- - -- - ----0

the stencil. In those cases, they try to manually reallocate the various parts of the articles over

the cloth across stencils, keeping the generated combinations of stencils fixed, in order to

save on the length of the cloth needed for the pattern. This results in a length of the cutting

pattern which is not an integer multiple of the length of the stencils, ultimately giving less

waste thus higher efficiency. The efficiency is then defined as the ratio of the new length of

the pattern after reallocation of the parts to the original length of the pattern before

reallocation. In reality, this reallocation process is almost always carried out actually. The

problem stems from the fact that they are really facing a two dimensional cutting stock

problem which is solved by tackling two one dimensional problems consecutively. Clearly,

total efficiency can only be optimized by considering the two dimensional problem as a whole

although constructing good patterns using their efficiency measure is already an interesting

problem.

Our future research efforts will concentrate on incorporating some of the

considerations above in our optimization model. The third observation seems to be

particularly challenging.

26

You might also like