Genetic Algorithms for Bin Packing Problem Hazem Ali, Borislav Nikolić, Kostiantyn Berezovskyi, Ricardo Garibay Martinez, Muhammad Ali Awan Outline • Introduction – Non-Population Metaheuristics – Population Metaheuristics • Genetic Algorithims (GA) • Scientific Paper on GA ”A New Design of Genetic Algorithm for Bin Packing” Introduction • On the last session we discussed: Local search (LS) and Heuristics Metaheuristics Examples of metaheuristics: • VNS • GRASP, SA, TS • Genetic Algorithms (GA) • What is the difference? Non-Population Metaheuristics • Initial phase = single solution • New solutions -> perturbations • Less complexity and computational time Population Metaheuristics • Initial phase = group of solutions • New solutions : – Recombining (Crossover) – Perturbations (Mutation) • More complex • Tradeoff Complexity and performance Population Vs. Non-population Metaheuristics Pobulation Metaheuristics Non-Pobulation Metaheuristics Population of size M Population of size 1 Recombining and Perturbations Only perturbations Complex Less complex • Examples: Particle Swarm Optimization (PSO) Ant Colonies (AC) Genetic Algorithms (GA) Genetic Algorithms (GA) - Overview • Based on biological evolution • Developed by John Holland, University of Michigan (1970’s) – To understand the adaptive processes of natural systems – To design artificial systems software that retains the robustness of natural systems Genetic Algorithms (GA) - Overview • “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions you might not otherwise find in a lifetime.” Salvatore Mangano - Computer Design, May 1995 • Efficient, effective techniques : – Optimization – Machine learning applications • Widely-used : – Business – Scientific – Engineering Genetic Algorithms (GA) – Basic Components • Encoding technique • Initialization procedure • Evaluation function • Selection of parents • Genetic operators • Parameter settings Genetic Algorithms (GA) – Basic Components • Encoding technique Genetic Algorithms (GA) – Basic Components • Initialization procedure Genetic Algorithms (GA) – Basic Components • Evaluation function 88% 31% 90% 5% 20% 10% 81% 35% 46% 67% 41% 12% 87% 55% 99% 74% 99% 61% 77% 89% 55% 11% Genetic Algorithms (GA) – Basic Components • Selection of parents 88% 31% 90% 5% 20% 10% 81% 35% 46% 67% 41% 12% 87% 55% 99% 74% 99% 61% 77% 89% 55% 11% Genetic Algorithms (GA) – Basic Components • Genetic operators Genetic Algorithms (GA) – Basic Components • Parameter settings Advantages of GA • • • • • • • • Easy to understand Modular & Flexible, separate from application Supports multi-objective optimization Good for “noisy” environments Always an answer; gets better with time Inherently parallel; easily distributed Many ways to speed up and improve Easy to exploit previous or alternate solutions Scientific Paper on GA A New Design of Genetic Algorithm for Bin Packing By Hitoshi Iima Tetsuya Yakawa Kyoto Institute of Technology, Japan, Published on 2003 Scope • Presenting a new design of GA for solving 1D BPP • FF and MBS hueristics are used • Effective and outperform TABU & VNS • Next slides explains: – GA for BPP – Results GA for BPP • Encoding Phase: – Gene: 10 (1,3,10) 3 1 – Genotype: 10 3 1 2 3 5 6 4 2 g1: (1,3,10) (2,3,5) (2,4,6) GA for BPP • Initialization Procedure: – FF hueristic is used to generate the initial population (genotypes) • Selection of Parents: – Two parents selected randomly P1: ( 1,3,20 ) (2,9,11) (5,7,13,15) (4,6,14) (8,12) P2: (3,4,12,15) (6,7,11) (9,20) (1,5,8) (2,13,14) GA for BPP • Genetic operators: • Crossover: P2: (3,4,12,15) (6,7,11) (9,20) (1,5,8) (2,13,14) P1: ( 1,3,20 ) (2,9,11) (5,7,13,15) (4,6,14) (8,12) Replacement: O1: (2,7,9,13) (4,6,20)(1,5,8) (2,9,11) (4,6,14) (1,5,8) (7) (20) (14)(13) T Ta: (11) Tb: (3,12,15) O1 FF & MBS’ applied O1: (2,7,9,13) (4,6,20)(1,5,8,14) (3,11,12,15) O2 S1 (2) (9) (11) (2,9) (2,11) (9,11) (2,9,11) Tc (7,20) (7,13) (20,13) GA for BPP • Genetic operators: • Mutation: P1: ( 1,3,20 ) (2,9,11) (5,7,13,15) (4,6,14) (8,12) P2: (3,4,12,15) (6,7,11) (9,20) (1,5,8) (2,13,14) Replacement: O3: (2,9,11) (4,6,14) Tm (1) (3) (5) (7) (8) (20) (12) (13) O3 Apply the same replacement procedure O4 S1 (2) (9) (11) (2,9) (2,11) (9,11) (2,9,11) Tc (1,3) (1,5) (1,7) (1,8) . . . GA for BPP • GA Outline: – Generate the initial population – Pick up two solutions x1and x2 – Generate two solutions x3 and x4 by crossover – Generate two solutions x5 and x6 by mutation – Select the best two solutions {x1,...,x6} – Discard x1, x2 from initial population – Add the two best solutions to the new generation – Repeat Experiment and Results Data Set GA VNS BISON 1 690 694 697 2 475 474 473 3 3 2 3 No. of optimal solutions Data Set GA VNS BISON Data Set GA VNS BISON 1 0.04 0.07 0.04 1 0.04 0.05 0.04 2 0.01 0.14 0.01 2 0.02 0.36 0.02 3 0.70 0.80 0.70 3 1.24 1.44 1.26 Average absolute deviation (ad) Average relative deviation (rd) Conclusion • New GA design that suits well BPP • Genetic operators designed in such a way that offsprings inheret parents characteristics • FF and MBS´used to enhance the obtained results • Better performance over VNS & TABU