You are on page 1of 13

PROBLEMA DEL AGENTE VIAJERO (PAV) Y UNA SOLUCION CON SOLVER DE EXCEL ANDRES MAURICIO CAMACHO SANCHEZ COD.

1032408541 acamachos@ucentral.edu.co RESUMEN

Este documento presenta la solucin a un caso log stico, un problema de ruteo para un recorrido a nivel nacional. Este caso es modelado como un problema del agente viajero resuelto con la hoja de calculo de Excel. El problema usa informacion actual de las distancias existentes entre una ciudad y otra. Para nuestro caso, manejamos 12 ciudades.
OBJETIVO y

Obtener el resultado de ruteo mas ptimo posible. Para lograr un recorrido mnimo de todas las ciudades partiendo desde una origen y regresando de nuevo a esta.

INTRODUCCIN

El problema del viajante es un ejemplo que muestra y analiza la problemtica que subyace tras algunos tipos de problemas matemticos que a priori parecen tener una solucin relativamente fcil, y en la prctica presentan un gran problema. La respuesta al problema es conocida, es decir se conoce la forma de resolverlo, pero slo en teora, en la prctica la solucin no es aplicable debido al tiempo que computacionalmente se precisa para obtener su resultado (problema de tipo NP-hard). El problema del viajante (tambin conocido como problema del viajante de comercio o por sus siglas en ingls: TSP) es uno de los problemas ms famosos (y quizs el mejor estudiado) en el campo de la optimizacin combinatoria computacional. A pesar de la aparente sencillez de su planteamiento, el TSP es uno de los ms complejos de resolver y existen demostraciones que equiparan la complejidad de su solucin a la de otros problemas aparentemente mucho ms complejos que han retado a los matemticos desde hace siglos. Sean N ciudades de un territorio. El ob jetivo es encontrar una ruta que, comenzando y terminando en una ciudad concreta, pase una sola vez por cada una de las ciudades y minimice la distancia recorrida por el viajante.

La solucin ms directa es la que aplica la fuerza bruta: evaluar todas las posibles combinaciones de recorridos y quedarse con aquella cuyo trazado utiliza la menor distancia. El problema reside en el nmero de posibles combinaciones que viene dado por el factorial del nmero de ciudades (N!) y esto hace que la solucin por fuer za bruta sea impracticable para valores de N incluso moderados con los medios computacionales actualmente a nuestro alcance. Por ejemplo, si un ordenador fuese capaz de calcular la longitud de cada combinacin en un microsegundo, tardara algo ms 3 segund os en resolver el problema para 10 ciudades, algo ms de medio minuto en resolver el problema para 11 ciudades y 77.146 aos en resolver el problema para slo 20 ciudades. Por ejemplo las rutas posibles entre 12 ciudades son 479.001.600 combinaciones y los caminos individuales entre ciudades son el sumatorio de las 12-1 ciudades es decir 66.
PLANTEAMIENTO DEL PROBLEMA

El problema consiste en determinar la mejor ruta o mnimo recorrido, que se realice entre las 12 ciudades, partiendo desde un punto de partid a y regresando a este (ciclo Hamiltoniano), adems se tiene que visitar todas las ciudades una sola vez. A continuacin se mencionan las ciudades de trabajo:
y y y y y y y y y y y y

Bogot Cali Medelln Pasto Bucaramanga Villavicencio Armenia Valledupar Leticia Yopal Florencia Puerto Inrida

DESARROLLO DEL PROBLEMA

Matemticamente el modelo se puede expresar as:


y Funcin objetivo:

MIN

Sujeto a:

Se puede necesitar romper un subciclo, por tanto:

Donde, Distancia de ir de un lugar i a un lugar j. Variables binarias de decisin. Toma valor de 1 cuando se selecciona el modo de ir de i a j, o toma 0 cuando ese modo no es seleccionado. Un subciclo es un circuito formado por un subconjunto del ciclo Hamiltoniano, es decir del ciclo en general. Ejemplo:

Fig 1. Subciclos de 3 y de 9 ciudades

Para dar inicio al desarrollo del problema, partimos de la tabla de datos, con sus respectivas distancias dadas en KM, esta es desarrollada en la hoja de clculo de Excel.

TABLA 1. MATRIZ DE DISTANCIAS, DADAS EN KM.

Para dar solucin al problema, es modelado en la hoja de clculo Excel. En la siguiente tabla, se presenta una matriz de distancias, como la anterior, en el rango C5:N16. Y una matriz de celdas variables, en el rango C19:N30. Las restricciones 1 y 2 del modelo matemtico se representa en los rangos C35:N35, que son bsicamente la suma de las columnas respectivas, y a su vez, son igualadas al valor del rango C34:N34, es decir a 1. Por ejemplo, en la celda C35, realizamos la formula de ( =suma(C19:C30)), luego le damos ENTER, el valor inicial que toma antes de resolverlo todo es de 0, despus en el solucionario solver, utilizamos el valor asignado, es decir 1, que se encuentre en la parte super ior C34, sin embargo lo incluimos para tenerlo en cuenta y evitar futuras confusiones. La otra restriccin , es la que est ubicada en el rango Q19:Q30, que son la suma de las filas respectivamente, y tambin se igualan a 1, valor que se ubica en la parte izquierda. Lo anterior representa las restricciones 1 y 2, que cumplen las condiciones de: visitar todas las ciudades y que solo se visiten estas una sola vez. La restriccin 3, se utiliza cuando ejecutemos la herramienta solver, herramienta que ms adelante ser explicada y que simplemente establece, que los valores obtenidos en la matriz de variables solamente sern 1 y 0 , lo cual indicara el orden de prioridad de ruteo entre las ciudades. Por ltimo, la restriccin 4, se empleara en el hecho de que se presente algn subciclo, esto ocurrir en el caso de que de primeras, no nos arroje un ciclo Hamiltoniano bien hecho. O por el contrario, si obtenemos un ciclo bien formado pero queremos reducir an ms la distancia de total de recorrido, en otras palabras seguir minimizando. A continuacin se muestran las tablas:

TABLA 2. MATRIZ DE DISTANCIAS Y MATRIZ DE VARIABLES CON RESTRICCIONES 1 Y 2.

Una vez realizada la tabla, procedemos a desarrollarla en la herramienta solver, tener en cuenta si esta aplicacin est instalada o no. Una vez ubicada, la abrimos y en la primera opcin, donde dice celda objetivo, ubicamos la celda objetivo de nuestra tabla la cual es I:32, celda que previamente tiene como calculo tiene la siguiente frmula: ( =suma producto (C5:N16;C19:N30)), esta operacin realiza el producto y la suma de la matriz de distancias con la de variables. Esta representa la funcin objetivo del modelo matemtico antes explicado. Despus en la parte de valor de la celda objetivo, escogemos el objetivo de nuestra solucin, la cual es el de minimizar, entonces sealamos la opcin de mnimo. Seguidamente, en la opcin de cambiando las celdas, escogemos el rango de la matriz de celdas variables, la cual es a donde irn los resultados obtenidos. Y en la parte de restricciones, ubicamos las que habamos hecho en la hoja de clculo, las cuales son: suma de filas, suma de columnas y una nueva, la que es de establecer la matriz de variables como valores binarios. Por ltimo antes de darle en resolver, vamos a opciones y escogemos la opcin de adoptar modelo lineal y adoptar no negativos, esto con el fin de no obtener resultados negativos; tambin cambiamos el nmero de iteraciones a 200 para que este no le arroje errores ms adelante en la simulacin. Luego damos en aceptar y por ultimo en resolver. Lo cual obtenemos lo siguiente:

TABLA 3. RESULTADO ARROJADO POR SOLVER.

Vemos inicialmente que, el resultado que no muestra solver, ya presenta los primeros subciclos los cuales son: 1. 2. 3. 4. 5. Bogot Yopal Villavicencio Bogot. Cali Medelln Armenia Cali. Pasto Florencia Pasto. B/manga Valledupar B/manga. Leticia Pto Inrida - Leticia.

Estos subciclos hacen que se tengan que adicionar un conjunto de restricciones para poder romperlos. Las nuevas restricciones se muestran en la siguiente tabla.
0 0 0 0 0 <= <= <= <= <= 1 1 1 1 1 1 2 3 4 5

TABLA 4. PRIMERAS RESTRICCIONES PARA EVITAR SUBCICLOS.

Inicialmente valen 0 las restricciones pero a continuacin se muestran las formulas empleadas para romper los 5 primeros subciclos respectivamente. 1. 2. 3. 4. 5. =L19+H28+C24 =E20+I21+D25 =M22+F29 =J23+G26 =N27+K30

Lo de la parte derecha es para reflejar que operacin se le harn cuando las vayamos a incluir en el solver. Por ltimo volvemos a la aplicacin, las agregamos y le damos de nuevo en resolver. Cabe anotar que cada vez que se agreguen restricciones hay que borrar la matriz de variables, esto con el f in de evitar confusiones, ya que se estaran sobrescribiendo los valores.

A continuacin obtenemos el siguiente resultado.

TABLA 5. SOLUCION EVITANDO LOS 5 PRIMEROS SUBCICLOS.

Analizando el segundo resultado, vemos que vuelve a ocurrir subciclos, pero esta vez reducido solamente a dos. Los cuales son: 1. Bogot Villavicencio Bogot. 2. Cali Armenia Medelln Valledupar B/manga Yopal Pto Inrida Leticia Florencia Pasto Cali.

Una vez ms, se realizan restricciones para evitar estos dos nuevos subciclos, y as sucesivamente si continan saliendo ms, hasta obtener un ciclo bien hecho. Estas dos restricciones son: 1. =H19+C24 2. =I20+E25+J21+G26+L23+N28+K30 Solucionando de nuevo obtenemos:

TABLA 6. RESULTADO FINAL, QUE MINIMIZA EL RECORRDIO DEL TOUR.

Con este nuevo resultado, vemos que ocurre un ciclo completo, es decir nos da una opcin clara o aproximada de un posible recorrido, obteniendo un trayecto total mnimo. Sin embargo esta solucin no estima que sea la ms correcta o la ms eficiente, pero si una ms aproximada. Para lograr ms exactitud, el nmero de restricciones deben aumentar y por lo tanto la complejidad computacional crecer linealmente, llevando a que por ejemplo la herramienta del solver no logre ejecutarlo. Para nuestro ejercicio la secuencia dio de la siguiente manera: 1. Bogot Armenia Cali Pasto Florencia Leticia Pto Inrida Yopal B/manga Valledupar Medelln Villavicencio Bogot. Con un trayecto total de 4621.74Km.

CONCLUSIONES y

El Excel permite modelar f cilmente este tipo de problema presentando algunas limitaciones y dificultades para buscar la solucin, como es el caso de estar agregando restricciones. La herramienta es una alternativa para dar solucin a un grupo de empresas que tienen problemas relat ivamente pequeos y as evitar grandes inversiones en software. Esta metodologa nos da un resultado muy aproximado, no siempre el ms ptimo o eficiente, por lo que su anlisis y procedimiento es demasiado extenso, lo cual exige mayor complejidad computac ional.

You might also like