More about HKUST
Algorithms for Container Loading Problems
PhD Thesis Proposal Defence Title: "Algorithms for Container Loading Problems" by Mr. Wenbin Zhu ABSTRACT: The problems examined originate from industrial projects awarded to our research team. In one project, our team was contracted by a buying agent for a large multi-national retailer to investigate better ways to formulate packing plans for the loading of goods into multiple containers. Typically, the goods come in the form of 3D rectangular carton boxes. They are loaded into 3D rectangular containers of various standard sizes. Each type of container has a different associated cost of shipping. The task is to select a set of containers that can contain all items while minimizing this shipping cost. Products are loaded with faces parallel to the faces of the container, often known as orthogonal packing in literature. We call this problem Multiple Container Loading Cost Minimization Problem (MCLCMP). Since MCLCMP is an extremely hard combinatorial optimization problem, the main objective is to develop heuristic algorithms that can find good solutions in reasonable time. We will present three algorithms in increasing order of sophistication and effectiveness: the Set Cover based Binary Search (SCBS) algorithm, the Prototype Column Generation (PCG) algorithm, and the Goal-driven Prototype Column Generation (GD-PCG) algorithm. All three algorithms are based on a set cover formulation for MCLCMP. If a set of boxes can be loaded into a container, we call the set of boxes and the associated container a loading pattern. MCLCMP can be naturally formulated as a set cover (SC) problem, where the set to be covered is the set of all boxes and a loading pattern ``covers'' a subset of boxes. We would like to select loading patterns (from a set of candidates) to cover all boxes while minimizing the total cost of the associated containers. Our approaches to MCLCMP are essentially two-level approaches. The burden of finding feasible loading patterns is left to the algorithms for the Single Container Loading Problem (SCLP), which is well studied and many algorithm exists in the literature. We main mainly focuses on how to efficiently use the SCLP algorithms to produce candidate loading patterns and find good solutions to the set cover formulations. In practice, it is only possible to consider a limited number of loading patterns since deciding whether a set of boxes can be loaded into a container is NP-hard. Hence, there is a gap between the optimal solution to the set cover problem and the optimal solution to MCLCMP. However, if the set of candidate loading patterns is sufficiently large and diverse, good solutions can still be found. This is the main premise behind our first algorithm. Our PCG algorithm combines the strengths of the prototyping concept and the column generation technique. The prototyping concept is similar to the one used in product design and software engineering. Although producing high quality loading patterns is time-consuming (roughly equivalent to solving SCLP), reasonable guesses for loading patterns can be made quickly. We call such a guess a prototype, and using prototypes instead of actual loading patterns will allow us to explore a much larger set of candidates in the set cover problem. If the prototypes are close to actual feasible loading patterns (in terms of the number of boxes of each type loaded), then there is a high probability that we can convert the selected prototypes into actual loading patterns. Since a larger set of candidates leads to a better optimal solution for the corresponding set cover problem, we are more likely to obtain a better solution to MCLCMP. Column generation is a standard technique for solving linear programs with a huge number of decision variables, where only a small set of columns is initially included and new columns are generated as needed by solving a pricing subproblem (in the matrix form of the set cover model, a column in the coefficient matrix represents a loading pattern). In the case of MCLCMP, the pricing subproblem is essentially a variant of the single container loading problem. The GD-PCG algorithm improves on PCG in three respects. Firstly, the PCG algorithm carries out the search in two stages and each stage approaches good solutions to MCLCMP in its own dimension, whereas GD-PCG searches in both dimensions at the same time. Secondly, we extend the set cover formulation for MCLCMP by taking the expected overall volume utilization of the containers in a solution into account. Thirdly, once a solution is found, a goal-driven search is carried out in the solution neighborhood to improve the solution. Since MCLCMP can be seen as an extension to the three-dimensional orthogonal bin packing problem (3D-BPP), we compared our three algorithms with algorithms specifically designed for 3D-BPP on standard benchmark. The computational results show that our algorithm produces better solutions. MCLCMP is a new problem, no standard benchmark exists. We created a set of 350 instances with known optimal solutions based on the characteristics of common products to evaluate the effectiveness of our algorithms. We also created a set of 190 instances based on real order from one of the project for further references. Computational experiments on these instances suggest that our PCG algorithm that combines the concept of prototyping and column generation is indeed effective. With the addition of goal-driven feature, GD-PCG is the best among the three algorithms. Many real world applications have natural set cover formulations, where the columns in the constraint matrix of the formulation have a natural interpretation. It is also often the case that the pricing problems for these applications are NP-hard. Our PCG and GD-PCG approaches to solving MCLCMP may therefore be usable in such applications after modification, or inspire similar approaches within the confines of the problem domain. Our approaches to MCLCMP are essentially two-level approaches. Therefore, a more effective algorithm for the single container loading problem (SCLP) will further improve the effectiveness. I will investigate SCLP in detail and try to develop new algorithms for SCLP. In addition to directly load products onto the floor of a container, it is also common that products are first loaded into pallets and pallets of same base area are then loaded into container. This scenario can be modeled as 3D-BPP. Therefore, good algorithms for 3D-BPP will also be useful. Since 3D-BPP is a special case of MCLCMP, algorithms that exploit specific feature of 3D-BPP would be more effective. I will investigate 3D-BPP in detail and try to develop new algorithms for it. Date: Thursday, 7 June 2012 Time: 2:00pm - 4:00pm Venue: Room 3501 lifts 25/26 Committee Members: Prof. Siu-Wing Cheng (Supervisor) Prof. Dimitris Papadias (Chairperson) Dr. Ke Yi Dr. Xiangtong Qi (IELM) **** ALL are Welcome ****