You are on page 1of 11

Problema del agente viajero con ventanas de tiempo

Juan Manuel Ospina C.


0840730
Cristian Ivan Rojas V.
1040914
David Alfredo Serna H.
0939808

Complejidad y Optimizacin

Profesores
Irene Tischer
Nilson Mossos

Universidad del Valle


Escuela de ingeniera de sistemas y computacin
Noviembre de 2014

Problema del agente viajero con ventanas de tiempo

MODELO PLANTEADO:

Se definen las siguientes variables:

X i = Tiempo de llegada al nodo i.


T i = Tiempo que se demora en nodo i .

A i = Hora minima de llegada en el nodo i.


B i = Hora maxima de llegada en el nodo i.
Ei = Tiempo de espera si llega antes del tiempo

Ai .

M ij = distancia entre nodo i y j.


B ij =Booleano si pasa o no por el camino

M ij .

RESTRICCIONES

Se debe plantear una restriccin que nos retorne el tiempo de llegada a un nodo. Por
anlisis del problema se infiere, si paso primero por el nodo i antes de el nodo j:

X j X i +T i + M ij X i X j +T i + M ij
Para obtener una solucin en la que se exprese si se llego a i antes que a j, o viceversa,
declaramos la variable binaria

B ij que toma un valor de (1 o 0) ; en este

contexto la vamos a usar de la siguiente manera:

B ij =1, Si se llego a i inmediatamente antes que j.

B ij =0, Si se llego a j inmediatamente antes que i.

Es necesaria, una expresin que relacione y enlace las variables que intervienen
en la determinacin del orden de llegada a los sitios.

Para un valor O lo suficientemente grande, las restricciones de orden se


convierten en las siguientes restricciones:

X jX i +OB ij OT jM ij (1)
De esta manera garantizamos que una restriccin se cumpla y la otra se vuelva
redundante, o paso por el camino

M ij o paso por el camino

M ji

A continuacin definiremos las restricciones en cuanto al tiempo de llegada; la suma del


tiempo de llegada y el tiempo de espera debe ser menor o igual al tiempo mximo de
atencin.
Definimos el tiempo de espera como:

Ei=Ai Xi

X i + Ei Bi (2)

Como el problema dice que el agente puede llegar antes del tiempo del inicio de
atencin, no definimos esta restriccin como una restriccin Hard.

Adicionalmente se deben aadir las restricciones del TSP, la tercera y cuarta restriccin
me garantizan que pasa por todos los puntos slo una vez; y que de un punto i no puede
salir a dos puntos simultneamente, ni tampoco llegar de dos puntos diferentes a un
mismo punto.
n

Bij=1 para todos los j(3)


i=1
n

Bij =1 para todo i(4)


j=1

FUNCION OBJETIVO

Definimos Bij como si se toma o no el camino ij.

B ij =(0,1)(5)
n

BijM ij+ Ei para Mij 0(0)


i, j

JUSTIFICACION DEL MODELO

La estrategia planteada fue basarnos en el libro de Taha, 2004. Ejemplo 9.1-4


(Restricciones o bien), el paper que adjuntamos en referencias y los ejemplos vistos en
clase. Con ayuda de esos problemas logramos adaptar nuestro modelo a las condiciones
ofrecidas por el problema TSP con ventanas de tiempo.
El modelo diseado corresponde al objetivo planteado del problema que es minimizar las
rutas del recorrido y los tiempos de espera.
El modelo define las primeras n variables como el tiempo de llegada a cada uno de los n sitios, las
siguientes n*n variables como si pasa o no por el camino Bij, y las siguientes n variables son el
tiempo de espera en cada sitio.
Ejemplo:
N=3
C1= Tiempo llegada sitio1, C2= Tiempo llegada sitio2, C3= Tiempo llegada sitio3, C4= B11 , C5= B12
C12=B44, C13=Tiempo de espera sitio1, C14=Tiempo de espera sitio2, C15=Tiempo de espera
sitio3.

DETALLES DE LA IMPLEMENTACION
La implementacin fue desarrollada haciendo uso de la herramienta LpSolve, en la cual
es posible definir el espacio de la matriz definiendo el nmero de variables y tambin
aadir restricciones en forma de arreglos, de la siguiente forma:

Supongamos que se quiere definir un espacio de tres variables x, y, z. y se quiere aadir


la restriccin 2x +3y -z = 4, si definimos las variables en la matriz en orden x, y, z el
arreglo correspondiente a esta restriccin seran los coeficientes de la misma: (2, 3, -1) el
tipo de la restriccin (=, <, >, <=, >=) y el trmino independiente son el segundo y
tercer parmetro del mtodo addConstraint respectivamente.

Con estas consideraciones definimos la matriz generarla de la siguiente forma:


Se adjuntan modelos generados mientras se testeaba la aplicacin siendo n el campo
Instalacin paquete LpSolve
Para poder hacer uso de la herramienta LpSolve en Java es necesario importar la librera
lpsolve55j.jar y adems aadir en las libreras del sistema operativo (en windows en
WINDOWS\System32\) los archivos .dll necesarios listados a continuacin.
lpsolve55j.dll
lpsolve55.lib
lpsolve55.dll
liblpsolve55d.lib
liblpsolve55.lib
calculo MGrande calcularMGrande() clase ModeloTSP.
La solucin para calcular un M que no sea muy pequeo ni muy grande (respecto a la
entrada), definimos el M como la suma de todos los tiempos de servicio (tiempo que se
demora en el sitio i) y la distancia que le cuesta recorrer desde el sitio i al j.

PRUEBAS Y ANALISIS DE RESULTADOS

PRUEBAS
N =2
Entrada:

Salida:

Solucin ptima: 2-1; 1-2.

N =3
Entrada:

Salida:

Solucin ptima: (1-2; 2-3; 3-1).

N=4
Entrada:

Salida:

Solucin ptima: 1-2; 2-3; 3-4; 4-1;

N=5

Entrada:

Salida:

Solucin ptima: 1-3; 3-2; 2-5; 5-4; 4-1;

N=7

Solucin optima: 1-2;2-6;6-7;7-3;3-5;5-4;4-1.


CONCLUSIONES
La programacin lineal nos brinda una herramienta potente para resolver sistemas de
ecuaciones lineales con muchas variables, de manera iterativa y con un procedimiento
muy rpido, para este caso en particular, este sistema trabaja de forma rpida para un
nmero aproximado de 7 sitios, donde el tiempo de ejecucin no demora ms de medio
minuto. Sin embargo, requiere de un correcto modelado para dar la solucin ptima y
abordar de la mejor manera el problema.

El modelado de problemas de optimizacin es muy complejo, slo la experiencia y


prctica de esta actividad desarrollan habilidades para realizarlo de manera rpida y
correcta. No obstante, en libros como el de Taha, hay muchas estrategias planteadas que
nos ayudan a abordar los problemas que necesitamos resolver.
No se debe desconocer de la naturaleza de este problema en particular, ya que presenta
una solucin combinatoria dada por el numero de sitios que entran en el caso de prueba.

En cuanto al tiempo de ejecucin, concluimos que est altamente relacionado con los
valores iniciales que se le den al problema, ya que dichos valores pueden llevar a la
divergencia, o a la convergencia rpida del modelo.

REFERENCIAS
Investigacin de operaciones, 9na Edicion Hamdy A. Taha - FL
(Especficamente para restricciones de orden)

The traveling salesman problem with time Windows


Tomado de http://www.eio.uva.es/~jsaez/maio/tsptw.pdf
consultado el 2 de Noviembre de 2014.

You might also like