Solucionador aproximado del problema del viajante (TSP) de Python 3 basado en la tecnología multiplataforma LKH: guía completa y análisis de código detallado

introducción

Entre los problemas de optimización combinatoria, el problema del viajante (TSP) es uno de los problemas más clásicos. Dado un conjunto de ciudades y la distancia entre cada par de ciudades, el objetivo de TSP es encontrar el camino más corto que visite cada ciudad solo una vez y finalmente regrese a la ciudad inicial. Aunque este problema parece simple, en realidad es NP-difícil, lo que significa que no existe ningún algoritmo de tiempo polinomial conocido que pueda resolver todas las instancias de TSP.

En este artículo, mostraremos cómo usar LKH, un algoritmo de aproximación multiplataforma, para resolver el problema TSP, implementado usando Python 3.

1. Descripción general del algoritmo LKH

LKH (Lin-Kernighan-Helsgaun) es un algoritmo heurístico para resolver problemas de TSP. La idea central es optimizar continuamente la solución actual intercambiando pares de ciudades en la ruta. Este método se llama intercambio k-opt.

intercambio k-opt : supongamos que tenemos una solución (ruta), el intercambio k-opt consiste en eliminar k bordes de esta solución y volver a conectarlos de otra manera para obtener una solución nueva, posiblemente mejor.

2. Preparación del entorno Python 3

Primero, debemos asegurarnos de que Python 3 esté instalado en nuestro entorno. Puede utilizar el siguiente comando para comprobar:

python --version

Si aún no tienes Python 3, puedes descargarlo e instalarlo desde el sitio web oficial .

3. Instale las bibliotecas necesarias

para

Supongo que te gusta

Origin blog.csdn.net/qq_38334677/article/details/132991082
Recomendado
Clasificación