algoritmos aproximados. tsp geomÉtrico
TRANSCRIPT
![Page 1: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/1.jpg)
ALGORITMOS
APROXIMADOS.
TSP GEOMÉTRICO
Análisis y diseño de algoritmos II- 2009
![Page 2: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/2.jpg)
Referencias1. Arora; S. “Approximation schemes for NP-hard geometric optimization
problems: A survey”. Math Programming, 97 (1,2) 2003. www.cs.princeton.edu/~arora
2. Abercrombie, K. ,Cranshaw, J. “Polynomial-time Approximation Scheme
for Euclidean TSP”. 2007.www.math.gatech.edu/~randall/Algs07/tsp.pdf
3. Gutin, G., Punnen, A. (Eds.) “The Traveling Salesman Problem and Its
Variations”. Kluwer Academic Publishers, 2004.
4. Concorde Software, 2009 http://www.tsp.gatech.edu/concorde/index.html
5. TSPLIB, Traveling salesman problem library, 2009
www.iwr.uniheidelberg.de/groups/comopt/software/TSPLIB95/
6.Rodeker, B.; Cifuentes, M. V.; Favre, L. “An Empirical Analysis of
Approximation Algorithms for Euclidean TSP”. Proceedings 2009 International
Conference on Scientific Computing (CSC'09), ISBN 1-60132-098-1, 190-196,
CSREA Press, Las Vegas, USA, 2009.
![Page 3: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/3.jpg)
TSP geométrico
El enfoque de Sanjeev Arora
Existen diferentes variaciones del TSP. El
libro “The Traveling Salesman Problem and
Its Variations” [3] describe los algoritmos más
relevantes que aparecieron antes del 2004.
Varios trabajos están relacionados con
versiones restringidas del TSP, por ejemplo TSP-
geométricos, y en particular el TSP-euclidiano.
![Page 4: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/4.jpg)
TSP Geométricos
El TSP euclideano considera n vértices en R2 (o
en general Rd) y el costo de un arco entre nodos
(x1,y1) y (x2,y2) es ((x1-x2)2 + (y1-y2)
2)1/2
Sanjeev Arora [1] propuso un esquema de
aproximación acotado polinomialmente para el
TSP euclideano. (Polynomial-time
Approximation Scheme- PTAS)
![Page 5: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/5.jpg)
TSP geométricos
Por muchos años las mejores aproximaciones
eran FACTOR 1.5 en tiempo polinomial usando el
algoritmo de Christofides [2][3]
Arora diseñó un esquema de aproximación para TSP
geométricos que para cada ε >o calcula solucionesaproximadas FACTOR (1+ ε), es decir el costo es
(1+ ε) OPT.La complejidad temporal está acotada por
n (log n) O(1/ ε) [1]
![Page 6: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/6.jpg)
Problema del viajante geométrico
El enfoque de Sanjeev Arora
Arora propone dividir recursivamente el problema
en subproblemas TSP débilmente dependientes que son
resueltos usando programación dinámica para encontrar
circuitos parciales que luego son combinados para
obtener los circuitos solución en los distintos niveles de
recursión.
![Page 7: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/7.jpg)
Problema del viajante geométrico
El enfoque de Sanjeev Arora
El esquema propuesto por Arora es el esquema
asintóticamente más eficiente para el TSP euclideano.
Sin embargo no es usado en la práctica por razones
de implementación.
La “constante de proporcionalidad” en la complejidad
temporal cobra más importancia que la complejidad
teórica.
![Page 8: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/8.jpg)
Problema del viajante geométrico
El enfoque de Sanjeev Arora
Los pasos propuestos para encontrar un
circuito son:
� Perturbación
� Partición random
� Construcción de circuitos”parciales”
� Reconstrucción del circuito global
![Page 9: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/9.jpg)
Arora TSP Euclideano
El cuadrado mínimo que contiene a los nodos
se denomina “bounding box”
Una disección de un cuadrado es una partición
recursiva en cuadrados.
![Page 10: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/10.jpg)
ARORA TSP - Perturbación
� Todos los nodos tienen
coordenadas enteras
� Cada distancia entre
nodos (>0) es al menos
de 2 unidades
� La distancia máxima
entre nodos es O(n)
![Page 11: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/11.jpg)
Arora TSP Euclideano
Disección randomizada
Sea P ∈ R2 el extremo más a la izquierda del
“bounding box” y la longitud de los lados del
cuadrado l. El “bounding box” es encerrado en
un cuadrado más grande llamado “enclosing
box” de lado L=2 l. El “enclosing box” se ubica de
forma tal que P esté a una distancia a del lado izquierdo
del cuadrado y b del lado más abajo, donde los enteros
a,b ≤ l son elegidos al azar.
![Page 12: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/12.jpg)
ARORA TSP euclideano
Disección randomizada
![Page 13: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/13.jpg)
ARORA TSP euclideano
Los nodos de la entrada y la unidad de la
cuadrícula son fijos. Sólo el “enclosing box” y su
disección son randomizadas. Se asume que L es
potencia de 2.
![Page 14: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/14.jpg)
ARORA TSP-Disección
(a) la disección y (b) su correspondiente quadtree
La disección randomizada es la partición recursiva del “enclosing box” en cuadrantes hasta que a lo sumo exista un nodo en cada cuadrícula.
![Page 15: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/15.jpg)
ARORA TSP Euclideano
Partición recursiva y el árbol de disección
![Page 16: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/16.jpg)
ARORA TSP – Portales
Los portales son puntos especiales sobre las líneas de la grilla y son usadospara calcular circuitos especiales (portal-respecting tour)
![Page 17: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/17.jpg)
válido
ARORA TSP- Portales
Un circuito basado en portales es un circuito que
cuando cruza una línea lo hace en un portal. Al
cruzarla, puede tener que desviarse del camino
directo entre los nodos.
inválido válido
![Page 18: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/18.jpg)
ARORA TSP
Circuito basado em portales
Un circuito que cruza cada lado de cada cuadrado de
la disección a lo sumo k veces es llamado k-ligth.
Eliminando visitas repetidas puede concluirse que un
circuito óptimo que pasa por portales no necesita
visitar un portal más de dos veces.
Un circuito está bien-formado si tienen nodos y un
subconjunto de portales. No admite intersecciones.
![Page 19: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/19.jpg)
ARORA TSP- Portales
Un algoritmo basado en programación dinámica
encuentra el circuito óptimo.
![Page 20: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/20.jpg)
ARORA TSP
Portales
![Page 21: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/21.jpg)
ARORA TSP - Reconstrucción
La reconstrucción del circuito se basa en la tabla
que genera el algoritmo de programación dinámica.
![Page 22: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/22.jpg)
Problema del viajante geométricoEl artículo siguiente artículo describe una implementación del
TSP euclidiano que se basa en los pasos esenciales propuestos por Arora e
incorpora algunas heurísticas para mejorar el tiempo de ejecución.
Se implementó en C++ y se analizó su performace usando Concorde Solver y TSPLIB.
“ An empirical Analysis of Approximation Algorithms for Euclidean TSP”
(Rodeker, B.;Cifuentes,V.; Favre, L.)
Proceedings 2009 International Conference on Scientific Computing (CSC'09),
ISBN 1-60132-098-1, pág. 190-196, CSREA Press, Las Vegas, USA, Julio de
2009.
![Page 23: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/23.jpg)
Implementación de ARORA TSP
geométrico
Diagrama de clases
![Page 24: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/24.jpg)
Implementación ARORA TSP
geométrico
![Page 25: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/25.jpg)
Implementación ARORA TSP
geométrico
![Page 26: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/26.jpg)
Implementación ARORA TSP
geométrico
![Page 27: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/27.jpg)
Conclusiones
La implementación mostró que es factible. Sin embargo,
los resultados prácticos no se acercan a la cota teórica.
Esto se debe a decisiones de implementación.
¿Cómo intentar mejorarlo?
Analizar otras representaciones para los TDA, refinar
y/o probar otras heurísticas para seleccionar portales en
el circuito.
![Page 28: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/28.jpg)
Un desafío…
Analizar las bases propuestas por Arora, la
implementación lograda y desarrollar una nueva
implementación intentando mejorar la existente.
![Page 29: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/29.jpg)
Otros desafíos…
Implementar otros problemas NP-HARD a partir de
estas ideas
Minimum Steiner Tree
Dado un grafo no-orientado G=(V,E) con arcos de
costos positivos y cuyos vértices están particionados en
dos conjuntos “required” y “Steiner”, encontrar un árbol
de recubrimiento de mínimo costo en G que contenga a
todos los vértices “required” de G y a algún subconjunto
de los vértices de Steiner.
![Page 30: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO](https://reader035.vdocuments.site/reader035/viewer/2022081701/62df7ca267885d342e13e469/html5/thumbnails/30.jpg)
Otros desafíos…
k-TSP
Dados n puntos y un número k, encontrar el
circuito de mínimo costo que visite k puntos