Biased Random-Key Genetic Progamming

  • José Fernando GonçalvesEmail author
  • Mauricio G. C. Resende
Reference work entry


This chapter introduces biased random-key genetic programming, a new metaheuristic for evolving programs. Each solution program is encoded as a vector of random keys, where a random key is a real number randomly generated in the continuous interval [0, 1]. A decoder maps each vector of random keys to a solution program and assigns it a measure of quality. A Program-Expression is encoded in the chromosome using a head-tail representation which is later transformed into a syntax tree using a prefix notation rule. The artificial simulated evolution of the programs is accomplished with a biased random-key genetic algorithm. Examples of the application of this approach to symbolic regression are presented.


Genetic programming Biased random-key genetic algorithms head-tail representation prefix notation 



The first author was supported by project PTDC/EGE-GES/117692/2010 funded by the ERDF through the Programme COMPETE and by the Portuguese Government through FCT – Foundation for Science and Technology.


  1. 1.
    Banzhaf W, Nordin P, Keller RE, Francone FD (1998) Genetic programming: an introduction. Morgan Kaufmann, San FranciscoGoogle Scholar
  2. 2.
    Barricelli NA et al (1954) Esempi numerici di processi di evoluzione. Methodos 6(21–22): 45–68Google Scholar
  3. 3.
    Bean JC (1994) Genetic algorithms and random keys for sequencing and optimization. ORSA J Comput 6:154–160Google Scholar
  4. 4.
    Brameier MF, Banzhaf W (2007) Linear genetic programming. Springer, New YorkGoogle Scholar
  5. 5.
    Cramer NL (1985) A representation for the adaptive generation of simple sequential programs. In: Proceedings of the first international conference on genetic algorithms, Pittsburg, pp 183–187Google Scholar
  6. 6.
    Ferreira C (2001) Gene expression programming: a new adaptive algorithm for solving problems. Complex Syst 13:87–129Google Scholar
  7. 7.
    Ferreira C (2006) Designing neural networks using gene expression programming. In: Abraham A (ed) Applied soft computing technologies: the challenge of complexity. Springer, Berlin, pp 517–535Google Scholar
  8. 8.
    Ferreira C (2006) Gene expression programming: mathematical modeling by an artificial intelligence. Studies in computational intelligence. Springer, New YorkGoogle Scholar
  9. 9.
    Fogel LJ (1964) On the organization of intellect. PhD thesis, UCLAGoogle Scholar
  10. 10.
    Fontes DBMM, Gonçalves JF (2013) A multi-population hybrid biased random key genetic algorithm for hop-constrained trees in nonlinear cost flow networks. Optimization Letters, 7(6):1303–1324Google Scholar
  11. 11.
    Goldberg DE (1989) Genetic algorithms in search, optimization, and machine learning. Addison-Wesley, ReadingGoogle Scholar
  12. 12.
    Gonçalves JF, Almeida J (2002) A hybrid genetic algorithm for assembly line balancing. J Heuristics 8:629–642Google Scholar
  13. 13.
    Gonçalves JF, Resende MGC (2011) Biased random-key genetic algorithms for combinatorial optimization. J Heuristics 17:487–525Google Scholar
  14. 14.
    Gonçalves JF, Resende MGC (2013) A biased random-key genetic algorithm for a 2D and 3D bin packing problem. Int J Prod Econ 145:500–510Google Scholar
  15. 15.
    Gonçalves JF, Resende MG (2014) An extended Akers graphical method with a biased random-key genetic algorithm for job-shop scheduling. Int Trans Oper Res 21(2):215–246Google Scholar
  16. 16.
    Gonçalves JF, Resende MGC (2015) A biased random-key genetic algorithm for the unequal area facility layout problem. Eur J Oper Res 246(1):86–107Google Scholar
  17. 17.
    Gonçalves J, Resende M, Toso R (2014) An experimental comparison of biased and unbiased random-key genetic algorithms. Pesquisa Operacional 34:143–164Google Scholar
  18. 18.
    Gonçalves JF, Resende MGC, Costa MD (2014) A biased random-key genetic algorithm for the minimization of open stacks problem. Int Trans Oper Res. Published online 2 July 2014Google Scholar
  19. 19.
    Gonçalves JF, de Magalhães Mendes JJ, Resende MG (2015) The basic multi-project scheduling problem. In: Schwindt C, Zimmermann J (eds) Handbook on project management and scheduling, vol 2. Springer, Berlin, pp 667–683Google Scholar
  20. 20.
    Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection, vol 1. MIT, CambridgeGoogle Scholar
  21. 21.
    Koza JR (1994) Genetic programming II: automatic discovery of reusable subprograms. MIT, CambridgeGoogle Scholar
  22. 22.
    Koza JR, Bennett FH III, Andre D, Keane MA (1999) Genetic Programming III: Darwinian invention and problem solving. Morgan Kaufmann, San FranciscoGoogle Scholar
  23. 23.
    Koza JR, Keane MA, Streeter MJ, Mydlowec W, Yu J, Lanza G (2003) Genetic programming IV: routine human-competitive machine intelligence. Kluwer Academic, Norwell/DordrechtGoogle Scholar
  24. 24.
    Poli R (1997) Evolution of graph-like programs with parallel distributed genetic programming. In: Proceedings of the 7th international conference on genetic algorithms (ICGA), East Lansing, pp 346–353Google Scholar
  25. 25.
    Spears WM, DeJong KA (1991) On the virtues of parameterized uniform crossover. In: Proceedings of the fourth international conference on genetic algorithms, San Diego, pp 230–236Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • José Fernando Gonçalves
    • 1
    • 2
    Email author
  • Mauricio G. C. Resende
    • 3
  1. 1.INESC TECPortoPortugal
  2. 2.Faculdade de Economia daUniversidade do PortoPortoPortugal
  3., Inc. and University of WashingtonSeattleUSA

Personalised recommendations