packing with biased random-key genetic algorithms
TRANSCRIPT
![Page 1: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/1.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA Lecture given at XV ONPCES. J. do Rio Preto, Brazil ✤ March 21-22, 2013
Packing with biased random-key genetic algorithms
Mauricio G. C. ResendeAT&T Labs ResearchFlorham Park, New Jersey [email protected]
![Page 2: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/2.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Summary• Metaheuristics and basic concepts of genetic algorithms
• Random-key genetic algorithm of Bean (1994)
• Biased random-key genetic algorithms (BRKGA)– Encoding / Decoding
– Initial population
– Evolutionary mechanisms
– Problem independent / problem dependent components
– Multi-start strategy
– Specifying a BRKGA
– Application programming interface (API) for BRKGA
• BRKGA for 2-dim and 3-dim packing
• BRKGA for 3-dim bin packing
![Page 3: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/3.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Metaheuristics
Metaheuristics are heuristics to devise heuristics.
![Page 4: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/4.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Metaheuristics
Metaheuristics are high level procedures that coordinate simple heuristics, such as local search, to find solutions that are of better quality than those found by the simple heuristics alone.
![Page 5: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/5.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Metaheuristics
Metaheuristics are high level procedures that coordinate simple heuristics, such as local search, to find solutions that are of better quality than those found by the simple heuristics alone.
Examples: GRASP and C-GRASP, simulated annealing, genetic algorithms, tabu search, scatter search, ant colony optimization, variable neighborhood search, and biased random-key genetic algorithms (BRKGA).
![Page 6: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/6.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Genetic algorithms
![Page 7: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/7.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Genetic algorithms
Individual: solution
Adaptive methods that are used to solve searchand optimization problems.
Holland (1975)
![Page 8: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/8.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Genetic algorithms
Individual: solution (chromosome = string of genes)Population: set of fixed number of individuals
![Page 9: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/9.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Genetic algorithms evolve population applyingDarwin's principle of survival of the fittest.
Genetic algorithms
![Page 10: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/10.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Genetic algorithms evolve population applyingDarwin's principle of survival of the fittest.
A series of generations are produced by the algorithm. The most fit individual of thelast generation is the solution.
Genetic algorithms
![Page 11: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/11.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Genetic algorithms evolve population applyingDarwin's principle of survival of the fittest.
A series of generations are produced by the algorithm. The most fit individual of the last generation is the solution.
Individuals from one generation are combinedto produce offspring that make up next generation.
Genetic algorithms
![Page 12: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/12.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Probability of selecting individual to mateis proportional to its fitness: survival of the fittest.
a
b
Genetic algorithms
![Page 13: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/13.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
a
b
Parents drawn from generation K
c
Child in generation K+1
Probability of selecting individual to mateis proportional to its fitness: survival of the fittest.
Genetic algorithms
a
b
Combineparents
c
mutation
![Page 14: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/14.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Crossover and mutation
a
b
Combineparents
c
mutation
![Page 15: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/15.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Crossover and mutation
a
b
Combineparents
c
mutation
Crossover: Combines parents … passing along to offspring characteristics of each parent … Intensification of search
![Page 16: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/16.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Crossover and mutation
a
b
Combineparents
c
mutation
Mutation: Randomly changes chromosome of offspring ... Driver of evolutionary process ... Diversification of search
![Page 17: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/17.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Evolution of solutions
![Page 18: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/18.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Evolution of solutions
![Page 19: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/19.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Evolution of solutions
![Page 20: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/20.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Evolution of solutions
![Page 21: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/21.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Evolution of solutions
![Page 22: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/22.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Evolution of solutions
![Page 23: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/23.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Evolution of solutions
![Page 24: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/24.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Evolution of solutions
![Page 25: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/25.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Reference
Tech report version:
http://www.research.att.com/~mgcr/doc/srkga.pdf
J.F. Gonçalves and M.G.C.R., “Biased random-key genetic algorithms for combinatorial optimization,” J. of Heuristics, vol.17, pp. 487-525, 2011.
![Page 26: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/26.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding solutionswith random keys
![Page 27: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/27.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding with random keys
• A random key is a real random number in the continuous interval [0,1).
![Page 28: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/28.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding with random keys
• A random key is a real random number in the continuous interval [0,1).
• A vector X of random keys, or simply random keys, is an array of n random keys.
![Page 29: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/29.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding with random keys
• A random key is a real random number in the continuous interval [0,1).
• A vector X of random keys, or simply random keys, is an array of n random keys.
• Solutions of optimization problems can be encoded by random keys.
![Page 30: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/30.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding with random keys
• A random key is a real random number in the continuous interval [0,1).
• A vector X of random keys, or simply random keys, is an array of n random keys.
• Solutions of optimization problems can be encoded by random keys.
• A decoder is a deterministic algorithm that takes a vector of random keys as input and outputs a feasible solution of the optimization problem.
![Page 31: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/31.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding with random keys: Sequencing
Encoding [ 1, 2, 3, 4, 5 ]
X = [ 0.099, 0.216, 0.802, 0.368, 0.658 ]
![Page 32: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/32.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding with random keys: Sequencing
Encoding [ 1, 2, 3, 4, 5 ]
X = [ 0.099, 0.216, 0.802, 0.368, 0.658 ]
Decode by sorting vector of random keys
[ 1, 2, 4, 5, 3 ]
X = [ 0.099, 0.216, 0.368, 0.658, 0.802 ]
![Page 33: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/33.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding with random keys: Sequencing
Encoding [ 1, 2, 3, 4, 5 ]
X = [ 0.099, 0.216, 0.802, 0.368, 0.658 ]
Decode by sorting
[ 1, 2, 4, 5, 3 ]
X = [ 0.099, 0.216, 0.368, 0.658, 0.802 ]
Therefore, the vector of random keys:
X = [ 0.099, 0.216, 0.802, 0.368, 0.658 ]
encodes the sequence: 1– 2 – 4 – 5 – 3
![Page 34: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/34.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding with random keys: Subset selection (select 3 of 5 elements)
Encoding [ 1, 2, 3, 4, 5 ]
X = [ 0.099, 0.216, 0.802, 0.368, 0.658 ]
Decode by sorting vector of random keys
![Page 35: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/35.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding with random keys: Subset selection (select 3 of 5 elements)
Encoding [ 1, 2, 3, 4, 5 ]
X = [ 0.099, 0.216, 0.802, 0.368, 0.658 ]
Decode by sorting vector of random keys
[ 1, 2, 4, 5, 3 ]
X = [ 0.099, 0.216, 0.368, 0.658, 0.802 ]Encoding
Decode by sorting vector of random keys
![Page 36: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/36.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding with random keys: Subset selection (select 3 of 5 elements)
Encoding [ 1, 2, 3, 4, 5 ]
X = [ 0.099, 0.216, 0.802, 0.368, 0.658 ]
Decode by sorting vector of random keys
[ 1, 2, 4, 5, 3 ]
X = [ 0.099, 0.216, 0.368, 0.658, 0.802 ]EncodingTherefore, the vector of random keys:
X = [ 0.099, 0.216, 0.802, 0.368, 0.658 ]
encodes the subset: {1, 2, 4 }
![Page 37: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/37.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding with random keys: Assigning integer weights [0,10] to a subset of 3 of 5 elements
Encoding [ 1, 2, 3, 4, 5 | 1, 2, 3, 4, 5 ]
X = [ 0.099, 0.216, 0.802, 0.368, 0.658 | 0.4634, 0.5611, 0.2752, 0.4874, 0.0348 ]
![Page 38: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/38.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding with random keys: Assigning integer weights [0,10] to a subset of 3 of 5 elements
Encoding [ 1, 2, 3, 4, 5 | 1, 2, 3, 4, 5 ]
X = [ 0.099, 0.216, 0.802, 0.368, 0.658 | 0.4634, 0.5611, 0.2752, 0.4874, 0.0348 ]
Decode by sorting the first 5 keys and assign as the weight the value W
i = floor [ 10 X
5+i ] + 1 to the 3 elements with smallest keys X
i, for
i =1,...,5.
![Page 39: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/39.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding with random keys: Assigning integer weights [0,10] to a subset of 3 of 5 elements
Encoding [ 1, 2, 3, 4, 5 | 1, 2, 3, 4, 5 ]
X = [ 0.099, 0.216, 0.802, 0.368, 0.658 | 0.4634, 0.5611, 0.2752, 0.4874, 0.0348 ]
Decode by setting sorting the first 5 keys and assign
the element weight to Wi = floor [ 11 X
5+i ] to the 3 elements with
smallest keys Xi, for i =1,...,5.
Therefore, the vector of random keys:
X = [ 0.099, 0.216, 0.802, 0.368, 0.658 | 0.4634, 0.5611, 0.2752, 0.4874, 0.0348 ]
encodes the weight vector W = (5,6,–,5,–)
![Page 40: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/40.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Genetic algorithms and random keys
![Page 41: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/41.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keys
• Introduced by Bean (1994) for sequencing problems.
![Page 42: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/42.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keys
• Introduced by Bean (1994) for sequencing problems.
• Individuals are strings of real-valued numbers (random keys) in the interval [0,1).
S = ( 0.25, 0.19, 0.67, 0.05, 0.89 ) s(1) s(2) s(3) s(4) s(5)
![Page 43: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/43.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keys
• Introduced by Bean (1994) for sequencing problems.
• Individuals are strings of real-valued numbers (random keys) in the interval [0,1).
• Sorting random keys results in a sequencing order.
S = ( 0.25, 0.19, 0.67, 0.05, 0.89 ) s(1) s(2) s(3) s(4) s(5)
S' = ( 0.05, 0.19, 0.25, 0.67, 0.89 ) s(4) s(2) s(1) s(3) s(5)Sequence: 4 – 2 – 1 – 3 – 5
![Page 44: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/44.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keys
• Mating is done using parametrized uniform crossover (Spears & DeJong , 1990)
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )
![Page 45: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/45.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keys
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )
• Mating is done using parametrized uniform crossover (Spears & DeJong , 1990)
• For each gene, flip a biased coin to choose which parent passes the allele (key, or value of gene) to the child.
![Page 46: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/46.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keys
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )c = ( )
• Mating is done using parametrized uniform crossover (Spears & DeJong , 1990)
• For each gene, flip a biased coin to choose which parent passes the allele (key, or value of gene) to the child.
![Page 47: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/47.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keys
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )c = ( 0.25 )
• Mating is done using parametrized uniform crossover (Spears & DeJong , 1990)
• For each gene, flip a biased coin to choose which parent passes the allele (key, or value of gene) to the child.
![Page 48: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/48.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keys
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )c = ( 0.25, 0.90 )
• Mating is done using parametrized uniform crossover (Spears & DeJong , 1990)
• For each gene, flip a biased coin to choose which parent passes the allele (key, or value of gene) to the child.
![Page 49: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/49.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keys
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )c = ( 0.25, 0.90, 0.76 )
• Mating is done using parametrized uniform crossover (Spears & DeJong , 1990)
• For each gene, flip a biased coin to choose which parent passes the allele (key, or value of gene) to the child.
![Page 50: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/50.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keys
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )c = ( 0.25, 0.90, 0.76, 0.05 )
• Mating is done using parametrized uniform crossover (Spears & DeJong , 1990)
• For each gene, flip a biased coin to choose which parent passes the allele (key, or value of gene) to the child.
![Page 51: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/51.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keys
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )c = ( 0.25, 0.90, 0.76, 0.05, 0.89 )
• Mating is done using parametrized uniform crossover (Spears & DeJong , 1990)
• For each gene, flip a biased coin to choose which parent passes the allele (key, or value of gene) to the child.
![Page 52: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/52.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keys
a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )c = ( 0.25, 0.90, 0.76, 0.05, 0.89 )
If every random-key array correspondsto a feasible solution: Mating alwaysproduces feasible offspring.
• Mating is done using parametrized uniform crossover (Spears & DeJong , 1990)
• For each gene, flip a biased coin to choose which parent passes the allele (key, or value of gene) to the child.
![Page 53: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/53.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keys
Initial population is made up of P random-key vectors, each with N keys, each having a value generated uniformly at random in the interval [0,1).
![Page 54: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/54.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keysAt the K-th generation, compute the cost of each solution ... Elite solutions
Population K
Non-elitesolutions
![Page 55: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/55.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keysAt the K-th generation, compute the cost of each solution and partition the solutions into two sets:
Elite solutions
Population K
Non-elitesolutions
![Page 56: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/56.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keysAt the K-th generation, compute the cost of each solution and partition the solutions into two sets: elite solutions and non-elite solutions.
Elite solutions
Population K
Non-elitesolutions
![Page 57: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/57.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keysAt the K-th generation, compute the cost of each solution and partition the solutions into two sets: elite solutions and non-elite solutions. Elite set should be smaller of the two sets and contain best solutions.
Elite solutions
Population K
Non-elitesolutions
![Page 58: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/58.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keysEvolutionary dynamics
Population K Population K+1
Elite solutions
Non-elitesolutions
![Page 59: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/59.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keysEvolutionary dynamics– Copy elite solutions from population
K to population K+1 Elite solutions
Population K+1Population K
Elite solutions
Non-elitesolutions
![Page 60: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/60.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keysEvolutionary dynamics– Copy elite solutions from population
K to population K+1
– Add R random solutions (mutants) to population K+1
Elite solutions
Mutantsolutions
Population K+1Population K
Elite solutions
Non-elitesolutions
![Page 61: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/61.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
GAs and random keysEvolutionary dynamics– Copy elite solutions from population
K to population K+1
– Add R random solutions (mutants) to population K+1
– While K+1-th population < P• RANDOM-KEY GA: Use any two
solutions in population K to produce child in population K+1. Mates are chosen at random.
Elite solutions
Mutantsolutions
X
Population K+1Population K
Elite solutions
Non-elitesolutions
Mutantsolutions
![Page 62: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/62.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Biased random key genetic algorithm
• A biased random key genetic algorithm (BRKGA) is a random key genetic algorithm (RKGA).
![Page 63: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/63.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Biased random key genetic algorithm
• A biased random key genetic algorithm (BRKGA) is a random key genetic algorithm (RKGA).
• BRKGA and RKGA differ in how mates are chosen for crossover and how parametrized uniform crossover is applied.
![Page 64: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/64.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
How RKGA & BRKGA differ
RKGAboth parents chosen at random from entire population
BRKGA
![Page 65: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/65.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
How RKGA & BRKGA differ
RKGAboth parents chosen at random from entire population
BRKGAboth parents chosen at random but one parent chosen from population of elite solutions
![Page 66: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/66.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
How RKGA & BRKGA differ
RKGAboth parents chosen at random from entire population
either parent can be parent A in parametrized uniform crossover
BRKGAboth parents chosen at random but one parent chosen from population of elite solutions
![Page 67: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/67.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
How RKGA & BRKGA differ
RKGAboth parents chosen at random from entire population
either parent can be parent A in parametrized uniform crossover
BRKGAboth parents chosen at random but one parent chosen from population of elite solutions
best fit parent is parent A in parametrized uniform crossover
![Page 68: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/68.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Biased random key GAEvolutionary dynamics– Copy elite solutions from population
K to population K+1
– Add R random solutions (mutants) to population K+1
– While K+1-th population < P• RANDOM-KEY GA: Use any two
solutions in population K to produce child in population K+1. Mates are chosen at random.
• BIASED RANDOM-KEY GA: Mate elite solution with other solution of population K to produce child in population K+1. Mates are chosen at random.
Elite solutions
Mutantsolutions
X
Population K+1
BRKGA: Probabilitychild inheritskey of elite parent > 0.5Population K
Elite solutions
Non-elitesolutions
Mutantsolutions
![Page 69: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/69.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Paper comparing BRKGA and Bean's Method
Gonçalves, R., and Toso, “Biased and unbiased random-key genetic algorithms: An experimental analysis”, AT&T Labs Research Technical Report, Florham Park, December 2012.
![Page 70: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/70.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
set coveringproblem: scp41
![Page 71: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/71.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
set coveringproblem: scp41
Pr(tBRKGA
≤ tRKGA
) = 0.740
Probability computed with method of Ribeiro et al. (2012)
![Page 72: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/72.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
set coveringproblem: scp51
![Page 73: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/73.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
set coveringproblem: scp51
Pr(tBRKGA
≤ tRKGA
) = 0.999
![Page 74: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/74.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
set coveringproblem: scpa1
![Page 75: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/75.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
set coveringproblem: scpa1
Pr(tBRKGA
≤ tRKGA
) = 0.733
![Page 76: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/76.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
set k-coveringproblem: scp41-2
![Page 77: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/77.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
set k-coveringproblem: scp41-2
Pr(tBRKGA
≤ tRKGA
) = 0.999
![Page 78: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/78.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
set k-coveringproblem: scp45-11
![Page 79: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/79.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
set k-coveringproblem: scp45-11
Pr(tBRKGA
≤ tRKGA
) = 0.881
![Page 80: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/80.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
set k-coveringproblem: scp48-7
![Page 81: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/81.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
set k-coveringproblem: scp48-7
Pr(tBRKGA
≤ tRKGA
) = 0.847
![Page 82: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/82.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Observations
• Random method: keys are randomly generated so solutions are always vectors of random keys
![Page 83: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/83.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Observations
• Random method: keys are randomly generated so solutions are always vectors of random keys
• Elitist strategy: best solutions are passed without change from one generation to the next (incumbent is kept)
![Page 84: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/84.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Observations
• Random method: keys are randomly generated so solutions are always vectors of random keys
• Elitist strategy: best solutions are passed without change from one generation to the next (incumbent is kept)
• Child inherits more characteristics of elite parent: one parent is always selected (with replacement) from the small elite set and probability that child inherits key of elite parent > 0.5 Not so in the RKGA of Bean.
![Page 85: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/85.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Observations
• Random method: keys are randomly generated so solutions are always vectors of random keys
• Elitist strategy: best solutions are passed without change from one generation to the next (incumbent is kept)
• Child inherits more characteristics of elite parent: one parent is always selected (with replacement) from the small elite set and probability that child inherits key of elite parent > 0.5 Not so in the RKGA of Bean.
• No mutation in crossover: mutants are used instead (they play same role as mutation in GAs … help escape local optima)
![Page 86: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/86.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Framework for biased random-key genetic algorithms
Generate P vectors of random keys
Decode each vector of random keys
Stopping rulesatisfied?
Sort solutions bytheir costs
Classify solutions aselite or non-elite
Copy elite solutions to next population
Generate mutants in next population
Combine elite andnon-elite solutionsand add children to
next population
no
stop
yes
![Page 87: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/87.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Framework for biased random-key genetic algorithms
Generate P vectors of random keys
Decode each vector of random keys
Stopping rulesatisfied?
Sort solutions bytheir costs
Classify solutions aselite or non-elite
Copy elite solutions to next population
Generate mutants in next population
Combine elite andnon-elite solutionsand add children to
next population
stop
Problem independent
no yes
![Page 88: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/88.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Framework for biased random-key genetic algorithms
Generate P vectors of random keys
Decode each vector of random keys
Stopping rulesatisfied?
Sort solutions bytheir costs
Classify solutions aselite or non-elite
Copy elite solutions to next population
Generate mutants in next population
Combine elite andnon-elite solutionsand add children to
next population
stop
Problem independent
no yes
Problem dependent
![Page 89: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/89.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Decoding of random key vectors can be done in parallel
Generate P vectors of random keys
Decode each vector of random keys
Stopping rulesatisfied?
Sort solutions bytheir costs
Classify solutions aselite or non-elite
Copy elite solutions to next population
Generate mutants in next population
Combine elite andnon-elite solutionsand add children to
next population
stop
no yes
![Page 90: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/90.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Is a BRKGA any different from applying the decoder to random keys?
• Simulate a random multi-start decoding method with a BRKGA by setting size of elite partition to 1 and number of mutants to P–1
• Each iteration, best solution is maintained in elite set and P–1random key vectors are generated as mutants … no mating is done since population already has P individuals
![Page 91: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/91.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
solutionNetwork monitor location problem (opt = 23)
Time (ibm t41 secs)
BRKGA solutions Random multi-start solutions
Optimal value
best random solution
![Page 92: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/92.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
BRKGA in multi-start strategy
Generate P vectors
of random keys Decode each vector
of random keys
Restart rulesatisfied?
Sort solutions bytheir costs
Classify solutions aselite or non-elite
Copy elite solutions to next population
Generate mutants in next population
Combine elite andnon-elite solutionsand add children to
next population
noyes
begin
if incumbentimproved, update
incumbent
stoppingrule
satisfied ?
outputincumbent stop
yes
no
![Page 93: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/93.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Randomized heuristic iteration count distribution: constructed by independently running the algorithm a number of times, each time stopping when the algorithm finds a solution at least as good as a given target.
![Page 94: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/94.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
In most of the independent runs, the algorithm finds the target solution in relatively few iterations:
![Page 95: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/95.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
In most of the independent runs, the algorithm finds the target solution in relatively few iterations: 25% of the runs take fewer than 101 iterations
![Page 96: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/96.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
In most of the independent runs, the algorithm finds the target solution in relatively few iterations: 50% of the runs take fewer than 192 iterations
![Page 97: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/97.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
In most of the independent runs, the algorithm finds the target solution in relatively few iterations: 75% of the runs take fewer than 345 iterations
![Page 98: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/98.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
However, some runs take much longer: 10% of the runs take over 1000 iterations
![Page 99: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/99.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
However, some runs take much longer: 5% of the runs take over 2000 iterations
![Page 100: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/100.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
However, some runs take much longer: 2% of the runs take over 9715 iterations
![Page 101: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/101.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
However, some runs take much longer: the longest run took 11607 iterations
![Page 102: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/102.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Probability that algorithm will take over 345 iterations: 25% = 1/4
![Page 103: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/103.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Probability that algorithm will take over 345 iterations: 25% = 1/4
By restarting algorithm after 345 iterations, probability that new run will take over 690 iterations: 25% = 1/4
Probability that algorithm with restart will take over 690 iterations: probability of taking over 345 X probability of taking over 690 iterations given it took over 345 = ¼ x ¼ = 1/42
![Page 104: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/104.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Probability that algorithm will still be running after K periods of 345 iterations: 1/4K
![Page 105: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/105.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Probability that algorithm will still be running after K periods of 345 iterations: 1/4K
For example, probability that algorithm with restart will still be running after 1725 iterations (5 periods of 345 iterations): 1/45 0.0977%
This is much less than the 5% probability that the algorithm without restart will take over 2000 iterations.
![Page 106: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/106.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Probability that algorithm will still be running after K periods of 345 iterations: 1/4K
For example, probability that algorithm with restart will still be running after 1725 iterations (5 periods of 345 iterations): 1/45 0.0977%
This is much less than the 5% probability that the algorithm without restart will take over 2000 iterations.
![Page 107: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/107.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Restart strategies
• First proposed by Luby et al. (1993)• They define a restart strategy as a finite sequence
of time intervals S = {1,
2,
3, … } which define
epochs 1,
1+
2,
1+
2+
3, … when the
algorithm is restarted from scratch.• Luby et al. (1993) prove that the optimal restart
strategy uses 1=
2=
3= … = *, where * is a
constant.
![Page 108: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/108.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Restart strategies
• Luby et al. (1993)
• Kautz et al. (2002)
• Palubeckis (2004)
• Sergienko et al. (2004)
• Nowicki & Smutnicki (2005)
• D’Apuzzo et al. (2006)
• Shylo et al. (2011a)
• Shylo et al. (2011b)
• Resende & Ribeiro (2011)
![Page 109: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/109.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Restart strategy for BRKGA
• Recall the restart strategy of Luby et al. where equal time intervals
1=
2=
3= … = * pass between restarts.
• Strategy requires * as input.• Since we have no prior information as to the runtime
distribution of the heuristic, we run the risk of:– choosing * too small: restart variant may take long to
converge– choosing * too big: restart variant may become like no-
restart variant
![Page 110: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/110.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Restart strategy for BRKGA
• We conjecture that number of iterations between improvement of the incumbent (best so far) solution varies less w.r.t. heuristic/ instance/ target than run times.
• We propose the following restart strategy: Keep track of the last generation when the incumbent improved and restart BRKGA if K generations have gone by without improvement.
• We call this strategy restart(K)
![Page 111: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/111.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Example of restart strategy for BRKGA: Load balancing
Given an unordered sequence of 1024 integers p[0], p[1], …, p[1023]
![Page 112: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/112.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Place consecutive numbers in 32 buckets b[0], b[1], …, b[31]
b[0] b[1] b[2] b[3] b[4] b[29] b[30] b[31]
Example of restart strategy for BRKGA: Load balancing
![Page 113: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/113.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Add the numbers in each bucket b[0], b[1], …, b[31]
b[0] b[1] b[2] b[3] b[4] b[29] b[30] b[31]
p p p p p p p p
Example of restart strategy for BRKGA: Load balancing
![Page 114: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/114.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Place the buckets in 16 bins B[0], B[1], …, B[15]
b[0] b[1] b[2] b[3] b[4] b[29] b[30] b[31]
p pp
pp
p
pp
B[0] B[1] B[2] B[15]
Example of restart strategy for BRKGA: Load balancing
![Page 115: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/115.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Add up the numbers in each bin B[0], B[1], …, B[15]
b[0] b[1] b[2] b[3] b[4] b[29] b[30] b[31]
p pp
pp
p
pp
B[0] B[1] B[2] B[15]
T[0]=(p) T[1]=(p) T[2]=(p) T[15]=(p)
Example of restart strategy for BRKGA: Load balancing
![Page 116: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/116.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
OBJECTIVE: Minimize { Maximum (T[0], T[1], …, T[15]) }
b[0] b[1] b[2] b[3] b[4] b[29] b[30] b[31]
p pp
pp
p
pp
B[0] B[1] B[2] B[15]
T[0]=(p) T[1]=(p) T[2]=(p) T[15]=(p)
Example of restart strategy for BRKGA: Load balancing
![Page 117: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/117.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Example of restart strategy for BRKGA: Load balancing
Encoding
X = [ x[1], x[2], …, x[32] | x[32+1], x[32+2], …, x[32+16] ]
Decodingx[1], x[2], …, x[32] are used to define break points for buckets
x[32+1], x[32+2], …, x[32+16] are used to determine to which bins the buckets are assigned
![Page 118: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/118.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Example of restart strategy for BRKGA: Load balancing
Encoding
X = [ x[1], x[2], …, x[32] | x[32+1], x[32+2], …, x[32+16] ]
Decodingx[1], x[2], …, x[32] are used to define break points for buckets
Size of bucket i = floor (1024 × x[i]/(x[1]+x[2]+⋯+x[32])), i=1,...,15
Size of bucket 16 = 1024 – sum of sizes of first 15 buckets
![Page 119: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/119.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Example of restart strategy for BRKGA: Load balancing
Encoding
X = [ x[1], x[2], …, x[32] | x[32+1], x[32+2], …, x[32+16] ]
Decodingx[1], x[2], …, x[32] are used to define break points for buckets
x[32+1], x[32+2], …, x[32+16] are used to determine to which bins the buckets are assigned
Bin that bucket i is assigned to = floor (16 × x[32+i]) + 1
![Page 120: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/120.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Example of restart strategy for BRKGA: Load balancing
Decoding (Local search phase)– while (there exists a bucket in the most loaded bin that
can be moved to another bin and not increase the maximum load) then
• move that bucket to that bin– end while
Make necessary chromosome adjustments to last 16 random keys of vector of random keys to reflect changes made in local search phase: Add or subtract an integer value from chromosome of bucket that moved to new bin.
![Page 121: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/121.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Example of restart strategy for BRKGA: Load balancing
restart strategy: restart(2000) no restart
![Page 122: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/122.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Specifying a BRKGA
![Page 123: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/123.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
• Encoding is always done the same way, i.e. with a vector of N random-keys (parameter N must be specified)
Specifying a biased random-key GA
![Page 124: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/124.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
• Encoding is always done the same way, i.e. with a vector of N random-keys (parameter N must be specified)
• Decoder that takes as input a vector of N random-keys and outputs the corresponding solution of the combinatorial optimization problem and its cost (this is usually a heuristic)
Specifying a biased random-key GA
![Page 125: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/125.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
• Encoding is always done the same way, i.e. with a vector of N random-keys (parameter N must be specified)
• Decoder that takes as input a vector of N random-keys and outputs the corresponding solution of the combinatorial optimization problem and its cost (this is usually a heuristic)
• Parameters
Specifying a biased random-key GA
![Page 126: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/126.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Specifying a biased random-key GA
Parameters:– Size of population
– Parallel population parameters
– Size of elite partition
– Size of mutant set
– Child inheritance probability
– Restart strategy parameter
– Stopping criterion
![Page 127: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/127.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Specifying a biased random-key GA
Parameters:– Size of population: a function of N, say N or 2N
– Parallel population parameters
– Size of elite partition
– Size of mutant set
– Child inheritance probability
– Restart strategy parameter
– Stopping criterion
![Page 128: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/128.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Specifying a biased random-key GA
Parameters:– Size of population: a function of N, say N or 2N
– Parallel population parameters: say, p = 3 , v = 2, and x = 200
– Size of elite partition
– Size of mutant set
– Child inheritance probability
– Restart strategy parameter
– Stopping criterion
![Page 129: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/129.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Specifying a biased random-key GA
Parameters:– Size of population: a function of N, say N or 2N
– Parallel population parameters: say, p = 3 , v = 2, and x = 200
– Size of elite partition: 15-25% of population
– Size of mutant set
– Child inheritance probability
– Restart strategy parameter
– Stopping criterion
![Page 130: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/130.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Specifying a biased random-key GA
Parameters:– Size of population: a function of N, say N or 2N
– Parallel population parameters: say, p = 3 , v = 2, and x = 200
– Size of elite partition: 15-25% of population
– Size of mutant set: 5-15% of population
– Child inheritance probability
– Restart strategy parameter
– Stopping criterion
![Page 131: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/131.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Specifying a biased random-key GA
Parameters:– Size of population: a function of N, say N or 2N
– Parallel population parameters: say, p = 3 , v = 2, and x = 200
– Size of elite partition: 15-25% of population
– Size of mutant set: 5-15% of population
– Child inheritance probability: > 0.5, say 0.7
– Restart strategy parameter
– Stopping criterion
![Page 132: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/132.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Specifying a biased random-key GA
Parameters:– Size of population: a function of N, say N or 2N
– Parallel population parameters: say, p = 3 , v = 2, and x = 200
– Size of elite partition: 15-25% of population
– Size of mutant set: 5-15% of population
– Child inheritance probability: > 0.5, say 0.7
– Restart strategy parameter: a function of N, say 2N or 10N
– Stopping criterion
![Page 133: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/133.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Specifying a biased random-key GA
Parameters:– Size of population: a function of N, say N or 2N
– Parallel population parameters: say, p = 3 , v = 2, and x = 200
– Size of elite partition: 15-25% of population
– Size of mutant set: 5-15% of population
– Child inheritance probability: > 0.5, say 0.7
– Restart strategy parameter: a function of N, say 2N or 10N
– Stopping criterion: e.g. time, # generations, solution quality, # generations without improvement
![Page 134: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/134.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
brkgaAPI: A C++ API for BRKGA
• Efficient and easy-to-use object oriented application programming interface (API) for the algorithmic framework of BRKGA.
![Page 135: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/135.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
brkgaAPI: A C++ API for BRKGA
• Efficient and easy-to-use object oriented application programming interface (API) for the algorithmic framework of BRKGA.
• Cross-platform library handles large portion of problem independent modules that make up the framework, e.g.– population management– evolutionary dynamics
![Page 136: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/136.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
brkgaAPI: A C++ API for BRKGA
• Efficient and easy-to-use object oriented application programming interface (API) for the algorithmic framework of BRKGA.
• Cross-platform library handles large portion of problem independent modules that make up the framework, e.g.– population management– evolutionary dynamics
• Implemented in C++ and may benefit from shared-memory parallelism if available.
![Page 137: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/137.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
brkgaAPI: A C++ API for BRKGA
• Efficient and easy-to-use object oriented application programming interface (API) for the algorithmic framework of BRKGA.
• Cross-platform library handles large portion of problem independent modules that make up the framework, e.g.– population management– evolutionary dynamics
• Implemented in C++ and may benefit from shared-memory parallelism if available.
• User only needs to implement problem-dependent decoder.
![Page 138: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/138.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
brkgaAPI: A C++ API for BRKGA
Paper: Rodrigo F. Toso and M.G.C.R., “A C++ Application Programming Interface for Biased Random-Key Genetic Algorithms,” AT&T Labs Technical Report, Florham Park, August 2011.
Software: http://www.research.att.com/~mgcr/src/brkgaAPI
![Page 139: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/139.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
An example BRKGA:Packing weighted
rectangles
![Page 140: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/140.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Reference
J.F. Gonçalves and M.G.C.R., “A parallel multi-population genetic algorithm for a constrained two-dimensional orthogonal packing problem,” Journal of Combinatorial Optimization, vol. 22, pp. 180-201, 2011.
Tech report:http://www.research.att.com/~mgcr/doc/pack2d.pdf
![Page 141: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/141.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Constrained orthogonal packing
• Given a large planar stock rectangle (W, H) of width W and height H;
![Page 142: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/142.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Constrained orthogonal packing
• Given a large planar stock rectangle (W, H) of width W and height H;
W
H
![Page 143: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/143.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Constrained orthogonal packing
• Given a large planar stock rectangle (W, H) of width W and height H;
• Given N smaller rectangle types (w[i], h[i]), i = 1,...,N, each of width w[i], height h[i], and value v[i];
W
H
![Page 144: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/144.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Constrained orthogonal packing
• Given a large planar stock rectangle (W, H) of width W and height H;
• Given N smaller rectangle types (w[i], h[i]), i = 1,...,N, each of width w[i], height h[i], and value v[i];
W
H
1
23
4
![Page 145: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/145.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Constrained orthogonal packing
• r[i] rectangles of type i = 1, ..., N are to be packed in the large rectangle without overlap and such that their edges are parallel to the edges of the large rectangle;
W
H2
1
34
2
1
1
3
![Page 146: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/146.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Constrained orthogonal packing
• r[i] rectangles of type i = 1, ..., N are to be packed in the large rectangle without overlap and such that their edges are parallel to the edges of the large rectangle;
• For i = 1, ..., N, we require that: 0 ≤P[i]≤ r[i] ≤ Q[i]
W
H2
1
34
2
1
1
3
![Page 147: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/147.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Constrained orthogonal packing
• r[i] rectangles of type i = 1, ..., N are to be packed in the large rectangle without overlap and such that their edges are parallel to the edges of the large rectangle;
• For i = 1, ..., N, we require that: 0 ≤P[i]≤ r[i] ≤ Q[i]
W
H2
1
34
2
1
1
3Suppose 5≤ r[1] ≤ 12
![Page 148: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/148.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Constrained orthogonal packing
• r[i] rectangles of type i = 1, ..., N are to be packed in the large rectangle without overlap and such that their edges are parallel to the edges of the large rectangle;
• For i = 1, ..., N, we require that: 0 ≤P[i]≤ r[i] ≤ Q[i]
W
H2
1
34
2
1
1
Suppose 5≤ r[1] ≤ 121
1
![Page 149: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/149.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Objective
Among the many feasible packings, we want to find one that maximizes total value of packed rectangles: v[1] r[1] + v[2] r[2] + ⋅⋅⋅+v[N] r[N]
W
H2
14
2
1
1
1
1
2
1
W
H2
1
34
2
1
1
1
1
![Page 150: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/150.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Objective
Among the many feasible packings, we want to find one that maximizes total value of packed rectangles: v[1] r[1] + v[2] r[2] + ⋅⋅⋅+v[N] r[N]
W
H2
14
2
1
1
1
1
2
1
![Page 151: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/151.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Objective
Among the many feasible packings, we want to find one that maximizes total value of packed rectangles: v[1] r[1] + v[2] r[2] + ⋅⋅⋅+v[N] r[N]
W
H
1
4
2
1
1
1
1
2
1
4 4
![Page 152: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/152.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Objective
Among the many feasible packings, we want to find one that maximizes total value of packed rectangles: v[1] r[1] + v[2] r[2] + ⋅⋅⋅+v[N] r[N]
W
H
1
4
1
1
1
2
1
4 433
![Page 153: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/153.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Applications
Problem arises in several production processes, e.g.– Textile– Glass– Wood– Paper
where rectangular figures are cut from large rectangular sheets of materials.
![Page 154: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/154.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Hopper & Turton, 2001Instance 4-1 60 x 60Value: 3576
Previous best: 3580 by aTabu Search heuristic (Alvarez-Valdes et al., 2007)
![Page 155: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/155.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Hopper & Turton, 2001Instance 4-2 60 x 60Value: 3585
Previous best: 3580 by aTabu Search heuristic (Alvarez-Valdes et al., 2007)
![Page 156: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/156.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Hopper & Turton, 2001Instance 4-2 60 x 60Value: 3586
Previous best: 3580 by aTabu Search heuristic (Alvarez-Valdes et al., 2007)
![Page 157: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/157.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Hopper & Turton, 2001Instance 4-2 60 x 60Value: 3591
Previous best: 3580 by aTabu Search heuristic (Alvarez-Valdes et al., 2007)
![Page 158: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/158.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Hopper & Turton, 2001Instance 4-2 60 x 60Value: 3591New best known solution!Previous best: 3580 by aTabu Search heuristic (Alvarez-Valdes et al., 2007)
![Page 159: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/159.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
BRKGA for constrained 2-dim orthogonal packing
![Page 160: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/160.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding
• Solutions are encoded as vectors K of 2N' = 2 { Q[1] + Q[2] + + Q[N] } random keys, where Q[i] is the maximum number of rectangles of type i (for i = 1, ..., N) that can be packed.
• K = ( k[1], ..., k[N'], k[N'+1], ..., k[2N'] )
![Page 161: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/161.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding
• Solutions are encoded as vectors K of 2N' = 2 { Q[1] + Q[2] + + Q[N] } random keys, where Q[i] is the maximum number of rectangles of type i (for i = 1, ..., N) that can be packed.
• K = ( k[1], ..., k[N'], k[N'+1], ..., k[2N'] )
Rectangle typepacking sequence(RTPS)
![Page 162: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/162.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding
• Solutions are encoded as vectors K of 2N' = 2 { Q[1] + Q[2] + + Q[N] } random keys, where Q[i] is the maximum number of rectangles of type i (for i = 1, ..., N) that can be packed.
• K = ( k[1], ..., k[N'], k[N'+1], ..., k[2N'] )
Rectangle typepacking sequence(RTPS)
Vector of placementprocedures (VPP)
![Page 163: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/163.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Decoding
• Simple heuristic to pack rectangles:– Make Q[i] copies of rectangle i, for i = 1, ..., N.– Order the N' = Q[1] + Q[2] + + Q[N] rectangles in
some way. – Process the rectangles in the above order. Place the
rectangle in the stock rectangle according to one of the following heuristics: bottom-left (BL) or left-bottom (LB). If rectangle cannot be positioned, discard it and go on to the next rectangle in the order.
![Page 164: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/164.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Decoding
• Simple heuristic to pack rectangles:– Make Q[i] copies of rectangle i, for i = 1, ..., N.– Order the N' = Q[1] + Q[2] + + Q[N] rectangles in
some way. Sort first N' keys to obtain order.– Process the rectangles in the above order. Place the
rectangle in the stock rectangle according to one of the following heuristics: bottom-left (BL) or left-bottom (LB). If rectangle cannot be positioned, discard it and go on to the next rectangle in the order.
![Page 165: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/165.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Decoding
• Simple heuristic to pack rectangles:– Make Q[i] copies of rectangle i, for i = 1, ..., N.– Order the N' = Q[1] + Q[2] + + Q[N] rectangles in
some way. Sort first N' keys to obtain order.– Process the rectangles in the above order. Place the
rectangle in the stock rectangle according to one of the following heuristics: bottom-left (BL) or left-bottom (LB). If rectangle cannot be positioned, discard it and go on to the next rectangle in the order. Use the last N' keys to determine which heuristic to use. If k[N'+i] > 0.5 use LB, else use BL.
![Page 166: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/166.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Decoding
• A maximal empty rectangular space (ERS) is an empty rectangular space not contained in any other ERS.
• ERSs are generated and updated using the Difference Process of Lai and Chan (1997).
• When placing a rectangle, we limit ourselves only to maximal ERSs. We order all the maximal ERSs and place the rectangle in the first maximal ERS in which it fits.
• Let (x[i], y[i]) be the coordinates of the bottom left corner of the i-th ERS.
![Page 167: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/167.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Decoding
• A maximal empty rectangular space (ERS) is an empty rectangular space not contained in any other ERS.
• ERSs are generated and updated using the Difference Process of Lai and Chan (1997).
• When placing a rectangle, we limit ourselves only to maximal ERSs. We order all the maximal ERSs and place the rectangle in the first maximal ERS in which it fits.
• Let (x[i], y[i]) be the coordinates of the bottom left corner of the i-th ERS.
i-th ERS
(x[i], y[i])
![Page 168: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/168.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Decoding
• If BL is used, ERSs are ordered such that ERS[i] < ERS[j] if y[i] < y[j] or y[i] = y[j] and x[i] < x[j].
ERS[i]
ERS[j]
ERS[i]ERS[j]
ERS[i] < ERS[j]
![Page 169: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/169.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1
32 4
BL can run into problems evenon small instances (Liu & Teng, 1999).
Consider this instance with 4 rectangles.
BL cannot find the optimal solution for any RTPS.
![Page 170: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/170.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1
32 4
We show 6 rectangle typepacking sequences (RTPS's) where we fix rectangle 1 in the first position.
![Page 171: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/171.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1
3
2
4
1
3
2
4
1
32
4 1
3 2
41
2
4
1
2
413
2
4
13
24
RTPS: 1-2-4-3
RTPS: 1-4-2-3
RTPS: 1-3-2-4
RTPS: 1-2-3-4
RTPS: 1-4-3-2
RTPS: 1-2-3-4
RTPS: 1-3-4-2
![Page 172: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/172.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1
3
2
4
1
3
2
4
1
32
4 1
3 2
41
2
4
1
2
413
2
4
13
24
RTPS: 1-2-4-3
RTPS: 1-4-2-3
RTPS: 1-3-2-4
RTPS: 1-2-3-4
RTPS: 1-4-3-2
RTPS: 1-2-3-4
RTPS: 1-3-4-2
Similar infeasibilitiesare observed if 2, 3,or 4 is the first rectangle in the RTPS.
![Page 173: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/173.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Decoding
• If LB is used, ERSs are ordered such that ERS[i] < ERS[j] if x[i] < x[j] or x[i] = x[j] and y[i] < y[j].
ERS[i]
ERS[j]
ERS[i]
ERS[j]
ERS[i] < ERS[j]
![Page 174: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/174.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1BL
3LB2
BL4
BL
![Page 175: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/175.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1BL
3LB2
BL4
BL
ERS[1]
![Page 176: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/176.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1BL
3LB2
BL4
BL
![Page 177: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/177.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1BL
3LB2
BL4
BL
ERS[1]
![Page 178: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/178.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1BL
3LB2
BL4
BL
ERS[2]
![Page 179: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/179.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1BL
3LB
2BL
4BL
![Page 180: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/180.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1BL
3LB
2BL
4BL
ERS[1]
![Page 181: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/181.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1BL
3LB
2BL
4BL
ERS[2]
![Page 182: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/182.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1BL
3LB
2BL
4BL
![Page 183: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/183.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1BL
3LB
2BL
4BL
ERS[1]
![Page 184: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/184.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1BL
3LB
2BL
4BL
ERS[1]
4 does not fitin ERS[1].
![Page 185: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/185.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1BL
3LB
2BL
4BL
ERS[2]
4 does fitin ERS[2].
![Page 186: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/186.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
1BL
3LB
2BL
4BL Optimal solution!
![Page 187: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/187.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Experimental results
![Page 188: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/188.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Design• We compare solution values obtained by the
parallel multi-population BRKGA with solutions obtained by the heuristics that produced the best computational results to date:
![Page 189: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/189.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Design• We compare solution values obtained by the
parallel multi-population BRKGA with solutions obtained by the heuristics that produced the best computational results to date:– PH: population-based heuristic of Beasley (2004)
![Page 190: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/190.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Design• We compare solution values obtained by the
parallel multi-population BRKGA with solutions obtained by the heuristics that produced the best computational results to date:– PH: population-based heuristic of Beasley (2004)– GA: genetic algorithm of Hadjiconsantinou & Iori
(2007)
![Page 191: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/191.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Design• We compare solution values obtained by the
parallel multi-population BRKGA with solutions obtained by the heuristics that produced the best computational results to date:– PH: population-based heuristic of Beasley (2004)– GA: genetic algorithm of Hadjiconsantinou & Iori
(2007)– GRASP: greedy randomized adaptive search
procedure of Alvarez-Valdes et al. (2005)
![Page 192: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/192.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Design• We compare solution values obtained by the
parallel multi-population BRKGA with solutions obtained by the heuristics that produced the best computational results to date:– PH: population-based heuristic of Beasley (2004)– GA: genetic algorithm of Hadjiconsantinou & Iori
(2007)– GRASP: greedy randomized adaptive search
procedure of Alvarez-Valdes et al. (2005)– TABU: tabu search of Alvarez-Valdes et al. (2007)
![Page 193: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/193.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Number of best solutions / total instances
Problem PH GA GRASP TABU BRKGA BL-LB-L-4NR
From literature (optimal)
13/21 21/21 18/21 21/21 21/21
Large random*
0/21 0/21 5/21 8/21 20/21
Zero-waste 5/31 17/31 30/31
Doubly constrained
11/21 12/21 17/21 19/21
* For large random: number of best average solutions / total instance classes
![Page 194: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/194.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Minimum, average, and maximum solution times (secs) for BRKGA (BL-LB-L-4NR)
Problem Min solution time (secs)
Avg solution time (secs)
Max solution time (secs)
From literature (optimal)
0.00 0.05 0.55
Large random 1.78 23.85 72.70
Zero-waste 0.01 82.21 808.03
Doubly constrained
0.00 1.16 16.87
![Page 195: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/195.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
New BKSfor a 100 x100doubly constrained instance of Fekete &Schepers (1997)of value 20678.Previous bestwas 19657 bytabu search ofAlvarez-Valdes etal., (2007).
30 types30 rectangles
![Page 196: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/196.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
New BKS for a 100 x 100 doubly constrained instance Fekete & Schepers (1997) of value 22140.
Previous BKS was 22011 by tabu search of Alvarez-Valdes et al. (2007).
29 types97 rectangles
![Page 197: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/197.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Some remarksWe have extended this to 3D packing: J.F. Gonçalves and M.G.C.R., “A parallel multi-population biased random-key genetic algorithm for a container loading problem,” Computers & Operations Research, vol. 29, pp. 179-190, 2012.
Tech report: http://www.research.att.com/~mgcr/doc/brkga-pack3d.pdf
![Page 198: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/198.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
3D bin packing
![Page 199: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/199.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
J.F. Gonçalves and M.G.C.R., “A biased random-key genetic algorithm for a 2D and 3D bin packing problem,” AT&T Labs Research Technical Report, 2012 (submitted).
http://www.research.att.com/~mgcr/doc/brkga-binpacking.pdf
![Page 200: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/200.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
3D bin packing problemContainer (bin) offixed dimension
Boxes of different dimensions
Minimize number of containers (bins) needed to pack all boxes
![Page 201: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/201.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
3D bin packing constraints
• Each box is placed completely within container• Boxes do not overlap with each other• Each box is placed parallel to the side walls of bin• In some instances, only certain box orientations
are allowed (there are at most six possible orientations)
![Page 202: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/202.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Six possible orientations for each box
![Page 203: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/203.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Difference process - DP (Lai & Chan, 1997)
When box is placed in container … use DP to keep track of maximal free spaces
![Page 204: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/204.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Encoding
Solutions are encoded as vectors of 3n random keys, where n is the number of boxed to be packed.
X = ( x1 , x
2 , …, x
n , x
n+1, x
n+2, …, x
2n, x
2n+1, x
2n+2, …, x
3n)
Box packing sequence Box orientation
X = ( x1 , x
2 , …, x
n , x
n+1, x
n+2, …, x
2n, x
2n+1, x
2n+2, …, x
3n) X = ( x
1 , x
2 , …, x
n , x
n+1, x
n+2, …, x
2n, x
2n+1, x
2n+2, …, x
3n)
Placement heuristic
![Page 205: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/205.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Decoding1) Sort first n keys of X to produce sequence boxes will be packed;
2) Use second n keys of X to determine which placement heuristic to use (back-bottom-left or back-left-bottom):• if x
n+i < then use ½ back-bottom-left to pack i-th box
• if xn+i
≥ then use back-left-bottom to pack i-th box½
3) Use third n keys of X to determine which of six orientations to use when packing box: • x
2n+i [0,1/6): orientation 1;
• x2n+i
[1/6,2/6): orientation 2; …
• x2n+i
[5/6,1]: orientation 6.
![Page 206: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/206.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Decoding
For each box– scan containers in order they were opened– use placement heuristic to place box in first container in
which box fits with its specified orientation– if box does not fit in any open container, open new
container and place box using placement heuristic with its specified orientation
![Page 207: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/207.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Fitness function
Instead of using as fitness measure the number of bins (NB)– use adjusted fitness: aNB – aNB = NB + ( LeastLoad / BinVolume ), where
✗ LeastLoad is load on least loaded bin✗ BinVolume is volume of bin: H x W x L
![Page 208: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/208.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Experiment
• Parameters:– population size: p = 30n
– size of elite partition: pe = .10p
– number of of mutans: pm = .15p
– crossover probability: 0.7– stopping criterion: 300 generations
![Page 209: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/209.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Experiment
• Instances:– 320 instances of Martello et al. (2000)– generator is available at http://www.diku.dk/~pisinger/codes/html
– 8 classes– 40 instances per class– 10 instances for each value of n ∈ {50, 100, 150,
200)
![Page 210: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/210.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Experiment
• We compare BRKGA with:– TS3, the tabu search of Lodi et al. (2002)– GLS, the guided local search of Faroe et al. (2003)– TS2PACK, the tabu search of Crainic et al. (2009)– GRASP, the greedy randomized adaptive search
procedure of Parreno et al. (2010)
![Page 211: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/211.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Class 1 - Bin size: 100 x 100 x 100
Boxes LB BRKGA GRASP TS3 TS2PACK GLS
50 12.5 13.4 13.4 13.4 13.4 13.4
100 25.1 26.6 26.6 26.6 26.7 26.7
150 34.7 36.4 36.4 36.7 37.0 37.0
200 48.4 50.9 50.9 51.2 51.1 51.2
Sum: 120.7 127.3 127.3 127.9 128.2 128.3
![Page 212: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/212.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Class 2 - Bin size: 100 x 100 x 100
Boxes LB BRKGA GRASP TS3 TS2PACK GLS
50 12.7 13.8 13.8 13.8
Did not run100 24.1 25.6 25.7 25.7
150 35.1 36.7 36.9 37.2
200 47.5 49.4 49.4 50.1
Sum: 119.4 125.5 125.8 126.8
![Page 213: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/213.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Class 3 - Bin size: 100 x 100 x 100
Boxes LB BRKGA GRASP TS3 TS2PACK GLS
50 12.3 13.3 13.3 13.3
Did not run100 24.7 25.9 26.0 26.0
150 36.0 37.5 37.6 37.7
200 47.8 49.8 50.0 50.5
Sum: 120.8 126.5 126.9 127.5
![Page 214: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/214.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Class 4 - Bin size: 100 x 100 x 100
Boxes LB BRKGA GRASP TS3 TS2PACK GLS
50 28.7 29.4 29.4 29.4 29.4 29.4
100 57.6 59.0 59.0 59.0 58.9 59.0
150 85.2 86.8 86.8 86.8 86.8 86.8
200 116.3 118.8 118.8 118.8 118.8 119.0
Sum: 287.8 294.0 294.0 294.0 293.9 294.2
![Page 215: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/215.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Class 5 - Bin size: 100 x 100 x 100
Boxes LB BRKGA GRASP TS3 TS2PACK GLS
50 7.3 8.3 8.3 8.4 8.3 8.3
100 12.9 15.0 15.0 15.0 15.2 15.1
150 17.4 20.0 20.1 20.4 20.1 20.2
200 24.4 27.1 27.1 27.6 27.4 27.2
Sum: 62.0 70.4 70.5 71.4 71.0 70.8
![Page 216: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/216.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Class 6 - Bin size: 10 x 10 x 10
Boxes LB BRKGA GRASP TS3 TS2PACK GLS
50 8.7 9.8 9.8 9.9 9.8 9.8
100 17.5 18.8 19.0 19.1 19.1 19.1
150 26.9 29.2 29.2 29.4 29.2 29.4
200 35.0 37.2 37.4 37.7 37.7 37.7
Sum: 88.1 95.0 95.4 96.1 95.8 96.0
![Page 217: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/217.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Class 7 - Bin size: 40 x 40 x 40
Boxes LB BRKGA GRASP TS3 TS2PACK GLS
50 6.3 7.4 7.4 7.5 7.4 7.4
100 10.9 12.2 12.5 12.5 12.3 12.3
150 13.7 15.2 16.0 16.1 15.8 15.8
200 21.0 23.4 23.5 23.9 23.5 23.5
Sum: 51.9 58.2 59.4 60.0 59.0 59.0
![Page 218: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/218.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Class 8 - Bin size: 100 x 100 x 100
Boxes LB BRKGA GRASP TS3 TS2PACK GLS
50 0.8 9.2 9.2 9.3 9.2 9.2
100 17.5 18.9 18.9 18.9 18.8 18.9
150 21.3 23.5 24.1 24.1 23.9 23.9
200 26.7 29.3 29.8 30.3 30.0 29.9
Sum: 66.3 80.9 82.0 82.6 81.9 81.9
![Page 219: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/219.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Summary
Class Bin size BRKGA GRASP TS3 TS2PACK GLS
1 1003 127.3 127.3 127.9 128.2 128.3
2 1003 125.5 125.8 126.8
3 1003 126.5 126.9 127.5
4 1003 294.0 294.0 294.0 293.9 294.2
5 1003 70.4 70.5 71.4 71.0 70.8
6 103 95.0 95.4 96.1 95.8 96.0
7 403 58.2 59.4 60.0 59.0 59.0
8 1003 80.9 82.0 82.6 81.9 81.9
Sum(rows 1, 4-8): 725.8 728.6 732.0 729.8 730.2
Sum(rows 1-8): 977.8 981.3 986.3
![Page 220: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/220.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Concluding remarks
• Reviewed BRKGA framework• Applied framework to
– 2D/3D packing to maximize value packed– 2D/3D bin packing to minimize number of bins
• All decoders were simple heuristics• BRKGA “learned” how to “operate” the heuristics• In all cases, several new best known solutions
were produced
![Page 221: Packing with biased random-key genetic algorithms](https://reader031.vdocuments.us/reader031/viewer/2022012104/616a171c11a7b741a34eb28b/html5/thumbnails/221.jpg)
XV ONPCE – S.J. do Rio Preto, Brazil ✤ March 21-22, 2013 Packing with a BRKGA
Thanks!These slides and all of the papers cited in this lecture can be downloaded from my homepage:
http://www.research.att.com/~mgcr