Abstract
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.
This is a preview of subscription content,
to check access.



References
Ackley DH (1987) A connectionist machine for genetic hillclimbing. Kluwer Academic Publishers, Boston
Bäck T (1996) Evolutionary algorithms in theory and practice. Oxford University Press, New York
Bean JC (1994) Genetic algorithms and random Keys for sequencing and optimization. ORSA J Comput 6:154–160
Calcote J (2010) Autotools: a practitioner’s guide to GNU autoconf, automake, and libtool. No Starch Press, San Francisco
Ericsson M, Resende MGC, Pardalos PM (2002) A genetic algorithm for the weight setting problem in OSPF routing. J Comb Optim 6:299–333
Gonçalves JF, Almeida J (2002) A hybrid genetic algorithm for assembly line balancing. J Heuristics 8:629–642
Gonçalves JF, Resende MGC (2004) An evolutionary algorithm for manufacturing cell formation. Comput Ind Eng 47:247–273
Gonçalves JF, Resende MGC (2011a) Biased random-key genetic algorithms for combinatorial optimization. J Heuristics 17:487–525
Gonçalves JF, Resende MGC (2011b) Biased random-key genetic algorithms for combinatorial optimization. J Heuristics 17(5):487–525
Gonçalves JF, Resende MGC (2012) A parallel multi-population biased random-key genetic algorithm for a container loading problem. Comput Oper Res 39(2):179–190
Gonçalves JF, Resende MGC (2013) A biased random key genetic algorithm for 2D and 3D bin packing problems. Int J Prod Econ 145:500–510
Hirsch MJ, Meneses CN, Pardalos PM, Resende MGC (2007) Global optimization by continuous grasp. Optim Lett 1:201–212
Hirsch MJ, Pardalos PM, Resende MGC (2010) Speeding up continuous GRASP. J Oper Res 205:507–521
Matsumoto M, Nishimura T (1998) Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans Model Comput Simul 8(1):3–30
McGuire P (2007) Getting started with pyparsing. O’Reilly Media, Sebastopol
Resende MGC (2012) Biased random-key genetic algorithms with applications in telecommunications. TOP 20(1):130–153
Resende MGC, Toso Rodrigo F, Silva Ricardo MA (2012) A biased random-key genetic algorithm for the steiner triple covering problem. Optim Lett 6(4):605–619
Silva RMA, Resende MGC, Pardalos PM, Gonçalves JF (2012) Biased random-key genetic algorithm for bound-constrained global optimization. In: Aloise D, Hansen P, Rocha C (eds) Proceedings of the global optimization workshop, pp 133–136
Spears WM, DeJong KA (1991) On the virtues of parameterized uniform crossover. In: Proceedings of the fourth international conference on genetic algorithms, pp 230–236
SymPy (2011) URL. http://sympy.org/. Accessed 11 Jul 2011
Toso RF, Resende MGC (2012) A C++ application programming interface for biased random-key genetic algorithms. Technical report, Algorithms and Optimization Research Department, AT &T Labs Research
van Rossum G, Drake FL Jr (eds) (2010a) Extending and embedding Python, Release 2.7. Python Software Foundation, Wolfeboro Falls
van Rossum G, Drake FL Jr (eds) (2010b) Python/C API reference manual, release 2.7. Python Software Foundation, Wolfeboro Falls
Acknowledgments
The research of R. M. A Silva was partially supported by the Brazilian National Council for Scientic and Technological Development (CNPq), the Foundation for Support of Research of the State of Minas Gerais, Brazil (FAPEMIG), Coordination for the Improvement of Higher Education Personnel, Brazil (CAPES), Foundation for the Support of Development of the Federal University of Pernambuco, Brazil (FADE), the Ofce for Research and Graduate Studies of the Federal University of Pernambuco (PROPESQ), and the Foundation for Support of Science and Technology of the State of Pernambuco (FACEPE).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Silva, R.M.A., Resende, M.G.C. & Pardalos, P.M. A Python/C++ library for bound-constrained global optimization using a biased random-key genetic algorithm. J Comb Optim 30, 710–728 (2015). https://doi.org/10.1007/s10878-013-9659-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10878-013-9659-z