Skip to main content

Advertisement

Log in

Investigation of the impact of different versions of GCC on various metaheuristic-based solvers for traveling salesman problem

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

A compiler is a system software that takes code written in a high-level language as input and converts it into machine code by selecting the appropriate instructions from the instruction set of the corresponding computer architecture. Thus, depending on this selection process, different conversions with the same functionality are possible. Consequently, there are studies in the literature that compare the performance of different compilers on problems from various domains. However, to the best of our knowledge, no research has yet investigated the impact of different versions of a compiler on the optimization domain. This study seeks to fill this research gap by examining the effects of different versions of GCC on TSP, a well-known combinatorial optimization problem, for the first time in the literature. In this respect, seven different versions of GCC were employed, and four widely used metaheuristics, namely Simulated Annealing, Genetic Algorithm, Tabu Search, and Ant Colony Optimization, were implemented in C++ programming language to solve TSP. The experiments conducted have revealed that different versions of GCC make a significant difference in the performance of various metaheuristic-based solvers for TSP.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

Data availability

This declaration is “not applicable.”

References

  1. Patterson DA, Hennessy JL (2014) Computer organization and design: the hardware/software interface, 5th edn. Morgan Kaufmann, Burlington, Massachusetts

    MATH  Google Scholar 

  2. Hennessy JL, Patterson DA (2017) Computer architecture: a quantitative approach, 6th edn. Morgan Kaufmann, Burlington, Massachusetts

    MATH  Google Scholar 

  3. Parhami B (2019) Computer architecture for big data. Springer International Publishing, New York

    Book  Google Scholar 

  4. Murdocca MJ, Heuring VP (2000) Principles of computer architecture. Prentice Hall, Hoboken, New Jersey

    Google Scholar 

  5. Grune D, Van Reeuwijk K, Bal HE, Jacobs CJ, Langendoen K (2012) Modern compiler design. Springer Science Business Media, Berlin/Heidelberg, Germany

    Book  Google Scholar 

  6. Shiva SG (2007) Computer organization, design, and architecture. CRC Press, Boca Raton, Florida

    Book  MATH  Google Scholar 

  7. Celik E, Dal D (2021) A novel simulated annealing-based optimization approach for cluster-based task scheduling. Cluster Comput 24:2927–2956

    Article  Google Scholar 

  8. Otubamowo K, Egunjobi T, Adewole A (2012) A comparative study of simulated annealing and genetic algorithm for solving the travelling salesman problem, Int J Appl Inform Syst(IJAIS)

  9. Reinhelt G TSPLIB: A library of sample instances for the TSP (and related problems) from various sources and of various types. [Online] http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/

  10. Nesmachnow S, Cancela H, Alba E (2012) A parallel micro evolutionary algorithm for heterogeneous computing and grid scheduling. Appl Soft Comput 12(2):626–639

    Article  Google Scholar 

  11. Wang Y, Han Z (2021) Ant colony optimization for traveling salesman problem based on parameters optimization. Appl Soft Comput 107:107439

    Article  Google Scholar 

  12. Novillo D (2006) GCC-an architectural overview, current status, and future directions. In: Proceedings of the linux symposium, vol 2, p 185

  13. Free Software Foundation I GCC, the GNU Compiler Collection. [Online] https://gcc.gnu.org/

  14. Lattner C, Adve V (2003) Architecture for a next-generation Gcc, In: GCC developers summit, p 121, Citeseer

  15. Machado RS, Almeida RB, Jardim AD, Pernas AM, Yamin AC, Cavalheiro GGH (2017) Comparing performance of C compilers optimizations on different multicore architectures, In: 2017 international symposium on computer architecture and high performance computing workshops (SBAC-PADW), pp 25–30, IEEE

  16. Tu Q (2002) On navigation and analysis of software architecture evolution, Master’s thesis, University of Waterloo

  17. Ezhil P et al (2021) Experimental analysis of optimization flags in GCC. Turkish J Comput Math Educ (TURCOMAT) 12(7):1875–1879

    Google Scholar 

  18. Tagtekin B, Hoke B, Sezer MK, Ozturk MU (2021) FOGA: flag optimization with genetic algorithm, arXiv preprint arXiv:2105.07202

  19. Ballal PA, Sarojadevi H, Harsha P (2015) Compiler optimization: a genetic algorithm approach. Int J Comput Appl, 112(10)

  20. Jones MT (2005) Optimization in GCC. Linux J 2005(131):11

    Google Scholar 

  21. Silberschatz A, Galvin PB, Gagne G (2018) Operating system concepts, 10th edn. Wiley Publishing, Hoboken, New Jersey

    MATH  Google Scholar 

  22. Kukunas J (2015) Power and performance: software analysis and optimization. Morgan Kaufmann, Burlington, Massachusetts

    Google Scholar 

  23. Ezike J (2020) Tabu search with explicit adaptive guiding heuristic for the examination timetabling problem. NIPES J Sci Technol Res 2(3):52–69

    Article  Google Scholar 

  24. Kumar P, Verma A (2012) Scheduling using improved genetic algorithm in cloud computing for independent tasks, In: Proceedings of the International Conference on Advances in Computing, Communications and Informatics, pp 137–142

  25. Attiya G, Hamam Y (2006) Task allocation for maximizing reliability of distributed systems: a simulated annealing approach. J Parallel Distrib Comput 66(10):1259–1266

    Article  MATH  Google Scholar 

  26. Liu Y, Xu L, Han Y, Zeng X, Yen GG, Ishibuchi H (2023) Evolutionary multimodal multiobjective optimization for traveling salesman problems, In: IEEE transactions on evolutionary computation, vol Early Access, pp 1

  27. Chen D, You X, Liu S (2022) Ant colony algorithm with stackelberg game and multi-strategy fusion. Appl Intell 52(6):6552–6574

    Article  Google Scholar 

  28. Cinar AC, Korkmaz S, Kiran MS (2020) A discrete tree-seed algorithm for solving symmetric traveling salesman problem. Eng Sci Technol Int J 23(4):879–890

    Google Scholar 

  29. Feng JG, He YP, Tao QM (2021) Evaluation of compilers capability of automatic vectorization based on source code analysis. Sci Programm 2021:1–15

    Google Scholar 

  30. Wang X, Jhi Y-C, Zhu S, Liu P (2009) Behavior based software theft detection, In: Proceedings of the 16th ACM Conference on Computer and Communications Security, p 280-290

  31. Shivam A (2021) A multiple compiler approach for improved performance and efficiency. PhD thesis, UC Irvine

  32. Lin S-C, Chang C-K, Lin N-W (2008) Automatic selection of GCC optimization options using a gene weighted genetic algorithm, In: 13th Asia-Pacific Computer Systems Architecture Conference, pp 1–8, IEEE

  33. Escobar RD, Angula AR, Corsi M (2012) Evaluation of GCC optimization parameters. Revista Ingenierias USBmed 3(2):31–39

    Article  Google Scholar 

  34. Gmys J, Carneiro T, Melab N, Talbi E-G, Tuyttens D (2020) A comparative study of high-productivity high-performance programming languages for parallel metaheuristics. Swarm Evolution Comput 57:100720

    Article  Google Scholar 

  35. Pérez Cáceres L, Pagnozzi F, Franzin A, Stützle T (2018) Automatic configuration of GCC using irace, In: Artificial Evolution: 13th International Conference, Évolution Artificielle, EA 2017, Paris, France, October 25–27, 2017, Revised Selected Papers 13, pp 202–216, Springer

  36. Sandran T, Zakaria N, Pal AJ (2012) An optimized tuning of genetic algorithm parameters in compiler flag selection based on compilation and execution duration, In: Proceedings of the International Conference on Soft Computing for Problem Solving (SocProS 2011), pp 599–610, Springer

  37. Ladd SR (2007) Acovea: analysis of compiler options via evolutionary algorithm, Describing the Evolutionary Algorithm

  38. Zhong S, Shen Y, Hao F (2009) Tuning compiler optimization options via simulated annealing, In: 2009 Second International Conference on Future Information Technology and Management Engineering, pp 305–308, IEEE

  39. Ansel J, Kamil S, Veeramachaneni K, Ragan-Kelley J, Bosboom J, O’Reilly U-M, Amarasinghe S (2014) Opentuner: an extensible framework for program autotuning, In: Proceedings of the 23rd International Conference on Parallel Architectures and Compilation, pp 303–316

  40. Marcon C, Smirnova O, Muralidharan S (2020) Impact of different compilers and build types on geant4 simulation execution time, In: EPJ Web of Conferences, vol 245, p 05037, EDP Sciences

  41. Kirkpatrick S, Gelatt CD, Vecchi MP (1983) Optimization by simulated annealing. Science 220(4598):671–680

    Article  MathSciNet  MATH  Google Scholar 

  42. Arshad S, Yang S (2010) A hybrid genetic algorithm and inver over approach for the travelling salesman problem, In: IEEE congress on evolutionary computation, pp 1–8, IEEE

  43. Morady R, Dal D (2016) A multi-population based parallel genetic algorithm for multiprocessor task scheduling with communication costs, In: 2016 IEEE symposium on computers and communication (ISCC), pp 766–772, IEEE

  44. Mansur AA, Amin MR, Islam KK (2019) Performance comparison of mismatch power loss minimization techniques in series-parallel PV array configurations. Energies 12(5):874

    Article  Google Scholar 

  45. Glover F (1989) Tabu Search-Part I. ORSA J Comput 1(3):190–206

    Article  MATH  Google Scholar 

  46. Colorni A, Dorigo M, Maniezzo V et al. (1991) Distributed optimization by ant colonies, In: Proceedings of the First European Conference on Artificial Life, vol 142, p 134–142, Paris, France

  47. Dorigo M, Gambardella L (1997) Ant colony system: a cooperative learning approach to the traveling salesman problem. IEEE Trans Evolution Comput 1(1):53–66

    Article  Google Scholar 

Download references

Funding

This declaration is “not applicable.”

Author information

Authors and Affiliations

Authors

Contributions

D.D. and E.C. contributed to the design and implementation of the research, to the analysis of the results and to the writing of the manuscript.

Corresponding author

Correspondence to Deniz Dal.

Ethics declarations

Conflict of interest

This declaration is “not applicable.”

Ethical approval

This declaration is “not applicable.”

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Dal, D., Celik, E. Investigation of the impact of different versions of GCC on various metaheuristic-based solvers for traveling salesman problem. J Supercomput 79, 12394–12440 (2023). https://doi.org/10.1007/s11227-023-05152-z

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-023-05152-z

Keywords

Navigation