Advances in Operations Research

Advances in Operations Research / 2009 / Article

Research Article | Open Access

Volume 2009 |Article ID 732010 |

Abdelghani Bekrar, Imed Kacem, "An Exact Method for the 2D Guillotine Strip Packing Problem", Advances in Operations Research, vol. 2009, Article ID 732010, 20 pages, 2009.

An Exact Method for the 2D Guillotine Strip Packing Problem

Academic Editor: Mhand Hifi
Received24 Aug 2008
Revised13 Jan 2009
Accepted16 Apr 2009
Published21 Jul 2009


We consider the two-dimensional strip packing problem with guillotine cuts. The problem consists in packing a set of rectangular items on one strip of width and infinite height. The items packed without overlapping must be extracted by a series of cuts that go from one edge to the opposite edge (guillotine constraint). To solve this problem, we use a dichotomic algorithm that uses a lower bound, an upper bound, and a feasibility test algorithm. The lower bound is based on solving a linear program by introducing new valid inequalities. A new heuristic is used to compute the upper bound. Computational results show that the dichotomic algorithm, using the new bounds, gives good results compared to existing methods.

1. Introduction

The two-dimensional strip packing problem (2SP) is a well-known combinatorial optimization problem. It has several industrial applications like the cutting of rolls of paper or textile material. Moreover, some approximation algorithms for bin packing problems are in two phases where the first phase aims to solve a strip packing problem [1, 2]. Consider a set of rectangular items. Each item has a width and a height . The 2SP consists in packing all the items in a strip of width and infinite height. The dimensions of the items and the strip are integers. The objective is to minimize the total height used to pack the items without overlapping. The orientation of items is fixed, that is, they cannot be rotated.

This problem is NP-hard in the strong sense since the special case where all items have the same height is equivalent to the one-dimensional bin packing [3, 4].

An additional constraint considered in this paper is the guillotine cut: All items must be extracted by cuts that go from one edge to the opposite edge. Figure 1(a) shows a guillotine pattern where all items can be extracted by guillotine cuts. When items cannot be extracted by guillotine cuts, the pattern is called nonguillotine as shown in Figure 1(b).

Most of papers considering the 2SP problem are approximation algorithms. Fernandez de la Vega and Zissimopoulos [5], Lesh et al. [6] Kenyon and Rémila [7], and Zhang et al. [8] presented approximation algorithms for the strip packing problem. Bortfeldt [9], and Beltran et al. [10] used metaheuristics. Hopper and Turton [11] provided an overview of metaheuristic algorithms applied to 2D strip packing problem.

To the best of our knowledge, there are only few papers which used exact algorithms to solve 2SP problem. Hifi [12] introduced the cutting/packing problem with guillotine cut, and he proposed two algorithms based on branch and bound. Martello et al. [4] proposed a new lower bound and used a branch and bound to solve the problem without guillotine constraint.

Recently, three papers introduced the strip packing problem with guillotine constraint. Cui et al. [13] proposed a recursive branch and bound to obtain an approximate solution. A new lower bound and a Branch and Bound were proposed by Bekrar et al. [14]. Finally, Cintra et al. [15] used the column generation method and dynamic programming to solve another variant of the problem (a bound on the number of each small rectangle to be packed is imposed).

In this paper, we propose an exact algorithm based on dichotomic search to solve the two-dimensional strip packing problem with guillotine cut. In Section 2 we present some lower bounds proposed in literature. In Sections 3 and 4, we, respectively, present the lower bound and the upper bound used in the algorithm. In Section 5, we explain the dichotomic algorithm. We provide computational results in Section 6. Finally, we discuss some perspectives of our work.

2. Lower Bounds for the 2SP Problem

In this section, we first recall existing lower bounds proposed for the strip packing problem: the continuous lower bound , the lower bounds of Martello et al. [4], and , and our lower bound proposed in Bekrar et al. [16], . Note that, in all lower bounds the guillotine constraint is relaxed.

2.1. The Continuous Lower Bound

By splitting each item into unit squares, we obtain a lower bound which is called the continuous lower bound: Let . Martello et al. [4] proved that the absolute worst case performance ratio is equal to .

2.2. First Lower Bound (Martello et al. [4])

This first lower bound presented by Martello et al. [4] is an extension of the one presented in Martello and Toth [17] proposed for the one-dimensional bin packing problem. The idea is to decompose the set of items () into three subsets according to their dimensions: the subset of the largest items (), the subset of medium items (), and the subset of the smallest items ().

Let ,



Observe that

(i)beside a large item we cannot pack any item of the other subsets, (ii)two items of the subset of medium items cannot be packed one beside the other, and(iii)beside items of medium items only items of the last class can be packed.

The sum of heights of items in the two first classes is a valid lower bound for the 2SP problem, . Some items of cannot be packed beside the first class or the second class. A continuous lower bound on those items is computed and added to .

2.3. Second Lower Bound (Martello et al. [4])

The second lower bound proposed by Martello et al. [4] is based on a relaxation of the 2SP problem by cutting each item into unit-height slices of width . The authors consider the one-dimensional contiguous bin packing problem (1CBP), where all slices must be packed in bins of size . The slices derived from the item must be packed into contiguous bins. The optimal solution value of (1CBP) is a valid lower bound for the 2SP problem (denoted ). This solution is computed by a Branch and Bound. The authors proved that dominates the previous bounds ( and ).

When the Branch and Bound fails in determining the optimal solution within a fixed time, a new instance of (1CBP) is created from the 2SP instance by cutting each item into slices of height 2 or into slices of height 3, and so on, until a solvable (1CBP) instance is produced. is improved by using a special binary search procedure (for more details see [4]).

This lower bound gives the best results on the tested instances, but as we can remark it is complicated and it takes considerable computation time.

2.4. Bekrar et al. [14] Lower Bound ()

This lower bound is based on the same decomposition presented in Martello et al. [4]. The idea is to calculate the maximum number of items from the last class that can be packed beside items of the second class . This allowed us to compute a best bound on the items of that cannot be packed with .

This lower bound gives good results on the same instances of Martello et al. [4] with the advantage of reducing the computation time.

3. MIP Formulation and Introduction of Valid Inequalities

This method is based on an adapted formulation of the problem in a mixed integer programming. It is impossible to solve effectively this problem by a commercial solver because of the large number of constraints and variables. In addition, the linear relaxation (relaxation of the integrity constraint) is very poor. This is why we add a family of valid inequalities to the model to improve the lower bound associated to its linear relaxation.

3.1. The MIP Formulation for the Two-Dimensional Bin Packing Problem (Pisinger and Sigurd [18])

The model which we used is adapted from the one presented by Pisinger and Sigurd [18] for the two-dimensional bin packing problem. The latter is based on the modeling technique proposed by Onodera et al. [19] and Chen et al. [20] described as follows.

Let denote the set of items. are, respectively, the width and the length of the bin.

Decision Variables
Consider the following variables. (i): the lower-left coordinates of item .(ii): the index of the bin containing rectangle . (iii) is equal to 1 if rectangle is located left of rectangle , that is, if . (iv) is equal to 1 if rectangle is located below rectangle , that is, if . (v): if , that is, if rectangle is packed in a bin before the bin where rectangle is packed (the index of the bin containing is less than the bin containing ). (vi) is the number of used bins. Constraints (1) avoids the overlapping between items, so item should be in the left or the right side of item , and, in the same time, it should be located above or below item . In constraint (2), if , we have: , which means that item is located left to item . If in constraint (3), we deduce that item is located below item . In constraint (4), we determine if item is packed “before” item , (the index of the bin containing is less than the index of the bin containing ). These three constraints determine the position of item relative to the position of item . Constraints (5) and (6) ensure that the items do not exceed the edges of the bins.

3.2. MIP Formulation for the Two-Dimensional Strip Packing Problem 2SP

We adapted the model of Pisinger and Sigurd [18] for the problem. Constraints (4), (7), and (10) are eliminated since they concern the bin packing problem. The length of the bin is replaced by an upper bound corresponding to the length of the strip.

The problem can be formulated in the following MIP model, denoted :

The valid inequalities are added to in which we relax the integrity constraint (constraints (7) are replaced by the constraints and , resp.).

In the following, we propose a series of valid inequalities to improve the lower bound of the problem.

3.3. Inequalities Related to the Parallel-Machine Scheduling Problem and

This bound is inspired from the principle proposed in Kacem [21] applied to the tardiness minimization on a single machine. Kacem [21] associates fictitious weights to jobs to be scheduled and computes a lower bound on the weighted flow-time of the optimal solution. Therefore, for each vector of fictitious weights, he obtained a valid inequality. For the studied problem, we consider the items as a set of jobs (i.e., each item is a set of jobs of duration ) to be scheduled on identical parallel machines. Hence, the variables represents the completion time of the item (all the jobs corresponding to this item). Clearly, feasible packing can be viewed as a schedule of these fictitious jobs. To each item , we associate a fictitious weight . We use an iterative method to calculate different values of weights. For each vector of fictitious weights, we obtain a valid inequality. We deduce the following valid inequality based on the lower bound of Eastman et al. [22] for the problem of minimizing the weighted flow-time on identical parallel machines: where is the item in position when the set is sorted in non-decreasing order of . This constraint is valid for any positive vector of fictitious weight . We generated several constraints of this type.

Recall that the bound of Eastman et al. [22] for the problem is given by the following equation: where is the optimal solution of the problem on a single machine. is the number of machines, and is the number of jobs. and are, respectively, the weight and the duration of the job .

3.4. Inequalities Related to the Parallel-Machine Scheduling Problem and

This inequality consists in the same principle. We consider items as jobs; each item is considered as a set of jobs of duration . These jobs are to be scheduled on identical machines. Therefore, the variables represent the completion time of the item . It is obvious that any feasible packing can be viewed as a scheduling of fictitious jobs.

To each job , a fictitious weight is associated. Hence, we deduce the following valid inequalities that used the bound of Eastman et al. [22] for the problem : where is the th item when the set is sorted in nondecreasing order of .

This constraint is valid for any vector of fictitious weights. For this reason, we generate several constraints of this family.

3.5. Inequalities Linking and

By solving the model with the previous cuts (Sections 3.3 and 3.4), we noticed that in the obtained solutions items are in the bottom and in the right of the strip to respect these inequalities. To avoid this problem, we adopted the solution which consists in bounding the weighted sum of .

We apply the same reasoning used in the previous inequality, and then we can obtain a valid inequality able to link and . Indeed, by replacing (, i.e., ) and using a similar notation as in the first family (Section 3.3), we can introduce the following inequality: or

3.6. Inequalities Bounding the Weighted Sum on

This inequality is similar to the previous one. It is based on the following transformation of variables: . It is described as follows:

3.7. Inequalities for large items and high items

For the set of large items such that each pair cannot be packed side by side, we can consider it as items of width . Indeed, let and we have . The following constraints are valid inequalities: Let be a vector of fictitious weights. represents the th item of the set by sorting the items in nondecreasing order of . The following constraint defines a valid inequality: Obviously, the following constraint is also a valid inequality: We use the same reasoning in the previous cut. Let and . The following constraints are valid inequalities:

Let be a vector of fictitious weights. represents the th item in the set when it is sorted in the nondecreasing order of . The following constraint is a valid inequality: The following constraint is also a valid inequality:

3.8. Inequalities with Identical Fictitious Weights

It is obvious that all the previous cuts remain valid for the special case when the fictitious weights are equal to 1. However, it is more advantageous in this case to apply the Shortest Processing Time (SPT) rule instead of the Eastman bound.

We established a simple procedure to apply this rule to our problem in which we consider items as jobs.

3.9. Valid Constraints Avoiding the Overlapping of Items in the Bottom of the Strip

When we tested the previous cuts, we noticed in some obtained solutions that items overlap in the bottom of the strip () while the sum of their widths exceeds the width of the strip . Therefore, we introduced a special cut to avoid this situation for which a constraint of the initial problem is violated.

Let be the real solution violated and . We have . We apply for the items of this set a cut of the same type of the first one with fictitious weights equal to 1 (Section 3.3). Obviously, we do not use the bound of Eastman but the generalized mentioned previously. Let be the value of this bound calculated for the set . The following constraint is a valid cut:

We observed that, in some solutions, items overlap on the other sides of the strip. Using the same approach, we can see that this cut can be immediately generalized for the items on the top, on the right edge, and the left edge of the strip.

3.10. Valid Constraints Based on Precedence Considerations

For all , the following relations hold due to the precedence considerations:

4. Upper Bounds for the 2SP Problem

4.1. The Two-Dimensional Level Algorithms

Many papers proposed approximation algorithms for 2D Strip Packing Problem, but few of them consider the guillotine constraint, citing from this category: Fernandez de la Vega and Zissimopoulos [5], Lesh et al. [6], Kenyon and Rémila [7], Zhang et al. [8], and Cui et al. [13]

To maintain this constraint, most of the proposed approaches are level algorithms, that is, the strip packing is obtained by placing the items, from left to right, in rows forming levels. The set of items is sorted in decreasing order of their heights. The first item packed in the bottom-left of the strip initializes the first level. The remaining items are packed in the initialized levels according to the used strategy (Best Fit (BFDH), First Fit (FFDH), Next Fit (NFDH), etc.). If no initialized level can contain the current item, a new level is initialized.

4.2. The Best Shelf Heuristic Filling (BSHF)

The Shelf Heuristic Filling (SHF) algorithm was proposed previously by Ben Messaoud et al. [23]. It is a generalization of the two-dimensional level algorithms (for more details about level algorithms like Floor Ceiling, see Lodi et al. [24]).

The main idea of SHF algorithm is to exploit the nonused area in each shelf. It makes it possible to pack items one over the other in the same shelf, which is not permitted in the level algorithms. This packing is achieved by respecting the guillotine constraint. For this purpose, SHF uses the definition of the available rectangle: the rectangle which has its bottom left corner as an available point. The available point can be the down-right or the top-left corner of an item already packed. Items are sorted in nonincreasing order of heights. The first item (the tallest one) is packed into the first available rectangle (the lowest). The leftmost item initializes a shelf with a height equal to the height of this item. After every item-packing, the set of available rectangles is updated in order to maintain the guillotine constraint. The updating consists in reducing the dimensions of available rectangles which overlap with the packed items. The item-packing creates two new available rectangles. This procedure is repeated until the last item is packed.

In Bekrar et al. [14], we proposed some strategies to improve the SHF algorithm. We called this new heuristic BSHF (Best SHF). We tested different rules of sorting items. We used the Best Fit rule to pack items, and we proposed a new way to update the list of available rectangles. The Best Fit rule consists in packing items in the available rectangle that minimizes the unused surface. This algorithm gives good results on large instances in few seconds. The average waste rate is estimated at 9%.

4.3. A New Heuristic for Solving the 2D Strip Packing Problem

In this subsection we present a new heuristic that is able to solve approximately the 2SP problem with guillotine cuts. Unlike previous heuristics (BSHF and BFDH), the items are not packed according to levels.

The items are sorted in different orders (decreasing heights, decreasing widths, decreasing areas).

The items are then packed in available rectangle as it is done in BSHF. However, the set of available rectangles is not updated in the same manner. When the current item can fill in an available rectangle, we check if the obtained pattern is guillotine using the procedure proposed by Ben Messaoud et al. [23]. If this pattern is guillotine, then the packing is validated and the next item is treated; otherwise, we try with another available rectangle.

During the packing, no shelf is created, hence the name of the algorithm: Nonshelf Heuristic Filling. The heuristic is adapted to the two-dimensional bin packing problem; when the current item cannot be packed in the open bins, a new bin is initialized.

The updating procedure in the BSHF heuristic aims to maintain the guillotine property of the patterns. In the NSHF heuristic, the updating procedure aims to correct the dimension of the available rectangles that are overlapping with the packed item.

Let be an available rectangle that has a width and a height and position . The bottom-left point coordinates of are and . Let an item with a width and a height be packed in the position . We distinguish two possibilities.

(1)Case  1. , the item is located in the right side of . If overlaps with , (i.e., ) then the width of is reduced (Figure 2(a)): . (2)Case  2. , the item is located in the left side of . If overlaps with (i.e., ), then the height of is reduced (Figure 2(b)): .

5. The Dichotomic Algorithm

In this section we present an exact method to solve the problem to optimality. The principle of this method was introduced first by Hifi [12]. Its effectiveness has been shown on other packing problems.

The algorithm starts by computing the lower bound using the cutting plane method described in Section 3. An upper bound, , is then computed by the heuristic BSHF and NSHF described in Section 4. If the upper bound is equal to the lower bound, then this is the optimal solution. If it is not the case, we search the optimal length included in the interval for which the items can be packed.

To reduce the search space, we use a dichotomic search. The Dichotomic Algorithm is sketched in Algorithm 1. The principle of this method was exploited in a previous work of Bekrar et al. [14].

When a height is chosen from the interval , a decision problem is generated: could the set of items be packed in the bin of width and height ? The problem of determining if a set of rectangles can be packed in a larger rectangle of fixed size is well known as the two-dimensional orthogonal packing problem (2OPP).

Several papers were interested in this problem. Fekete et al. [25] proposed an exact algorithm based on the graph theory. Clautiaux et al. [26, 27] proposed two approaches to solve 2OPP to optimality. The first one is a two-step algorithm where they determined the x-coordinates of items in the first step, then they checked the feasibility of the obtained configurations in the second step Clautiaux et al. [26]. In Clautiaux et al. [27], they used another approach based on constraint programming. The constraint programming approach was also used by Pisinger and Sigurd [18].

We choose to use the last approach in our algorithm, because it maintains the guillotine constraint, and we have experimentally checked that it has less computational time.

The (2OPP) is solved by a constraint satisfaction program (CSP). Constraint Satisfaction Programming (CSP) is a field of Artificial Intelligence that looks to solve problems modeled by a set of constraints imposed on a finite set of variables. The set of variables is defined in a domain: a finite set of values for each variable. A solution to CSP is a complete assignment of variables satisfying all the constraints.

For each pair of items , the domain is associated. , determines the possible relative placements among which we should choose at least one. is the variable that determines the position of item according to the position of item . The different relations between items can be defined as

, ij,

, ij,

, ij,

, ij,

, ij,


Initially all relations are set to undefined.

In each iteration of the algorithm, two rectangles and are considered, and a value is assigned to from . It is then checked whether a feasible assignment of coordinates exists by respecting the current relations . If the coordinate check fails, the algorithm backtracks. Otherwise a recursive call is done.

6. Computational Results

To evaluate the proposed algorithms, we compare them to some literature algorithms. The heuristics NSHF and BSHF are compared to the best of the algorithm proposed by Hifi [28] and BFDH heuristic (Chung et al. [1]). The dichotomic algorithm is compared with the branch and bound of Bekrar et al. [16] and the algorithm of Hifi [12].

All our algorithms were coded in C++ and tested on a Pentium Xeon with 2.7 GHz of RAM.

6.1. Computational Results for Heuristics

We test our heuristics BSHF and NSHF to literature heuristics. Hifi [12] proposed four heuristics: FIA, SIA, HC/FIA, and HC/SIA. We compare the best values of those algorithms to our heuristics on the large instances studied by Hifi [12].

In Table 1, we present the results. The following information is given:


SCPL111042549 57 1.1662 1.2654 1.10
SCPL384 2251561811.161821.161781.14
SCPL410235659 67 1.1377 1.3067 1.13
SCPL656 65719 24 1.2628 1.4722 1.15
SCPL815647564 77 1.2078 1.2171 1.10
SCPL911717590 1021.1399 1.1099 1.10


(i) and : respectively, the number of items and the strip width, (ii)LB: the value of the linear lower bound, (iii): the best value obtained by Hifi's heuristics (FIA, SIA, HC/FIA, HC/SIA), (iv)XSHF: the best value obtained by our heuristics NSHF and BSHF(v)BFDH: results of BFDH heuristic, and(vi)A/LB: the ratio of each heuristic by the lower bound ( represents the value of solution obtained by the heuristic). As we can see in Table 1, our algorithms allow to obtain satisfactory solutions on the tested instances. It improves generally the existing solutions. Note that Hifi's algorithm remains the best for instance (SCPL7). This confirms the interest of our heuristics.

6.2. Computational Results on Hifi’s Instances

The first tests are carried out on the instances of Hifi [12]. The dichotomic algorithm is compared to the branch and bound of Bekrar et al. [14] and to the best-first search MVB algorithm of Hifi [12]. The 25 instances are of various sizes and are available at

In Table 2, we give for each problem instance the following:


SCP1 10 5 13 13 13 13 0.01 0.1 0.01
SCP2 11 4 40 40 40 40 0.01 1.2 0.01
SCP3 15 6 14 14 19 14 403.83 19.4 47.07
SCP4 11 6 19 20 22 20 41.22 4.1 8.75
SCP5 8 20 20 20 20 20 0.01 0.1 0.01
SCP6 7 30 32 38 38 38 0.01 3.4 0.01
SCP7 8 15 12 13 15 14 0.03 1.4 0.23
SCP8 12 15 17 17 20 17 10.45 2.3 9.57
SCP9 12 27 68 68 69 68 0.01 0.1 0.14
SCP10 8 50 80 79 80 80 0.01 0.5 0.12
SCP11 10 27 47 47 49 48 0.12 0.7 14.89
SCP12 18 81 34 34 38 34 0.01 2.7
SCP13 7 70 42 50 56 50 0.1 16.8 2.38
SCP14 10 100 63 63 83 69 126.65 48.7 27.57
SCP15 14 45 34 34 35 34 445.94 165.7
SCP16 14 6 32 33 35 33 201.83 181.4
SCP17 9 42 34 39 39 39 0.01 323.6 0.01
SCP18 10 70 90 91 104 101 14.74 327.8 36.43
SCP19 12 5 25 26 26 26 0.01 473.0 0.01
SCP20 10 15 19 20 22 21 0.69 673.9 42.73
SCP21 11 30 135 135 145 145 12.34 2001.8 654.31
SCP22 22 90 34 34 43 34 1597.91 757.8
SCP23 12 15 28 33 35 35 10.03 1031.9 401.97
SCP24 10 50 105 105 123 114 5.26 5585.7 329.34
SCP25 15 25 36 36 41 36 116.11 2662.9

(i)the width of the strip and the number of items , (ii)values of upper bound and lower bound computed by the methods described previously, (iii)values of lower bound computed by Hifi [12], (iv)values of the optimal solution , and(v)the computational time of Hifi [12] , that of our branch and bound , and that of the dichotomic algorithm (in seconds).

Note that we carry out our algorithms for one hour, and if the optimal solution was not found (marked by “—”), we take the best solution found. Table 2 shows that the dichotomic algorithm could optimally solve all the tested instances of Hifi [12] and outperform our previous branch-and-bound algorithm in computational time, and on only few instances from 25 the dichotomic algorithm was not better. Note that Hifi used a Sparc-Server20 (module 712 MP) to test his algorithm. For this reason, it is not possible to make a reliable comparison in terms of the computation time. However, we prefer to report these results for information completeness.

6.3. Computational Results on Martello’s Instances

The second tests were carried out on a series of instances from literature. All instances are available at

We compare the dichotomic algorithm to the branch and bound of Bekrar et al. [14]. For each problem, Table 3 gives the following information:


ht1 16 20 20 20 20 20 20 0.01 0.01
ht2 17 20 20 20 23 20 20 67.45 TL
ht3 16 20 20 20 25 20 20 197.53 353.10
ht4 25 40 15 15 17 15 15 874.05 TL
ht5 25 40 15 15 16 15 15 571.65 TL
ht6 25 40 15 15 15 15 15 0.00 0.01
ht7 28 60 30 30 33 31 33 2045.34 TL
ht8 29 60 30 31 36 32 34 2101.33 TL
ht9 28 60 30 30 30 30 30 0.00 0.00
cgcut1 16 10 23 23 25 23 23 323.54 TL
cgcut2 23 70 63 64 82 67 72 2012.24 TL
cgcut3 62 70 636 637 714 647 676 TL TL
gcut1 10 250 1016 1016 1016 1016 1016 0.00 0.00
gcut2 20 250 1133 1133 1349 1284 1349 TL TL
gcut3 30 250 1803 1803 1810 1810 1810 TL TL
gcut4 50 250 2934 2934 3214 2956 3214 TL TL
ngcut1 10 10 23 21 23 23 23 16.73 2.58
ngcut2 17 10 30 30 31 30 30 1112.61 TL
ngcut3 21 10 28 28 33 29 29 724.31 TL
ngcut4 7 10 20 17 20 20 20 0.10 0.01
ngcut5 14 10 36 36 37 36 36 120.12 0.01
ngcut6 15 10 31 30 36 31 31 1091.33 TL
ngcut7 8 20 20 20 20 20 20 0.00 0.00
ngcut8 13 20 33 32 38 33 33 188.64 TL
ngcut9 18 20 49 49 59 51 53 1531.20 TL
ngcut10 13 30 80 58 80 80 80 970.02 TL
ngcut11 15 30 52 50 60 52 52 55.84 TL
ngcut12 22 30 87 87 96 87 87 21.04 TL
beng1 20 25 30 30 35 30 30 608.41 TL
beng2 40 25 57 58 60 59 60 TL TL
beng3 60 25 84 85 89 88 89 TL TL
beng4 80 25 107 108 112 111 112 TL TL
beng5 100 25 134 134 138 138 138 TL TL
beng6 40 40 36 37 39 38 39 3152.27 TL
beng7 80 40 67 67 72 70 72 TL TL
beng8 120 40 101 101 108 108 108 TL TL
beng9 160 40 126 126 130 130 130 TL TL
beng10 200 40 156 156 158 158 158 TL TL

(i)problem name and values of and , (ii)values of the our lower bound and values of the upper bound , (iii)values of lower bound computed by Martello et al. [4], (iv)values of the solutions: branch and bound () and dichotomic algorithm (), and(v)the computation time of the branch and bound and that of the dichotomic algorithm (in seconds).

As we can see in Table 3, the dichotomic algorithm often outperforms the Branch and Bound both in the number of solved instances and in the computation time.

6.4. Computational Results on Randomly Instances

To further analyze the performance of the algorithms, we compare the branch-and-bound method and the dichotomic algorithm on instances randomly generated. We adapt the classes of instances proposed by Berkey and Wang [2] and Martello and Vigo [24] for the two-dimensional bin packing problem to the strip packing problem. These instances consist of ten classes of problems. For each class, there are 40 instances: 10 with 10 rectangles, 10 with 15 rectangles, 10 with 20 rectangles, and 10 with 25 rectangles. The first six classes have been proposed by Berkey and Wang [2]:

. ,

Class I: uniformly random in;

Class II: uniformly random in;

Class III: uniformly random in;

Class IV: uniformly random in;

Class V: uniformly random in;

Class VI: uniformly random in .

The remainder four classes were inspired from Martello and Vigo [24]. The items are classified into four types:

Type 1: wj uniformly random in hj uniformly random in;

Type 2: wj uniformly random in hj uniformly random in ;

Type 3: wj uniformly random in hj uniformly random in ;

Type 4: wj uniformly random inhj uniformly random in.

The strip widths are equal to 100 for all these classes, while the items are as follows:

Class VII: type 1with probability of with probability of each;

Class VIII: type 2with probability of with probability ofeach;

Class IX: type 3with probability of with probability ofeach;

Class X: type 4with probability of with probability ofeach.

In Table 3, we present the results obtained by testing the two algorithms on random generated instances (TL denotes the time limit). For each 10 instances, we present the average values of

(i): lower bound, (ii): upper bound, (iii) and : the best solution obtained by each algorithm. Each run instance was carried out for 3600 seconds (if no optimal solution was achieved, we take the best one), (iv): the number of found optimum, and(v)T: the average time spent for solving the instance.

The results shown in Table 4 confirm the results obtained previously. The dichotomic algorithm outperforms the branch-and-bound method in the number of optimal solutions found and in the average time to compute a solution.

ProblemBound Dichotomic B&B
Class LB UB T(sec) T (sec)

10 10 35.50 36 35.50 10 0.01 35.50 10 112.32
15 45.90 49.10 46.90 10 221.60 46.70 9 999.67
20 63.50 66.70 65 10 1112.25 65.70 6 2151.81
25 82.10 84.80 84 10 1758.08 85 3 1854.33
Avg 56.86 59.15 57.88 10.00 772.99 58.23 7 1279.53

30 10 10.20 11.30 10.70 10 0.01 10.70 10 301.21
15 16.40 19.40 17.10 10 137.78 18.30 5 1267.74
20 19.60 21.70 20.80 10 612.82 20.90 3 2921.28
25 26.90 29.40 28.20 10 955.14 29.30 3 2663.98
Avg 18.28 20.45 19.20 10.00 426.44 19.80 5.25 1788.55

40 10 31.90 34.90 33.80 10 0.07 34.40 10 516.54
15 147 153.60 147.50 10 171.80 149.30 5 1592.42
20 169 176.20 172.80 10 810.37 175.40 4 3004.14
25 220.20 232.60 227.20 8 1008.53 232 2 1518.21
Avg 142.03 149.33 145.33 9.50 497.69 147.78 5.25 1657.83

100 10 37 41.70 40.80 10 1.01 40.80 10 960.26
15 49.40 59.90 54.50 10 465.60 55.50 4 968.76
20 60.80 67.60 63.60 10 854.63 68.20 4 1975.87
25 84.60 98.80 90.60 6 937.73 97.20 4 2980.43
Avg 57.95 67.00 62.38 9.00 564.74 65.43 3600 5.50 2381.27

100 10 320.92 330 321.40 10 1.98 321.40 10 111.04
15 403.50 434.40 419.50 10 319.54 421.50 5 812.22
20 569.90 593.00 581.10 8 1213.28 583 5 722.19
25 624.17 694.67 665 1 3489.31 689.17 0 3600
Avg 478.37 513.02 496.75 7.25 1256.03 503.77 5 1311.36

300 10 108.10 122.70 118.30 10 0.17 118.30 10 429.45
15 121.20 144.10 128.60 10 231.44 136.70 2 2512.21
20 168.03 195.80 179.20 9 2012.20 193.50 1 3600
25 220 261.60 248 1 3512.89 250.10 1 2851.1
Avg 154.33 181.05 168.53 7.50 1439.17 174.65 3.50 2348.19

100 10 337.30 338.70 338.40 10 3.56 338.40 10 5
15 532 532.20 532.10 10 2.20 542.30 10 3.6
20 731.30 738.10 738.10 10 466.15 738.10 10 332.8
25 707.70 715.20 714.60 6 1735.13 710.80 7 1342.76
Avg 577.08 581.05 580.80 9.00 551.76 582.40 9.25 421.04

100 10 247.10 285.50 267.60 10 2.94 263.90 10 752.9
15 396.32 435.10 421.80 10 1153.48 433.10 6 2821.2
20 507.50 571.75 559 7 3086.11 561.50 2 3600
25 635.17 771 693.67 6 3475.83 701.70 1 1880.4
Avg 446.52 485.52 485.52 8.25 1929.59 490.05 4.75 2263.63

100 10 543.70 544.50 543.70 10 0.54 543.70 10 30.7
15 871.20 871.20 871.20 10 0.10 871.20 10 59.8
20 1155.50 1159.80 1155.50 10 0.01 1159.70 9 432.3
25 1476.90 1479 1477 10 0.26 1479 8 754.1
Avg 1011.83 1013.65 1011.85 10.00 0.23 1013.40 9.25 319.23
100 10 163.40 174.90 170.60 10 0.12 170.5 10 343.2
15 253.01 268.90 258.50 10 243.07 265.10 4 2500.3
20 345.60 378.40 365.10 10 1637.05 375 4 2871.2
25 388.22 416 408.89 5 2581.66 419.67 1 3600
Avg 287.56 309.55 300.77 8.75 1115.47 307.57 4.75 2328.68

7. Concluding Remarks

In this paper we considered the strip packing problem under the guillotine constraint. The main contribution consists in the elaboration of new tight lower and upper bounds. The upper bounds are based on new rules for solving the problem under the above constraint. The lower bounds are based on a linear formulation using a set of various valid inequalities with a connection to scheduling on parallel machines. Such bounds were very useful to build an efficient dichotomic method which we compared to an existing branch-and-bound method. Based on the experimental results, several concluding remarks are worthy to note.

On the instances of Hifi our dichotomic algorithm was able to solve all the instances generally in a shorter computation time compared to our previous branch-and-bound method. Indeed, for the same instances our previous branch-and-bound algorithm cannot solve 5 instances of them. The dichotomic algorithm was faster in 16 instances among the 25, where the branch-and-bound algorithm was more efficient only on a few instances (four instances). These results show the effectiveness of the introduction of the new valid inequalities and the new heuristics for computing the bounds. Moreover, our heuristics allow to improve the existing approximate solutions for several instances of the studied benchmark.

For the instances introduced by Martello et al. [4] the same observation remains valid. Here, one can note that the average gap between the solution obtained by the dichotomic algorithm and the lower bound is estimated to 1.5, which represents a good performance on the various and difficult instances.

Finally, the performance of the dichotomic algorithm is confirmed on the random instances. Such an algorithm is more effective and rapid for solving some instances to optimality. In average, this algorithm yielded an optimal solution for 9 instances on 10, where the branch-and-bound algorithm solves only 6 instances on 10.

As for the bin packing problem, the instances of classes V, VI, and VIII were the most difficult to solve. For example, for Class VI, with 25 items the two algorithms were not able to solve more than only one instance on the 10 generated. The other classes are easier since our dichotomic algorithm yielded generally the optimal solution (classes I, II, III, IX) within a short computation time (less than 10 minutes in average). The branch-and-bound algorithm needs more time, and it is less effective to solve optimally the problem (6.6 on 10). The easiness of these instances can be explained by the fact that they are constituted of many small items, which enables the algorithms to compute tight bounds. The classes IX and X are composed of 70 of items having widths greater than the half of the bin width. The bounds computed for this type of instances are very tight. Indeed, the introduction of the inequalities concerning the high and large items (inequalities in Section 3.7) allowed us to obtain a good performance.

As future research, we aim to extend our approach to other variants of packing problems.

input: : number of items;
: list of items with their dimensions;
: the width of the strip;
: the limit of the algorithm running time;
output: , the optimal height to pack all items
1 //Functions;
2 UBF(n, listP, W) : the function computing the upper bounds;
3 (n, listP, W) : the function computing the lower bounds;
4 OPP(n, S, W1, H1) : this procedure returns TRUE if the set of items can be packed in
 a bin of width and height ;
5 //initialization;
6 ;
7 ;
8 if then
9 Return ; STOP;
10 else
11 if OPP TRUE then
12 Return ; STOP;
13 else
14 while do
15 if then
16 Return ; STOP;
17 else
18 ;
19 if OPP then
20 ;
21 else
22 ;


This work has been carried out when the authors are with the University of Technology of Troyes (Institue of Charles Delaunay). The research of the first author has been carried out during a doctoral study funded by the Regional Council of Champagne-Ardenne.


  1. F. R. K. Chung, M. R. Garey, and D. S. Johnson, “On packing two-dimensional bins,” SIAM Journal on Algebraic and Discrete Methods, vol. 3, no. 1, pp. 66–76, 1982. View at: Google Scholar | Zentralblatt MATH | MathSciNet
  2. J. O. Berkey and P. Y. Wang, “Two-dimensional finite bin-packing algorithms,” Journal of the Operational Research Society, vol. 38, no. 5, pp. 423–429, 1987. View at: Publisher Site | Google Scholar | Zentralblatt MATH
  3. M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman, San Francisco, Calif, USA, 1979. View at: Zentralblatt MATH | MathSciNet
  4. S. Martello, M. Monaci, and D. Vigo, “An exact approach to the strip-packing problem,” INFORMS Journal on Computing, vol. 15, no. 3, pp. 310–319, 2003. View at: Publisher Site | Google Scholar | MathSciNet
  5. W. Fernandez de La Vega and V. Zissimopoulos, “An approximation scheme for strip packing of rectangles with bounded dimensions,” Discrete Applied Mathematics, vol. 82, no. 1–3, pp. 93–101, 1998. View at: Publisher Site | Google Scholar | Zentralblatt MATH | MathSciNet
  6. N. Lesh, J. Marks, A. McMahon, and M. Mitzenmacher, “Exhaustive approaches to 2D rectangular perfect packings,” Information Processing Letters, vol. 90, no. 1, pp. 7–14, 2004. View at: Publisher Site | Google Scholar | MathSciNet
  7. C. Kenyon and E. Rémila, “Approximate strip packing,” in Proceedings of the 37th Annual Symposium on Foundations of Computer Science (FOCS '96), pp. 31–36, Burlington, Vt, USA, October 1996. View at: Google Scholar | MathSciNet
  8. D. Zhang, Y. Kang, and A. Deng, “A new heuristic recursive algorithm for the strip rectangular packing problem,” Computers & Operations Research, vol. 33, no. 8, pp. 2209–2217, 2006. View at: Publisher Site | Google Scholar | Zentralblatt MATH
  9. A. Bortfeldt, “A genetic algorithm for the two-dimensional strip packing problem with rectangular pieces,” European Journal of Operational Research, vol. 172, no. 3, pp. 814–837, 2006. View at: Publisher Site | Google Scholar | Zentralblatt MATH | MathSciNet
  10. J. D. Beltran, J. E. Calderon, R. J. Cabrera, J. A. Moreno Perez, and J. M. Moreno-Vega, “GRASP/VNS hybrid for the strip packing problem,” in Proceedings of the 1st International Workshop on Hybrid Metaheuristics (HM '04), pp. 79–90, Valencia, Spain, August 2004. View at: Google Scholar
  11. E. Hopper and B. C. H. Turton, “A review of the application of meta-heuristic algorithms to 2D strip packing problems,” Artificial Intelligence Review, vol. 16, no. 4, pp. 257–300, 2001. View at: Publisher Site | Google Scholar | Zentralblatt MATH
  12. M. Hifi, “Exact algorithms for the guillotine strip cutting/packing problem,” Computers & Operations Research, vol. 25, no. 11, pp. 925–940, 1998. View at: Publisher Site | Google Scholar | Zentralblatt MATH
  13. Y. Cui, Y. Yang, X. Cheng, and P. Song, “A recursive branch-and-bound algorithm for the rectangular guillotine strip packing problem,” Computers & Operations Research, vol. 35, no. 4, pp. 1281–1291, 2008. View at: Publisher Site | Google Scholar | Zentralblatt MATH
  14. A. Bekrar, I. Kacem, and C. Chu, “A comparative study of exact algorithms for the two dimensional strip packing problem,” Journal of Industrial and Systems Engineering, vol. 1, no. 2, pp. 151–170, 2007. View at: Google Scholar
  15. G. F. Cintra, F. K. Miyazawa, Y. Wakabayashi, and E. C. Xavier, “Algorithms for two-dimensional cutting stock and strip packing problems using dynamic programming and column generation,” European Journal of Operational Research, vol. 191, no. 1, pp. 61–85, 2008. View at: Publisher Site | Google Scholar | Zentralblatt MATH
  16. A. Bekrar, I. Kacem, C. Chu, and C. Sadfi, “A branch and bound algorithm for solving the 2D strip packing problem,” to apprear in International Journal of Production Development . View at: Google Scholar
  17. S. Martello and P. Toth, “Lower bounds and reduction procedures for the bin packing problem,” Discrete Applied Mathematics, vol. 28, no. 1, pp. 59–70, 1990. View at: Publisher Site | Google Scholar | Zentralblatt MATH | MathSciNet
  18. D. Pisinger and M. Sigurd, “The two-dimensional bin packing problem with variable bin sizes and costs,” Discrete Optimization, vol. 2, no. 2, pp. 154–167, 2005. View at: Publisher Site | Google Scholar | Zentralblatt MATH | MathSciNet
  19. H. Onodera, Y. Taniguchi, and K. Tamaru, “Branch-and-bound placement for building block layout,” in Proceedings of the 28th Conference on ACM/IEEE Design Automation Conference, pp. 433–439, San Francisco, Calif, USA, June 1991. View at: Publisher Site | Google Scholar
  20. C. S. Chen, S. M. Lee, and Q. S. Shen, “An analytical model for the container loading problem,” European Journal of Operational Research, vol. 80, no. 1, pp. 68–76, 1995. View at: Publisher Site | Google Scholar | Zentralblatt MATH
  21. I. Kacem, “Lower bounds for tardiness minimization on a single machine with family setup times,” International Journal of Operations Research, vol. 4, no. 1, pp. 18–31, 2007. View at: Google Scholar | Zentralblatt MATH | MathSciNet
  22. W. L. Eastman, S. Even, and I. M. Isaacs, “Bounds for the optimal scheduling of n jobs on m processors,” Management Science, vol. 11, no. 2, pp. 268–279, 1964. View at: Google Scholar | MathSciNet
  23. S. Ben Messaoud, Caracterisation, modelisation et algorithmes pour des problemes de decoupe guillotine, Ph.D. thesis, Universite de Technologie de Troyes, Troyes, France, 2004.
  24. A. Lodi, S. Martello, and D. Vigo, “Models and bounds for two-dimensional level packing problems,” Journal of Combinatorial Optimization, vol. 8, no. 3, pp. 363–379, 2004. View at: Publisher Site | Google Scholar | Zentralblatt MATH | MathSciNet
  25. S. P. Fekete, J. Schepers, and J. C. van der Veen, “An exact algorithm for higher-dimensional orthogonal packing,” Operations Research, vol. 55, no. 3, pp. 569–587, 2007. View at: Publisher Site | Google Scholar | MathSciNet
  26. F. Clautiaux, J. Carlier, and A. Moukrim, “A new exact method for the two-dimensional orthogonal packing problem,” European Journal of Operational Research, vol. 183, no. 3, pp. 1196–1211, 2007. View at: Publisher Site | Google Scholar | Zentralblatt MATH | MathSciNet
  27. F. Clautiaux, A. Jouglet, J. Carlier, and A. Moukrim, “A new constraint programming approach for the orthogonal packing problem,” Computers & Operations Research, vol. 35, no. 3, pp. 944–959, 2008. View at: Publisher Site | Google Scholar
  28. M. Hifi, “The strip cutting/packing problem: incremental substrip algorithms-based heuristics,” Pesquisa Operacional, vol. 19, no. 2, pp. 169–188, 1999. View at: Google Scholar

Copyright © 2009 Abdelghani Bekrar and Imed Kacem. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

More related articles

 PDF Download Citation Citation
 Download other formatsMore
 Order printed copiesOrder

Related articles

We are committed to sharing findings related to COVID-19 as quickly as possible. We will be providing unlimited waivers of publication charges for accepted research articles as well as case reports and case series related to COVID-19. Review articles are excluded from this waiver policy. Sign up here as a reviewer to help fast-track new submissions.