Está en la página 1de 20

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 logstico, 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

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 objetivo 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 fuerza 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 segundos 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 partida 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:

Bogot

Cali

Medelln

Pasto

Bucaramanga

Villavicencio

Armenia

Valledupar

Leticia

Yopal

Florencia

Puerto Inrida

DESARROLLO DEL PROBLEMA


Matemticamente el modelo se puede expresar as:

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 superior 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. Bogot Yopal Villavicencio Bogot.
2. Cali Medelln Armenia Cali.
3. Pasto Florencia Pasto.
4. B/manga Valledupar B/manga.

5. 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. =L19+H28+C24
2. =E20+I21+D25
3. =M22+F29
4. =J23+G26
5. =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 fin 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

El Excel permite modelar fcilmente 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 relativamente 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 computacional.

También podría gustarte