Simplifique su flujo de trabajo: Busque miniwebtool.
Añadir
Herramientas relacionadas
Calculadora de Distancia del Círculo MáximoSolucionador de Mapa de Karnaugh (K-Map)Generador de Fractales L-SystemSolucionador de Programación LinealCalculadora de Flujo de Red (Flujo Máximo)Generador de espirografoSolucionador del Problema del Matrimonio Estable
Página de inicio > Matemáticas > Operaciones matemáticas avanzadas > Solucionador del Viajante de Comercio (TSP)
 

Solucionador del Viajante de Comercio (TSP)

Encuentre el recorrido más corto que visite cada ciudad exactamente una vez y regrese al inicio. Programación dinámica exacta (Held-Karp) para instancias pequeñas y heurísticas de vecino más cercano + 2-opt para instancias más grandes. Acepta coordenadas o una matriz de distancias y genera un recorrido animado en SVG.

Solucionador del Viajante de Comercio (TSP)
Líneas de coordenadas: A, 10, 20 o 10 20. Filas de matriz: 0 10 15 20 — una fila por línea, cuadrada, no negativa. Máximo 40 ciudades.
Etiquetas separadas por comas o espacios, una por fila de matriz. Por defecto A, B, C… si se omite.

Embed Solucionador del Viajante de Comercio (TSP) Widget

Solucionador del Viajante de Comercio (TSP)

El Solucionador del Viajante de Comercio es una calculadora práctica y educativa para el clásico Problema del Viajante de Comercio (TSP): dado un conjunto de ciudades y distancias entre pares, encontrar el recorrido más corto posible que visite cada ciudad exactamente una vez y regrese al inicio. Este solucionador acepta coordenadas planas o una matriz de distancias personalizada, selecciona automáticamente el mejor algoritmo según el tamaño del problema y representa el recorrido resultante como un mapa SVG animado.

¿Qué es el Problema del Viajante de Comercio?

Formalmente, dado un grafo ponderado completo G = (V, E) con un conjunto de vértices V = {1, 2, ..., n} y pesos de aristas d(i, j), el TSP busca una permutación π de los vértices que minimice:

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

El término final cierra el bucle. El TSP es uno de los problemas más antiguos y estudiados en optimización combinatoria: es NP-duro en el caso general, lo que significa que no se conoce ningún algoritmo que resuelva cada instancia en tiempo polinomial. A pesar de ello, aparece en innumerables aplicaciones del mundo real: rutas de vehículos, perforación de PCB, secuenciación de ADN, rutas de recogida en almacenes, horarios de observación astronómica e incluso entrega de correo rural.

Cómo Funciona este Solucionador

Programación Dinámica de Held–Karp (Exacta)

Para instancias pequeñas (hasta 12 ciudades), el solucionador calcula el recorrido demostrablemente óptimo utilizando el algoritmo de Held–Karp, publicado de forma independiente por Richard Bellman y por Michael Held y Richard Karp en 1962. La recurrencia clave, donde C(S, j) es el camino más corto desde el vértice 1 hasta el vértice j visitando exactamente el subconjunto S, es:

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

El costo del recorrido óptimo es entonces minj [C({1,...,n}, j) + d(j, 1)]. Held–Karp se ejecuta en un tiempo O(2n · n²) y memoria O(2n · n), una mejora enorme sobre la fuerza bruta n!, pero sigue siendo exponencial. Pasadas las 20 ciudades aproximadamente, la huella de memoria se vuelve impracticable.

Vecino más Cercano + 2-opt (Heurística)

Para instancias más grandes, el solucionador utiliza una heurística de dos etapas. Primero, el Vecino más Cercano construye un recorrido rápido dirigiéndose con avidez a la ciudad no visitada más cercana desde cada vértice de inicio. El solucionador prueba muchos vértices de inicio y se queda con el mejor recorrido. Luego, la búsqueda local 2-opt mejora el recorrido eliminando iterativamente dos aristas y volviendo a conectar los dos caminos resultantes de la única otra manera posible:

Antes: ... a — b ... c — d ... Después del intercambio 2-opt: ... a — c ... b — d ... Si d(a,c) + d(b,d) < d(a,b) + d(c,d) → se acepta el intercambio, se invierte el subtramo b..c

Geométricamente, 2-opt elimina cada "cruce" en el recorrido: cualquier par de segmentos que se crucen siempre se puede descruzar para obtener una longitud total más corta. El algoritmo se detiene en un óptimo local donde ningún intercambio individual ayuda, lo que se denomina un recorrido 2-óptimo. En instancias euclidianas realistas, 2-opt suele encontrar recorridos dentro del 2 al 5% del óptimo real en milisegundos.

Formatos de Entrada

Modo de Coordenadas (x, y)

Una ciudad por línea. Cada línea es etiqueta, x, y (la etiqueta es opcional). El solucionador calcula las distancias euclidianas automáticamente y visualiza las ciudades en sus posiciones reales.

A, 10, 20 B, 40, 70 C, 75, 30 París: 2.35, 48.86 10 20 ← etiquetado auto C1

Modo de Matriz de Distancias

Una matriz cuadrada de n × n distancias no negativas, una fila por línea, valores separados por espacios o comas. Las matrices pueden ser simétricas o asimétricas; las matrices asimétricas modelan calles de sentido único, precios de vuelos con disponibilidad variable y viajes que dependen del viento. Opcionalmente, proporciona etiquetas en el campo de Etiquetas de matriz.

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

Comparación de Algoritmos

Algoritmo Complejidad temporal Memoria Calidad del resultado Tamaño práctico
Fuerza bruta O(n!) O(n) Óptimo n ≤ 10
Held–Karp DP O(2n · n²) O(2n · n) Óptimo n ≤ 20
Vecino más Cercano O(n²) O(n) ~25% peor que el óptimo n ≤ miles
NN + 2-opt O(n² · pasadas) O(n) ~2–5% peor que el óptimo n ≤ cientos

Cómo Usar este Solucionador

  1. Elige un modo de entrada. Coordenadas si tus ciudades tienen posiciones (x, y) significativas; Matriz de distancias si tus costos no son euclidianos o son asimétricos.
  2. Pega o escribe tus datos. Una ciudad o fila por línea. Haz clic en un botón de ejemplo rápido sobre el formulario para rellenar un ejemplo válido.
  3. Elige el algoritmo. Déjalo en Auto para el valor predeterminado correcto: Held–Karp cuando la instancia es lo suficientemente pequeña para la optimización demostrable, NN + 2-opt en caso contrario. Fuerza un algoritmo específico si deseas comparar.
  4. Elige cerrado o abierto. Un recorrido cerrado regresa al inicio (el TSP tradicional). El modo de ruta abierta resuelve el problema relacionado del Camino Hamiltoniano, donde el viajante termina en una ciudad diferente.
  5. Haz clic en Resolver. La página de resultados muestra la longitud total del recorrido, un SVG animado de la ruta (haz clic en "Reproducir animación" para repetirla), la secuencia completa de ciudades, un desglose por arista y la matriz de distancias con las aristas del recorrido resaltadas.

Ejemplo Práctico

Considera cinco ciudades —un rectángulo más un pico—: A (0, 0), B (4, 0), C (4, 3), D (0, 3), E (2, 5). El solucionador devuelve:

Aplicaciones en el Mundo Real

Preguntas Frecuentes

¿Qué es el Problema del Viajante de Comercio?

El Problema del Viajante de Comercio (TSP) busca el recorrido más corto posible que visite cada ciudad exactamente una vez y regrese a la ciudad de origen. Es uno de los problemas más famosos en optimización combinatoria y es NP-duro en el caso general, lo que significa que no existe un algoritmo conocido que resuelva todas las instancias en tiempo polinomial.

¿Qué es el algoritmo Held–Karp?

Held–Karp es un algoritmo de programación dinámica que resuelve el TSP exactamente en tiempo O(2n · n²) y memoria O(2n · n). Es drásticamente más rápido que la fuerza bruta (n factorial) pero sigue siendo exponencial, por lo que en la práctica solo se usa para instancias de hasta unas 20 ciudades. Este solucionador utiliza Held–Karp cuando hay 12 ciudades o menos.

¿Qué es 2-opt y por qué se utiliza?

2-opt es una heurística de búsqueda local que elimina repetidamente dos aristas del recorrido actual y vuelve a conectar los dos caminos resultantes de la otra manera posible. Cuando el nuevo recorrido es más corto, se mantiene el intercambio. 2-opt se ejecuta en tiempo polinomial por iteración y encuentra sistemáticamente recorridos dentro de un pequeño porcentaje del óptimo, por lo que es la heurística clásica de referencia para instancias de TSP de mayor tamaño.

¿Cuándo debo usar coordenadas frente a una matriz de distancias?

Usa coordenadas cuando tus ciudades se sitúen en un plano con distancias en línea recta; por ejemplo, puntos en un mapa, ubicaciones de almacenes o agujeros en una placa de circuito. Usa una matriz de distancias cuando el costo entre pares no sea euclidiano; por ejemplo, precios de vuelos, tiempos de viaje con tráfico, distancias en carreteras de sentido único o costos asimétricos. El modo de matriz acepta cualquier distancia no negativa, incluso las asimétricas.

¿Es óptima la solución 2-opt?

No, 2-opt devuelve un recorrido 2-óptimo, lo que significa que no se puede intercambiar ningún par individual de aristas para producir una ruta más corta. Se trata de un óptimo local que suele estar a pocos puntos porcentuales del óptimo global en instancias bien comportadas, pero no se garantiza que sea el mejor global. Para un recorrido demostrablemente óptimo en instancias pequeñas, elige Held–Karp.

¿Admite esta herramienta matrices de distancia asimétricas?

Sí. En el modo de Matriz de distancias puedes introducir cualquier matriz cuadrada no negativa, incluidas las asimétricas donde D[i][j] difiere de D[j][i]. Tanto Held–Karp como 2-opt gestionan correctamente las matrices asimétricas. Esto es útil para problemas de rutas del mundo real con calles de sentido único, tráfico o costos de vuelo que dependen del viento.

Lecturas Adicionales

Cite este contenido, página o herramienta como:

"Solucionador del Viajante de Comercio (TSP)" en https://MiniWebtool.com/es/solucionador-del-viajante-de-comercio-tsp/ de MiniWebtool, https://MiniWebtool.com/

por el equipo de miniwebtool. Actualizado: 21 de abr de 2026

También puede probar nuestro Solucionador de Matemáticas AI GPT para resolver sus problemas matemáticos mediante preguntas y respuestas en lenguaje natural.

Operaciones matemáticas avanzadas:

Herramientas destacadas:

Calculadora de Signo Solar, Lunar y Ascendente 🌞🌙✨Calculadora de día del año - ¿Qué día del año es hoy?Generador de IMEI Aleatorio📅 Calculadora de FechaCalculadora de Compatibilidad AmorosaCalculadora del Signo de VenusEliminar acentos del textoConvertidor de cm a pies y pulgadasSelector de Películas AleatorioConvertidor de Pies y Pulgadas a CentímetrosSelector de Nombre AleatorioCalendario del Día del AñoConvertidor de kPa a psiBúsqueda de ID de usuario de FacebookBúsqueda de ID de Usuario de Instagram📅 Calculadora de Diferencia entre FechasCalculadora de Número del Nombrecalculadora-de-hba1cCalculadora de NumerologíaCalculadora de SumaCalculadora de Desviación Estándar RelativaCalculadora de Duración de TiempoCalculadora de Número MaestroExtractor de Imágenes de VideoDescargador de Miniaturas de YouTubeBola Mágica 8búsqueda-de-direcciones-MACSelector AleatorioEliminar espaciosGenerador de Cartas de Baraja Aleatorioconvertidor ppm a porcentajeCalculadora de Promedio - Alta PrecisiónCalculadora HexadecimalGenerador de Código MorseConvertidor de psi a kPa¿Cuál es mi signo del zodiaco?Calculadora de CombinaciónConvertidor de Porcentaje a PPMGenerador de Verdad o Reto AleatorioOrdenar NúmerosGenerador Aleatorio de ListasGenerador de Palabras DesordenadasCalculadora CPMDivisor de imágenesCalculadora de Posición del SolDivisor de AudioConvertidor de Decimal a Tiempo🖱️ Contador de Clics¿Cuál es mi número de la suerte?Calculadora de Número del AlmaCalculadora de reducción porcentualCalculadora de Área de Polígono IrregularConvertidor de Tiempo a DecimalCalculadora de CírculosCalculadora de Edad GestacionalCalculadora de Coeficiente de VariaciónCalcular tiempo entre dos fechasGenerador de Superpoder Aleatorio🌐 Convertidor de Zona HorariaCalculadora de pendiente y gradoCalculadora de Aumento PorcentualGenerador de números de loteríaContador de líneasConvertidor de FPSCalculadora de Número de DestinoCalculadora de notación científicaGenerador de sopa de letrasCalculadora de Percentil de EstaturaCalculadora de Promedio de BateoCalculadora del Signo de MarteConvertidor de Tamaño de ArchivoCalculadora de cociente y residuoConvertidor de Número a PalabraCalculadora de MóduloGenerador de LaberintosCalculadora de Grupo SanguíneoCalculadora de ERACalculadora de PermutaciónFormateador de TextoGenerador de Números Decimales AleatoriosCalculadora del día de la semana de nacimientoConvertidor de fracción a número mixtoDivisor de videoEstadísticas del Canal de YouTubeCalculadora de Log Base 10Primeros n Dígitos de PiCalculadora de Retorno de SaturnoGenerador de Fechas AleatoriasGenerador de Plantilla de Cono DesarrolladoLanzador de MonedasCalculadora de media aritméticaGenerador de cartones de bingoCalculadora OctalGenerador de Nombres AleatoriosVerificador de Nombre de Usuario en Redes SocialesGenerador de Cumpleaños AleatorioGenerador de Versículos Bíblicos AleatoriosCalculadora de número de dígitosCalculadora de Duración de BateríaGenerador de hora aleatoriaCalculadora de Número de Trayecto de VidaGenerador de Coordenadas AleatoriasGenerador de Hash SHA256Conversor de HTML a TextoLista de Años BisiestosConvertidor de Notación Científica a DecimalCalculadora de Compatibilidad de Signos LunaresConvertidor de Decimal a BCDCalculadora de Cambio PorcentualGenerador de Dirección IP AleatoriaGenerador de Texto Pequeño ⁽ᶜᵒᵖʸ ⁿ ᵖᵃˢᵗᵉ⁾Calculadora de números de ángelesEliminar saltos de líneaCalculadora de Ganancias de TwitchConvertidor de Lista de Texto a SQLRotar VideoValidador XMLCalculadora de edadCalculadora de Error PorcentualConversor de Calendario HebreoConvertidor de Número a FracciónCalculadora de Número de SemanaCalculadora de SenoCalendario de Mercurio RetrógradoConvertidor octal a binarioGraficador de funciones trigonométricasCalculadora de Tipo CorporalGenerador de anagramasVerificador de Números PerfectosAnalizador de Direcciones MACGenerador de cadenas aleatoriasGenerador de Números Enteros AleatoriosAnalizador Avanzado de Compatibilidad ZodiacalCalculadora de Monetización de YouTube ShortsGenerador aleatorio de animalesGenerador de Texto InvisibleCalculadora de EscaleraCalculadora de RedondeoCalculadora de Tamaño de TVExtractor de AudioCalculadora de Consumo de AguaCalculadora de ProporcionesGenerador de PIN AleatorioCalculadora de CosenoGenerador de ContraseñaConvertidor de dirección IP a binarioVerificador de Número Par o ImparCalculadora del signo de mercurioGenerador de direcciones MACCalculadora de ComisionesCalculadora de Dinero de TikTokCalculadora de Tasa de Interés EfectivoCalculadora Log Base 2Decodificador de Código MorseConvertidor de VTT a TXTConvertidor hexadecimal a binario🎰 Calculadora de Pity Gachaconvertidor de palabras a números de teléfonoGenerador de CriptogramaContar el número de caracteresCalculadora de Log (Logaritmo)Convertidor de tazas a gramosConvertidor de dirección IP a hexadecimalGenerador de País AleatorioHerramienta en línea para eliminar puntuaciónCalculadora de Diferencia de ListasCalculadora de Flujo en TuberíasFusionar vídeosExtractor de URLGenerador de acordes aleatoriosGenerador de Colores AleatoriosGenerador de Números AleatoriosCalculadora de Equilibrio de Elementos AstrológicosCalculadora de Resistencia para LEDCalculadora de FraccionesCalculadora de la Ecuación de BernoulliCalculadora de la Ley de SnellCalculadora de Pasos a DistanciaAñadir prefijo y sufijo al textoCalculadora de Carga de VigasCalculadora de media, mediana y modaConvertidor de BaseGenerador de Unir los PuntosGenerador y Verificador de Hash BcryptSimulador de Puertas LógicasCalculadora de Sodio CorregidaCalcular Días entre Dos FechasGraficador de Curvas ParamétricasGraficador de FuncionesCalculadora de Período de RecuperaciónGenerador Aleatorio de Nombres en LíneaGenerador de Tarjeta de Crédito AleatorioPredictor de peso de cachorrosCalculadora de Distribución de ProbabilidadCalculadora de TechadoConvertidor Decimal a OctalGenerador de ítems aleatoriosCalculadora de la Prueba de DivisibilidadCalculadora de Porcentaje de AsistenciaCalculadora Bit a BitCalculadora de strike rate de críquetCalculadora de Net Run RateCalculadora de proporción K/DCalculadora de rating EloCalculadora de recuperación de la frecuencia cardíacaCalculadora de Tiempo de SenderismoCalculadora de ritmo de remoCalculadora de Rendimiento por Edad en CarreraCalculadora de FTP y Zonas de PotenciaCalculadora de Beep TestCalculadora de Puntuación ACFTCalculadora de Wilks y DOTSCalculadora de Offset de LlantasBuscador de Índice de Carga y Código de Velocidad de NeumáticosCalculadora de Costo por MillaCalculadora de Compra de LeasingCalculadora de Mezcla de OctanajeCalculadora de Mezcla de Aceite 2 TiemposCalculadora de Cilindrada del MotorCalculadora de Sofá en la PuertaCalculadora de Cuerdas de LeñaCalculadora de CADR de Purificador de AireCalculadora de Tamaño de DeshumidificadorCalculadora de Tamaño de Ventilador de TechoCalculadora de Tamaño de CortinasCalculadora de Tamaño de AlfombraCalculadora de Altura para Colgar CuadrosCalculadora de Altura de Montaje de TVCalculadora de Volumen y Lámina de EstanqueCalculadora de Sal para PiscinaCalculadora de Volumen de PiscinaCalculadora de Tamaño de Calentador de AguaCalculadora de Resina EpoxiCalculadora de Espaciado de BalaustresCalculadora de Zócalos y MoldurasCalculadora de RevestimientoCalculadora de Tinte para TerrazasCalculadora de Semillas de CéspedCalculadora de CéspedCalculadora de AsfaltoCalculadora de Yardas CúbicasCalculadora de Longitud de AntenaCalculadora de Llenado de ConductoCalculadora de Condensadores en Serie y ParaleloCalculadora de Reactancia InductivaCalculadora de Iluminación de HabitacionesCalculadora de Lux a LúmenesConversor de Lúmenes a VatiosCalculadora de Tamaño de GeneradorConversor de mAh a WhCalculadora de Potencia TrifásicaCalculadora de kVACalculadora de Amperios a VatiosCalculadora de Vatios a AmperiosCalculadora de Resistencias en SerieCalculadora de FricciónCalculadora de Plano InclinadoCalculadora de Ventaja MecánicaCalculadora de Velocidad del SonidoCalculadora de Velocidad de OndaCalculadora de flotabilidadCalculadora de Velocidad TerminalCalculadora de Longitud de Onda de de BroglieCalculadora de Energía del FotónCalculadora E=mc²Calculadora de Dilatación del TiempoCalculadora de la Tercera Ley de KeplerCalculadora de Velocidad de EscapeCalculadora de Fuerza GravitacionalCalculadora de la Ley de Beer-LambertCalculadora de la Ecuación de NernstCalculadora de Presión OsmóticaCalculadora de Elevación del Punto de EbulliciónCalculadora de Descenso del Punto de CongelaciónCalculadora de Composición PorcentualCalculadora de NormalidadCalculadora de MolalidadConversor de pKa a KaCalculadora de Henderson-HasselbalchCalculadora de Rendimiento TeóricoCalculadora de Reactivo LimitanteCalculadora de Configuración ElectrónicaTabla Periódica InteractivaGenerador de Planes de Lecciones con IAGenerador de Cuestionarios con IAGenerador de Citas APA MLA ChicagoCalculadora de Puntuación APCalculadora de Puntuación ACTCalculadora de Puntuación del SATConversor de Porcentaje a CGPAConversor de CGPA a PorcentajeCalificador Fácil (EZ Grader)Calculadora del Costo de Criar un HijoCalculadora de Consumo de Leche para BebésCalculadora de Talla de PañalesGenerador de Nombres de BebéPredictor del Color de Ojos del BebéCalculadora de Percentil de IMC InfantilPredictor de Altura InfantilCalculadora de Tiempo de Duplicación de hCGCalculadora de Fecha de Parto FIVCalculadora de ImplantaciónPredictor de Sexo ChinoFormateador de Fechas ISO 8601Conversor de Fecha JulianaCalculadora de SiestaCalculadora de fases lunaresCalculadora de amanecer y atardecerWorld ClockConvertidor de Fechas a Números RomanosCuenta Regresiva para la JubilaciónCalculadora de SobriedadCalculadora de Medio CumpleañosCalculadora de AniversarioCalculadora de Reparto de PropinasCalculadora de ROI de Email MarketingCalculadora de Costo por LeadCalculadora de Capital de TrabajoEstimador de Ganancias de YouTubeGenerador de personaje RPG aleatorio