El problema generalizado del viajante de comercio es un problema de optimización combinatoria que es una generalización del conocido problema del viajero de comercio . Los datos iniciales del problema son un conjunto de vértices, una partición de este conjunto en los llamados conglomerados, así como una matriz de costos de transición de un vértice a otro. El problema es encontrar el camino cerrado más corto que visitaría un vértice en cada grupo (también hay una modificación cuando el camino debe visitar al menos un vértice en cada grupo).
Dependiendo de las propiedades de la matriz de costos, el problema puede ser simétrico si la matriz es simétrica, o asimétrico en caso contrario. Uno de los casos especiales considerados con más frecuencia de un problema simétrico es el problema euclidiano o planar, cuando cada vértice tiene sus propias coordenadas en el espacio, y el costo de moverse entre los vértices corresponde a la distancia euclidiana entre los puntos correspondientes en el espacio.
Al igual que el problema del viajante de comercio , el problema generalizado del viajante de comercio pertenece a la clase de problemas NP-difíciles . Para probarlo, basta con considerar un caso especial del problema, cuando cada grupo contiene exactamente un vértice, y el problema se reduce a un simple problema del viajante de comercio, que es NP-difícil.
Hay dos métodos efectivos para la solución exacta del problema generalizado del viajante de comercio: Brunch-and-Cut [1] , así como un método para reducir el problema generalizado al problema habitual del viajante de comercio, cuyos métodos de resolución están bien estudiados. [2] .
En 2002, se demostró [3] que el problema generalizado del viajante de comercio puede reducirse a un problema ordinario del viajante de comercio de la misma dimensión reemplazando la matriz de peso .
Los métodos heurísticos más simples para resolver el problema generalizado del viajante de comercio incluyen el algoritmo codicioso , que en cada paso selecciona el borde de menor costo del conjunto de bordes que no violan la corrección de la solución, así como el vecino más cercano más eficiente. método, que parte de un vértice arbitrario y en cada paso agrega a la solución, el vértice más cercano al último agregado. También hay otras heurísticas que son modificaciones de heurísticas bien conocidas para el problema ordinario del viajante de comercio.
En particular, a menudo se utilizan los siguientes tipos de búsqueda local :
donde está numerado el grupo . Aplicando la búsqueda del camino más corto en un gráfico especialmente construido, el algoritmo encuentra un mínimo local para , donde . Así, Cluster Optimization pertenece a la clase de búsquedas locales con una vecindad muy grande , es decir, explora una vecindad exponencial en tiempo polinomial.
MetaheurísticasEl campo de los algoritmos genéticos, que han demostrado su eficacia para esta tarea, ha sido muy estudiado. El primer trabajo en esta área pertenece a Snyder y Duskin [4] , luego importantes resultados fueron obtenidos por Silbergoltz y Golden [5] , Gyuten y Karapetyan [6] .
Problemas NP-completos | |
---|---|
Problema de maximización del apilamiento (packing) |
|
teoría de grafos teoría de conjuntos | |
Problemas algorítmicos | |
Juegos de lógica y rompecabezas. | |