Simplifique seu fluxo de trabalho: Pesquise miniwebtool.
Adicionar
Veja também
Conversor de Oz para MLGerador de Fractais L-SystemGerador de LabirintosGerador de Espirógrafo
Página Inicial > Matemática > Operações matemáticas avançadas > Solucionador do Caixeiro Viajante (TSP)
 

Solucionador do Caixeiro Viajante (TSP)

Encontre a rota mais curta que visita cada cidade exatamente uma vez e retorna ao início. Programação dinâmica exata (Held-Karp) para instâncias pequenas e heurísticas de vizinho mais próximo + 2-opt para instâncias maiores. Aceita coordenadas ou uma matriz de distância e renderiza um tour animado em SVG.

Solucionador do Caixeiro Viajante (TSP)
Linhas de coordenadas: A, 10, 20 ou 10 20. Linhas da matriz: 0 10 15 20 — uma linha por vez, quadrada, não negativa. Máx 40 cidades.
Etiquetas separadas por vírgula ou espaço, uma por linha da matriz. Padrão A, B, C… se omitido.

Embed Solucionador do Caixeiro Viajante (TSP) Widget

Solucionador do Caixeiro Viajante (TSP)

O Solucionador do Caixeiro Viajante é uma calculadora prática e educativa para o clássico Problema do Caixeiro Viajante (TSP): dado um conjunto de cidades e distâncias entre pares, encontre a rota mais curta possível que visite cada cidade exatamente uma vez e retorne ao início. Este solucionador aceita coordenadas planas ou uma matriz de distância personalizada, seleciona o melhor algoritmo automaticamente com base no tamanho do problema e renderiza a rota resultante como um mapa SVG animado.

O Que é o Problema do Caixeiro Viajante?

Formalmente, dado um grafo ponderado completo G = (V, E) com conjunto de vértices V = {1, 2, ..., n} e pesos de aresta d(i, j), o TSP busca uma permutação π dos vértices que minimize:

minimizar Σi=1n-1 d(π(i), π(i+1)) + d(π(n), π(1))

O termo final fecha o loop. O TSP é um dos problemas mais antigos e estudados em otimização combinatória — ele é NP-difícil no caso geral, o que significa que nenhum algoritmo conhecido resolve todas as instâncias em tempo polinomial. Apesar disso, ele aparece em inúmeras aplicações do mundo real: roteamento de veículos, perfuração de PCB, sequenciamento de DNA, rotas de coleta em armazéns, cronogramas de observação astronômica e até entrega de correspondência rural.

Como Funciona Este Solucionador

Programação Dinâmica Held–Karp (Exata)

Para instâncias pequenas (até 12 cidades), o solucionador calcula a rota comprovadamente ideal usando o algoritmo Held–Karp, publicado independentemente por Richard Bellman e Michael Held & Richard Karp em 1962. A recorrência chave, onde C(S, j) é o caminho mais curto do vértice 1 ao vértice j visitando exatamente o subconjunto S:

C(S, j) = mink ∈ S \ {j} [ C(S \ {j}, k) + d(k, j) ]

O custo da rota ideal é então minj [C({1,...,n}, j) + d(j, 1)]. O Held–Karp é executado em tempo O(2n · n²) e memória O(2n · n) — uma melhoria enorme sobre a força bruta n!, mas ainda exponencial. Após cerca de 20 cidades, a pegada de memória torna-se impraticável.

Vizinho Mais Próximo + 2-opt (Heurística)

Para instâncias maiores, o solucionador usa uma heurística de dois estágios. Primeiro, o Vizinho Mais Próximo constrói uma rota rápida caminhando gananciosamente para a cidade não visitada mais próxima de cada vértice inicial. O solucionador tenta muitos vértices iniciais e mantém a melhor rota. Em seguida, a busca local 2-opt melhora a rota removendo iterativamente duas arestas e reconectando os dois caminhos resultantes da única outra maneira possível:

Antes: ... a — b ... c — d ... Após troca 2-opt: ... a — c ... b — d ... Se d(a,c) + d(b,d) < d(a,b) + d(c,d) → aceitar troca, inverter a sub-rota b..c

Geometricamente, o 2-opt remove todos os "cruzamentos" na rota: quaisquer dois segmentos que se cruzam podem sempre ser descruzados para um comprimento total menor. O algoritmo para em um ótimo local onde nenhuma troca única ajuda, chamado de rota 2-ideal. Em instâncias euclidianas realistas, o 2-opt normalmente encontra rotas de 2 a 5% do valor ideal real em milissegundos.

Formatos de Entrada

Modo Coordenadas (x, y)

Uma cidade por linha. Cada linha é etiqueta, x, y — a etiqueta é opcional. O solucionador calcula distâncias euclidianas automaticamente e visualiza as cidades em suas posições reais.

A, 10, 20 B, 40, 70 C, 75, 30 Paris: 2.35, 48.86 10 20 ← etiqueta auto C1

Modo Matriz de distância

Uma matriz quadrada n × n de distâncias não negativas, uma linha por vez, valores separados por espaços ou vírgulas. As matrizes podem ser simétricas ou assimétricas — as assimétricas modelam ruas de mão única, preços de passagens aéreas com disponibilidade variável e viagens dependentes do vento. Opcionalmente, forneça etiquetas no campo Etiquetas da matriz.

0 10 15 20 10 0 35 25 15 35 0 30 20 25 30 0

Comparação de Algoritmos

Algoritmo Complexidade de tempo Memória Qualidade do resultado Tamanho prático
Força bruta O(n!) O(n) Ideal n ≤ 10
Held–Karp DP O(2n · n²) O(2n · n) Ideal n ≤ 20
Vizinho Mais Próximo O(n²) O(n) ~25% pior que o ideal n ≤ milhares
NN + 2-opt O(n² · passagens) O(n) ~2–5% pior que o ideal n ≤ centenas

Como Usar Este Solucionador

  1. Escolha um modo de entrada. Coordenadas se suas cidades tiverem posições (x, y) significativas; Matriz de distância se seus custos forem não euclidianos ou assimétricos.
  2. Cole ou digite seus dados. Uma cidade ou linha por vez. Clique em um botão de exemplo rápido acima do formulário para preencher um exemplo válido.
  3. Escolha o algoritmo. Deixe em Automático para o padrão correto: Held–Karp quando a instância for pequena o suficiente para a idealidade comprovável, NN + 2-opt caso contrário. Force um algoritmo específico se quiser comparar.
  4. Escolha fechado ou aberto. Uma rota fechada retorna ao início — o TSP tradicional. O modo de caminho aberto resolve o problema relacionado do Caminho Hamiltoniano, onde o vendedor termina em uma cidade diferente.
  5. Clique em Resolver. A página de resultados mostra o comprimento total da rota, um SVG animado do percurso (clique em "Replay da animação" para repetir), a sequência completa de cidades, um detalhamento por aresta e a matriz de distância com as arestas da rota destacadas.

Exemplo Prático

Considere cinco cidades — um retângulo mais um pico: A (0, 0), B (4, 0), C (4, 3), D (0, 3), E (2, 5). O solucionador retorna:

Aplicações no Mundo Real

Perguntas Frequentes

O que é o Problema do Caixeiro Viajante?

O Problema do Caixeiro Viajante (TSP) busca a rota mais curta possível que visite cada cidade exatamente uma vez e retorne à cidade de partida. É um dos problemas mais famosos em otimização combinatória e é NP-difícil no caso geral, o que significa que nenhum algoritmo conhecido resolve todas as instâncias em tempo polinomial.

O que é o algoritmo Held–Karp?

Held–Karp é um algoritmo de programação dinâmica que resolve o TSP exatamente em tempo O(2n · n²) e memória O(2n · n). É dramaticamente mais rápido que a força bruta (n fatorial), mas ainda exponencial, portanto, na prática, é usado apenas para instâncias de até cerca de 20 cidades. Este solucionador usa Held–Karp quando há 12 cidades ou menos.

O que é o 2-opt e por que é usado?

O 2-opt é uma heurística de busca local que remove repetidamente duas arestas da rota atual e reconecta os dois caminhos resultantes da outra maneira possível. Quando a nova rota é mais curta, a troca é mantida. O 2-opt é executado em tempo polinomial por iteração e consistentemente encontra rotas a poucos pontos percentuais da ideal, por isso é a heurística clássica para instâncias maiores de TSP.

Quando devo usar coordenadas versus uma matriz de distância?

Use coordenadas quando suas cidades estiverem em um plano com distâncias em linha reta — por exemplo, pontos em um mapa, locais de armazéns ou furos em uma placa de circuito. Use uma matriz de distância quando o custo entre os pares não for euclidiano — por exemplo, preços de passagens aéreas, tempos de viagem com tráfego, distâncias rodoviárias de mão única ou custos assimétricos. O modo matriz aceita quaisquer distâncias não negativas, mesmo as assimétricas.

A solução 2-opt é a ideal?

Não, o 2-opt retorna uma rota 2-ideal, o que significa que nenhum par único de arestas pode ser trocado para produzir uma rota mais curta. Este é um ótimo local e geralmente está a poucos pontos percentuais do ótimo global em instâncias bem comportadas, mas não há garantia de que seja o melhor global. Para uma rota comprovadamente ideal em instâncias pequenas, escolha Held–Karp.

Esta ferramenta suporta matrizes de distância assimétricas?

Sim. No modo Matriz de distância, você pode inserir qualquer matriz quadrada não negativa, incluindo as assimétricas onde D[i][j] difere de D[j][i]. Tanto Held–Karp quanto 2-opt lidam corretamente com matrizes assimétricas. Isso é útil para problemas de roteamento do mundo real com ruas de mão única, tráfego ou custos de voo dependentes do vento.

Leitura Adicional

Cite este conteúdo, página ou ferramenta como:

"Solucionador do Caixeiro Viajante (TSP)" em https://MiniWebtool.com/br/solucionador-do-caixeiro-viajante-tsp/ de MiniWebtool, https://MiniWebtool.com/

pela equipe miniwebtool. Atualizado: 21 de abr de 2026

Você também pode experimentar nosso Solucionador de Matemática AI GPT para resolver seus problemas de matemática através de perguntas e respostas em linguagem natural.

Operações matemáticas avançadas:

Ferramentas em destaque:

Pesquisa de ID de Usuário do InstagramRemover espaços📅 Calculadora de DatasGerador de Letras AleatóriasGerador de endereços MACGerador de Cartelas de BingoGerador de IMEI AleatórioCalculadora de Número de ExpressãoContador de linhasGerador de Superpoder AleatórioGerador de Cores AleatóriasGerador de Código MorseCalculadora BináriaGerador de Cartão de Crédito AleatórioCalculadora de Signo Solar, Lunar e Ascendente 🌞🌙✨Pesquisa de Endereço MACCalculadora de Número de DestinoPesquisa de ID de Usuário do FacebookCalculadora de ProporçãoCalculadora de Compatibilidade AmorosaGerador de Caça-PalavrasFormatador de TextoGerador de Cartas de Baralho Aleatório🖱️ Contador de CliquesClassificar NúmerosGerador de Quiz com IARemover acentos do textoPesquisa de Citações (Inglês)Calculadora de Variação PercentualCalculadora de Dia do Ano - Que Dia do Ano é Hoje?Conversor de kPa para psiCalculadora de CombinaçãoCalculadora de número de anjo📅 Calculadora de Diferença entre DatasFerramenta Online para Remover PontuaçãoCalculadora de 1RM (Repetição Máxima)Gerador de AnagramasDivisor de ÁudioCalculadora de Desvio Padrão RelativoConversor de Hex para BinárioConversor Octal para Decimalconversor de ppm para porcentagemGerador de Coordenadas AleatóriasLista de Anos BissextosCalculadora de MultiplicaçãoCalculadora de MedianaCalculadora de Monetização do YouTube ShortsConversor de Binário para OctalConversor de Decimal para HexRandomizador de ListasConversor de Tamanho de ArquivoGerador de Hora AleatóriaCalculadora de Coeficiente de VariaçãoConversor de Binário para HexGerador de Endereço IP AleatórioGerador de Palavras Aleatórias em InglêsExtrator de Imagem de VídeoCalculadora de Taxa de Crescimento PercentualCalculadora de Desvio Padrão - Alta PrecisãoConversor de BaseRandomizador de Nomes OnlineCalculadora de cálcio corrigidaConversor de Octal para BinárioCalculadora de Número MestreCalculadora de Média, Mediana e ModaCalculadora de fração para decimalCalculadora de HbA1cDecodificador de Código MorseEstatísticas do Canal do YouTubeGerador de Personagem RPG AleatórioCalculadora de Média GeométricaConversor de Porcentagem para PPMGerador de Texto Pequeno ⁽ᶜᵒᵖʸ ⁿ ᵖᵃˢᵗᵉ⁾Calculadora de Número do Caminho da VidaGerador de Sequência AleatóriaMesclar Vídeos🔍 Verificador de PlágioGerador de Hash SHA256Adicionar Quebras de LinhaSelecionador de Filmes AleatórioGerador de Números da LoteriaCalculadora de Posição do SolBaixador de Miniaturas do YouTubeCalculadora de Ritmo de CorridaGerador de Embaralhar PalavrasGraficador de Função TrigonométricaRandomizador de Linhas de Texto de EntradaCalculadora de EscadaPrimeiros n Dígitos do PiExtrator de Números de TelefoneRemover Linhas Vazias do TextoCalculadora de redução de porcentagemÉ um Número Primo?Conversor de Hexadecimal para OctalConversor de Fração para PercentualCalculadora de NumerologiaCalculadora de Número de Desejo da AlmaConversor de números romanosCalculadora de Número de PersonalidadeCalculadora de Números ComplexosCalculadora de Octal para HexadecimalFerramenta de Cifra de CésarGerador de CriptogramaGerador de Número Decimal AleatórioRemovedor de Caracteres InvisíveisCalculadora de Circunferência de ElipseConversor de endereço IP para binárioFerramenta Online Gratuita para Randomizar NúmerosGerador de Texto ZalgoConversor de Códigos de Cor (Todos os Formatos)Conversor Decimal para OctalGerador de Endereço Falso AleatórioGirar VídeoRemover Números de Linha do TextoCalculadora de Log (Logaritmo)Gerador de Atividades AleatóriasSimulador de Portas LógicasCalculadora de bônusCalculadora de Erro Percentual🔊 Gerador de TomCalculadora de distribuição binomialCalculadora HexExtrator de Tags do YouTubeSeletor de Comentários do YouTubeCalculadora de alavancagem criptoCalculadora de Dosagem de MedicamentoConversor de FPSCriador de Palavras CruzadasCalculadora de Percentil de AlturaCompactador de HTML OnlineConversor de cm para Pés e PolegadasDivisor de ImagensGerador de Aniversário AleatórioGerador de Molde Planificado de ConeSimulador de Soroban Ábaco JaponêsCalculadora de Mistura de Cores de TintaLista de Números de FibonacciQual é o meu Signo Chinês?Conversor de psi para kPaGerador de Frases Aleatórias em InglêsRemover Quebras de LinhaReverter VídeoAnalisador de Endereço MACCalculadora de Desvio MédioComprimir PDFCalculadora de Número de DígitosCalculadora OctalDividir PDFGerador de Texto InvisívelCalculadora de Divisão LongaCalculadora de ÁreaCalculadora WHtRGerador de Chaves de Torneio AleatórioGerador de Fontes para InstagramRandomizador de NúmerosCalculadora de EstimativaCalculadora de Número da Semana👙 Calculadora de Tamanho de SutiãCalculadora de QuartilGerador de Perguntas AleatóriasGerador e Verificador de Hash BcryptCalculadora de Tempo de LeituraGerador de LabirintosInverter TextoResolvedor de Equações LogarítmicasTemporizador de Estudo PomodoroCalculadora de Arco Tangente⬛ Calculadora de Proporção de Telaconversor de palavra para número de telefoneConversor de Torque (Nm, ft-lb, kgf-cm)Gerador de Texto TachadoSelecionador AleatórioAdicionar Números de Linha ao TextoCalculadora de CoberturaCalculadora de IdadeCalculadora de RetângulosGerador de DegradêVerificador de Força de SenhaVerificador de Nome de Usuário de Mídia SocialVerificador de Número Par ou ÍmparCalculadora de Dinheiro do TikTokCalculadora de kVAConversor BCDCriador de Box Plot (Gráfico de Caixa)Gerador de Roteiro de Vídeo com IACalculadora ANOVACalculadora de Log Base 2Calculadora de raiz quadradaCalculadora de reduzir fraçõesConversor de Tamanhos de SapatoExtrator de URLCalculadora de Ingestão de ProteínaCalculadora de MolaridadeCalendário do Dia do AnoConversor BCD para DecimalDecodificador de URLJuntar PDFQuiz de TabuadaSimplificador de Álgebra BooleanaCalculadora de CPMConverter vídeo para o Twitter (X)Gerador de GamertagGerador de Nome de EquipeGerador de ApelidosGerador de Nomes de RapGerador de Nomes de BandaGerador de Nomes de FantasiaGerador de Biscoitos da SorteGerador de Ideias de DesenhoGerador de Prompts de DiárioGerador de Afirmações DiáriasGerador de ElogiosGerador de CantadasGerador de Piadas de PaiGerador de Piadas AleatóriasGerador de Curiosidades AleatóriasGerador de Perguntas de TriviaGerador de Palavras para ForcaGerador de palavras para PictionaryGerador de MímicaGerador de perguntas quebra-geloGerador de Eu NuncaGerador de O Que Você PrefereIntérprete de Sonhos com IAGerador de Notas de Agradecimento com IAGerador de Discurso de Casamento com IAGerador de Comunicado de Imprensa com IAGerador de Descrição de Produto com IAGerador de Título e Descrição do YouTube com IAGerador de Legendas para Instagram com IAGerador de Título e Bio do LinkedIn com IAGerador de Bullets de Currículo com IAGerador de Carta de Apresentação com IAGerador de Letras de Rap com IAFerramenta para achatar PDFDesbloquear PDF (Remover senha de permissões)Extrator de PDF para TextoExtrator de páginas de PDFContador de palavras em PDFProteger PDFAdicionar números de página ao PDFReordenar páginas de PDFExcluir páginas de PDFGirar PDFJPG para PDFPDF para JPGConversor de PT para PXConversor de PX para REMConversor de Tola para GramasConversor de Unidades de Terra IndianasConversor de mcg para mgGerador de Letras de Música com IAGerador de Poemas com IAGerador de Histórias com IATradutor de IAResumidor de texto com IAConversor de mg para mLConversor de MPH para KMH / KMH para MPHConversor de Nós para MPHConversor de Metros Cúbicos para Pés CúbicosConversor de Pés Cúbicos para Jardas CúbicasConversor de Pés Quadrados para Metros QuadradosConversor de Metros Quadrados para Pés QuadradosConversor de Oz para MLConversor de ML para OzConversor de Galões para LitrosConversor de Litros para GalõesConversor de Kg para StoneConversor de Stone para KgConversor de Polegadas para MilímetrosConversor de Milímetros para PolegadasConversor de Milhas para KmConversor de Km para MilhasConversor de Fahrenheit para CelsiusConversor de Celsius para FahrenheitCalculadora de Tamanho de MochilaCalculadora de Volume de Prancha de SurfeCalculadora de Tamanho da Empunhadura de TênisCalculadora de Tamanho de CapaceteCalculadora de Tamanho de LuvasConversor de Tamanhos de ChapéusCalculadora de Tamanho de SnowboardCalculadora de Tamanho de EsquiCalculadora de Tamanho de BicicletaCronômetro de Splits para SpeedrunCalculadora de StablefordCalculadora de Checkout de DardosCalculadora de Economia de Bowling no CríqueteCalculadora de Strike Rate no CríqueteCalculadora de Net Run RateCalculadora de Ratio K/DCalculadora de Rating EloCalculadora de Recuperação da Frequência CardíacaCalculadora de Tempo de CaminhadaCalculadora de Ritmo de RemoCalculadora de Corrida Ajustada por IdadeCalculadora de FTP e Zonas de PotênciaCalculadora de Beep TestCalculadora de Pontuação do ACFTCalculadora Wilks & DOTSCalculadora de Offset de RodaConsulta de Índice de Carga e Classificação de Velocidade do PneuCalculadora de Custo por MilhaCalculadora de Compra de LeasingCalculadora de Mistura de OctanagemCalculadora de Mistura de Óleo 2 TemposCalculadora de Cilindrada do MotorCalculadora de Sofá na PortaCalculadora de Cordas de LenhaCalculadora de CADR de Purificador de ArCalculadora de Tamanho de DesumidificadorCalculadora de Tamanho de Ventilador de TetoCalculadora de Tamanho de CortinaCalculadora de Tamanho de TapeteCalculadora de Altura para Pendurar QuadrosCalculadora de Altura de Instalação de TVCalculadora de Tamanho de TVCalculadora de Volume e Lona de LagoCalculadora de Sal para PiscinaCalculadora de Volume de PiscinaCalculadora de Tamanho de Aquecedor de ÁguaCalculadora de Resina EpóxiCalculadora de Espaçamento de BalaústresCalculadora de Rodapé e AcabamentoCalculadora de RevestimentoCalculadora de Verniz para DeckCalculadora de Sementes de GramaCalculadora de GramaCalculadora de AsfaltoCalculadora de Jardas CúbicasCalculadora de Comprimento de AntenaCalculadora de Preenchimento de ConduíteCalculadora de Capacitores em Série e ParaleloCalculadora de Reatância IndutivaCalculadora de Iluminação de AmbientesCalculadora de Lux para LumensConversor de Lumens para WattsCalculadora de Tamanho de GeradorConversor de mAh para WhCalculadora de Potência TrifásicaCalculadora de Amperes para WattsCalculadora de Watts para AmpèresCalculadora de Resistores em SérieCalculadora de AtritoCalculadora de Plano InclinadoCalculadora de Vantagem MecânicaCalculadora de Velocidade do SomCalculadora de Velocidade da OndaCalculadora de EmpuxoCalculadora de Velocidade TerminalCalculadora de Comprimento de Onda de de BroglieCalculadora de Energia do FótonCalculadora E=mc²Calculadora de Dilatação do TempoCalculadora da Terceira Lei de KeplerCalculadora de Velocidade de EscapeCalculadora de Força GravitacionalCalculadora da Lei de Beer-LambertCalculadora da Equação de NernstCalculadora de Pressão OsmóticaCalculadora de Elevação do Ponto de EbuliçãoCalculadora de Depressão do Ponto de CongelamentoCalculadora de Composição PercentualCalculadora de NormalidadeCalculadora de MolalidadeConversor de pKa para KaCalculadora de Henderson-HasselbalchCalculadora de Rendimento TeóricoCalculadora de Reagente LimitanteCalculadora de Configuração EletrônicaTabela Periódica InterativaGerador de Plano de Aula com IAGerador de Citações (APA/MLA/Chicago)Calculadora de Porcentagem de PresençaCalculadora de Pontuação APCalculadora de Pontuação ACTCalculadora de Pontuação do SATEstimador de Ganhos do YouTube