algoritmos aproximados. tsp geomÉtrico

30
ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO Análisis y diseño de algoritmos II- 2009

Upload: others

Post on 26-Jul-2022

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO

ALGORITMOS

APROXIMADOS.

TSP GEOMÉTRICO

Análisis y diseño de algoritmos II- 2009

Page 2: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO

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

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

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

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

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

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

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

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

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

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

ARORA TSP euclideano

Disección randomizada

Page 13: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO

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

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

ARORA TSP Euclideano

Partición recursiva y el árbol de disección

Page 16: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO

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

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

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

ARORA TSP- Portales

Un algoritmo basado en programación dinámica

encuentra el circuito óptimo.

Page 20: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO

ARORA TSP

Portales

Page 21: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO

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

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

Implementación de ARORA TSP

geométrico

Diagrama de clases

Page 24: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO

Implementación ARORA TSP

geométrico

Page 25: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO

Implementación ARORA TSP

geométrico

Page 26: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO

Implementación ARORA TSP

geométrico

Page 27: ALGORITMOS APROXIMADOS. TSP GEOMÉTRICO

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

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

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

Otros desafíos…

k-TSP

Dados n puntos y un número k, encontrar el

circuito de mínimo costo que visite k puntos