Um estudo comparativo do desempenho de linguagens de programação utilizando técnicas computacionais aplicadas ao Problema do Caixeiro-Viajante

Autor(es)

Orientado(es)
Doutor Bruno Nonato Gomes

Título da Revista

ISSN da Revista

Título de Volume

Editor

Abstract

The Traveling Salesman Problem (TSP) is a classic problem in Operations Research that arises in various practical contexts, such as vehicle routing problems, drilling printed circuit boards, maintenance of gas turbine engines, genome sequencing, among others. The effectiveness of the programming language used to address the TSP can directly influence the quality of the solution. This study aimed to analyze the performance of widely recognized programming languages in both academic and professional settings, including C, Python, C\#, and Julia. Both heuristic and metaheuristic techniques were employed to solve the optimization problem represented by the TSP. The results demonstrate that the choice of language and technique directly impacts the final execution, where languages like C and Julia stood out significantly, with results that were at least twice as fast as those achieved with the other languages, and this advantage increased as the problem complexity grew.


Resumo

O Problema do Caixeiro Viajante (PCV) é um clássico problema da Pesquisa Operacional que surge em diversos contextos práticos, como problemas de roteamento de veículos, perfuração de placas de circuito impresso, manutenção de motores de turbina a gás, sequenciamento de genoma, entre outros. A eficácia da linguagem de programação utilizada para abordar o PCV pode influenciar diretamente a qualidade da solução. Neste trabalho buscou-se analisar o desempenho de linguagens de programação amplamente reconhecidas no âmbito acadêmico e profissional, sendo elas C, Python, C\# e Julia. Utilizaram-se tanto técnicas heurísticas quanto metaheurísticas para resolver o problema de otimização representado pelo PCV. Os resultados mostram que a escolha da linguagem e a técnica afeta diretamente na execução final, onde linguagens como C e Julia se destacaram significativamente, apresentando resultados que eram, no mínimo, duas vezes mais rápidos do que os obtidos com as demais linguagens, com essa vantagem aumentando à medida que o problema se tornava mais complexo.

Palavras-chave

Citação

Avaliação

Revisão

Suplementado Por

Referenciado Por