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 MetaheuristicsNon-Pobulation Metaheuristics Population of size MPopulation of size 1 Recombining and PerturbationsOnly perturbations ComplexLess 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 90% 61% 77% 81% 20% 10% 87% 35% 74% 55% 5% 46% 67% 41% 31% 88% 11% 99% 55% 12% 99% 89%
Genetic Algorithms (GA) – Basic Components Selection of parents 90% 61% 77% 81% 20% 10% 87% 35% 74% 55% 5% 46% 67% 41% 31% 88% 11% 99% 55% 12% 99% 89%
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 IimaTetsuya 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: (1,3,10) g1: (1,3,10) (2,3,5) (2,4,6) – Gene: – Genotype:
GA for BPP Initialization Procedure: – FF hueristic is used to generate the initial population (genotypes) 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) Selection of Parents: – Two parents selected randomly
GA for BPP Genetic operators: Crossover: 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) O1O2 O1: (2,9,11) (4,6,14)(1,5,8) Ta: (7) (20) (13) Tb: (3,12,15) (7,20) (7,13) (20,13) Tc (2) (9) (11) (2,9) (2,11) (9,11) (2,9,11) S1 O1: (2,7,9,13) (4,6,20)(1,5,8) Ta: (11) (14) Tb: (3,12,15) T O1: (2,7,9,13) (4,6,20)(1,5,8,14) (3,11,12,15) FF & MBS’ applied Replacement:
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) O3 O4 O3: (2,9,11) (4,6,14) (1) (3) (5) (7) (8) (20) (12) (13) (1,3) (1,5) (1,7) (1,8). Tc (2) (9) (11) (2,9) (2,11) (9,11) (2,9,11) S1 Tm Apply the same replacement procedure Replacement:
GA for BPP GA Outline: – Generate the initial population – Pick up two solutions x 1 and x 2 – Generate two solutions x 3 and x 4 by crossover – Generate two solutions x 5 and x 6 by mutation – Select the best two solutions {x 1,...,x 6 } – Discard x 1, x 2 from initial population – Add the two best solutions to the new generation – Repeat
Experiment and Results Data SetGAVNSBISON No. of optimal solutions Data SetGAVNSBISON Average absolute deviation (ad) Data SetGAVNSBISON 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