A Python/C++ library for bound-constrained global optimization using a biased random-key genetic algorithm

This paper describes libbrkga, a GNU-style dynamic shared Python/C++ library of the biased random-key genetic algorithm (BRKGA) for bound constrained global optimization. BRKGA (J Heuristics 17:487–525, 2011b) is a general search metaheuristic for finding optimal or near-optimal solutions to hard optimization problems. It is derived from the random-key genetic algorithm of Bean (ORSA J Comput 6:154–160, 1994), differing in the way solutions are combined to produce offspring. After a brief introduction to the BRKGA, including a description of the local search procedure used in its decoder, we show how to download, install, configure, and use the library through an illustrative example.

[1]  W. Spears,et al.  On the Virtues of Parameterized Uniform Crossover , 1995 .

[2]  Mauricio G. C. Resende,et al.  A C++application programming interface for biased random-key genetic algorithms , 2015, Optim. Methods Softw..

[3]  John Calcote Autotools: A Practioner's Guide to GNU Autoconf, Automake, and Libtool , 2010 .

[4]  Mauricio G. C. Resende,et al.  A parallel multi-population biased random-key genetic algorithm for a container loading problem , 2012, Comput. Oper. Res..

[5]  Panos M. Pardalos,et al.  Biased random-key genetic algorithm for bound-constrained global optimization , 2012 .

[6]  Panos M. Pardalos,et al.  A Genetic Algorithm for the Weight Setting Problem in OSPF Routing , 2002, J. Comb. Optim..

[7]  D. Ackley A connectionist machine for genetic hillclimbing , 1987 .

[8]  Panos M. Pardalos,et al.  Speeding up continuous GRASP , 2010, Eur. J. Oper. Res..

[9]  Mauricio G. C. Resende,et al.  A biased random-key genetic algorithm for the Steiner triple covering problem , 2012, Optim. Lett..

[10]  Mauricio G. C. Resende,et al.  Biased random-key genetic algorithms for combinatorial optimization , 2011, J. Heuristics.

[11]  Mauricio G. C. Resende,et al.  An evolutionary algorithm for manufacturing cell formation , 2004, Comput. Ind. Eng..

[12]  James C. Bean,et al.  Genetic Algorithms and Random Keys for Sequencing and Optimization , 1994, INFORMS J. Comput..

[13]  Mauricio G. C. Resende,et al.  Biased random-key genetic algorithms with applications in telecommunications , 2011, TOP.

[14]  José Fernando Gonçalves,et al.  A Hybrid Genetic Algorithm for Assembly Line Balancing , 2002, J. Heuristics.

[15]  David B. Fogel,et al.  Evolutionary algorithms in theory and practice , 1997, Complex.

[16]  Thomas Bäck,et al.  Evolutionary algorithms in theory and practice - evolution strategies, evolutionary programming, genetic algorithms , 1996 .

[17]  Mauricio G. C. Resende,et al.  A biased random key genetic algorithm for 2D and 3D bin packing problems , 2013 .

[18]  Panos M. Pardalos,et al.  Global optimization by continuous grasp , 2007, Optim. Lett..

[19]  Paul McGuire,et al.  Getting started with pyparsing , 2007 .

[20]  Takuji Nishimura,et al.  Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator , 1998, TOMC.