Geometric Bin Packing Algorithm for Arbitrary Shapes
Total Page:16
File Type:pdf, Size:1020Kb
GEOMETRIC BIN PACKING ALGORITHM FOR ARBITRARY SHAPES By ARFATH PASHA A THESIS PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE UNIVERSITY OF FLORIDA 2003 Copyright 2003 by Arfath Pasha I dedicate this thesis to my sister Anberin. ACKNOWLEDGMENTS I would like to extend my thanks and appreciation to Dr. Meera Sitharam for her invaluable input into the intricacies of algorithms, for her scholarship in this field, her readiness and ability to impart it. I thank Dr. Carl Crane for his unstinting support throughout the research phase, for extending facilities, and his knowledge in robotics which inspired this research. I would also like to express my appreciation to Dr. Sartaj Sahni for his assistance and kindly agreeing to be a part of the supervisory committee. The Department of Energy for its support through the University Research Program in Robotics is also greatly appreciated. iv TABLE OF CONTENTS page ACKNOWLEDGMENTS ................................................................................................. iv LIST OF TABLES............................................................................................................ vii LIST OF FIGURES ........................................................................................................... ix ABSTRACT....................................................................................................................... xi CHAPTER 1 INTRODUCTION ........................................................................................................1 Motivation.....................................................................................................................1 Definitions ....................................................................................................................2 Heuristics ......................................................................................................................3 Randomized Heuristics.................................................................................................4 Simulated Annealing .............................................................................................4 Genetic Algorithms ...............................................................................................5 Geometric Bin Packing Problem Versions...................................................................8 General Formal Problem Statement............................................................................12 Complexity .................................................................................................................12 2 LITERATURE SURVEY...........................................................................................15 Theoretical Work........................................................................................................15 Heuristic Search Methods...........................................................................................16 Randomized Heuristics...............................................................................................18 3 RESEARCH OBJECTIVES.......................................................................................21 Simplified Formal Problem Statement .......................................................................21 Our Preliminary Attempts...........................................................................................22 Attempt 1: A Simple Genetic Algorithm.............................................................22 Attempt 2: Divide and Conquer Explored...........................................................23 Idea of Main Contribution: A Hybrid Genetic Algorithm..........................................24 4 MAIN CONTRIBUTIONS OF CURRENT WORK .................................................27 Assumptions ...............................................................................................................28 v Genetic Algorithm ......................................................................................................28 Optimal Placement Algorithm....................................................................................34 General Approach................................................................................................34 Geometric Conventions.......................................................................................36 Proof: Optimal Placement for the 2D Non-Oriented Case..................................37 Our Approach 1: Optimal Placement ..................................................................39 Our Approach 2: Optimal Placement ..................................................................42 5 EXPERIMENTAL RESULTS ...................................................................................49 Choice of GA Parameters ...........................................................................................49 Empirical Analysis......................................................................................................49 Irregular Shapes...................................................................................................50 Geometric Shapes................................................................................................50 Genetic Algorithm Drawbacks............................................................................51 Placement Heuristic Drawbacks..........................................................................57 Conclusion ..................................................................................................................58 6 FUTURE WORK........................................................................................................60 APPENDIX A DOCUMENTATION .................................................................................................62 B USER INTERFACE ...................................................................................................83 LIST OF REFERENCES...................................................................................................85 BIOGRAPHICAL SKETCH .............................................................................................87 vi LIST OF TABLES Table page 1 Packages contained in the implementation of the packing algorithm......................62 2 Classes contained in package genAlgthm ................................................................62 3 Classes contained in the package gui .......................................................................63 4 Classes contained in the package packingDataStruct...............................................64 5 Attributes and methods contained in genAlgthm.Chromosome ..............................64 6 Attributes and methods contained in genAlgthm.Population...................................65 7 Attributes and methods contained in gui.DataPanel ................................................66 8 Attributes and methods contained in gui.DrawPanel...............................................67 9 Attributes and methods contained in gui.FileHandler..............................................68 10 Attributes and methods contained in gui.Main ........................................................69 11 Attributes and methods contained in gui.MenuBar..................................................70 12 Attributes and methods contained in gui.FileFilter..................................................71 13 Attributes and methods contained in gui.StatusPanel ..............................................72 14 Attributes and methods contained in packingDataStruct.BasicTests.......................73 15 Attributes and methods contained in packingDataStruct.Container ........................75 16 Attributes and methods contained in packingDataStruct.Container.Profile ............76 17 Attributes and methods contained in packingDataStruct.ConvexHull.....................77 18 Attributes and methods contained in packingDataStruct.ConvexHull. HullElement .............................................................................................................77 19 Attributes and methods contained in packingDataStruct.Heuristic .........................78 vii 20 Attributes and methods contained in packingDataStruct.Part..................................79 21 Attributes and methods contained in packingDataStruct.PartList ...........................81 22 Attributes and methods contained in packingDataStruct.Pose.................................81 23 Attributes and methods contained in packingDataStruct.Vertex .............................82 viii LIST OF FIGURES Figure page 1-1 Packing configuration with unstable placement of objects........................................2 1-2 Packing configuration with interlocking placements.................................................2 1-3 Structure of a typical genetic algorithm. ....................................................................6 1-4 Factors that determine the version of the bin-packing problem.................................9 1-5 Multi-bin packing where capacity constraint is met but shape constraint is violated11 1-6 An infinite solution space with infinite feasible solutions may be possible in the three-dimensional bin-packing problem...................................................................13 2-1 Albano and Sapuppo, A* heuristic output, 1980 .....................................................17 2-2 Robert McGee,