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

INTERNATIONAL

TRANSACTIONS
IN OPERATIONAL
Intl. Trans. in Op. Res. 23 (2016) 321–353 RESEARCH
DOI: 10.1111/itor.12104

Heuristics for the combined cut order planning


two-dimensional layout problem in the apparel industry
Rym M’Hallaha and Ahlem Bouzirib
a
Department of Statistics and Operations Research, Kuwait University, P.O. Box 5969, Safat, 13060, Kuwait
b
Institut Supérieur des Arts Multimédia, Manouba University, 13 rue des Entrepreneurs, Charguia II, Tunisia
E-mail: rym.mhallah@ku.edu.kw; rymmha@yahoo.com [M’Hallah]; ahlembou@yahoo.fr [Bouziri]

Received 17 September 2013; received in revised form 31 January 2014; accepted 10 May 2014

Abstract
Cut order planning (COP) is an NP-hard nonlinear optimization problem. Managers of apparel manufactur-
ing units face this problem during the planning of the first stage of the manufacturing process. It affects the
fluidity of the work flow and use of fabric. It consists in dividing every garment’s order into sections, assigning
the sizes to them, and determining their lengths and numbers of layers such that the total fabric length is
minimized. Current industrial practice assumes that the length of the layout of a section is known a priori,
and it does not depend on its combination of sizes. That is, the industry solves COP independently of the
two-dimensional layout (TDL) that is the second stage of the manufacturing process. By relying on the length
estimates in lieu of determining the actual length of a section, the industry is obtaining erroneous estimates
of the true length used. Herein, COP and TDL are combined into a single problem CT (CT = COP + TDL)
whose objective is to minimize fabric length. CT is solved using constructive heuristics, and three meta-
heuristics: a stochastic local improvement method, global improvement method, and hybrid approach. The
approaches are tested on existing benchmark instances and new industrial cases. Their results provide com-
putational proof of the benefits that industry can ripe by combining COP and TDL. The comparison of the
performance of the approaches highlights their respective academic and practical utilities.

Keywords: cut order planning; cut scheduling; fashion industry; genetic algorithms; genetic annealing; irregular packing
and cutting; make to order; apparel manufacturing; simulated annealing; two-dimensional layout

1. Introduction

The globalization of the world’s economy along with the impressive development of Internet-based
communication has created some major mutations in many industries. These mutations are more
dramatic in the ever-changing fashion and apparel markets, where a quick response to customers’
demands is a key to success (Mok et al., 2007). For instance, the apparel industry has shifted from
mass production to make-to-order. Its main concern is to respond to clients’ demands rapidly but at


C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
Published by John Wiley & Sons Ltd, 9600 Garsington Road, Oxford OX4 2DQ, UK and 350 Main St, Malden, MA02148,
USA.
322 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353

Fig. 1. The four major steps of apparel manufacturing.

minimal cost (Guo et al., 2006; Rose and Shier, 2007). To achieve this goal, apparel manufacturers
optimize the four sequential stages of the apparel process: (1) cut order planning (COP), (2) two-
dimensional layout (TDL), (3) cutting and line balancing, and (4) production. The first stage, COP,
consists of finding the best combination of pattern layouts of ordered sizes on a rectangular fabric of
fixed width w, where the best combination minimizes cost while exactly satisfying clients’ demand.
The second stage, TDL, consists of identifying the best layout of the pieces of the patterns designed
during the COP stage. The third stage, cutting and line balancing, cuts the items using a laser cutter
according to the generated TDLs, divides them into lots, and assigns them to the production line.
The fourth and last stage—production—is the sewing, assembly, packaging, and shipping stage.
These four steps are summarized in Fig. 1.
Despite their interdependance and the need to plan them simultaneously (Bouziri and M’Hallah,
2007; Mok et al., 2007), Stages 1 and 2 are, in practice, undertaken independently. In Stage 1, human
experts or dedicated software solve COP using an “estimated” length of the layout of a combination
of sizes. The estimate is generally a coarse approximation that is read from catalogs prescribing
material utilization of basic models. The COP’s solution is then transferred to the TDL room where
patterns are positioned on rectangles of a fixed width and maximal length l (corresponding to the
length of the cutting table) with the objective of minimizing the order’s total cost.
Even though, in practice, apparel companies may consider other costs, fabric cost is the major
component of total cost for many apparel industries (Jacobs-Blecha et al., 1998). Wong and Leung
(2008) estimate the cost of fabric to be 50–60% from the manufacturer’s total cost. This estimate
is larger in developing countries where cheap labor is the driving force of the companies. In such
countries, manufacturers take advantage of their proximity to their clients and focus on make-
to-order apparel production. The ordered quantities are relatively limited in comparison to their
counterparts in mass production; yet the profit margins are slim. Any saving on fabric is a large
percentage of the gross gain and a further larger percentage of the net gain. This is similarly true for
uniforms (Degraeve and Vandebroek, 1998) and high fashion clothing made of excessively expensive
fabrics (Degraeve et al., 2002). High fabric costs make optimizing material utilization a synonym
of survival. Hence, optimizing cost is equivalent to minimizing l, the total length of fabric used to
generate the patterns of the order.
This paper minimizes  by considering the first two stages of the apparel production process (COP
and TDL) as a single problem CT (CT = COP + TDL). CT neither estimates the length of a layout
using cataloged values (as in industry) nor supposes that the layout length is equal for all sizes. It
computes the length of a layout by solving a two-dimensional packing problem. Its estimate of l is
more accurate even though it may be suboptimal.
CT, classified according to the typology of Wäscher et al. (2007) as a variant of irregular two-
dimensional bin packing, is a complex combinatorial problem. It is NP-complete since it is an

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 323
extension of COP, which is in turn NP-complete (Jacobs-Blecha et al., 1998). Any exact approach
will be hindered by the number of items that real-life industrial problems involve. Herein, CT is
solved using four types of heuristics: constructive heuristics, a stochastic local improvement heuristic
based on simulated annealing (SA), a global improvement heuristic based on genetic algorithms
(GA), and a hybrid heuristic denoted genetic annealing (GAn).
This paper is organized as follows. Section 2 defines the problem and adopted solution config-
uration. Section 3 presents a brief literature review. Section 4 details the approximate approaches
explaining how they are adapted to CT, highlighting their advantages/utilities. Section 5 reports
the computational results. Finally, Section 6 provides a summary of the paper.

2. Problem definition

CT consists of finding the best combination of sizes of an apparel order and their pattern layouts
on a rectangular fabric of fixed width w such that the total fabric length l is minimized. An apparel
order consists of a garment (e.g., coverall, dress, pyjamas, shirt, suit, etc.) in varying sizes and
quantities per size. Herein, we consider a “unique garment type” and “color.” When a jacket and
a skirt are sold at the end point to the client as a suit, they constitute one garment. On the other
hand, when sold as two separate items on two different racks, they are two garments. On the former
case, both the skirt and jacket of the suit are laid on the same layer of fabric to reduce the risk of
color nuances. On the latter case, they are not on the same layout.
Considering multiple garments simultaneously improves the near-global optimum of CT, since
it enlarges CT’s search space; that is, it offers CT more flexibility. It is particularly advantageous
in terms of fabric. However, it is rarely practiced in the apparel industry as it increases the risk of
assembly errors. It requires a careful handling of the cut items during lot sizing and line balancing.
In addition, it may slow down Stage 4. Sewing and assembly times follow a learning curve. Operators
need some adjustment time when switching back and forth between two garments. Managers prefer
layering fabric of different colors separately. It reduces the processing time and risk of error of Stage
3. The violation of this assumption is not constraining.
An order is characterized by its set S of sizes, its cardinality |S|, and the ordered quantity qs
for size s ∈ S. A garment is a finite set G of pieces assembled according to a preset procedure. For
example, the women’s blouse of Fig. 2a consists of the set G of six pieces shown in Fig. 2b. Since
the dimensions of each piece of G depend on the size s of the garment, then Gs denotes the set of
pieces of a garment of size s ∈ S. Each set Gs , s ∈ S, is duplicated qs times. The duplicated sets are
then positioned on layered fabric and cut using a computer-guided cutter.
The cutter works best when the number of layers is in the interval [h, h], where h and h are,
respectively, the minimal and maximal number of layers. h and h depend mainly on the fabric type
(silk, light cotton, heavy cotton for jeans, polyester), its thickness, the horsepower of the cutter, and
the depth of the cutting knife. For example, h = 1 and h = 10 for silk with many manufacturers
opting rather for h = 5 to avoid the sliding of fabric during the cutting process. For men’s shirts,
h = 10 and h = 30. For jeans’ fabric, these bounds are imposed by the cutter and its technology.
Choosing the “optimal” number of layers augments the complexity of CT. For instance, if the order
consists of 26 blouses of size M, h = 1, and h = 30, then GM can be positioned 26 times on a fabric

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
324 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353

Fig. 2. (a) The front and back views of a women’s blouse. (b) The set G of pieces composing the women’s blouse.

Table 1
Example 1

Size s XS S M L XL
Ordered quantity qs 7 23 26 17 13

of a single layer, or 13 times on a two-layer fabric, or twice on a 13-layer fabric or only once on a
26-layer fabric. The layered fabric is called a “section.”
An order may be split into one or more sections. The sections may have similar or different
numbers of layers and may include different or similar sets of sizes. Suppose for example that the
order includes, in addition to the 26 blouses of size M, 13 blouses of size XL. Then, the order can
be grouped in a single 13-layer section with size M appearing twice and XL once. Alternatively, the
order can be split into two sections: one having size M appear once with 26 layers, and one having
size XL appear once with 13 layers.
A section i, i = 1, . . . , m, is characterized by the number of occurrences Oi,s of each size s, s ∈ S,
in i, its number of layers hi ∈ [h, h], and its length li , where li is the minimal length of fabric used
to pack, without overlap, the pieces of sizes s ∈ S duplicated Oi,s times on a rectangle of a fixed
width w and maximal length l. A possible solution to CT is represented by a matrix of m rows and
|S| + 2 columns. Row i, i = 1, . . . , m, is represented by the row vector (Oi,1 , Oi,2 , . . . , Oi,|S| , hi , li ).
Different possible solutions may have different numbers of sections as Example 1 illustrates.
Example 1 Consider the order of Table 1 where the garment is the women’s blouse shown in Fig. 2.
The order consists of |S| = 5 different sizes: XS, S, M, L, and XL, with each size s ∈ S having a
different ordered quantity qs . For instance, size M has a demand qM = 26. In addition, each size
s ∈ S has a set Gs of pieces whose dimensions are different than those of a size s ∈ S \ {s}. This
results in a different rectangular enclosure of the pieces of Gs for every size s ∈ S when the pieces

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 325
¯ A possible solution to
are packed into a minimal length rectangle of width w and maximal length l.
Example 1 is given by the 4 × 7 matrix
⎛ ⎞
0 0 2 0 1 13 l1
⎜ 0 2 0 1 0 11 l2 ⎟
A = ⎜
⎝ 1 0 0 1 0 6 l3 ⎠ .

1 1 0 0 0 1 l4
Row 1 represents section 1 which includes the two sizes M and XL, and has a number of layers
h1 = 13, and a length l1 , where l1 is the smallest length of a feasible layout of the pieces of sizes S
and XL on a rectangular sheet of fixed width w, with l1 ≤ l. ¯ Column 3 shows that size M occurs
only on section 1 (O1,M = 2). Another possible solution corresponds to the 2 × 7 matrix

 1 3 4 1 2 5 l1
A = ,
2 8 6 12 3 1 l2
where li is the smallest length of a feasible layout of the pieces of sizes s ∈ S appearing Oi ,s times
on a rectangular sheet of fixed width w.
Suppose that h = 4 and h = 30. Then, the above A and A solutions are infeasible. In fact, the
numbers of layers of their last sections are less than h. These sections need to have four layers;
subsequently, A becomes
⎛ ⎞
0 0 2 0 1 13 l1
⎜ 0 2 0 1 0 11 l2 ⎟
A = ⎜ ⎝ 1 0 0 1 0 6 l3 ⎠ ,

1 1 0 0 0 4 l4
resulting in a surplus of three garments for sizes XS and S. Similarly, A becomes

 1 3 4 1 2 5 l1
A = ,
1 2 2 3 1 4 l2
yielding a surplus of two garments for sizes XS and M, and of one garment for size XL.
A possible solution with m sections is feasible if
r for section i, i = 1, . . . , m, there exists a layout of all pieces of the garment of the sizes s ∈ S
appearing Oi,s times on a rectangular sheet of a fixed width w and minimal length li with all pieces
nonoverlapping and totally contained in the rectangle and li ≤ l;
r for section i, i = 1, . . . , m, the number of layers h ∈ [h, h]; and
i
r the number of times each size s ∈ S is obtained equals or exceeds the ordered quantity q ; that is,
s

m
hi Oi,s ≥ qs , s ∈ S.
i=1

The objective function value of a feasible solution is the total fabric length

m
l= h i li .
i=1


C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
326 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353
Herein, li is obtained using the sequential best local position (BLP) layout procedure of M’Hallah
et al. (2001). Using li provides a more realistic estimate of the fitness of a solution. It improves the
industrial practice where li , i = 1, . . . , m, is based on cataloged estimates of basic models.

3. Literature review

CT has been considered by Mok et al. (2007) with the objective of ensuring smoothness of down-
stream operations. They gear their model toward minimizing makespan and production uncer-
tainties. They transform the standard operations’ times into fuzzy entities that incorporate some
uncertainties, in terms of both job-specific factors and factors related to humans, and solve the
problem using GA.
In general, apparel manufacturing related research has not focused on CT or COP, but rather on
TDL. The following survey reviews TDL literature, gives an overview of BLP (used herein as the
layout mechanism for TDL), and summarizes available COP-related research.

3.1. TDL

TDL or the two-dimensional (irregular) open dimension problem according to the typology of
Wäscher et al. (2007) is a particular case of cutting and packing problems. It consists of finding
the minimal length layout of a set of (ir)regular two-dimensional pieces on a stock sheet of a finite
width but an infinite length. The layout must not contain any overlap. One approach to solve TDL
is to arrange the pieces according to some prescribed order in the stock sheet, and to search for
the “exact” local extremum. However, this search may be time consuming without any guarantee
of a sufficiently good convergence to optimum. Subsequently, the approximation of local extrema
seems to be the best approach. Indeed, the problem is NP-hard, and most available literature uses
heuristic approaches (Bennell and Dowsland, 2001; Egeblad et al., 2007) that orders the pieces, and
applies a constructive heuristic to the ordered set of pieces to build the solution (Bennell et al., 2010;
Burke et al. 2006; Chernov et al., 2010; Gomes and Oliveira, 2002; 2006; Costa et al., 2009). The
ordered set of pieces is a fixed sequence obtained via a rule of thumb (Dowsland et al., 2002), or
via a classifier system (Terashima-Marin et al., 2010; Lopez-Camacho et al., 2013), or via a local
search over possible permutations using a metaheuristic such as hill climbing, tabu search, SA, GA,
beam search, etc. (Bortfeldt, 2006; Terashima-Marin et al., 2010; Yeung and Tang, 2004), or via
complete enumeration (Cui et al., 2008; Lesh et al., 2004; Toledo et al., 2013). The constructive
methods either nest irregular pieces into regular shapes prior to packing them (Jakobs, 1996) or
use complex geometric computations to guarantee the nonoverlap of irregular pieces (Bennell and
Oliveira, 2008; Bennell and Song, 2008; Burke et al. 2007; M’Hallah et al., 2001). Some approaches,
on the other hand, opt to represent the solution as a physical layout on the stock sheet and move
pieces within the layout (Elomri et al., 1994; Gomes and Oliveira, 2006). A detailed survey and a
tutorial of two-dimensional irregular packing approaches are given by Bennell and Oliveira (2009).
BLP is a constructive heuristic that packs ordered (ir)regular “oriented” items using geometric
computation. It positions the reference point of the first piece on the bottom left most position of
the rectangular stock sheet, and the reference point of the second piece in one of five candidate

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 327
positions: (x̄, 0), (0, ȳ),(x, ȳ), (x̄, ȳ), and (x̄, y), where x̄, x, ȳ, y are the maximum and minimum
x and y coordinates of the already positioned piece. To position the reference point of a piece,
BLP generates a candidate list that corresponds to the union of sets of five positions generated
by each already positioned piece. For each candidate position, BLP translates the current piece
horizontally and vertically causing its left and/or bottom sides to touch the right and/or upper
sides of an already positioned piece while avoiding overlap with those already positioned. It bases the
translation steps on geometric projections of the left and bottom sides of the piece to be packed on
the upper and right sides of already positioned ones. It considers different orders of translations in
search for the best packing. If the candidate position causes the piece to violate the width constraint
or to overlap another already positioned piece, BLP deletes the candidate position from the list of
feasible positions. Among all feasible candidate positions, BLP chooses the one that is to the left
and bottom most position. A detailed description of BLP is provided by M’Hallah et al. (2001).

3.2. COP

COP, which focuses on the first stage of the apparel process, has been discussed by Elomri (1992)
who proposes a nonlinear programming model that determines the minimal cost combination of
layouts, among the set of possible layout combinations, of the ordered quantities (which depend on
size and color). The model’s decision variables correspond to the number of layers of a layout in a
given color, and the number of occurrences of a size on that layout. The nonlinear objective function
reflects the total COP cost that includes fabric, spreading, and cutting costs. The constraints, which
are linear, enforce demand satisfaction; that is, the quantity produced for each size of a given color
has to exceed or equal the ordered quantity. The objective function is bounded between two linear
functions, and the model is split into two integer linear programs. Elomri et al. (1994) conclude that
the most important factors in the total COP cost are cutting and fabric costs.
Jacobs-Blecha et al. (1998) propose a nonlinear mathematical model for COP. Its objective is
to minimize the total cutting cost that includes fabric, spreading, cutting, and marker making
costs. The fabric and spreading costs are based on an estimated fabric length cataloged for each
combination size. Cutting cost depends on the perimeter of the items to be cut, and on the marker
making cost. The model uses a set of integer variables representing the number of layers for each
section, and a set of binary variables indicating whether a size combination is assigned to a section.
The model assumes that the number of sections required to fill the order is known; an unrealistic
assumption since the number of sections should be a decision variable. Since it becomes intractable
as the number of sizes increases, the model is solved using three greedy heuristics: two constructive
(savings and cherry picking) and one local search. The savings heuristic assigns size combinations
to a section on the basis of the fabric savings achieved by combining them into one section as
opposed to having them assigned to separate sections. The cherry picking algorithm builds sections
by combining certain sizes based on the best utilization of fabric. It picks the two sizes having the
highest demand and assigns them to one section. It then proceeds to the next pair of sizes having
the highest demand and assigns them to another section. It proceeds iteratively until all sizes are
assigned. The local search algorithm enhances a solution by exchanging sizes in different sections or
by combining existing sections into a single one. The algorithms, tested on real-life data consisting
of 20 orders with one to six sizes per order, yield results that are as good as those obtained by
commercial packages. The results show the significant impact of fabric cost on the total COP cost,

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
328 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353
and provide the first known experimental verification that fabric cost is the dominant factor of
COP. Wong and Leung (2008) approximately solve the multiple color version of the problem of
Jacobs-Blecha et al. (1998) using an evolutionary algorithm. They illustrate their approach via a
real-life example with six sizes and nine colors.
Degraeve and Vandebroek (1998) consider a COP problem geared toward the high fashion
industry where demand is limited, and fabric is extremely expensive. It consists of finding the
combination of cutting patterns and corresponding numbers of layers that minimize the total cost
of cutting operations and excess production. The number of layers of a section cannot exceed the
maximal number of layers, determined by the length of the cutting knives and thickness of the
fabric. The problem supposes that the minimal length layout of all the different parts of each size
of a garment is known, and that all sizes have the same layout length. Furthermore, the maximal
number of patterns per section is independent of the combination of pattern sizes, but is a function
of the length of the cutting table. The authors propose a nonlinear integer programming model
that turns out to be very difficult to solve. They subsequently transform it into a solvable mixed
integer linear program that minimizes the excess production subject to a fixed number of sections.
Degraeve et al. (2002) investigate this later version of the problem and propose alternative integer
programming models for solving the minimal excess production problem subject to a fixed number
of sections. They show that the alternative models generally outperform the original model of
Degraeve and Vandebroek (1998), and explain how the models can be adapted for the multicolor
version of the problem. They indicate what makes a difficult instance, and show that the number
of layers does not affect computation time for their formulations. They, however, emphasize the
need for different models for large real-life instances (such as those involving the production of
uniforms, sports outfits, or jeans) because of the large computational times the models would
require. Martens (2004) overcomes this limitation by building a GA on both the original nonlinear
integer programming model of Degraeve and Vandebroek (1998) and the integer programming
model of Degraeve et al. (2002). He investigates which problem formulation is better adapted to
approximately solve the problem.
Rose and Shier (2007) consider the COP problem that minimizes the setup costs and the number
of bundles generated. This is equivalent to minimizing the number of sections while exactly satisfying
the demand. Each section has R patterns, where R is a predetermined constant that is a function of
the cutting table length and layout length of a size of the garment. They assume, though, that each
pattern occupies the same area. Each section has a number of layers that do not exceed the maximal
number of layers determined by the cutting laser knives. They present a two-stage enumerative
approach that identifies all optimal solutions. The approach starts by approximating the optimal
number m∗ of sections; then, determines whether there is a feasible solution having m∗ sections.
The first stage of the algorithm generates sets of sections or partitions. The second stage tests these
partitions for feasibility. This iterative process is repeated until either all partitions are considered
and found infeasible, or a feasible cutting schedule is constructed. The optimal value of the number
of sections is determined by a linear search. All optimal solutions are subsequently enumerated.
Yan-Mei et al. (2011) consider a further simpler version of the problem of Rose and Shier (2007)
where the objective is to minimize the number of sections while satisfying the demand for each size.
They enforce the constraint regarding the constant number of patterns per section and the maximum
number of layers per section. They solve their corresponding integer programming model using a
probabilistic search.

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 329
Nascimento et al. (2010) propose a general graph-based model to identify the minimal cost
spreading and cutting schedule. Their state-space approach defines a graph where a node is an
n-tuple that contains the spreading and cutting schedule for a given garment. This schedule includes
the number of layers, number of templates per size, and number of sections per color. The graph is
built dynamically through successive applications of a successor node generator that determines the
characteristics of all nodes that succeed any selected node. To limit the size of the graph, the approach
applies a heuristic rule that selects the node with the most promising color-size combination. To
expand a node, it picks the pair (size, color) that corresponds to the worst cost, where the cost
is the unsatisfied forecasted demand. It considers two heuristics: regular and greedy weight-based
searches. The weight-based search examines several criteria: the cost of the node, its potential, its
infeasibility degree, the marginal cost of infeasibility reduction, and a merit function that combines
its degree of infeasibility and its cost. The greedy search limits the pool of nodes to the successors
of the current node.
Yang et al. (2011) combine an ant colony algorithm with an integer programming model to
identify good combinations of templates and determine the number of layers that satisfy demand
while minimizing excess production. They assume that all sections have equal and known lengths.
The ant colony algorithm selects the appropriate combination of cutting patterns while the integer
program identifies the cutting patterns’ numbers of layers that minimize the sum of setup, excess,
and layer costs. The deviation of the obtained approximate solution value from the optimum is less
than 25%.
Lopez-Camacho et al. (2013) consider the irregular two-dimensional bin packing problem, which
is a variation of CT. Minimizing the total length is equivalent to minimizing the number of sections,
which have a fixed width w and a fixed length l. ¯ They couple a selection heuristic with a TDL
approach to find feasible layouts.
The above approaches make several simplifying assumptions (e.g., a constant number of patterns
on all sections, a known layout length, equal layout length for all sizes, etc.). Their solutions, even
when optimal to the relaxed problem, are not necessarily optimal to the real-life industrial problem
under consideration. The CT model proposed in this paper tackles this shortcoming by evaluating
the true length of the layout of the patterns assigned to any section instead of assuming that the
lengths are known.
Consider a manufacturer producing pairs of pants in six different sizes: XS, S, M, L, XL, and
XXL, and using a fabric of width w = 1100 mm. The cataloged lengths of the respective patterns
are 1420, 1441, 1462, 1500, 1523, and 1700 mm for sizes XS, S, M, L, XL, and XXL. However, a
careful inspection of Fig. 3 reveals that combining the patterns of sizes XS and XXL results in the
layout of Fig. 4 with a minimal length of 2830 mm. Evidently, it is less than the sum of the lengths of
the rectangular enclosures of both sizes; that is, 1420 + 1700 = 3120 > 2830. Thus, the evaluation
of the “true length” of the layout of the patterns assigned to any section is indeed very important
to the minimization of the overall total cost.

4. Approximate approaches

CT is solved using four types of approximate approaches: (1) constructive heuristics, (2) a stochastic
local improvement heuristic SA, (3) a global improvement heuristic GA, and (4) a hybrid heuristic

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
330 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353

Fig. 3. Rectangular enclosure of a pair of pants for sizes XS and XXL with respective lengths of 1420 and 1700 mm and
a constant width of 1100 mm.

Fig. 4. Rectangular enclosure of sizes XS and XXL of a pair of pants with a 2830-mm length and an 1100-mm width.

GAn. “Constructive heuristics” are particularly useful when managers wish to obtain a “quick and
dirty” estimate of the price they should charge a customer for a given order. In such cases, managers
need a fast rule of thumb that helps them establish an upper bound on the cost of the order. In
addition, constructive heuristics generate initial feasible solutions for more elaborate approaches.
Furthermore, most managers who rely on solutions obtained by commercial software have no
information regarding the quality of these solutions beside their feasibility (Wong and Leung,
2008). In this context, constructive heuristics provide bounds that serve to assess the quality of the
solutions generated by commercial solvers. Last, many managers from developing countries cannot
afford the cost of commercial software; thus, opt for “simple” approaches that can be implemented
manually or with limited computer knowledge and technology.
“Local improvement” methods are sought when managers wish to obtain a more accurate estimate
rapidly. “Global” and “hybrid” approaches are necessary when managers focus on increasing profit
margins. In such cases, they prefer more complex, time-consuming procedures if they yield lower
cost. They apply them once they accept to produce the order.

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 331
4.1. Constructive heuristics

Five constructive heuristics (H1–H5) are proposed. H1–H4 are inspired from rules of thumb used
by experts of the apparel industry whereas H5 generates random feasible solutions.
H1 constructs a first section that contains all sizes and whose number of layers equals the
minimum demand. It computes the maximum number of occurrences of each size in this section;
updates the residual demand and creates a new section if any residual demand is positive. A formal
statement of H1 is given in Algorithm 1.

Algorithm 1. Pseudo-code of H1

1. Set i = 1, and rs the residual demand of size s ∈ S, to qs .


2. Set hi = max{h, min{rs : rs > 0, h}}.
s∈S

3. For s ∈ S,
• if rs ≥ h, then Oi,s =  hrsi , where a is the largest integer such that a ≤ a;
• elseif 0 < rs < h, then Oi,s =  hrsi , where a is the smallest integer such that a ≥ a.
End For
4. Update rs = rs − hi Oi,s , s ∈ S.
5. If max{rs } > 0,
s∈S

set i = i + 1, and go to Step 2;


else
set m = i.
End if

Applying H1 to Example 1 yields the possible solution


⎛ ⎞
1 3 3 2 1 7 l1
A1 = ⎝ 0 1 1 1 1 4 l2 ⎠ ,
0 0 1 0 1 4 l3

which has a surplus of two garments of sizes S and XL, three garments of size M, and one garment
of size L.
H2 combines two rules of thumb commonly adopted in the apparel industry: (a) constructing
sections of an even number of sizes and (b) dividing the order into three groups: extreme sizes, average
sizes, and residual sizes. Indeed, ordered quantities for extreme sizes are approximately equal, and
their pieces can be combined within a single section. H2 proceeds as follows. It constructs a first
section containing the two extreme sizes with a number of layers equal to the minimum of their
ordered quantities. The other sizes are considered in pairs beginning with the size following the
smallest one and the size preceding the largest one. The process iterates with the remaining sizes
constructing a separate section each time. Any sizes having a strictly positive unsatisfied demand
are gathered in a final last section whose number of layers is the largest common divider (LCD)
of the strictly positive residuals. If the layout length of this last section is larger than l, then a new
section is created. The pseudocode of H2 is given in Algorithm 2.

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
332 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353
Algorithm 2. Pseudocode of H2

1. Set i = 1, and the residual demand of size s, s ∈ S, rs = qs .


2. Set s1 = i and s2 = n + 1 − i.
3. If s1 < s2
put sizes s1 and s2 in section i;
set hi = max{h, min{rs1 , rs2 , h}}, and Oi,s1 = Oi,s2 = 1.
else
put size s1 twice
r
in section i;
set hi = min{ s21 , h} and Oi,s1 = 2.
End If
4. Update rs = qs − hi Oi,s , s = s1 and s2 .
5. Set i = i + 1. If i ≤  n2 , go to Step 2.
6. Set S = {s ∈ S : rs > 0}, hi = max{h, LCD(rs : s ∈ S )}, and Oi,s =  hrsi , s ∈ S , where LCD is
the largest common divider.

Applying H2 to Example 1 gives the possible solution


⎛ ⎞
1 0 0 0 1 7 l1
⎜ 0 1 0 1 0 17 l2 ⎟
A2 = ⎜
⎝ 0 0 2 0 0 13 l3 ⎠ .

0 1 0 0 1 6 l4

H3 constructs a single section containing the |S| sizes. The number of layers of this unique section
is the maximum of the LCD of the ordered quantities and the least number of layers; that is;
q
h1 = max{LCD(qs : s ∈ S), h}. Size s ∈ S is duplicated O1,s =  hs times to satisfy the demand
1
q
constraint. When hs is not integer, H3 results in a surplus of O1,s h1 − qs garments of size s ∈ S. For
1
illustration purposes, applying H3 to Example 1 yields

A3 = 2 6 7 5 4 4 l1

with a surplus of one garment for sizes XS and S, two garments of size M, and three garments for
sizes L and XL.
H4 constructs |S| sections: a separate section for each size s ∈ S with hi = max{h, qs } for the size
s contained in section i (i.e., with Oi,s = 1). If hi > h, the number of sections is split in half and the
resulting section is duplicated. Applying H4 to Example 1 yields a five-section possible solution
⎛ ⎞
1 0 0 0 0 7 l1
⎜ 0 1 0 0 0 23 l ⎟
⎜ 2⎟
A4 = ⎜⎜ 0 0 1 0 0 26 l ⎟
3⎟.
⎝ 0 0 0 1 0 17 l4 ⎠
0 0 0 0 1 13 l5

H5 is a random search that is hardly used in real life. It is herein used to generate random feasible
solutions. It constructs a first section whose h1 and O1,s , s ∈ S, are randomly generated. The residual
demands are then calculated. If any residual demand is strictly positive, a new section is created.
Again, the number of layers and the number of occurrences of each size are chosen randomly. The
process is reiterated until all residual demands are zero or a maximum number of sections m is

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 333
reached. In the latter case, any size whose residual demand is strictly positive is packed into a final
section using H2. Generally, m = 2|S|. A formal statement of H5 is given in Algorithm 3.

Algorithm 3. Pseudocode of H5

1. Set i = 1, rs = qs , s ∈ S, and S = S.
2. If 0 < rs < h, then set rs = h.
3. Set hi equal to a random integer from the discrete Uniform [max{h, 1}, min{h, max{h, max rs }}].
s∈S

4. Set Oi,s , s ∈ S , equal to a random integer from the discrete Uniform [0,  hrsi ].
5. Set rs = rs − Oi,s hi , s ∈ S , and set S = {s ∈ S : rs > 0}.
6. If S = ∅,
stop;
else
set i = i + 1;
if i < m,
go to Step 2;
else
use H2 to pack all sizes s ∈ S ; and
stop.
End If
End If

The application of H5 is illustrated on Example 1 where h = 4 and h = 30.


r Initially, S = S = {XS, S, M, L, XL}, and r = q , s ∈ S .
s s

— Section i = 1 is created. Its number of layers h1 = 11 is a random integer from the Uniform
[4, 26], where 26 = min{h, max {rs }}.
s∈S
— Five random integer numbers, corresponding to O1,s , s ∈ S , are drawn from the Uniforms
r
[0, 11s ] :O1,S = 1 and O1,M = 2 are drawn from the Uniform [0, 2], whereas O1L = 1 and
O1,X L = 0 from the Uniform [0, 1] and O1,X S = 0 from the Uniform [0, 0].
— The residual demands are updated: rX S = 7, rS = 12, rM = 4, rL = 6, and rX L = 13; yield-
ing S = S.
r Since S
= ∅, section i = 2 is created.

— Its ply height, h2 = 5, is a randomly generated integer from the Uniform [4, 13], where
13 = min{h, max {rs }}.
s∈S
r
— Four integers, corresponding to O2,s , s ∈ S , are drawn from the Uniform [4, 5s ]. These
numbers are O2,X S = 1, O2,S = 2, O2,M = 0, O1,L = 0, and O1,X L = 1.
— The residual demands are calculated: rX S = 2, rS = 2, rM = 4, rL = 6, and rX L = 8, and
S is updated: S = S.
— The residual demands of sizes XS and S are reset to h so that they can appear in a section:
rX S = 4 and rS = 4.


C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
334 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353
r Because S
= ∅, a section i = 3 is created.


— Its ply height, h3 = 4, is a random integer drawn from the Uniform [4, 8].
r
— Five random integers, corresponding to O3,s , s ∈ S , are drawn from the Uniform [0, 4s ].
These numbers are O3,X S = 1, O3,S = 1, O3,M = 0, O3,L = 1, and O3,X L = 2.
— The residual demands are calculated: rX S = rS = rX L = 0, rM = 4, and rL = 2. Since rL < h,
it is reset to 4; that is, rL = 4. In addition, S is updated: S = {M, L}.
r Because S
= ∅, a fourth section is created.

— Its ply height, h4 = 4.


r
— Two random integers, corresponding to O4,s , s ∈ S , are drawn from the Uniform [0, 4s ].
These numbers are O4,M = 1 and O4,L = 1.
— The residual demands are nil; thus, S = ∅ and the algorithm stops.
r The feasible solution is therefore
⎛ ⎞
0 1 2 1 0 11 l1
⎜1 2 0 0 1 5 l2 ⎟
A5 = ⎜
⎝1 1 0 1 2

4 l3 ⎠
0 0 1 1 0 4 l4

with a surplus of two garments of sizes XS and L and three garments of size S. Unless otherwise
stated within the description of an algorithm, if a section i of a possible solution has a minimal
length layout li > l or hi > h, the solution is infeasible. Depending on the utilization context of
H ∈ H = {H1, . . . , H5}, the corresponding solution may be either discarded or modified. In the
latter case, if li > l, then the section is split by removing the size(s) with the largest occurrences in the
h
section. If hi > h̄, the section is duplicated with 2i layers for the original and for the duplicate sections.

4.2. SA

SA is a stochastic search. It is flexible, robust, and is proven to converge to the global optimum.
Starting from an initial solution A, it investigates neighbors of A, where a neighbor NA is the result of
small perturbations of A and the neighbors span the whole search space. The perturbation removes
a size s, s ∈ S and Oi,s > 0, from a section i, i = 1, . . . , m, of the current solution A and inserts it
into a section i , i = 1, . . . , m, i
= i . Ideally, after the perturbation, size s is produced exactly qs
times. However, this perturbation may induce a surplus or a shortage of garments of size s; unduly
increasing the total fabric length for NA in the former case and making NA infeasible in the latter.
Specifically, removing a size s from its section i creates a residual demand rs = qs − mi = 1 hi Oi ,s ,
i
= i

and shortens the length of the layout of section i. Restoring demand feasibility without creating an
additional section requires moving size s to a section i whose hi is a divider of rs . When there is
r
a unique such a section i , its corresponding Oi ,s is updated; that is, Oi ,s = Oi ,s + hs . In addition,
i
its minimal length layout is “recomputed.” When there are two or more such sections, the section
r
i with the least length layout resulting from inserting hs times the pieces of s is chosen. If no such
i


C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 335
m
section is available, rs is allocated to two or more of the m sections such that i = 1 hi δi ,s ≥ rs , and
i
= i

the total number of times s appears in A is less than or equal to its counterpart in NA , where δi ,s is
the number of additional occurrences of size s in section i , i = 1, . . . , m, i
= i, and δi ,s is integer.
If such an assignment is not possible, NA is reset to A, and another perturbation is considered.
Suppose that NA5 is a neighbor of A5 obtained by moving size M from section 1. A5 has no
surplus of size M. Neither h2 = 5 nor h3 = h4 = 4 is a divider of rM = 22, the residual resulting
from removing M from section 1 of A5 . Thus, M cannot be inserted into a single section. It can be
split between section 2 with δ2,M = 2 and either section 3 with δ3,M = 3 or section 4 with δ4,M = 3.
In this case, neither assignment creates a surplus. Section 4 is chosen in lieu of section 3 since it has
the smaller length layout, resulting in O4,M = 4. Thus,

⎛ ⎞
0 1 0 1 0 11 l1
⎜1 2 2 0 1 5 l2 ⎟
N A5 =⎜
⎝1
⎟.
1 0 1 2 4 l3 ⎠
0 0 4 1 0 4 l4

SA moves to NA if NA improves the objective function value; that is, l (NA ) < l (A). When
the neighbor is not improving, SA may opt for moving to NA in order to avoid being trapped
in a local minimum. This deteriorating move occurs according to a probability exp( − T
), where
 = l (NA ) − l (A) is the distance of the objective function value of A from its neighbors, and T
is the temperature of the annealing process at the current plateau. During the initial stages of the
search (i.e., for low T values), SA takes larger deteriorating steps and moves more frequently. As
the search progresses (i.e., as T increases), SA becomes more selective in its nonimproving moves
and takes them less frequently. Moves to improving neighbors mimic the behavior of steepest
descent algorithms. Moves to nonimproving neighbors mimic variable neighborhood searches,
where the search is recentered around a different focal point in order to escape local minima and
identify a global minimum. Initially, SA sets the number of plateaus already investigated k = 0, the
number of successive plateaus without improvement κ = 0, and T = T0 > 0. At this temperature,
SA investigates N̄ neighbors where N̄ = 12 is herein the length of the plateau. It then increments k
by one, and resets the temperature Tk = αTk−1 , where α ∈ (0, 1) is the parameter of the geometric
cooling. Herein, α = 0.9. This process is reiterated until the satisfaction of the stopping criterion.
This later can be a maximal runtime, a maximal number of plateaus, or a number of successive
plateaus without improvement of the current local minimum κ̄. Herein, the stopping criterion is set
as κ̄ = 3.
In summary, SA intensifies its search around an initial solution, changes its focal point of the
search when it finds an improving neighbor or when the move presents a potential opportunity of
leading the search to a better local minimum. The pseudocode of SA is detailed in Algorithm 4.
The performance of SA and its rate of convergence toward the global optimum depend on its
parameters and starting solution. Ideally, the initial temperature should be very high; thus allowing
SA to be volatile during the first iterations. On the other hand, its final temperature should be

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
336 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353
Algorithm 4. Pseudocode of SA

Input
• A : an initial solution to the problem whose fitness is l(A).
• N̄ : the number of neighbors to be investigated at every plateau.
• κ̄ : the maximal number of consecutive plateaus without improvement of l(A∗ ), the fitness of the best
solution A∗ .
• T0 : Initial temperature.
• α : cooling factor.
Output
• A∗ : a (near-) global optimum whose fitness is l(A∗ ).
Initialization
1. Set A∗ = A, and l(A∗ ) = l(A).
2. Set k, the counter of the number of plateaus already investigated, to 0.
3. Set κ, the counter of the number of successive plateaus without improvement, to 0.
Iterative Step
1. Set the starting solution of plateau k to the best solution; i.e., set Ak = A∗ .
2. Do While (N ≤ N̄ )
2.1 Obtain a neighbor NA of the current solution A, and compute its fitness l(NA ).
2.2 Calculate Δ = l(NA ) − lA .
2.3 If Δ < 0, then
• set A = NA , and l(A) = l(NA );
• if l(NA ) < l(A∗ ), set A∗ = NA , and l(A∗ ) = l(NA );
else
• generate a random number u from the U nif orm[0, 1];
• if exp( −Δ
Tk
) > u, then A = NA .
End If
2.4 Set N = N + 1.
End While
3. If Ak = A∗ ,
set κ = κ + 1;
else
set κ = 0.
End If
Stopping Criterion
If κ < κ̄,
• set k = k + 1;
• set Tk = αTk−1 ; and
• repeat the iterative step;
else
• stop.
End If

near-zero to avoid unnecessary moves from the near-global optimum. Herein, the initial temperature
− ||
T0 is a function of the probability of acceptance τ0 = e T0 , where  is the average variation of the
fitness of 100 randomly generated solutions. τ0 = 0.2 when the initial solution is “good”; that is,
when the ratio of its fitness to a computed lower bound is less than 1.25. It makes the algorithm

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 337
very selective during its first iterations. When the ratio is larger than 1.25, τ0 = 0.6. This makes the
algorithm accept uphill moves more often during the first iterations.
SA is a stochastic search generally applied for intensification purposes. To get a diversification
mechanism, it starts from several initial solutions. However, as the number of multiple starts is
generally limited to 5 or 10, the starting point is herein chosen as the local optimum of a random
search over 100 feasible solutions obtained by H5. In addition, SA is started with the solutions
obtained by H1 to H4.

4.3. GA

GA is an “intelligent” probabilistic search. It mimics the evolutionary process of biological organ-


isms. In nature, populations evolve according to the principles of natural selection. Only the fittest
survive and reproduce. In addition, individuals adapt to their environment. Initially, GA creates a
population of p̄ individuals where individual p, p = 1, . . . , p̄, is a feasible solution to CT. It grants
each individual p the right to proliferate by crossing a randomly selected individual among the
remaining p̄ − 1 individuals and obtaining a child. GA applies its natural selection by merging the
offspring and the parents populations and selecting the fittest p̄ individuals for survival. It adapts
its current population to its environment via mutation, where the pth fittest individual is granted
the right to mutation with probability 1p . A mutant replaces the least-fit individual of the population
as long as it has a better fitness than this latter. GA repeats its iterative steps of crossover, muta-
tion, and selection for a preset number of generations ḡ. A detailed description of GA is given in
Algorithm 5 .
In Algorithm 5, the initialization step generates the solutions of H1–H4, and includes them in the
initial population. That is GA adopts a “high level” relay hybridization whose objective is to include
good quality solutions within the initial population; thus, speed the convergence of the algorithm.
High-level hybridization maintains the metaheuristic self-contained and does not change its internal
mechanisms (Talbi, 2002).
Herein, p̄ = 500 and ḡ = 50. That is, GA ensures the diversification of the search by opting
for a large p̄, and trusts the intensification for the crossover and mutation operators. Its re-
placement strategy enhances the good traits. Both the parent and its child may survive if they
have a high fitness, or die if have a low fitness. In addition, when the mutant replaces the
least-fit individual, it ensures the survival of the better traits and death of the less-competitive
traits.
The crossover and mutation are quite complex in the context of CT for several reasons. They have
to produce feasible solutions. They act on solutions that do not necessarily have equal numbers of
sections. They evoke BLP to assess the minimal length layout of every new or modified section.
Thus, they constitute the bottleneck of GA.
Each individual of the population, Parent1, initiates a crossover with a randomly chosen
individual Parent2 with Parent2
= Parent1. It produces a new chromosome, Child, which
is composed of some of the m1 sections of Parent1 and completed according to some of the m2
sections of Parent2. First, the crossover copies sections i1 through i2 from Parent1 to the first
i2 − i1 + 1 sections of Child, where i1 and i2 are randomly chosen from the discrete


C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
338 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353
Algorithm 5. Pseudocode of GA

Input
• p̄ : population size.
• ḡ : number of generations.
Output
• A∗ : a near-global optimal solution.
Initialization
• Create an initial population that has p̄ feasible solutions by applying H5.
• For H = H1, . . . , H4
− Obtain the solution of H.
− If the solution is infeasible, restore its feasibility.
− Append the feasible solution to the initial population.
End For
• Sort the individuals of the population in a non-decreasing order of their fitness, and retain the best
p̄ solutions.
Iterative Step
• For g = 1, . . . , ḡ,
− For p = 1, . . . , p̄,
∗ Set the pth individual of the population of generation g as Parent1.
∗ Randomly choose a Parent2 from the remaining p̄ − 1 individuals of the population.
∗ Cross Parent1 and Parent2 to obtain Child.
∗ Evaluate the fitness of Child.
∗ Place Child in the offspring population.
End For
− Merge the current and the offspring populations.
− Sort the merged population in a non-decreasing order of fitness.
− Set the current population to the best p̄ individuals of the merged population.
− For p = 1, . . . , p̄,
∗ Mutate Child with a probability 1/p to obtain its Mutant
∗ Insert Mutant into the current sorted population.
∗ Remove the least fit individual of the population.
End For
End For

uniform [1, m1 ], and i1 < i2 . Second, it completes the sections of Child using iteratively the sections
i , i = 1, . . . , m2 , of Parent2. Let i = 1 and ic = i2 − i1 + 1. ic
Crossover computes the residual demand of each size s ∈ S as rs = max{0, qs − i=1 Oi,s hi }, s ∈ S.
When the maximal residual r̄ = max{rs } is zero, crossover stops with Child satisfying the demand.
s∈S
On the other hand (i.e., when r̄ > 0), crossover creates section ic = i2 − i1 + 1 + i of Child with
hic layers and Oic ,s occurrences of size s ∈ S.

r If, i is less than or equal to the number of sections of Parent2 and r̄ >h it sets h =
ic
max{h, min{hi , LCD(rs : rs > 0, Oi ,s > 0, s ∈ S)}, and the number of occurrences of each size
r
s ∈ S on section ic to Oic ,s = h s , for s ∈ S, rs > 0, and Oi ,s > 0. Then, it increments i by 1, and
ic

repeats the iterative step described in this paragraph.


r Otherwise, crossover sets h = max{h, LCD(r : r > 0, s ∈ S)}, O =  rs , for s ∈ S and r > 0,
ic s s ic ,s hi s
c
and stops.


C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 339

Let mc = i2 − i2 + 1 + i , be the number of sections of Child that results from this crossover.
Child satisfies the demand qs for all sizes s ∈ S, and the lower and upper bounds of the number of
mc
layers per section; that is, i =1 Oic ,s hic ≥ qs , s ∈ S, and h ≤ hic ≤ h for ic = 1, . . . , mc . If the minimal
c
¯ the section causes infeasibility of
length layout lic of a section ic , ic = 1, . . . , mc , is larger than l,
Child; and is split into two or more sections.
An example of crossover follows. Let A5 be Parent1 and A2 Parent2. Let i1 and i2 , generated
from the discrete Uniform [1, 4], be 2 and 3, respectively.
r Child inherits section 2 of Parent1:

1 2 0 0 1 5 l2
.
1 1 0 1 2 4 l3

The residual demands are: rX S = 0, rS = 9, rM = 26, rL = 13, and rX L = 0. Since max{rs } =


s∈S
26 > 0, then Child is completed using the sections of Parent2.
r Let i = 1 be the first section of Parent2. Section 3 of Child has h3 = max{4, min{7, −−}},
where 4 is h, 7 is the number of layers of section 1 of Parent2, and −− is to substitute for the
LCD of the empty set since the only sizes that appear in section 1 of Parent2 are XS and XL
and both of their residual demands are zero. Thus, this section has only 0 occurrences for all sizes
s ∈ S, and will eventually be removed after the crossover is completed.
r Crossover moves to section i = 2 of Parent2 to create section 4 of Child where h4 = 4 =
max{4, min{17, LCD(9, 13)}}, where 4 is h, 17 is the number of layers of section 2 of Parent2,
rS = 9,and rL = 13. Computing O4,s yields O2,S = 2, O2,L = 3, rX S = 0, rS = 1, rM = 26, rL =
1, and rX L = 0. Therefore, r̄ > 0, and crossover repeats its iterative step.
r Crossover considers section i = 3 of Parent2 to create section 5 of Child where h5 = 13 =
max{4, min{13, LCD(26)}}, where 13 is the number of layers of section 3 of Parent2, and 26 is
rM . In this case, Child inherits section 3 of Parent2 as it is; resulting in rX S = 0, rS = 1, rM =
0, rL = 1, and rX L = 0. It follows that r̄ = 1 > 0; which requires an additional section.
r Crossover sets i = 4 and creates section 6 of Child. But, since r̄ < h, it puts all residual demand
on this last section whose number of layers is h6 = h = 4, with O6,X S = 0, O6,S = 1, O6,M =
0, O6,L = 1, and O6,X L = 0. This results in a zero residual, but a surplus of three garments for
sizes S and L.
r In summary, Child has mc = 6 sections. Its third section is redundant. Removing it gives a
five-section possible solution:
⎛ ⎞
1 2 0 0 1 5 l2
⎜ 1 1 0 1 2 4 l3 ⎟
⎜ ⎟
⎜ 0 2 0 3 0 4 l  ⎟ .
⎜ 4 ⎟
⎝ 0 0 2 0 0 13 l3 ⎠
0 1 0 1 0 4 l2

The evaluation of the fitness of a solution is the most time-consuming aspect of GA. Thus,
inheriting as much information as possible from the parents for the computation of Child is
fundamental for reducing the runtime of GA. In this case, Child inherits l2 and l3 from Parent1,


C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
340 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353

l3and from Parent2. Thus, the evaluation of the fitness of Child requires the evaluation of l4
l2
only.
Some individuals of the population adapt to their environment through mutation, which induces
small perturbations on an individual A. The adopted mutation generates a neighbor NA as SA
does with the following slight modification. When none of the sections has a number of layers
that divide rs , the mutation tries to allocate rs to more than one section. It determines the set
I = {i = 1, . . . , m, i
= i : hi ≤ rs } of sections whose number of
layers is less than or equal to rs .
If I
= ∅, it dispatches rs among the sections of I such that i ∈I δi ,s hi = rs , where δi ,s is the
additional integer number of occurrences of size s in section i . On the other hand, if I = ∅, the
mutation creates a new section: m + 1 whose hm+1 = rs , Om+1,s = 1, and Om+1,s = 0, s ∈ S \ {s}.
Mutation is applied herein to Child. Suppose that size S of section 1 is randomly chosen to be
moved. Then, size S, whose rS = 7, can be added to any of sections 2, 3 or 5. It is herein added to
the last section since it has the least length; thus, O5,S becomes 3, and the mutant is
⎛ ⎞
1 0 0 0 1 5 l2+
⎜ 1 1 0 1 2 4 l3 ⎟
⎜ ⎟
⎜ 0 2 0 3 0 4 l  ⎟ .
⎜ 4 ⎟
⎝ 0 0 2 0 0 13 l3 ⎠
0 3 0 1 0 4 l2+
This mutant reduces the surplus of S by two garments. Suppose now that the mutant of Child is
obtained by moving size M of section 4. Then, rM = 26, and no section has a number of layers that
divides rM . Subsequently, rM is split between section 1 with δ1,M = 2 and section 5 with δ5,M = 4.
Alternatively, the four additional occurrences assigned to section 5 could have been allocated to
sections 2 or 3. It is herein added to section 5 that has the least length. Removing M from section 4
of Child empties the section; thus, the number of sections of the mutant becomes four:
⎛ ⎞
1 2 2 0 1 5 l2
⎜ 1 1 0 1 2 4 l3 ⎟
⎜ ⎟
⎝ 0 2 0 3 0 4 l4 ⎠ .
0 1 4 1 0 4 l2

4.4. GAn

Herein, GA is enhanced via a “low level” teamwork hybridization, which modifies its functional
composition (Talbi, 2002). It augments the search capability of GA by changing its replacement
strategy and its mutation mechanism. The changes are to lead GA to choosing the part of the search
space that may contain the global optimum in a more judicious manner; that is, to base the choices
on local minima rather than on randomly selected solutions or on their offsprings. Let GAn denote
the modified GA.
Unlike GA where the parent and offspring populations are merged and the best p̄ individuals
are retained, Child replaces Parent1 that has initiated crossover if l (Child) < l (Parent1).
A nonimproving Child replaces its Parent1 with a probability that decreases as the number of
generations increases. When l (Child) > l (Parent1), GAn generates a random number u from

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 341
the uniform[0,1]. If u > exp(−ρ p ),Child replaces individual p (which is Parent1). Initially, the
threshold level ρ p of an individual p, p = 1, . . . , p̄, is its fitness; that is, ρ p = l (p). As it proliferates,
an individual p who is not replaced by its offspring Child has its endurance increased making
its replacement by one of its offsprings of the future generations more difficult. Increasing the
endurance of p decreases its threshold level by a factor β ∈ [0.95, 0.99] : ρ p = βρ p. Allowing Child
to immediately enter the population gives it the right to proliferate and is supposed to accelerate
the search without leading it to premature convergence and stagnation in local minima.
GA applies mutation once all crossover and selection are completed. Its mutation consists of a
small perturbation of an individual. The mutant replaces the least-fit individual of the population.
On the other hand, GAn applies mutation to every individual p issued of crossover, be it the original
parent that initiated the crossover or its offspring. The mutation mechanism is SA, which obtains
a local optimum when started from p. Thus, at any point of the search, the population consists of
local minima. In this sense, GAn borrows the principles of variable neighborhood search, which
stipulates that the global minimum is a local optimum over all neighborhoods and that local minima
provide some useful information about the global minimum. Algorithm 6 details the steps of GAn.

Algorithm 6. Pseudocode of GAn

Input
• p̄ : population size.
• ḡ : number of generations.
Output
• A∗ : a near-global optimum.
Initialization
1. Create an initial population that has p̄ random solutions.
2. Compute the fitness l(p) of each solution p, p = 1, . . . , p̄, and set its threshold level ρp = l(p).
Iterative Step
For g = 1, . . . , ḡ
For p = 1, . . . , p̄
1. Let solution p be Parent1 and Child its offspring obtained by crossover.
2. Calculate the fitness l(Child) of Child.
3. If l(Child) < l(p),
(a) replace individual p by Child; and
(b) set its threshold level ρp = l(Child);
4. else
(a) set the threshold of p to ρp = βρp , where β ∈ [.95, .99];
(b) generate a random number u from the U nif orm[0, 1];
(c) If u > exp(−ρp ), replace p by Child and set ρp = l(Child).
5. End If

|Δ|
−T
6. Apply SA to p, with τ0 = e 0 = 0.2, and Δ = (l(p) − ρp ) is the average variation of the
p=1
fitness of the solutions of the current population from their threshold levels.
End For
End For


C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
342 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353
Table 2
GAn’s solutions for P5–P7

Instance Section i S M L XL hi li
P5 1 1 2 0 1 50 11.670
2 1 0 1 0 42 5.164
3 0 3 0 0 1 8.400
4 1 0 0 3 5 11.849
P6 1 1 0 1 0 49 5.164
2 0 1 1 1 40 9.056
3 0 2 0 1 16 8.774
4 0 0 0 2 5 5.888
P7 1 1 1 1 0 50 8.622
2 0 1 0 2 17 9.034
3 1 0 1 0 12 5.164
4 2 1 0 0 10 7.488

5. Computational results

The purpose of the computational results is to evaluate the performance of the heuristics (i) for
apparel manufacturing, (ii) for the fashion industry, and (iii) for related problems. The algorithms
along with BLP are coded in Fortran and run on a Pentium IV, 3.20 GHz and 3.24 MB of
RAM.

5.1. Apparel manufacturing instances

The performance of the approaches proposed in this paper is assessed using seven industrial prob-
lems where the garments are a collection of nonconvex irregular pieces. Problems P1–P3 were ob-
tained from a medium-sized local apparel manufacturer whereas P5–P7 were artificially designed,
and an expert marker from a local apparel manufacturer was asked to generate the corresponding
COP and TDL. P4 is a real case obtained from a consulting firm that searches for the best CT
design for the orders of small-sized local apparel manufacturers. The firm invests a considerable
amount of time in solving COP and packs the pieces of the garments using a Lectra system. It has
established a long-standing reputation and expertise in this domain. Except for P2 and P4 that have
three and nine sizes, all problems have |S| = 4. Except for P3 and P4 that have 18 and 26 pieces per
pattern size, all problems have |G| = 21.
An example of the output of CP is illustrated via instance P5. The solution of GAn for P5 consists
of four sections. These sections are detailed in Table 2. Section 1 has a minimal length of 11.670 m
and 50 layers. It consists of a size S, two sizes M, and one size XL. The second layer has 42 layers
and consists of a size S and L. Section 3 has a single layer with size M replicated three times, as this
is a better alternative in terms of fabric length than having M appear once with three layers for the
section. Finally, section 4 has five layers and size XS appearing once and XL three times. The TDLs
of these four sections are displayed in Fig. 5 according to their order of appearance in Table 2. For


C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 343

Fig. 5. The TDL layout of the four sections of GAn’s solution for P5.

P5, the percent improvement is 8.17% with respect to lT DL ; indicating an important reduction of
fabric length.
Figures 6 and 7 display, respectively, the TDL layouts of the four sections of the expert marker’s
solution and of GAn’s solution of P4. The COP solution of GAn coincides with its industrial
counterpart. It obtains four sections as the expert marker does with an identical assignment of
sizes into the sections. In addition, it has the same number of layers per section. Section 1 has sizes
X S, M, L with h1 = 48. Section 2 has sizes M, L with h2 = 36. Section 3 has sizes S, 2X L, 3XL
with h3 = 24. Finally, section 4 has a single size 2XL with h4 = 12. However, l1 = 4491 mm versus
4320 mm for the expert marker, l2 = 3237 mm versus 2920 mm, l3 = 4620 mm and l4 = 1360 mm
versus 4540 mm and 1360 mm, respectively. This discrepancy in the length of the TDL layout is
caused by BLP that packs the oriented pieces in a decreasing order of their lengths, widths or areas;
whichever yields the best packing. Subsequently, BLP may miss some of the “optimal” positions
of a piece. Its performance is generally enhanced via a search procedure of the order of the pieces.
However, this is not possible in this context for all solutions, and could be implemented in the future
for the best solution. Alternatively, BLP could be substituted with the recent packing approach of
Toledo et al. (2013).
l l l
Table 3 reports l SA , l GA , and l GAn , the ratios of lSA , lGA , and lGAn to lT DL . lSA , lGA , and lGAn are
T DL T DL T DL
the minimal length of the solutions of SA, GA, and GAn whereas lT DL is the length obtained at the
TDL stage in industry. The ratios are computed with respect to lT DL rather than to lCOP because
this latter underestimates l ∗ and is never achieved in industry (not so much because of the quality
of the layouts obtained by the human experts/specialized software but because of the inaccuracy
of the cataloged estimates and the deviation of the patterns from the basic models). A smaller than
1.00 ratio indicates that the approach improves lT DL .
Table 3 suggests that GAn yields sizeable savings. Its ratio is 0.89 for P2. GAn performs consis-
tently better than GA and SA. Its average performance ratio is 0.95 versus 1.01 and 1.00 for SA and
GA, and a median ratio of 0.93 versus 1.00 and 1.00 for SA and GA, respectively. It is suspected
that the “less standard” the demand is, the harder it is for human experts to solve the corresponding

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
344 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353

Fig. 6. The TDL layout of the four sections as obtained by the expert marker for P4.


C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 345

Fig. 7. The TDL layout of the four sections as obtained by GAn for P4.

problem. GAn improves all industrial solutions except P4. The expert marker of the consulting firm
spent a considerable amount of time improving the computer-generated layout.
P1–P7 involve packing irregular pieces using BLP; a time-consuming task given the large number
of overlap detections BLP checks. It is estimated that 90%, 87%, and 84% of the respective runtime
of SA, GA, and GAn is devoted to the computation of the sections’ lengths. The analysis of the
average and maximum SA, GA, and GAn’s run times, displayed in Table 4, indicates that SA can
be a useful tool for managers wishing to obtain rapidly a good upper bound for the optimal fabric

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
346 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353
Table 3
Performance ratios of SA, GA, and GAn for the CT industrial problems

qs
Instance h h̄ w(m) 3XS 2XS XS S M L XL 2XL 3XL SA GA GAn
P1 5 30 1.60 10 20 20 10 1.00 1.00 0.95
P2 5 30 1.60 6 12 12 0.95 0.93 0.89
P3 5 20 1.10 6 24 24 12 1.00 0.99 0.96
P4 10 50 1.54 12 24 48 36 48 48 36 24 24 1.07 1.05 1.05
P5 1 50 1.50 97 103 42 65 1.04 1.01 0.92
P6 3 50 1.50 49 72 89 66 1.00 1.03 0.92
P7 7 50 1.50 82 77 62 34 1.02 1.00 0.93

Table 4
Runtime (in seconds) of the metaheuristics for the CT industrial problems

SA GA GAn
Average 626.16 1751.61 2938.70
Maximum 969 1936 3262

Table 5
Performance ratios for the fashion industry instances

Instance H1 H2 H3 H4 H5 SAH1 SAH2 SAH3 SAH4 SAH5 SA GA GAn


B1 1.0357 1.2143 1.0357 1.6429 1.0714 1.0357 1.0357 1.0357 1.0357 1.0357 1.0357 1.0357 1.0357
B2 1.0357 1.2143 1.0357 1.6429 1.0714 1.0357 1.0357 1.0357 1.0357 1.0107 1.0107 1.0107 1.0107
B4 1.0682 1.1409 1.0114 1.5000 1.0318 1.0114 1.0114 1.0114 1.0114 1.0091 1.0091 1.0068 1.0045
B3 1.0682 1.1591 1.0114 1.5000 1.0545 1.0114 1.0114 1.0114 1.4091 1.0068 1.0068 1.0045 1.0011
B5 1.0500 1.0500 1.0500 1.8000 1.0500 1.0250 1.0250 1.0250 1.0250 1.0188 1.0188 1.0250 1.0187
B6 1.0219 1.1766 1.0219 1.4063 1.0810 1.0172 1.0219 1.0172 1.0172 1.0050 1.0050 1.0087 1.0050
B7 1.1000 1.1471 1.0353 1.4294 1.0618 1.0353 1.0353 1.0353 1.2529 1.0471 1.0353 1.0205 1.0029
B8 1.0748 1.1049 1.0179 1.3259 1.0487 1.0179 1.0179 1.0179 1.0105 1.0192 1.0105 1.0172 1.0158
B10 1.0967 1.1567 1.0581 1.0533 1.0500 1.0478 1.0478 1.0266 1.0069
B12 1.0327 1.0893 1.1488 1.0667 1.0327 1.0774 1.0774 1.0394 1.0327 1.0277 1.0238
B9 1.0667 1.1212 1.0535 1.0303 1.0712 1.0495 1.0303 1.0303 1.0242
B11 1.0692 1.1187 1.0429 1.0385 1.0879 1.0403 1.0385 1.0296 1.0296

length whereas GA and GAn can be applied when a (near-)optimum is sought. The average and
maximum run times of GA are comparable to those spent by expert markers for a simple garment
such as a blouse or a pair of pants. The runtime of GAn is comparable to the time devoted by the
expert marker of the consulting firm to generate the layouts of Fig. 6.

5.2. Fashion industry instances

The fashion industry set consists of instances where an instance corresponds to a set of rectangular
enclosures, with each rectangle corresponding to a set of pieces of a given garment in a given size.

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 347

lH H
lSA
Fig. 8. 95% confidence intervals for the mean performance ratios l¯
and l¯
.

The dimensions of the rectangular enclosure are proportional to the size of the garment it encloses.
The instances contain three classes of problems. The class of small instances has |S| = 4, |G| = 7,
and w = 1.0. It consists of instances B1 –B4 . The class of medium instances has |S| = 4, |G| = 11,
and w = 1.2, 1.6. It consists of instances B5 –B8 . Finally, the class of large instances has |S| =
5, 6, |G| = 20, and w = 2.0, 2.5. It consists of B9 –B12 . Instances B1 , B2 , B5 , B6 , B7 , and B8 , have
known optima since they are perfect puzzles.
Table 5 displays the computational results. Column 1 indicates the instance. Columns 2–6 show
lH ¯ where lH is the length of solution AH obtained by constructive heuristic
, the ratio of lH to l,

H ∈ H = {H1, . . . , H5}, and l¯ is the optimal length if known or a lower bound obtained by dividing
lH
the area of all rectangular enclosures of all sizes by w. Columns 7–10 report SA l¯
, the ratio of the
length of the solution obtained by SA when initiated with AH , H = H1, . . . , H4. Column 11 gives
H5
lSA

, the minimal ratio of the length of the solution obtained by SA when initiated with AH5 over six
l l l
replications. Columns 12–14 report SA

, GA

, and GA

, the ratios of the length of the solutions of SA,
¯
GA, and GAn, respectively, to l, with lSA = min {lSA }.
H
H∈H
The assessment of the quality of the solutions obtained by the constructive heuristics measures
the potential benefits that local industries forfeit when they opt for rules of thumbs. This potential
loss may encourage some small-sized manufacturers in developing countries to adopt rigorous
operational research tools for their CT problems. In this regard, the analysis of Table 5 infers the
following.

r When it identifies a feasible solution, H3 yields the best solution among the five heuristics. On
the other hand, H4 is dominated by the other constructive heuristics. Its performance is due to
the constraint of a single size per section; causing undue waste. On average, H1, H3, and H5 yield

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
348 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353

lSA l lGAn
Fig. 9. 95% confidence intervals for the mean performance ratios l¯
, GAl¯
, and l¯
.

better solutions than H2. The less sections a heuristic uses, the shorter the total fabric length is.
When several sizes are combined into a single section, BLP obtains a denser packing.
r H3 and H1 yield the same result when the LCD of the ordered quantities equals the minimum or-
dered quantity; that is, LCD(qs : s ∈ S) = min{qs }. This is the case of instances B1 , B2 , B5 , B6 , B9 ,
s∈S
and B10 .
r H3 and H1 are unable to identify feasible solutions for large problems; that is, for B9 –B11 and
B9 –B12 , respectively. The infeasibility of the solutions is caused by the violation of the physical
length l of the cutting table. Feasibility may be restored by splitting sections as it is the practice
in industry.
r For large instances (i.e., for B9 –B12 ), H5 dominates the other constructive heuristics despite its
random nature.
r The solutions of H1, H3, and H5 are good estimates of the optimum, and can be used in industry
for a rough estimate of the fabric length or in contexts where optimization tools are difficult to
implement. This is further evidenced by the comparison of the 95% confidence intervals of the
mean performance ratios displayed in Fig. 8. The confidence intervals have reduced widths while
the point estimates of the mean performance ratios are close to 1.0.
r SA is sensitive to the starting solution. It performs equally well when started with the solution
of H1, H3, or H5. Despite the improvement it brings to the solutions of H2 and H4, its local
minimum is generally further away from the global one, as inferred from Fig. 8.
r The good performance of SA and GA makes them good optimization techniques for CT. SA
matches the best solution in 4 of 12 instances and obtains the unique best solution in one
instance. The multiple restarts of SA improve its performance. GA matches the best solution in 3
of 12 instances. Yet, its performance ratio is close to 1 with the worst ratio being 1.0357 for B1 .

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 349
Table 6
Run times (in seconds) of H1–H5 for the fashion industry instances

Instance H1 H2 H3 H4 H5 Average Maximum


B1 0.13 0.02 0.12 0.01 0.03 0.06 0.13
B2 0.14 0.02 0.12 0.01 0.13 0.08 0.14
B4 0.04 0.02 0.03 0.01 0.22 0.07 0.22
B3 0.04 0.02 0.03 0.01 0.47 0.11 0.47
B5 0.29 0.11 0.27 0.01 0.16 0.17 0.29
B6 1.38 0.11 1.32 0.01 1.35 0.83 1.37
B7 0.08 0.03 0.51 0.01 0.14 0.15 0.50
B8 0.12 0.05 1.92 0.01 2.62 0.97 2.73
B10 14.42 0.40 14.26 0.04 37.01 13.06 36.56
B12 2.27 0.15 15.26 0.04 30.63 10.07 32.22
B9 8.05 0.68 7.84 0.05 7.61 4.90 8.16
B11 1.24 0.29 10.95 0.06 5.87 3.58 10.80
Average
Small 0.16 0.05 0.25 0.01 0.11 0.12
Medium 0.40 0.05 0.85 0.01 1.14 0.50
Large 6.49 0.19 2.10 0.02 2.11 1.31
Maximum
Small 0.29 0.11 0.51 0.01 0.16 0.50
Medium 1.38 0.11 1.92 0.01 2.62 2.73
Large 14.42 0.68 15.26 0.06 37.01 36.56

Table 7
Runtime (in seconds) of SA, GA, and GAn for the fashion industry instances

Average run time Maximum run time


Class SA GA GAn SA GA GAn
Small 22 130 273 24 143 477
Medium 220 451 673 364 609 1066
Large 549 1450 2511 803 1733 2991

r The best solution reached by GA is obtained during the initial population or is the result of
crossover. GA converges prematurely to a local optimum because of the stagnation of its popu-
lation; hindering its escape to a near-global optimum.
r Even though GA and GAn are run with the same parameters, GAn has better solutions than
GA in six occasions. This is due to the intensification of the search around each individual of the
population and the immediate introduction of the offspring into the population.
r Figure 9 suggests that GAn yields on average the tightest 95% confidence interval of the mean
performance ratio and the lowest mean, followed by GA, followed by SA. However, the differences
of the mean ratios of SA and GA are not statistically significant at a 10% significance level while
those differences of the mean ratios of SA and GA with GAn are significant at a 5.07% and 1.05%
level, respectively.

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
350 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353
Table 8
Instances tested in Rose and Shier (2007)

Size
Example A B C D E F G H ED mGAn m∗
R1 14 9 9 6
R2 12 12 11 10 6 4 4 4
D1 5 54 84 91 60 29 1 5 4
D2 5 30 61 89 76 45 3 5 4
D3 5 25 70 63 54 39 1 5 4
D4 5 33 82 77 62 34 1 5 4
D5 5 62 69 94 81 55 3 6 5
D6 5 49 72 89 66 34 2 6 4
D7 5 57 81 96 42 35 1 6 4
D8 5 29 58 87 72 34 0 5 3
D9 5 51 76 87 64 46 4 5 4
D10 5 36 59 84 76 40 9 5 4

Table 9
Alternative optima for R2

Section i hi li A B C D E F G H
Solution 1
1 4 2000 0 0 0 0 1 1 1 1
2 2 500 0 0 0 0 1 0 0 0
3 1 500 0 0 1 0 0 0 0 0
4 12 1000 1 1 0 0 0 0 0 0
5 10 1000 0 0 1 1 0 0 0 0
Solution 2
1 4 2000 0 0 0 0 1 1 1 1
2 1 1500 0 0 1 0 2 0 0 0
3 12 1000 1 1 0 0 0 0 0 0
4 10 1000 0 0 1 1 0 0 0 0
Solution 3
1 4 2000 0 0 0 0 1 1 1 1
2 1 1500 0 0 1 0 2 0 0 0
3 6 2000 2 2 0 0 0 0 0 0
4 5 2000 0 0 2 2 0 0 0 0

The run times (in seconds) of H1–H5 are reported in Table 6. H4 is the fastest among H1–H5.
H1 and H3 provide a good tradeoff between solution quality and run time. The reported times of
H1 and H3 for instances B9 –B11 include the time required to restore feasibility for the generated
infeasible solutions. H5 requires the largest runtime.
Table 7 summarizes the average and maximum runtime (in seconds) of SA, GA, and GAn for
the three problem classes. SA is faster than GA which, in turn, is faster than GAn. The relatively
larger GAn run times are due to the larger number of solutions being considered; with each solution
requiring the packing of different patterns on the sections.

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 351
5.3. Applying the heuristics to related problems

The four solution approaches are applied to the instances R1, R2, and D1–D10 of Degraeve
and Vandebroek (1998) and Rose and Shier (2007). For these instances, Rose and Shier (2007)
minimize the number of sections whereas Degraeve and Vandebroek (1998) and Degraeve et al.
(2002) minimize the excess production. These instances correspond to real industrial cases but
suppose that the lengths of the patterns are independent of size. They assume that h = 35, and
that each rectangular enclosure has a length l/4 and width w regardless of its associated size. The
corresponding demand and number of sizes are given in Table 8. R1 has |S| = 4 sizes of garments,
R2 has |S| = 8, whereas each of D1–D10 has |S| = 6.
Solving these instances using the heuristics proposed in this paper yields, as expected, a constant
length l = l ∗ . This length is optimal since it equals the straightforward lower bound obtained by
dividing the sum of the areas of the rectangular enclosures of the patterns by w. In addition, the
heuristics produce a zero excess production to the opposite of Degraeve et al. (2002) which have
strictly positive excess production (ED ) for all instances except D8, as shown in column 10 of
Table 8.
The optimal solutions obtained by GAn has mGAn sections as displayed in column 11 of
Table 8. When minimizing m∗ is the objective, the heuristics proposed in this paper are modi-
fied to keep track of the solutions having the minimum number of sections. Since all solutions have
equal total fabric length l ∗ , the heuristics choose among the alternative optima the one with m∗
sections. The implementation of this modification yields the m∗ reported by Rose and Shier (2007)
and given in the last column of Table 8. For example, for instance R2, the heuristics produce the
three alternative optima of Table 9. The heuristics choose solution 2 or 3.

6. Conclusions

This paper evokes two complex real-life problems that are encountered in make-to-order apparel
manufacturing and fashion industry. These problems are the COP and the TDL optimization. The
former identifies the minimal length cut order plan for a given order. It determines the total number
of sections, assigns the sizes of the order into these sections, and determines the number of layers
for each section subject to technological constraints such as the maximum and minimum number of
layers, cutting table length, etc. The TDL problem is solved for each section of the cut order plan.
It finds the minimal length layout of the pieces of the different sizes assigned to the section on a
rectangle of a fixed width and maximal length such that no pair of pieces overlap, and all pieces are
completely contained in the rectangle.
The paper explains the current industrial practice in dealing with each of these problems and
supports the need to combine them into a single one. It presents examples of the output of the
combined problem. It proposes different solution approaches, and motivates the utility of each of
them from both an academic and industrial perspective. These approaches consist of five constructive
heuristics, a stochastic local search, a population-based search, and a hybrid search. They are
designed to englobe the behavior of expert markers and to limit the computation time. They present
a tradeoff between efficacy and efficiency.


C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
352 R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353
The application of these approaches to existing benchmark and industrial instances provides com-
putational proof of the benefits brought up by CT. Future research will focus on considering other
types of costs, multiple garments, patterned fabric, and on improving the TDL packing approach.

Acknowledgments

The authors thank Douglas Shier for providing them with his data set. The first author thanks
Brian Melloy who made the visit to the Clemson Apparel Research Center possible.

References

Bennell, J.A., Dowsland, K.A., 2001. Hybridizing tabu search with optimisation techniques for irregular stock cutting.
Management Science 47, 1160–1172.
Bennell, J.A., Oliveira, J.F., 2008. The geometry of nesting problems: a tutorial. European Journal of Operational Research
184, 397–415.
Bennell, J.A., Oliveira, J.F., 2009. A tutorial in irregular shaped packing problems. Journal of Operational Research Society
60, 93–105.
Bennell, J.A, Scheithauer, G., Stoyan, Y., Romanova, T., 2010. Tools of mathematical modeling of arbitrary object packing
problems. Annals of OR 179, 343–368.
Bennell, J.A., Song, X., 2008. A comprehensive and robust procedure for obtaining the no-fit polygon using Minkowski
sums. Computers & Operations Research 35, 267–281.
Bortfeldt, A., 2006. A genetic algorithm for the two-dimensional strip packing problem with rectangular pieces. European
Journal of Operational Research 172, 814–837.
Bouziri, A., M’hallah, R., 2007. A hybrid genetic algorithm for the cut order planning problem. Lecture Notes in Computer
Science 4570, 454–463.
Burke, E., Hellier, R., Kendall, G., Whitewell, G., 2006. A new bottom-left-fill heuristic algorithm for the two-dimensional
irregular packing problem. Operations Research 54, 587–601.
Burke, E., Hellier, R., Kendall, G., Whitwell, G., 2007. Complete and robust no-fit polygon generation for the irregular
stock cutting problem. European Journal of Operations Research 179, 1, 27–49.
Chernov, N., Stoyan, Y., Romanova, T., 2010. Mathematical model and efficient algorithms for object packing problem.
Computational Geometry 43, 535–553.
Costa, M.T., Gomes, A.M., Oliveira, J.F., 2009. Heuristic approaches to large-scale periodic packing of irregular shapes
on a rectangular sheet. European Journal of Operational Research 192, 29–40.
Cui, Y., Yang, Y., Cheng, X., Song, P., 2008. A recursive branch-and-bound algorithm for the rectangular guillotine strip
packing problem. Computers & Operations Research 35, 1281–1291.
Degraeve, Z., Gochet, W., Jans, R., 2002. Alternative formulations for a layout problem in the fashion industry. European
Journal of Operational Research 143, 80–93.
Degraeve, Z., Vandebroek, M., 1998. A mixed integer programming model for solving a layout problem in the fashion
industry. Management Science 44, 301–310.
Dowsland, K.A., Vaid, S., Dowsland, W.B., 2002. An algorithm for polygon placement using a bottom-left strategy.
European Journal of Operational Research 141, 371–381.
Egeblad, J., Nielsen, B.K., Odgaard, A., 2007. Fast neighbourhood search for two- and three-dimensional nesting
problems. European Journal of Operational Research 183, 1249–1266.
Elomri, A., 1992. Méthode d’optimisation dans un contexte productique. Ph.D. dissertation, Université de Bordeaux 1.
Elomri, A., Morel, P., Pun, L., Doumeingts, G., 1994. Solving a cutting problem based on existing patterns. European
Journal of Operational Research 77, 169–178.
Gomes, A.M., Oliveira, J.F., 2002. A 2-exchange heuristic for nesting problems. European Journal of Operational Research
141, 359–370.

C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies
R. M’Hallah and A. Bouziri / Intl. Trans. in Op. Res. 23 (2016) 321–353 353
Gomes, A.M., Oliveira, J.F., 2006. Solving irregular strip packing problems by hybridising simulated annealing and linear
programming. European Journal of Operational Research 171, 811–829.
Guo, Z.X., Wong, W.K., Leung, S.Y.S., Fan, J.T., Chan, S.F., 2006. Mathematical model and genetic optimization for the
job shop scheduling problem in a mixed and multi-product assembly environment: a case study based on the apparel
industry. Computers & Industrial Engineering 50, 202–219.
Jacobs-Blecha, C., Ammons, J.C., Schutte, A., Smith, T., 1998. Cut order planning for apparel manufacturing. IIE
Transactions 30, 79–90.
Jakobs, S., 1996. On the genetic algorithms for the packing of polygons. European Journal of Operational Research 88,
165–181.
Lesh, N., Marks, J., McMahon, A., Mitzenmacher, M., 2004. Exhaustive approaches to 2D rectangular perfect packings.
Information Processing Letters 90, 7–14.
Lopez-Camacho, E., Ochoa, G., Terashima-Marin, H., Burke, E.K., 2013. An effective heuristic for the two-dimensional
irregular bin packing problem. Annals of Operations Research 206, 241–264.
Martens, J., 2004. Two genetic algorithms to solve a layout problem in the fashion industry. European Journal of Operational
Research 154, 304–322.
M’Hallah, R., Bouziri, A., Jilani, W., 2001. A layout of two dimensional shapes using genetic algorithms. In Del Pobil,
A.P., Mira, J., Ali, M. (eds) Lecture Notes in Artificial Intelligence, Subseries of Lecture Notes in Computer Science,
2070, 403–411.
Mok, P.Y., Kwong, C.K., Wong, W.K., 2007. Optimisation of fault-tolerant fabric-cutting schedules using genetic algo-
rithms and fuzzy set theory. European Journal of Operational Research 177, 1876–1893.
Nascimento, D.B., Neiva de Figueiredo, J., Mayerle, S.F., Nascimento, P.R., Casali, R.M., 2010. A state-space solution
search method for apparel industry spreading and cutting. International Journal of Production Economics 128, 379–
392.
Rose, D., Shier, D., 2007. Cut scheduling in the apparel industry. Computers & Operations Research 24, 3209–3228.
Talbi, G., 2002. A taxonomy of hybrid metaheuristics. Journal of Heuristics 8, 541–564.
Terashima-Marin, H., Ross, P., Farias-Zarate, C.J., Lopez-Camacho, E., Valenzuela-Rendon, M., 2010. Generalized
hyper-heuristics for solving 2D regular and irregular packing problems. Annals of Operations Research 179, 369–392.
Toledo, F.M.B., Carravilla, M.A., Ribeiro, C., Oliveira, J.F., Gomes, A.M., 2013. The dotted-board model: a new MIP
model for nesting irregular shapes. International Journal of Production Economics 145, 478–487.
Wäscher, G., Hauβner, H., Schumann, H., 2007. An improved typology of cutting and packing problems. European
Journal of Operational Research 183, 1109–1130.
Wong, W.K., Leung, S.Y.S., 2008. Genetic optimization of fabric utilization in apparel manufacturing. International
Journal of Production Economics 114, 376–387.
Yan-Mei, L., Shao-cong, Y., Shu-ting, Z., 2011. Research on cut order planning for apparel mass customization. Com-
munications in Computer and Information Science 227, 267–271.
Yang, C.L., Huang, R.H., Huang, H.L., 2011. Elucidating a layout problem in the fashion industry by using an ant
optimisation approach. Production Planning and Control: The Management of Operations 22, 3, 248–256.
Yeung, L.H.W., Tang, W.K.S., 2004. Strip-packing using hybrid genetic approach. Engineering Applications of Artificial
Intelligence 17, 169–177.


C 2014 The Authors.
International Transactions in Operational Research 
C 2014 International Federation of Operational Research Societies

You might also like