A Python/C++ library for bound-constrained global optimization using a biased random-key genetic algorithm
- 456 Downloads
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.
KeywordsBiased random-key genetic algorithm Global optimization Multimodal functions Continuous optimization Heuristic Stochastic algorithm Stochastic local search Nonlinear programming
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).
- Bäck T (1996) Evolutionary algorithms in theory and practice. Oxford University Press, New YorkGoogle Scholar
- Calcote J (2010) Autotools: a practitioner’s guide to GNU autoconf, automake, and libtool. No Starch Press, San FranciscoGoogle Scholar
- McGuire P (2007) Getting started with pyparsing. O’Reilly Media, SebastopolGoogle Scholar
- 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–136Google Scholar
- Spears WM, DeJong KA (1991) On the virtues of parameterized uniform crossover. In: Proceedings of the fourth international conference on genetic algorithms, pp 230–236Google Scholar
- 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 ResearchGoogle Scholar
- van Rossum G, Drake FL Jr (eds) (2010a) Extending and embedding Python, Release 2.7. Python Software Foundation, Wolfeboro FallsGoogle Scholar
- van Rossum G, Drake FL Jr (eds) (2010b) Python/C API reference manual, release 2.7. Python Software Foundation, Wolfeboro FallsGoogle Scholar