Discrete Optimization
Dynamic reduction heuristics for the rectangle packing area minimization problem

https://doi.org/10.1016/j.ejor.2014.09.042Get rights and content

Highlights

  • Propose a dynamic reduction heuristic for the rectangle packing area minimization problem (RPAMP).

  • Propose a least injury first (LIF) heuristic for its sub-problem, the rectangle packing problem (RPP).

  • Propose an algorithm to compact the layout and prove its feasibility, compactness, non-inferiority and halting properties.

  • Find new and better solutions for most large-scale RPAMP instances with at least 100 items.

Abstract

The rectangle packing area minimization problem is a key sub-problem of floorplanning in VLSI design. This problem places a set of axis aligned two-dimensional rectangular items of given sizes onto a rectangular plane such that no two items overlap and the area of the enveloping rectangle is minimized. This paper presents a dynamic reduction algorithm that transforms an instance of the original problem to a series of instances of the rectangle packing problem by dynamically determining the dimensions of the enveloping rectangle. We define an injury degree to evaluate the possible negative impact for candidate placements, and we propose a least injury first approach for solving the rectangle packing problem. Next, we incorporate a compacting approach to compact the resulting layout by alternatively moving the items left and down toward a bottom-left corner such that we may obtain a smaller enveloping rectangle. We also show the feasibility, compactness, non-inferiority, and halting properties of the compacting approach. Comprehensive experiments were conducted on 11 MCNC and GSRC benchmarks and 28 instances reported in the literature. The experimental results show the high efficiency and effectiveness of the proposed dynamic reduction algorithm, especially on large-scale instances with hundreds of items.

Introduction

The rectangle packing area minimization problem (RPAMP) is an NP-hard problem. It aims to place all the axis-aligned rectangular items of known sizes onto a plane completely and without overlapping to minimize the area of the enveloping rectangle. As a subproblem of floorplanning, the RPAMP has important applications in the area of VLSI design. For the floorplanning problem, we are given a set of rectangular modules and a net list specifying the interconnections among the modules. The goal is to find a feasible layout the same as RPAMP, such that the area of the enveloping rectangle and the total length of the interconnections among the modules is minimized.

Basically, there are two main approaches to the RPAMP: (1) a heuristic searching method based on layout representations and (2) a reduction method that transforms an instance of the RPAMP to a series of instances of the strip packing problem (SPP) or the rectangle packing problem (RPP). The RPAMP is a two-variable open dimension problem (Wäscher et al., 2007), while the SPP and the RPP are a one-variable open dimension problem and a two-dimensional (2D) knapsack problem. In addition to the searching method and the reduction method, other methods such as branch and bound (Chan and Markov, 2004), linear optimization (Kim and Kim, 2003) are also used to solve the RPAMP.

Layout representation is one of the most important techniques used in the first approach, as it determines the size of the searching space and the complexity of transformation between a representation and the corresponding layout. Layout representation can be classified into slicing representation and nonslicing representation. The layout coded by slicing representation should satisfy guillotine cutting, so slicing representation may miss optimal layouts; meanwhile, nonslicing representation can cover all the optimal layouts. Hence it is commonly believed that nonslicing representation can yield better results than slicing representation.

Numerous representations have been put forward in the past two decades, and there are four classical nonslicing representations. Murata et al. (1996) proposed a sequence pair representation that used two sequences to represent the geometric relation of the items, placed the items on a grid structure, and constructed the corresponding constraint graphs to evaluate the objective function. Lin and Chang (2005) presented a transitive constraint graph (TCG) by using two transitive closure graphs to identify the geometric relation of the items. TCG is equivalent to sequence pair because they share the same O((n!)2) solution space and there is a bijective mapping between them. Two representations based on tree structure, O-tree (Guo et al., 1999) and B*-tree (Chang et al., 2000), are the most widely used representations, because their solution space is in the size of O(n!22n − 2/n1.5), which is the lowest complexity reported in the literature. B*-tree uses a binary ordered tree, while O-tree uses an ordered tree with an arbitrary vertex degree. Therefore, B*-tree is faster and easier to implement. Chang et al. (2000) presented the comparisons and analyses on different representations.

Simulated annealing (SA; Chen, Chang, 2006, Chen, Yoshimura, 2008, Chen, Zhu, Ali, 2011, Pisinger, 2007) is the most popular searching strategy for the RPAMP, while memetic algorithm (MA; Tang and Yao, 2007), particle swarm optimization (PSO; Chen et al., 2010) and local search (Imahori, Yagiura, Ibaraki, 2005, Li, Li, Zhou, 2010) have also been adopted by researchers. To reduce the searching complexity of SA, Fast-SA (Chen and Chang, 2006) integrated a random search with hill-climbing that divided the annealing process into three stages: the high-temperature random search stage, the pseudo-greedy local search stage, and the hill-climbing search stage. By enumerating all the possible inserted positions in the sequence pairs for a selected item, Chen and Yoshimura (2008) applied an insertion after remove (IAR) method to accelerate the SA. Chen et al. (2011) presented a hybrid simulated annealing (HSA) method based on a new operation on B*-tree. Tang and Yao (2007) proposed a memetic algorithm (MA) that used an effective genetic search method to explore the search space and an efficient local search method to exploit information in the search region.

The main idea of the second approach is to construct a set of candidate widths or heights of the enveloping rectangle to transform an RPAMP instance into a series of instances of the RPP or the SPP and then to design algorithms for the RPP and the SPP. Because various reduction methods adopt similar approaches to constructing candidate dimensions of the enveloping rectangle, the design of the reduction method focuses on seeking efficient RPP and SPP algorithms. By combining an improved least flexibility first principle and a greedy search, Wu and Chan (2005) introduced a deterministic optimization algorithm for the RPP. Based on the conceptions of corner action and smooth degree, He et al. (2012) proposed a best fit algorithm (BFA) for the RPP. Bortfeldt and Gehring (2001) proposed a hybrid genetic algorithm to generate layout with a layer-type structure for the RPP. To solve the SPP, (Leung et al., 2011) suggested a two-stage intelligent search algorithm that first constructed a solution greedily, then improved the solution by a local search and a simulated annealing algorithm. Bortfeldt (2006) introduced a layer building method best fit decreasing height* (BFDH*) algorithm, which worked without any encoding of solutions, but fully defined layouts are manipulated by means of specific genetic operators.

In this paper, we develop a dynamic reduction algorithm (DRA) for the RPAMP. First, DRA uses a constructive method (Bortfeldt, 2013) to generate a set of candidate widths for the enveloping rectangle and initializes a promising filling rate (the filling rate = the area of all the placed items divided by the area of the enveloping rectangle). Then, at each iteration, it constructs an RPP instance based on the current width dynamically selected from the candidate widths and current promising filling rate. Then, it uses a least injury first (LIF) algorithm, which is an algorithm developed from the BFA (He et al., 2012), to calculate the generated RPP instance. If LIF can place all the items on the enveloping rectangle, then we move all the items toward the left and bottom iteratively to adjust the obtained layout to a compact one. This process is repeated until the promising filling rate can no longer be improved. Fig. 1shows the flow chart of LIF.

We implemented DRA and tested it on 11 MCNC (Microelectronic Center of North Carolina) and GSRC (Gigascale Systems Research Center) benchmarks and four other RPAMP benchmarks proposed by Imahori et al. (2005). The experimental results showed that DRA renovated the current best results on eight instances. At the same time it also matched the current best results on the other three instances. Then, we ran DRA on 24 RPAMP instances proposed by Bortfeldt (2013), and DRA renovated results on 10 of 12 instances having 200 items.

The subsequent sections are organized as follows. Section 2 gives a formal statement on the problem definition. Section 3 introduces the LIF algorithm. Section 4 describes the compacting algorithm, and DRA is introduced in detail in Section 5. Empirical studies on the DRA are presented in Section 6, and the conclusions are presented in the end.

Section snippets

Problem statement

Given a set of n rectangular items with each item i (1 ≤ in) having width wi and height hi, the RPAMP requires determining a feasible arrangement of all the items on a larger rectangular plane with variable dimensions. The objective is to minimize the area of the enveloping rectangle (hereafter abbreviated as sheet). Let the sheet be embedded in the first quadrant of a 2D Cartesian reference frame in such a way that the bottom-left vertex coincides with the origin. For each item i, let (xi1,

Least injury first algorithm

This section presents a least injury first (LIF) algorithm to address the rectangle packing problem (RPP). LIF is developed from the best fit algorithm (BFA; He et al., 2012), a greedy construction method; the main difference between them is the greedy rules. BFA defines the conception of the action space such that it describes the remaining empty space not occupied at the current step of the construction procedure. At each step, it gives priority to the placement that fills one action space as

Compacting algorithm

For a given feasible layout, the compacting algorithm (CA) moves all items toward the left and bottom iteratively, and it transforms the layout to a compact one whose enveloping rectangle sheet is no larger than that of the former. A layout is called compact if and only if the bottom and left edges of each item are pasted by other items or by one edge of the sheet, in other words, each item occupies a bottom-left corner.

Dynamic reduction algorithm

By adopting a method of constructing the dimensions of the sheet dynamically, as suggested by Bortfeldt (2013), the dynamic reduction algorithm (DRA) transforms an instance of the RPAMP to a series of instances of the RPP, and calculates the generated RPP instances by the LIF algorithm. In this section, we first present the method to generate candidate widths for the sheet and then introduce the DRA in detail.

Experimental results

We implemented DRA in the C++ programming language on an AMD Athlon personal computer with 3.01 gigahertz and 2.0 gigabytes RAM (Windows XP environment), and we compared its performance with several representative algorithms published in the literature. To compare the performance of LIF and BFA, we also implemented the algorithm DRA*, which replaces LIF with BFA in DRA. We used two classic VLSI floorplanning benchmarks MCNC and GSRC, and 28 RPAMP benchmarks proposed by Imahori et al. (2005) and

Conclusion

This paper presents a dynamic reduction algorithm (DRA) for the rectangle packing area minimization problem (RPAMP). By dynamically designing the two dimensions of the sheet, DRA reduces an RPAMP instance to a series of RPP instances. Then, we define an injury degree to evaluate different placements such that the corner action with the least injury for the remaining space and follow-up placement has a higher priority, and we design a least injury first (LIF) algorithm to solve the generated RPP

References (22)

  • ChenJ. et al.

    A hybrid simulated annealing algorithm for nonslicing VLSI floorplanning

    IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews

    (2011)
  • Cited by (23)

    • A biased genetic algorithm hybridized with VNS for the two-dimensional knapsack packing problem with defects

      2022, Applied Soft Computing
      Citation Excerpt :

      The authors also introduced the principle that packing the big pieces before the small ones. He et al. [14] constructed a set of evaluation criteria for selecting the placing position of the piece and presented the least injury first algorithm that evaluates the injury degree of corner action of each FMS and selects the minimal one. Gonçalves et al. [1] adopted the BL and LB rules which build a layer containing several pieces of the same type.

    • An adaptive selection approach for the 2D rectangle packing area minimization problem

      2018, Omega (United Kingdom)
      Citation Excerpt :

      Finally, Section 5 concludes the paper with some closing remarks. Bortfeldt [5] and He et al. [19] transformed the RPAMP into a series of 2DSPs by fixing the width of the container and then transformed the 2DSP into 2DRP by fixing the height. Since every combination of the dimensions of input rectangles can be a candidate width of 2DSP, there are usually too many possible candidate widths.

    View all citing articles on Scopus

    This work was supported by the National Science Foundation of China under Grants 61472147, 61173180 and 61272014.

    View full text