11.07.2015 Views

brkga - AT&T Labs Research

brkga - AT&T Labs Research

brkga - AT&T Labs Research

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Biased random-key geneticalgorithmsMauricio G. C. ResendeAT&T <strong>Labs</strong> <strong>Research</strong>Florham Park, New Jerseymgcr@research.att.comLecture given at LION 7Catania, Italy LION ✤ 7 January ✤ January 8, 2013 2013BRKGA


ReferenceJ.F. Gonçalves and M.G.C.R., “Biased random-keygenetic algorithms for combinatorial optimization,”J. of Heuristics, vol.17, pp. 487-525, 2011.Tech report version:http://www.research.att.com/~mgcr/doc/srkga.pdfLION 7 ✤ January 2013BRKGA


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• Example of a BRKGA for 2-dim packing• Brief overview of literatureLION 7 ✤ January 2013BRKGA


MetaheuristicsMetaheuristics are heuristics to devise heuristics.LION 7 ✤ January 2013BRKGA


MetaheuristicsMetaheuristics are high level procedures that coordinatesimple heuristics, such as local search, to find solutions thatare of better quality than those found by the simple heuristicsalone.LION 7 ✤ January 2013BRKGA


MetaheuristicsMetaheuristics are high level procedures that coordinatesimple heuristics, such as local search, to find solutions thatare of better quality than those found by the simple heuristicsalone.Examples: GRASP and C-GRASP, simulated annealing,genetic algorithms, tabu search, scatter search, ant colonyoptimization, variable neighborhood search, and biasedrandom-key genetic algorithms (BRKGA).LION 7 ✤ January 2013BRKGA


Genetic algorithmsLION 7 ✤ January 2013BRKGA


Genetic algorithmsHolland (1975)Adaptive methods that are used to solve searchand optimization problems.Individual: solutionLION 7 ✤ January 2013BRKGA


Genetic algorithmsIndividual: solution (chromosome = string of genes)Population: set of fixed number of individualsLION 7 ✤ January 2013BRKGA


Genetic algorithmsGenetic algorithms evolve population applyingDarwin's principle of survival of the fittest.LION 7 ✤ January 2013BRKGA


Genetic algorithmsGenetic algorithms evolve population applyingDarwin's principle of survival of the fittest.A series of generations are produced bythe algorithm. The most fit individual of thelast generation is the solution.LION 7 ✤ January 2013BRKGA


Genetic algorithmsGenetic algorithms evolve population applyingDarwin's principle of survival of the fittest.A series of generations are produced bythe algorithm. The most fit individual of thelast generation is the solution.Individuals from one generation are combinedto produce offspring that make up nextgeneration.LION 7 ✤ January 2013BRKGA


Genetic algorithmsProbability of selecting individual to mateis proportional to its fitness: survival of thefittest.abLION 7 ✤ January 2013BRKGA


Genetic algorithmsProbability of selecting individual to mateis proportional to its fitness: survival of thefittest.abmutationabCombineparentscChild ingeneration K+1Parents drawn fromgeneration KcLION 7 ✤ January 2013BRKGA


Crossover and mutationmutationaCombineparentscbLION 7 ✤ January 2013BRKGA


Crossover and mutationmutationaCombineparentscbCrossover: Combines parents … passing along to offspringcharacteristics of each parent …Intensification of searchLION 7 ✤ January 2013BRKGA


Crossover and mutationmutationaCombineparentscbMutation: Randomly changes chromosome of offspring ...Driver of evolutionary process ...Diversification of searchLION 7 ✤ January 2013BRKGA


Evolution of solutionsLION 7 ✤ January 2013BRKGA


Evolution of solutionsLION 7 ✤ January 2013BRKGA


Evolution of solutionsLION 7 ✤ January 2013BRKGA


Evolution of solutionsLION 7 ✤ January 2013BRKGA


Evolution of solutionsLION 7 ✤ January 2013BRKGA


Evolution of solutionsLION 7 ✤ January 2013BRKGA


Evolution of solutionsLION 7 ✤ January 2013BRKGA


Evolution of solutionsLION 7 ✤ January 2013BRKGA


Encoding solutionswith random keysLION 7 ✤ January 2013BRKGA


Encoding with random keys• A random key is a real random number in thecontinuous interval [0,1).LION 7 ✤ January 2013BRKGA


Encoding with random keys• A random key is a real random number in thecontinuous interval [0,1).• A vector X of random keys, or simply randomkeys, is an array of n random keys.LION 7 ✤ January 2013BRKGA


Encoding with random keys• A random key is a real random number in thecontinuous interval [0,1).• A vector X of random keys, or simply randomkeys, is an array of n random keys.• Solutions of optimization problems can beencoded by random keys.LION 7 ✤ January 2013BRKGA


Encoding with random keys• A random key is a real random number in thecontinuous interval [0,1).• A vector X of random keys, or simply randomkeys, is an array of n random keys.• Solutions of optimization problems can beencoded by random keys.• A decoder is a deterministic algorithm that takesa vector of random keys as input and outputs afeasible solution of the optimization problem.LION 7 ✤ January 2013BRKGA


Encoding with random keys: SequencingEncoding[ 1, 2, 3, 4, 5 ]X = [ 0.099, 0.216, 0.802, 0.368, 0.658 ]LION 7 ✤ January 2013BRKGA


Encoding with random keys: SequencingEncoding[ 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 ]LION 7 ✤ January 2013BRKGA


Encoding with random keys: SequencingEncoding[ 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 – 3LION 7 ✤ January 2013BRKGA


Encoding with random keys: Subsetselection (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 keysLION 7 ✤ January 2013BRKGA


Encoding with random keys: Subsetselection (select 3 of 5 elements)Encoding[ 1, 2, 3, 4, 5 ]X = [ 0.099, 0.216, 0.802, 0.368, 0.658 ]Decode by by sorting vector of of random keys[ 1, 2, 4, 5, 3 ]X = [ 0.099, 0.216, 0.368, 0.658, 0.802 ]EncodingLION 7 ✤ January 2013BRKGA


Encoding with random keys: Subsetselection (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 }LION 7 ✤ January 2013BRKGA


Encoding with random keys: Assigning integerweights [0,10] to a subset of 3 of 5 elementsEncoding[ 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 ]LION 7 ✤ January 2013BRKGA


Encoding with random keys: Assigning integerweights [0,10] to a subset of 3 of 5 elementsEncoding[ 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 valueW i= floor [ 10 X 5+i] + 1 to the 3 elements with smallest keys X i, fori =1,...,5.LION 7 ✤ January 2013BRKGA


Encoding with random keys: Assigning integerweights [0,10] to a subset of 3 of 5 elementsEncoding[ 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 assignthe element weight to W i= floor [ 11 X 5+i] to the 3 elements withsmallest keys X i, 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,–)LION 7 ✤ January 2013BRKGA


Genetic algorithmsand random keysLION 7 ✤ January 2013BRKGA


GAs and random keys• Introduced by Bean (1994)for sequencing problems.LION 7 ✤ January 2013BRKGA


GAs and random keys• Introduced by Bean (1994)for sequencing problems.• Individuals are strings ofreal-valued numbers(random keys) in theinterval [0,1).S = ( 0.25, 0.19, 0.67, 0.05, 0.89 )s(1) s(2) s(3) s(4) s(5)LION 7 ✤ January 2013BRKGA


GAs and random keys• Introduced by Bean (1994)for sequencing problems.• Individuals are strings ofreal-valued numbers(random keys) in theinterval [0,1).• Sorting random keys resultsin 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 – 5LION 7 ✤ January 2013BRKGA


GAs and random keys• Mating is done usingparametrized uniformcrossover (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 )LION 7 ✤ January 2013BRKGA


GAs and random keys• Mating is done usingparametrized uniformcrossover (Spears & DeJong , 1990)• For each gene, flip a biasedcoin to choose whichparent passes the allele(key, or value of gene) tothe child.a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )LION 7 ✤ January 2013BRKGA


GAs and random keys• Mating is done usingparametrized uniformcrossover (Spears & DeJong , 1990)• For each gene, flip a biasedcoin to choose whichparent passes the allele(key, or value of gene) tothe child.a = ( 0.25, 0.19, 0.67, 0.05, 0.89 )b = ( 0.63, 0.90, 0.76, 0.93, 0.08 )c = ( )LION 7 ✤ January 2013BRKGA


GAs and random keys• Mating is done usingparametrized uniformcrossover (Spears & DeJong , 1990)• For each gene, flip a biasedcoin to choose whichparent passes the allele(key, or value of gene) tothe child.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 )LION 7 ✤ January 2013BRKGA


GAs and random keys• Mating is done usingparametrized uniformcrossover (Spears & DeJong , 1990)• For each gene, flip a biasedcoin to choose whichparent passes the allele(key, or value of gene) tothe child.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 )LION 7 ✤ January 2013BRKGA


GAs and random keys• Mating is done usingparametrized uniformcrossover (Spears & DeJong , 1990)• For each gene, flip a biasedcoin to choose whichparent passes the allele(key, or value of gene) tothe child.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 )LION 7 ✤ January 2013BRKGA


GAs and random keys• Mating is done usingparametrized uniformcrossover (Spears & DeJong , 1990)• For each gene, flip a biasedcoin to choose whichparent passes the allele(key, or value of gene) tothe child.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 )LION 7 ✤ January 2013BRKGA


GAs and random keys• Mating is done usingparametrized uniformcrossover (Spears & DeJong , 1990)• For each gene, flip a biasedcoin to choose whichparent passes the allele(key, or value of gene) tothe child.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 )LION 7 ✤ January 2013BRKGA


GAs and random keys• Mating is done usingparametrized uniformcrossover (Spears & DeJong , 1990)• For each gene, flip a biasedcoin to choose whichparent passes the allele(key, or value of gene) tothe child.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.LION 7 ✤ January 2013BRKGA


GAs and random keysInitial population is made up of Prandom-key vectors, each with Nkeys, each having a valuegenerated uniformly at random inthe interval [0,1).LION 7 ✤ January 2013BRKGA


GAs and random keysPopulation KAt the K-th generation,compute the cost of eachsolution ... Elite solutionsNon-elitesolutionsLION 7 ✤ January 2013BRKGA


GAs and random keysAt the K-th generation,compute the cost of eachsolution and partition thesolutions into two sets:Population KElite solutionsNon-elitesolutionsLION 7 ✤ January 2013BRKGA


GAs and random keysAt the K-th generation,compute the cost of eachsolution and partition thesolutions into two sets:elite solutions and non-elitesolutions.Population KElite solutionsNon-elitesolutionsLION 7 ✤ January 2013BRKGA


GAs and random keysAt the K-th generation,compute the cost of eachsolution and partition thesolutions into two sets:elite solutions and non-elitesolutions. Elite set shouldbe smaller of the two setsand contain best solutions.Population KElite solutionsNon-elitesolutionsLION 7 ✤ January 2013BRKGA


GAs and random keysEvolutionary dynamicsPopulation K Population K+1Elite solutionsNon-elitesolutionsLION 7 ✤ January 2013BRKGA


GAs and random keysEvolutionary dynamicsPopulation KPopulation K+1– Copy elite solutions from populationK to population K+1 Elite solutionsElite solutionsNon-elitesolutionsLION 7 ✤ January 2013BRKGA


GAs and random keysEvolutionary dynamics– Copy elite solutions from populationK to population K+1– Add R random solutions (mutants)to population K+1Population KElite solutionsPopulation K+1Elite solutionsNon-elitesolutionsMutantsolutionsLION 7 ✤ January 2013BRKGA


GAs and random keysEvolutionary dynamics– Copy elite solutions from populationK to population K+1– Add R random solutions (mutants)to population K+1– While K+1-th population < P• RANDOM-KEY GA: Use any twosolutions in population K to producechild in population K+1. Mates arechosen at random.Population KElite solutionsXPopulation K+1Elite solutionsNon-elitesolutionsMutantsolutionsLION 7 ✤ January 2013BRKGA


Biased random key genetic algorithm• A biased random key genetic algorithm (BRKGA)is a random key genetic algorithm (RKGA).LION 7 ✤ January 2013BRKGA


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 arechosen for crossover and how parametrizeduniform crossover is applied.LION 7 ✤ January 2013BRKGA


How RKGA & BRKGA differRKGAboth parents chosen atrandom from entirepopulationBRKGALION 7 ✤ January 2013BRKGA


How RKGA & BRKGA differRKGAboth parents chosen atrandom from entirepopulationBRKGAboth parents chosen atrandom but one parentchosen from populationof elite solutionsLION 7 ✤ January 2013BRKGA


How RKGA & BRKGA differRKGAboth parents chosen atrandom from entirepopulationBRKGAboth parents chosen atrandom but one parentchosen from populationof elite solutionseither parent can beparent A in parametrizeduniform crossoverLION 7 ✤ January 2013BRKGA


How RKGA & BRKGA differRKGAboth parents chosen atrandom from entirepopulationBRKGAboth parents chosen atrandom but one parentchosen from populationof elite solutionseither parent can beparent A in parametrizeduniform crossoverLION 7 ✤ January 2013best fit parent is parent Ain parametrized uniformcrossoverBRKGA


Biased random key GAEvolutionary dynamics– Copy elite solutions from populationK to population K+1– Add R random solutions (mutants)to population K+1– While K+1-th population < P• RANDOM-KEY GA: Use any twosolutions in population K to producechild in population K+1. Mates arechosen at random.• BIASED RANDOM-KEY GA: Mate elitesolution with other solution ofpopulation K to produce child inpopulation K+1. Mates are chosen atrandom.LION 7 ✤ January 2013Population KElite solutionsNon-elitesolutionsBRKGABRKGA: Probabilitychild inheritskey of eliteparent > 0.5 Population K+1XElite solutionsMutantsolutions


Paper comparing BRKGA and Bean'sMethodGonçalves, R., and Toso, “Biased and unbiasedrandom-key genetic algorithms: Anexperimental analysis”, AT&T <strong>Labs</strong> <strong>Research</strong>Technical Report, Florham Park, December 2012.LION 7 ✤ January 2013BRKGA


set coveringproblem: scp41LION 7 ✤ January 2013BRKGA


Pr(t BRKGA≤ t RKGA) = 0.740Probability computed with methodof Ribeiro et al. (2012)set coveringproblem: scp41LION 7 ✤ January 2013BRKGA


set coveringproblem: scp51LION 7 ✤ January 2013BRKGA


Pr(t BRKGA≤ t RKGA) = 0.999set coveringproblem: scp51LION 7 ✤ January 2013BRKGA


set coveringproblem: scpa1LION 7 ✤ January 2013BRKGA


Pr(t BRKGA≤ t RKGA) = 0.733set coveringproblem: scpa1LION 7 ✤ January 2013BRKGA


set k-coveringproblem: scp41-2LION 7 ✤ January 2013BRKGA


set k-coveringproblem: scp41-2Pr(t BRKGA≤ t RKGA) = 0.999LION 7 ✤ January 2013BRKGA


set k-coveringproblem: scp45-11LION 7 ✤ January 2013BRKGA


Pr(t BRKGA≤ t RKGA) = 0.881set k-coveringproblem: scp45-11LION 7 ✤ January 2013BRKGA


set k-coveringproblem: scp48-7LION 7 ✤ January 2013BRKGA


Pr(t BRKGA≤ t RKGA) = 0.847set k-coveringproblem: scp48-7LION 7 ✤ January 2013BRKGA


Observations• Random method: keys are randomly generated sosolutions are always vectors of random keysLION 7 ✤ January 2013BRKGA


Observations• Random method: keys are randomly generated sosolutions are always vectors of random keys• Elitist strategy: best solutions are passed without changefrom one generation to the next (incumbent is kept)LION 7 ✤ January 2013BRKGA


Observations• Random method: keys are randomly generated sosolutions are always vectors of random keys• Elitist strategy: best solutions are passed without changefrom one generation to the next (incumbent is kept)• Child inherits more characteristics of elite parent:one parent is always selected (with replacement) from thesmall elite set and probability that child inherits key of eliteparent > 0.5 Not so in the RKGA of Bean.LION 7 ✤ January 2013BRKGA


Observations• Random method: keys are randomly generated sosolutions are always vectors of random keys• Elitist strategy: best solutions are passed without changefrom one generation to the next (incumbent is kept)• Child inherits more characteristics of elite parent:one parent is always selected (with replacement) from thesmall elite set and probability that child inherits key of eliteparent > 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 localoptima)LION 7 ✤ January 2013BRKGA


Framework for biased random-key genetic algorithmsGenerate P vectorsof random keysDecode each vectorof random keysClassify solutions aselite or non-eliteSort solutions bytheir costsnoStopping rulesatisfied?yesstopCopy elite solutionsto next populationGenerate mutants innext populationCombine elite andnon-elite solutionsand add children tonext populationLION 7 ✤ January 2013BRKGA


Framework for biased random-key genetic algorithmsProblem independentGenerate P vectorsof random keysDecode each vectorof random keysClassify solutions aselite or non-eliteSort solutions bytheir costsnoStopping rulesatisfied?yesstopCopy elite solutionsto next populationGenerate mutants innext populationCombine elite andnon-elite solutionsand add children tonext populationLION 7 ✤ January 2013BRKGA


Framework for biased random-key genetic algorithmsProblem dependentProblem independentGenerate P vectorsof random keysDecode each vectorof random keysClassify solutions aselite or non-eliteSort solutions bytheir costsnoStopping rulesatisfied?yesstopCopy elite solutionsto next populationGenerate mutants innext populationCombine elite andnon-elite solutionsand add children tonext populationLION 7 ✤ January 2013BRKGA


Decoding of random key vectors can be done in parallelGenerate P vectorsof random keysDecode each vectorof random keysClassify solutions aselite or non-eliteSort solutions bytheir costsnoStopping rulesatisfied?yesstopCopy elite solutionsto next populationGenerate mutants innext populationCombine elite andnon-elite solutionsand add children tonext populationLION 7 ✤ January 2013BRKGA


Is a BRKGA any different from applyingthe decoder to random keys?• Simulate a random multi-start decoding methodwith a BRKGA by setting size of elite partition to1 and number of mutants to P–1• Each iteration, best solution is maintained in eliteset and P–1random key vectors are generated asmutants … no mating is done since populationalready has P individualsLION 7 ✤ January 2013BRKGA


solutionNetwork monitor location problem (opt = 23)BRKGA solutionsRandom multi-start solutionsbest random solutionOptimal valueLION 7 ✤ January 2013Time (ibm t41 secs)BRKGA


BRKGA in multi-start strategyoutputincumbentyesstopbeginnostoppingrulesatisfied ?Classify solutions aselite or non-eliteGenerate P vectorsof random keysSort solutions bytheir costsDecode each vectornoof random keysRestart rulesatisfied?yesif incumbentimproved, updateincumbentCopy elite solutionsto next populationGenerate mutants innext populationCombine elite andnon-elite solutionsand add children tonext populationLION 7 ✤ January 2013BRKGA


Randomized heuristic iterationcount distribution: constructedby independently running thealgorithm a number of times, eachtime stopping when the algorithmfinds a solution at least as good as agiven target.LION 7 ✤ January 2013BRKGA


In most of the independent runs, the algorithm finds the target solution inrelatively few iterations:LION 7 ✤ January 2013BRKGA


In most of the independent runs, the algorithm finds the target solution inrelatively few iterations: 25% of the runs take fewer than 101 iterationsLION 7 ✤ January 2013BRKGA


In most of the independent runs, the algorithm finds the target solution inrelatively few iterations: 50% of the runs take fewer than 192 iterationsLION 7 ✤ January 2013BRKGA


In most of the independent runs, the algorithm finds the target solution inrelatively few iterations: 75% of the runs take fewer than 345 iterationsLION 7 ✤ January 2013BRKGA


However, some runs take much longer: 10% of the runs take over 1000iterationsLION 7 ✤ January 2013BRKGA


However, some runs take much longer: 5% of the runs take over 2000iterationsLION 7 ✤ January 2013BRKGA


However, some runs take much longer: 2% of the runs take over 9715iterationsLION 7 ✤ January 2013BRKGA


However, some runs take much longer: the longest run took 11607iterationsLION 7 ✤ January 2013BRKGA


Probability that algorithm will takeover 345 iterations: 25% = 1/4LION 7 ✤ January 2013BRKGA


Probability that algorithm will takeover 345 iterations: 25% = 1/4By restarting algorithm after 345iterations, probability that new runwill take over 690 iterations: 25% =1/4Probability that algorithm withrestart will take over 690 iterations:probability of taking over 345 Xprobability of taking over 690iterations given it took over 345 =¼ x ¼ = 1/4 2LION 7 ✤ January 2013BRKGA


Probability that algorithm will still berunning after K periods of 345iterations: 1/4 KLION 7 ✤ January 2013BRKGA


Probability that algorithm will still berunning after K periods of 345iterations: 1/4 KFor example, probability thatalgorithm with restart will still berunning after 1725 iterations (5periods of 345 iterations): 1/4 5 0.0977%This is much less than the 5%probability that the algorithmwithout restart will take over 2000iterations.LION 7 ✤ January 2013BRKGA


Probability that algorithm will still berunning after K periods of 345iterations: 1/4 KFor example, probability thatalgorithm with restart will still berunning after 1725 iterations (5periods of 345 iterations): 1/4 5 0.0977%This is much less than the 5%probability that the algorithmwithout restart will take over 2000iterations.LION 7 ✤ January 2013BRKGA


Restart strategies• First proposed by Luby et al. (1993)• They define a restart strategy as a finite sequenceof time intervals S = { 1, 2, 3, … } which defineepochs 1, 1+ 2, 1+ 2+ 3, … when thealgorithm is restarted from scratch.• Luby et al. (1993) prove that the optimal restartstrategy uses 1= 2= 3= … = *, where * is aconstant.LION 7 ✤ January 2013BRKGA


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)LION 7 ✤ January 2013BRKGA


Restart strategy for BRKGA• Recall the restart strategy of Luby et al. where equal timeintervals 1= 2= 3= … = * pass between restarts.• Strategy requires * as input.• Since we have no prior information as to the runtimedistribution of the heuristic, we run the risk of:– choosing * too small: restart variant may take long toconverge– choosing * too big: restart variant may become likeno-restart variantLION 7 ✤ January 2013BRKGA


Restart strategy for BRKGA• We conjecture that number of iterations betweenimprovement of the incumbent (best so far) solutionvaries less w.r.t. heuristic/ instance/ target than runtimes.• We propose the following restart strategy: Keep track ofthe last generation when the incumbent improved andrestart BRKGA if K generations have gone by withoutimprovement.• We call this strategy restart(K)LION 7 ✤ January 2013BRKGA


Example of restart strategy for BRKGA: Load balancingGiven an unordered sequence of 1024 integers p[0], p[1], …, p[1023]LION 7 ✤ January 2013BRKGA


Example of restart strategy for BRKGA: Load balancingPlace 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]LION 7 ✤ January 2013BRKGA


Example of restart strategy for BRKGA: Load balancingAdd 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 pLION 7 ✤ January 2013BRKGA


Example of restart strategy for BRKGA: Load balancingPlace 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]B[0] B[1] B[2] B[15]ppppppppLION 7 ✤ January 2013BRKGA


Example of restart strategy for BRKGA: Load balancingAdd 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]B[0] B[1] B[2] B[15]ppppppppT[0]=(p) T[1]=(p) T[2]=(p) T[15]=(p)LION 7 ✤ January 2013BRKGA


Example of restart strategy for BRKGA: Load balancingOBJECTIVE: Minimize { Maximum (T[0], T[1], …, T[15]) }b[0] b[1] b[2] b[3] b[4] b[29] b[30] b[31]B[0] B[1] B[2] B[15]ppppppppT[0]=(p) T[1]=(p) T[2]=(p) T[15]=(p)LION 7 ✤ January 2013BRKGA


Example of restart strategy for BRKGA: Load balancingEncodingX = [ 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 bucketsx[32+1], x[32+2], …, x[32+16] are used to determine towhich bins the buckets are assignedLION 7 ✤ January 2013BRKGA


Example of restart strategy for BRKGA: Load balancingEncodingX = [ 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 bucketsSize of bucket i = floor (1024 × x[i]/(x[1]+x[2]+⋯+x[32])), i=1,...,15Size of bucket 16 = 1024 – sum of sizes of first 15 bucketsLION 7 ✤ January 2013BRKGA


Example of restart strategy for BRKGA: Load balancingEncodingX = [ 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 bucketsx[32+1], x[32+2], …, x[32+16] are used to determine towhich bins the buckets are assignedBin that bucket i is assigned to = floor (16 × x[32+i]) + 1LION 7 ✤ January 2013BRKGA


Example of restart strategy for BRKGA: Load balancingDecoding (Local search phase)– while (there exists a bucket in the most loaded bin thatcan be moved to another bin and not increase themaximum load) then• move that bucket to that bin– end whileMake necessary chromosome adjustments to last 16random keys of vector of random keys to reflect changesmade in local search phase: Add or subtract an integervalue from chromosome of bucket that moved to new bin.LION 7 ✤ January 2013BRKGA


Example of restart strategy for BRKGA: Load balancingrestart strategy:restart(2000)no restartLION 7 ✤ January 2013BRKGA


Specifying a BRKGALION 7 ✤ January 2013BRKGA


Specifying a biased random-key GA• Encoding is always done the same way, i.e. with a vector ofN random-keys (parameter N must be specified)LION 7 ✤ January 2013BRKGA


Specifying a biased random-key GA• Encoding is always done the same way, i.e. with a vector ofN random-keys (parameter N must be specified)• Decoder that takes as input a vector of N random-keys andoutputs the corresponding solution of the combinatorialoptimization problem and its cost (this is usually a heuristic)LION 7 ✤ January 2013BRKGA


Specifying a biased random-key GA• Encoding is always done the same way, i.e. with a vector ofN random-keys (parameter N must be specified)• Decoder that takes as input a vector of N random-keys andoutputs the corresponding solution of the combinatorialoptimization problem and its cost (this is usually a heuristic)• ParametersLION 7 ✤ January 2013BRKGA


Specifying a biased random-key GAParameters:– Size of population– Parallel population parameters– Size of elite partition– Size of mutant set– Child inheritance probability– Restart strategy parameter– Stopping criterionLION 7 ✤ January 2013BRKGA


Specifying a biased random-key GAParameters:– 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 criterionLION 7 ✤ January 2013BRKGA


Specifying a biased random-key GAParameters:– 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 criterionLION 7 ✤ January 2013BRKGA


Specifying a biased random-key GAParameters:– 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 criterionLION 7 ✤ January 2013BRKGA


Specifying a biased random-key GAParameters:– 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 criterionLION 7 ✤ January 2013BRKGA


Specifying a biased random-key GAParameters:– 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 criterionLION 7 ✤ January 2013BRKGA


Specifying a biased random-key GAParameters:– 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 criterionLION 7 ✤ January 2013BRKGA


Specifying a biased random-key GAParameters:– 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 improvementLION 7 ✤ January 2013BRKGA


kgaAPI: A C++ API for BRKGA• Efficient and easy-to-use object oriented applicationprogramming interface (API) for the algorithmic frameworkof BRKGA.LION 7 ✤ January 2013BRKGA


kgaAPI: A C++ API for BRKGA• Efficient and easy-to-use object oriented applicationprogramming interface (API) for the algorithmic frameworkof BRKGA.• Cross-platform library handles large portion of problemindependent modules that make up the framework, e.g.– population management– evolutionary dynamicsLION 7 ✤ January 2013BRKGA


kgaAPI: A C++ API for BRKGA• Efficient and easy-to-use object oriented applicationprogramming interface (API) for the algorithmic frameworkof BRKGA.• Cross-platform library handles large portion of problemindependent modules that make up the framework, e.g.– population management– evolutionary dynamics• Implemented in C++ and may benefit from shared-memoryparallelism if available.LION 7 ✤ January 2013BRKGA


kgaAPI: A C++ API for BRKGA• Efficient and easy-to-use object oriented applicationprogramming interface (API) for the algorithmic frameworkof BRKGA.• Cross-platform library handles large portion of problemindependent modules that make up the framework, e.g.– population management– evolutionary dynamics• Implemented in C++ and may benefit from shared-memoryparallelism if available.• User only needs to implement problem-dependent decoder.LION 7 ✤ January 2013BRKGA


kgaAPI: A C++ API for BRKGAPaper: Rodrigo F. Toso and M.G.C.R., “A C++Application Programming Interface forBiased Random-Key Genetic Algorithms,”AT&T <strong>Labs</strong> Technical Report, Florham Park, August 2011.Software: http://www.research.att.com/~mgcr/src/<strong>brkga</strong>APILION 7 ✤ January 2013BRKGA


An example BRKGA:Packing weightedrectanglesLION 7 ✤ January 2013BRKGA


ReferenceJ.F. Gonçalves and M.G.C.R., “A parallelmulti-population genetic algorithm for aconstrained two-dimensional orthogonalpacking problem,” Journal of CombinatorialOptimization, vol. 22, pp. 180-201, 2011.Tech report:http://www.research.att.com/~mgcr/doc/pack2d.pdfLION 7 ✤ January 2013BRKGA


Constrained orthogonal packing• Given a large planar stock rectangle (W, H) of widthW and height H;LION 7 ✤ January 2013BRKGA


Constrained orthogonal packing• Given a large planar stock rectangle (W, H) of widthW and height H;WHLION 7 ✤ January 2013BRKGA


Constrained orthogonal packing• Given a large planar stock rectangle (W, H) of widthW and height H;• Given N smaller rectangle types (w[i], h[i]),i = 1,...,N, each of width w[i], height h[i], and valuev[i];WHLION 7 ✤ January 2013BRKGA


Constrained orthogonal packing• Given a large planar stock rectangle (W, H) of widthW and height H;• Given N smaller rectangle types (w[i], h[i]),i = 1,...,N, each of width w[i], height h[i], and valuev[i];W1H234LION 7 ✤ January 2013BRKGA


Constrained orthogonal packing• r[i] rectangles of type i = 1, ..., N are to be packed in thelarge rectangle without overlap and such that their edgesare parallel to the edges of the large rectangle;H42W3 31112LION 7 ✤ January 2013BRKGA


Constrained orthogonal packing• r[i] rectangles of type i = 1, ..., N are to be packed in thelarge rectangle without overlap and such that their edgesare parallel to the edges of the large rectangle;• For i = 1, ..., N, we require that:0 ≤P[i]≤ r[i] ≤ Q[i]WH42313112LION 7 ✤ January 2013BRKGA


Constrained orthogonal packing• r[i] rectangles of type i = 1, ..., N are to be packed in thelarge rectangle without overlap and such that their edgesare parallel to the edges of the large rectangle;• For i = 1, ..., N, we require that:0 ≤P[i]≤ r[i] ≤ Q[i]WH42313112Suppose 5≤ r[1] ≤ 12LION 7 ✤ January 2013BRKGA


Constrained orthogonal packing• r[i] rectangles of type i = 1, ..., N are to be packed in thelarge rectangle without overlap and such that their edgesare parallel to the edges of the large rectangle;• For i = 1, ..., N, we require that:0 ≤P[i]≤ r[i] ≤ Q[i]WH423111112Suppose 5≤ r[1] ≤ 12LION 7 ✤ January 2013BRKGA


ObjectiveAmong the many feasible packings, we want to find one thatmaximizes total value of packed rectangles:v[1] r[1] + v[2] r[2] + ⋅⋅⋅+v[N] r[N]WH421132111112LION 7 ✤ January 2013BRKGA


ObjectiveAmong the many feasible packings, we want to find one thatmaximizes total value of packed rectangles:v[1] r[1] + v[2] r[2] + ⋅⋅⋅+v[N] r[N]WH4211211112LION 7 ✤ January 2013BRKGA


ObjectiveAmong the many feasible packings, we want to find one thatmaximizes total value of packed rectangles:v[1] r[1] + v[2] r[2] + ⋅⋅⋅+v[N] r[N]W111H41114 422LION 7 ✤ January 2013BRKGA


ObjectiveAmong the many feasible packings, we want to find one thatmaximizes total value of packed rectangles:v[1] r[1] + v[2] r[2] + ⋅⋅⋅+v[N] r[N]W111H144 42133LION 7 ✤ January 2013BRKGA


ApplicationsProblem arises in several production processes, e.g.– Textile– Glass– Wood– Paperwhere rectangular figures are cut from largerectangular sheets of materials.LION 7 ✤ January 2013BRKGA


Hopper & Turton, 2001Instance 4-1 60 x 60Value: 3576Previous best: 3580 by aTabu Search heuristic(Alvarez-Valdes et al., 2007)LION 7 ✤ January 2013BRKGA


Hopper & Turton, 2001Instance 4-2 60 x 60Value: 3585Previous best: 3580 by aTabu Search heuristic(Alvarez-Valdes et al., 2007)LION 7 ✤ January 2013BRKGA


Hopper & Turton, 2001Instance 4-2 60 x 60Value: 3586Previous best: 3580 by aTabu Search heuristic(Alvarez-Valdes et al., 2007)LION 7 ✤ January 2013BRKGA


Hopper & Turton, 2001Instance 4-2 60 x 60Value: 3591Previous best: 3580 by aTabu Search heuristic(Alvarez-Valdes et al., 2007)LION 7 ✤ January 2013BRKGA


Hopper & Turton, 2001Instance 4-2 60 x 60Value: 3591New best known solution!Previous best: 3580 by aTabu Search heuristic(Alvarez-Valdes et al., 2007)LION 7 ✤ January 2013BRKGA


BRKGA forconstrained 2-dimorthogonal packingLION 7 ✤ January 2013BRKGA


Encoding• Solutions are encoded as vectors K of2N' = 2 { Q[1] + Q[2] + + Q[N] }random keys, where Q[i] is the maximum numberof rectangles of type i (for i = 1, ..., N) that can bepacked.• K = ( k[1], ..., k[N'], k[N'+1], ..., k[2N'] )LION 7 ✤ January 2013BRKGA


Encoding• Solutions are encoded as vectors K of2N' = 2 { Q[1] + Q[2] + + Q[N] }random keys, where Q[i] is the maximum numberof rectangles of type i (for i = 1, ..., N) that can bepacked.• K = ( k[1], ..., k[N'], k[N'+1], ..., k[2N'] )Rectangle typepacking sequence(RTPS)LION 7 ✤ January 2013BRKGA


Encoding• Solutions are encoded as vectors K of2N' = 2 { Q[1] + Q[2] + + Q[N] }random keys, where Q[i] is the maximum numberof rectangles of type i (for i = 1, ..., N) that can bepacked.• K = ( k[1], ..., k[N'], k[N'+1], ..., k[2N'] )Rectangle typepacking sequence(RTPS)Vector of placementprocedures (VPP)LION 7 ✤ January 2013BRKGA


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 insome way.– Process the rectangles in the above order. Place therectangle in the stock rectangle according to one ofthe following heuristics: bottom-left (BL) orleft-bottom (LB). If rectangle cannot be positioned,discard it and go on to the next rectangle in theorder.LION 7 ✤ January 2013BRKGA


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 insome way. Sort first N' keys to obtain order.– Process the rectangles in the above order. Place therectangle in the stock rectangle according to one ofthe following heuristics: bottom-left (BL) orleft-bottom (LB). If rectangle cannot be positioned,discard it and go on to the next rectangle in theorder.LION 7 ✤ January 2013BRKGA


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 insome way. Sort first N' keys to obtain order.– Process the rectangles in the above order. Place therectangle in the stock rectangle according to one ofthe following heuristics: bottom-left (BL) orleft-bottom (LB). If rectangle cannot be positioned,discard it and go on to the next rectangle in theorder. Use the last N' keys to determine whichheuristic to use. If k[N'+i] > 0.5 use LB, else use BL.LION 7 ✤ January 2013BRKGA


Decoding• A maximal empty rectangular space (ERS) is an emptyrectangular space not contained in any other ERS.• ERSs are generated and updated using the DifferenceProcess of Lai and Chan (1997).• When placing a rectangle, we limit ourselves only tomaximal ERSs. We order all the maximal ERSs and placethe rectangle in the first maximal ERS in which it fits.• Let (x[i], y[i]) be the coordinates of the bottom leftcorner of the i-th ERS.LION 7 ✤ January 2013BRKGA


Decoding• A maximal empty rectangular space (ERS) is an emptyrectangular space not contained in any other ERS.• ERSs are generated and updated using the DifferenceProcess of Lai and Chan (1997).• When placing a rectangle, we limit ourselves only tomaximal ERSs. We order all the maximal ERSs and placethe rectangle in the first maximal ERS in which it fits.• Let (x[i], y[i]) be the coordinates of the bottom leftcorner of the i-th ERS.i-thERSLION 7 ✤ January 2013(x[i], y[i])BRKGA


Decoding• If BL is used, ERSs are ordered such thatERS[i] < ERS[j] if y[i] < y[j] or y[i] = y[j] andx[i] < x[j].ERS[j]ERS[i]ERS[i]ERS[j]LION 7 ✤ January 2013ERS[i] < ERS[j]BRKGA


132 4BL can run into problems evenon small instances (Liu & Teng, 1999).Consider this instance with 4rectangles.BL cannot find the optimalsolution for any RTPS.LION 7 ✤ January 2013BRKGA


32 4We show 6 rectangle typepacking sequences (RTPS's)where we fix rectangle 1 inthe first position.1LION 7 ✤ January 2013BRKGA


433412RTPS: 1-2-4-312RTPS: 1-2-3-42332141RTPS: 1-4-2-34RTPS: 1-4-3-222442143RTPS: 1-3-2-413RTPS: 1-3-4-2LION 7 ✤ January 2013BRKGA


1423RTPS: 1-2-4-31324Similar infeasibilitiesare observed if 2, 3,or 4 is the firstrectangle in theRTPS.RTPS: 1-2-3-42332141RTPS: 1-4-2-34RTPS: 1-4-3-222442143RTPS: 1-3-2-413RTPS: 1-3-4-2LION 7 ✤ January 2013BRKGA


Decoding• If LB is used, ERSs are ordered such thatERS[i] < ERS[j] if x[i] < x[j] or x[i] = x[j] andy[i] < y[j].ERS[j]ERS[j]ERS[i]ERS[i]LION 7 ✤ January 2013ERS[i] < ERS[j]BRKGA


1BL2BL3LB4BLLION 7 ✤ January 2013BRKGA


1BL2BL3LB4BLERS[1]LION 7 ✤ January 2013BRKGA


2BL3LB4BL1BLLION 7 ✤ January 2013BRKGA


2BL3LB4BL1BLERS[1]LION 7 ✤ January 2013BRKGA


2BL3LB4BLERS[2]1BLLION 7 ✤ January 2013BRKGA


3LB4BL1BL2BLLION 7 ✤ January 2013BRKGA


3LB4BLERS[1]1BL2BLLION 7 ✤ January 2013BRKGA


3LB4BLERS[2]1BL2BLLION 7 ✤ January 2013BRKGA


4BL3LB1BL2BLLION 7 ✤ January 2013BRKGA


4BL3LBERS[1]1BL2BLLION 7 ✤ January 2013BRKGA


4BL4 does not fitin ERS[1].3LBERS[1]1BL2BLLION 7 ✤ January 2013BRKGA


4BL4 does fitin ERS[2].3LBERS[2]1BL2BLLION 7 ✤ January 2013BRKGA


3LB4BLOptimal solution!1BL2BLLION 7 ✤ January 2013BRKGA


Experimental resultsLION 7 ✤ January 2013BRKGA


Design• We compare solution values obtained by theparallel multi-population BRKGA with solutionsobtained by the heuristics that produced the bestcomputational results to date:LION 7 ✤ January 2013BRKGA


Design• We compare solution values obtained by theparallel multi-population BRKGA with solutionsobtained by the heuristics that produced the bestcomputational results to date:– PH: population-based heuristic of Beasley (2004)LION 7 ✤ January 2013BRKGA


Design• We compare solution values obtained by theparallel multi-population BRKGA with solutionsobtained by the heuristics that produced the bestcomputational results to date:– PH: population-based heuristic of Beasley (2004)– GA: genetic algorithm of Hadjiconsantinou & Iori(2007)LION 7 ✤ January 2013BRKGA


Design• We compare solution values obtained by theparallel multi-population BRKGA with solutionsobtained by the heuristics that produced the bestcomputational results to date:– PH: population-based heuristic of Beasley (2004)– GA: genetic algorithm of Hadjiconsantinou & Iori(2007)– GRASP: greedy randomized adaptive searchprocedure of Alvarez-Valdes et al. (2005)LION 7 ✤ January 2013BRKGA


Design• We compare solution values obtained by theparallel multi-population BRKGA with solutionsobtained by the heuristics that produced the bestcomputational results to date:– PH: population-based heuristic of Beasley (2004)– GA: genetic algorithm of Hadjiconsantinou & Iori(2007)– GRASP: greedy randomized adaptive searchprocedure of Alvarez-Valdes et al. (2005)– TABU: tabu search of Alvarez-Valdes et al. (2007)LION 7 ✤ January 2013BRKGA


Number of best solutions / total instancesProblem PH GA GRASP TABU BRKGABL-LB-L-4NRFromliterature(optimal)13/21 21/21 18/21 21/21 21/21Large 0/21 0/21 5/21 8/21 20/21random *Zero-waste 5/31 17/31 30/31Doublyconstrained11/21 12/21 17/21 19/21* For large random: number of best average solutions / total instance classesLION 7 ✤ January 2013BRKGA


Minimum, average, and maximum solutiontimes (secs) for BRKGA (BL-LB-L-4NR)ProblemFrom literature(optimal)Min solutiontime (secs)Avg solutiontime (secs)0.00 0.05 0.55Large random 1.78 23.85 72.70Max solutiontime (secs)Zero-waste 0.01 82.21 808.03Doublyconstrained0.00 1.16 16.87LION 7 ✤ January 2013BRKGA


New BKSfor a 100 x100doublyconstrainedinstance ofFekete &Schepers (1997)of value 20678.Previous bestwas 19657 bytabu search ofAlvarez-Valdes etal., (2007).30 types30 rectanglesLION 7 ✤ January 2013BRKGA


New BKS for a 100x 100 doublyconstrainedinstance Fekete &Schepers (1997) ofvalue 22140.Previous BKS was22011 by tabusearch ofAlvarez-Valdes et al.(2007).29 types97 rectanglesLION 7 ✤ January 2013BRKGA


Some remarksWe have extended this to 3D packing:J.F. Gonçalves and M.G.C.R., “A parallel multi-population biasedrandom-key genetic algorithm for a container loading problem,”Computers & Operations <strong>Research</strong>, vol. 29, pp. 179-190, 2012.Tech report: http://www.research.att.com/~mgcr/doc/<strong>brkga</strong>-pack3d.pdfLION 7 ✤ January 2013BRKGA


Literature surveyLION 7 ✤ January 2013BRKGA


Literature• BRKGAs have been applied in a wide range ofareas.• The following is a sampling of some papers thatappeared in the literature applying BRKGAs.LION 7 ✤ January 2013BRKGA


Survey• Survey: Gonçalves and R. (2011)J.F. Gonçalves and M.G.C.R., “Biased random-keygenetic algorithms for combinatorial optimization,”J. of Heuristics, vol.17, pp. 487-525, 2011.LION 7 ✤ January 2013BRKGA


Telecommunications• Routing: Ericsson, R., Pardalos (2002), Buriol et al. (2002, 2005),Reis et al. (2011), Noronha, R., Ribeiro (2007, 2008, 2011),Heckeler et al. (2011)• Design: Andrade et al. (2006), Buriol, R., Thorup (2007)• Network monitoring: Breslau et al. (2011)• Regenerator location: Duarte et al. (2011)• Fiber installation in optical networks: Goulart et al. (2011)• Path-based recovery in flexgrid optical networks: Castro et al.(2012)LION 7 ✤ January 2013BRKGA


Telecommunications (cont'd)• Handover minimization: Morán-Mirabal et al. (2012)• Survivable IP/MPLS-over-WSON multi-layer network: Ruiz et al.(2011), Pedrola et al. (2011)• Survey: R. (2012)LION 7 ✤ January 2013BRKGA


Scheduling• Job-shop scheduling: Gonçalves, Mendes, R. (2005),Gonçalves and R. (2012)• Single machine scheduling: Valente et al. (2006), Valenteand Gonçalves (2008)• Resource constrained project scheduling: Gonçalves,Mendes, R. (2008, 2009), Gonçalves, R., Mendes (2011)• Selection and scheduling of observations on Earthobserving satellites: Tangpattanakul, Josefowiez, Lopez(2012)LION 7 ✤ January 2013BRKGA


Production planning• Assembly line balancing: Gonçalves and Almeida (2002)• Manufacturing cell formation: Gonçalves and R. (2004)• Single machine scheduling: Valente et al. (2006), Valenteand Gonçalves (2008)• Assembly line worker assignment and balancing:Moreira et al. (2010)• Lot sizing and scheduling with capacity constraintsand backorders: Gonçalves and Sousa (2011)LION 7 ✤ January 2013BRKGA


Network optimization• Concave minimum cost flow: Fontes and Gonçalves(2007)• Robust shortest path: Coco, Noronha, Santos (2012)• Tree of hubs location: Pessoa, Santos, R. (2012)• Hop-constrained trees in nonlinear cost flownetworks: Fontes and Gonçalves (2012)• Capacitated arc routing: Martinez, Loiseau, R. (2011)LION 7 ✤ January 2013BRKGA


Power systems• Unit commitment: Roque, Fontes, Fontes (2010, 2011)• Multi-objective unit commitment: Roque, Fontes, Fontes(2012)LION 7 ✤ January 2013BRKGA


Packing• 2D orthogonal packing: Gonçalves and R. (2011)• 3D container loading: Gonçalves and R. (2012a)• 2D/3D bin packing: Gonçalves and R. (2012b)LION 7 ✤ January 2013BRKGA


Covering• Steiner triple systems: R. et al. (2012)• Covering by pairs: Breslau et al. (2011)LION 7 ✤ January 2013BRKGA


Transportation• Tollbooth assignment: Buriol. et al. (2009, 2010)LION 7 ✤ January 2013BRKGA


Auctions• Combinatorial auctions: Andrade et al. (2012)LION 7 ✤ January 2013BRKGA


Automatic parameter tuning• GRASP with path-relinking: Festa et al. (2010)• GRASP with evolutionary path-relinking: Morán-Mirabal,González-Velarde, R. (2012)LION 7 ✤ January 2013BRKGA


Continuous global optimization• Bound-constrained optimization: Silva, Pardalos, R.(2012)LION 7 ✤ January 2013BRKGA


Software• C++ API: Toso and R. (2012)LION 7 ✤ January 2013BRKGA


Thanks!These slides and all of the papers cited in thislecture can be downloaded from my homepage:http://www.research.att.com/~mgcrLION 7 ✤ January 2013BRKGA

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!