7

Click here to load reader

Problema del agente viajero (TSP)

Embed Size (px)

DESCRIPTION

El problema del agente viajero consiste en encontrar la mejor ruta (más corta, más económica o más rápida) para llegar a todos los nodos de una red volviendo al punto inicial al terminar el recorrido. En el documento se describe el problema, se modela matemáticamente y se muestra un ejemplo.

Citation preview

Page 1: Problema del agente viajero (TSP)

INTRODUCCIÓN

Al hablar del problema del agente viajero (Traveling Salesperson Problem, TSP), seguramente lo primero que se imagina es una persona (agente) que debe realizar una actividad determinada que implica hacer un recorrido a través de diferentes lugares por lo cual se debe escoger una opción de tal forma que la distancia recorrida sea mínima. Si piensa de esta forma no está muy equivocado, pues la estructura principal de este tipo de problemas es precisamente dirigirse a distintas ciudades las cuales se encuentran ubicadas a diferentes distancias, en donde el objetivo es llegar a cada una de ellas mediante la ruta más corta regresando al punto inicial. Sin embargo, son muchas las aplicaciones del TSP en diferentes campos de la vida real. Por esto se van a mostrar algunas formas de adaptar este modelo a determinadas situaciones. Además, se explicará cómo se debe realizar el modelo de programación lineal mediante ejemplos para minimizar las distancias, costos, tiempo, entre otros.

Page 2: Problema del agente viajero (TSP)

OBJETIVOS

• Explicar en qué consiste el problema del agente viajero (TSP) de forma general.

• Dar a conocer algunas aplicaciones del modelo TSP en la vida real mediante comparaciones.

• Mostrar mediante ejemplos el uso del modelo TSP en la vida cotidiana.

Page 3: Problema del agente viajero (TSP)

PROBLEMA DEL AGENTE VIAJERO

El problema del agente viajero consiste en encontrar el recorrido más corto entre n ciudades, teniendo en cuenta que cada ciudad puede ser visitada solo una vez antes de llegar de nuevo al punto de partida. Se puede ampliar la definición del problema para su aplicación en otras situaciones, entendiendo que siempre se busca minimizar la distancia, el tiempo o el costo de realizar una secuencia entre unos nodos que no necesariamente tienen que ser ciudades, sino que pueden ser puntos, estaciones, entre otros.

Minimizar el tiempo usado para la configuración de una máquina para la producción de varios artículos puede verse como un TSP, en el cual los nodos son los distintos artículos y las distancias son el tiempo gastado en cambiar de una configuración a otra. Se puede ver que los nodos no son lugares físicos así que la aplicación del problema es aún más amplia.

En caso de que al recorrer las ciudades no se conozcan las distancias (y no interesen estas ni el tiempo del viaje), se puede usar como referencia el costo del recorrido que en ocasiones será conocido y más importante que otros factores.

A continuación, se mostrará el modelo de programación lineal del problema.

MODELO DEL PROBLEMA DEL AGENTE VIAJERO

Sea

��� = �1, ������ ����������������������0,������������

��� = ������������������������� El objetivo es

������� =���������

���

���, ��� = ∞!����������� = �

Sujeto a

�����

���= 1, = 1,2, … , �

�����

���= 1, � = 1,2, … , �

Page 4: Problema del agente viajero (TSP)

��� = $0,1%!�����������&���� La primera restricción asegura que desde cada ciudad i solo se podrá llegar a una ciudad j. La segunda asegura que a cada ciudad j solo se podrá llegar desde una ciudad i. Si i = j se debe asignar un valor muy grande para la distancia ��� de

manera que se asegure que esa no será una ruta viable. Este valor se representa con una M en el modelo.

Otra forma de modelar el problema es la siguiente:

Sea ��� una variable binaria que dice si el viajero va de la ciudad i a la ciudad j

(i = 1,2,…, n; j = 1,2,…, n+1; i≠j). La ciudad de origen es irrelevante. Se usa n + 1 por conveniencia de notación. Se etiqueta la ciudad origen como 0 y también como n + 1. Se fija �',�(� = 0. La distancia entre la ciudad i y la ciudad j es ���. La función objetivo (a minimizar) es:

� � �������(�

���,�)�

��'

Ahora la restricciones. Para garantizar que se llega a cada ciudad exactamente una vez:

� ����

��',�)�= 1, � = 1,2, … , � + 1

Para garantizar que se sale de cada ciudad exactamente una vez:

� ����(�

���,�)�= 1, = 1,2, … , �

TSP y programación de restricciones.

Una característica poderosa de la programación de restricciones es que las variables se pueden usar como subíndices de los términos de la función objetivo. Teniendo esto en cuenta se obtiene otra forma de modelar el TSP.

El agente de ventas necesita visitar cada una de las n ciudades (ciudad 1, 2,…, n) solo una vez, si comienza en la ciudad 1 (su lugar de residencia) y regresa a la ciudad 1 después de completar el viaje. Sea ��� la distancia desde la ciudad i

hasta la ciudad j para i, j = 1, 2,…, n (i ≠ j). El objetivo es determinar cuál ruta debe

Page 5: Problema del agente viajero (TSP)

seguir el vendedor para minimizar la distancia total del viaje. Si la variable de decisión �� (j = 1, 2,…, n, n + 1) denota la j-ésima ciudad visitada por el agente

viajero, donde �� = 1 y ��(� = 1, se puede escribir el objetivo como:

��. � =��,-,-./�

���

EJEMPLO.

1. Ejemplo tomado de Taha, H. Investigación de Operaciones. 9ª. Ed. El programa de producción diaria en la compañía Rainbow incluye lotes de pintura blanca (W), amarilla (Y), roja (R), y negra (B). Las instalaciones de producción se deben limpiar entre uno y otro lote. La tabla 3 resume en minutos los tiempos de limpieza. El objetivo es determinar la secuencia de los colores que minimice el tiempo de limpieza total.

Blanca Amarilla Negra Roja Blanca 0 10 17 15 Amarilla 20 0 19 18 Negra 50 44 0 22 Roja 45 40 20 0

Tabla 3. Tiempos de limpieza entre lotes.

Modelación.

Sea

��� = �1, ���!���������������!�����0,������������

= 1$0�����%, 2$1������%, 3$3� ��%, 4$5���% � = 1$0�����%, 2$1������%, 3$3� ��%, 4$5���%

El objetivo es

������� = ���� + 10��6 + 17��8 + 15��: + 20�6� +��66 + 19�68 + 18�6:+ 50�8� + 44�86 +��88 + 22�8: + 45�:� + 40�:6 + 20�:8 +��::

Sujeto a

����:

���= 1, = 1,2,3,4

Page 6: Problema del agente viajero (TSP)

����:

���= 1, � = 1,2,3,4

��� = $0,1%!�����������&����

Page 7: Problema del agente viajero (TSP)

BIBLIOGRAFÍA

• HILLIER, Frederick. LIEBERMAN, Gerald. Introducción a la Investigación de Operaciones. Novena edición. Mc-Graw Hill, México, 2010. Págs. 492, 493.

• TAHA, Hamdy. Investigación de Operaciones. Novena edición. Pearson Educación, México, 2012. Págs. 395-399.