Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

BrkgaCuda 2.0: a framework for fast biased random-key genetic algorithms on GPUs

Published: 25 November 2024 Publication History

Abstract

In this paper, we present the development of a new version of the BrkgaCuda, called BrkgaCuda 2.0, to support the design and execution of Biased Random-Key Genetic Algorithms (BRKGA) on CUDA/GPU-enabled computing platforms, employing new techniques to accelerate the execution. We compare the performance of our implementation against the standard CPU implementation and a previous GPU implementation. In the same spirit as the standard implementation, all central aspects of the BRKGA logic are dealt with in our framework, and little effort is required to reuse the framework on another problem. The user can also implement the decoder on the CPU in C++ or GPU in CUDA. Moreover, the BrkgaCuda 2.0 provides a decoder that receives a permutation created by sorting the indices of the chromosomes using the genes as keys. To evaluate our framework, we use a total of 54 instances of the Traveling Salesman Problem, the Set Cover Problem, and the Capacitated Vehicle Routing Problem, using two decoders in the last one. Our focus on this work is to improve the performance within the BRKGA logic. We show that the BrkgaCuda 2.0 is the fastest among similar frameworks while still providing solutions of similar quality.

References

[1]
Alves D, Oliveira D, Andrade E, et al. GPU-BRKGA: a GPU accelerated library for optimization using the biased random-key genetic algorithm IEEE Lat Am Trans 2021 20 1 14-21
[2]
Andrade CE, Toso RF, Gonçalves JF, et al. The multi-parent biased random-key genetic algorithm with implicit path-relinking and its real-world applications Eur J Oper Res 2021 289 1 17-30
[3]
Bean JC Genetic algorithms and random keys for sequencing and optimization INFORMS J Comput 1994 6 2 154-160
[4]
Beasley JE Or-library: distributing test problems by electronic mail J Oper Res Soc 1990 41 11 1069-1072
[5]
Branke J, Kaußler T, Smidt C, et al. Parmee IC et al. A multi-population approach to dynamic optimization problems Evolutionary design and manufacture 2000 Berlin Springer 299-307
[6]
Chagas JBC, Blank J, Wagner M, et al. A non-dominated sorting based customized random-key genetic algorithm for the bi-objective traveling thief problem J Heurist 2021 27 3 267-301
[7]
Chaves AA, Gonçalves JF, and Lorena LAN Adaptive biased random-key genetic algorithm with local search for the capacitated centered clustering problem Comput Ind Eng 2018 124 331-346
[8]
Cicek ZIE and Ozturk ZK Optimizing the artificial neural network parameters using a biased random key genetic algorithm for time series forecasting Appl Soft Comput 2021 102 107 091
[9]
Cook W (2022) National traveling salesman problem. https://www.math.uwaterloo.ca/tsp/world/countries.html
[10]
Ericsson M, Resende MGC, and Pardalos PM A genetic algorithm for the weight setting problem in OSPF routing J Comb Optim 2002 6 3 299-333
[11]
Essaid M, Idoumghar L, Lepagnot J, et al. GPU parallelization strategies for metaheuristics: a survey Int J Parallel Emerg Distrib Syst 2018 34 1-26
[12]
Ezugwu AE, Shukla AK, Nath R, et al. Metaheuristics: a comprehensive overview and classification along with bibliometric analysis Artif Intell Rev 2021 54 6 4237-4316
[13]
Gonçalves JF and Resende MGC Biased random-key genetic algorithms for combinatorial optimization J Heurist 2011 17 5 487-525
[14]
Gonçalves JF and Resende MGC A biased random-key genetic algorithm for the unequal area facility layout problem Eur J Oper Res 2015 246 1 86-107
[15]
Gonçalves JF and Almeida JR A hybrid genetic algorithm for assembly line balancing J Heurist 2002 8 6 629-642
[16]
Holland JH Genetic algorithms and adaptation 1984 US, Boston Springer 317-333
[17]
Homayouni M, Fontes D, and Gonçalves J A multistart biased random key genetic algorithm for the flexible job shop scheduling problem with transportation Int Trans Oper Res 2020
[18]
Hou K, Liu W, Wang H et al (2017) Fast segmented sort on GPUs. In: Proceedings of the international conference on supercomputing. Association for Computing Machinery.
[19]
Jing W, Deng D, Wu Y et al (2020) Multi-UAV coverage path planning for the inspection of large and complex structures, pp 1480–1486.
[20]
Kong M, Liu X, Pei J, et al. A BRKGA-DE algorithm for parallel-batching scheduling with deterioration and learning effects on parallel machines under preventive maintenance consideration Ann Math Artif Intell 2020 88 1 237-267
[21]
Leonhart PF, Spieler E, Ligabue-Braun R, et al. A biased random key genetic algorithm for the protein-ligand docking problem Soft Comput 2019 23 12 4155-4176
[22]
Meffert K, Rotstan N, Knowles C et al (2012) JGAP: Java genetic algorithms and genetic programming package. http://jgap.sourceforge.net/
[23]
Mohammadi A, Asadi H, Mohamed S et al (2017) openGA, a C++ genetic algorithm library.
[24]
Nvidia (2007) CUDA: compute unified device architecture programming guide. http://developer.download.nvidia.com/compute/cuda/1_0/NVIDIA_CUDA_Programming_Guide_1.0.pdf, visited in: 11-09-2019
[25]
Ruiz E, Soto-Mendoza V, Ruiz Barbosa AE, et al. Solving the open vehicle routing problem with capacity and distance constraints with a biased random key genetic algorithm Comput Ind Eng 2019 133 207-219
[26]
Sadykov R, Vanderbeck F, Pessoa A, et al. Primal heuristics for branch and price: the assets of diving methods INFORMS J Comput 2019 31 2 251-267
[27]
Schmid RF, Pisani F, CÃceres EN et al (2022) An evaluation of fast segmented sorting implementations on GPUs, p 102889.
[28]
Soares LCR and Carvalho MAM Biased random-key genetic algorithm for scheduling identical parallel machines with tooling constraints Eur J Oper Res 2020 285 3 955-964
[29]
Toso RF and Resende MGC A C++ application programming interface for biased random-key genetic algorithms Optim Methods Softw 2015 30 1 81-93
[30]
Uchoa E, Pecin D, Pessoa A et al (2016) New benchmark instances for the capacitated vehicle routing problem. Eur J Oper Res.
[31]
Vidal T Technical note: Split algorithm in O(n) for the capacitated vehicle routing problem Comput Oper Res 2016 69 40-47
[32]
Whitley D A genetic algorithm tutorial Stat Comput 1994 4 2 65-85
[33]
Xavier EC (2019) Uma interface de programação de aplicações para o BRKGA na plataforma CUDA. In: XX Simpósio de Sistemas Computacionais de Alto Desempenho. SBC, pp 13–24.
[34]
Yelmewad P and Talawar B Parallel version of local search heuristic algorithm to solve capacitated vehicle routing problem Clust Comput 2021 24 3671-3692

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Soft Computing - A Fusion of Foundations, Methodologies and Applications
Soft Computing - A Fusion of Foundations, Methodologies and Applications  Volume 28, Issue 21
Nov 2024
575 pages

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 25 November 2024
Accepted: 15 June 2024

Author Tags

  1. Genetic algorithms
  2. BRKGA
  3. Framework
  4. Parallel
  5. GPU
  6. CUDA

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media