Documente Academic
Documente Profesional
Documente Cultură
Heursticas
Variantes del VRP
Erwin Delgado
Julio 2012
Tabla de contenido
Tabla de contenido
Heursticas
Clasicas heursticas
Metodos constructivas
Metodos de dos fases
Metodos de mejora
Tabla de contenido
Heursticas
Clasicas heursticas
Metodos constructivas
Metodos de dos fases
Metodos de mejora
El objetivo del VRP es determinar un conjunto de rutas optimas para que una
flota de vehculos, localizados en uno o varios depositos atiendan la demanda
de bienes o servicios a un conjunto clientes distribuidos geograficamente en un
periodo dado, utilizando para ello una red vial disponible.
Red vial
Representada por medio de un grafo G = (V , A), siendo V un conjunto de
nodos que representan a los clientes y depositos y A un conjunto de
secciones de vas.
Estas secciones pueden ser direccional o bidireccional.
A cada seccion se le asocia un costo(longitud, tiempo de viaje, etc), el
mismo que puede estar en funcion de parametros.
Clientes
Demanda.
Ventana de tiempo.
Tiempo de servicio.
Subconjunto de vehculos habilitados.
Vehculos.
Capacidad.
Subdivisiones de los vehculos en compartimientos.
Subconjunto de secciones de la red vial que pueden ser utilizados por
determinados vehculos
Costos fijos por utilizacion.
Depositos.
Capacidad.
Multiples depositos.
Se puede considerar:
Restricciones operacionales dadas por contratos o regulaciones de la
compana:
Periodos de trabajo durante el da.
Numero y duracion de descanos durante el da.
Maximo tiempo de duracion
Naturaleza de los bienes, nivel de servicio establecido, caractersticas de los
clientes y vehculos
Capacidad vehicular
Las rutas pueden durar mas de un periodo.
Longitud de una ruta.
Precedencia.
Ventanas de tiempo.
Costo total
Aplicaciones
Codigo e instancias http://www.tsp.gatech.edu/index.html
Definiciones
Formalizacion
Variables de decision:
1, si (vi , vj ) pertenece a la ruta r
xijr =
0, caso contrario
Formulacion
m
X X
min cij xijr
e
r =1 (vi ,vj )A
m
X X
xijr = 1, vi V , i 6= 0
r =1 vj 6=vi
X X
xijr = xjir , vi V , r R
vj 6=vi vj 6=vi
X
xijr = |W | 1, W V , v0
/ W , r R
vj ,vi W
X
x0jr 1, r R
vj 6=v0
X
di xijr Q, , r R
(vi ,vj )A
Particionamiento de conjuntos
s
X
min cj xj (1)
j=1
sujeto a:
s
X
aij xj = 1, i V \ {0} (2)
j=1
s
X
xj = K (3)
j=1
Clasificacion
Paso 0: k=0;
Paso 1: k=k+1;Sea S = V \ {0}. Sea i V tal que c0i = Minc0i i S.
Hacer rk = {i }
Paso 2: Escoger el cliente j S tal que ci j = Mincij . rk = rk {j}. Si
P
nrk dn Q, hacer S = S\ {j } ,i = j ir al paso 3; sino
rk = rk {j }, ir al paso 1;
Paso 3: Si S 6= , volver al paso 2.Si no, FIN.
Metodos de mejora
Datos de entrada:
Un grafo dirigido D = (U V , A) con:
U = {u1 , u2 , ..., um } (depositos)
V = {v1 , v2 , ...,
vn } (clientes)
A = wi , wj : wi , wj U V , wi V wj V
Los nodos en U representan depositos con capacidades 1 , ...., m (numero
de vehculos)
Datos de entrada:
Cada deposito u U contiene una flota homogenea de vehculos, cuyos
costos (tiempos) de desplazamiento estan dados por un vector c A .
Los nodos en V representan clientes y tienen asociados tiempos de servicio
1 , ...., n
Cada deposito contiene una flota homogenea de vehculos, ubicados
geograficamente en el mismo lugar.
Definiciones:
Una ruta r es un circuito cerrado dirigido que contiene exactamente un
nodo de U:
Variables de decision:
1 si (w , w ) es usado en alguna ruta de u U
xwu w = (6)
0 caso contrario
Observacion: Las variables estan asociadas a depositos.
Aplicaciones:
Abastecimiento.
Visitas tecnicas.
Viajes contratados.
Transporte de dinero.
Auxilio mecanico.
Datos de entrada:
Cada deposito u U contiene una flota homogenea de vehculos, cuyos
costos (tiempos) de desplazamiento estan dados por un vector c u VxV .
Los nodos en V representan clientes y tienen asociados tiempos de servicio
v , v V
Asociado a cada cliente v V esta ademas una ventana de tiempo [av , bv ]
en la cual la visita a v debe empezar.
Formalizacion:
Costos de desplazamiento modificados
u
cw w + w si w V
cwu w = (14)
cwu w caso contrario
u U : av + cwu w bv
Arcos:
Tres tipos de arcos:
As = {(u, v ) : u U, v V } (salida)
Ar = {(v , u) : u U, v V } (retorno)
r = (u, v1 , v2 , ..., vk , u)
con v1 , v2 , ..., vk V
Rutas factibles:
Una ruta es factible si cada nodo cliente es visitado dentro de su ventana de
tiempo:
j1
X
avj cuuv1 + cvus vs+1 bvj , j = 1, ..., k.
s=1
Costo de rutas:
El costo c(r ) (o duracion) de r esta dado por:
k1
X
c(r ) = cuuv1 + cvus vs+1 + cvuk u
s=1
Problema:
Encontrar un conjunto de rutas factibles tal que:
Cada cliente sea atendido por una sola ruta dentro de su ventana de
tiempo.
El costo acumulado de las rutas sea mnimo
Erwin Delgado Problema del ruteo vehicular
Depositos multiples
Problema de ruteo vehicular Ventanas de tiempo
Heursticas Capacidad limitada
Variantes del VRP Ruteo con carga y descarga
Ruteo con tamano de carga flexible
Variables de decision:
1 si (w , w ) es usado en alguna ruta de u U
xwu w = (15)
0 caso contrario
Tiempos de visita:
v V : Tv : Tiempo en que el cliente v es visitado.
Funcion objetivo: X X
min cwu w xwu w (16)
uU (w ,w )A
Restricciones: X X u
xvw = 1, v V (17)
uU (v ,w )A
X u
X u
xwv = xvw , v V , u U (18)
(w ,v )A (v ,w )A
X
xvuv |W | 1, W V , u U (19)
v ,v W
X u
X u
xuv + xvu 0 , u, u U, u 6= u (20)
(u,v )A (v ,u)A
X u
xuv u , u U (21)
(u,v )A
av Tv bv , v V (22)
u u
xuv (cuv Tv ) = 0 (u, v ) As u U (24)
Tv , v V (26)
r
Se basa en que xvw esta asociado a una ruta r .
Valida solo para problemas con deposito unico y flota homogenea.
u
No es posible generalizarla al caso donde xvw esta asociada a un deposito u
Datos de entrada:
Cada deposito u U contiene una flota homogenea de vehculos, cuyos
costos (tiempos) de desplazamiento estan dados por un vector c u VxV .
Cada vehculo del deposito u U tiene una capacidad de carga igual a Qu
Los nodos en V representan clientes y tienen asociados tiempos de servicio
v y demandas dv v V
Formalizacion:
Costos de desplazamiento modificados
u
u cw w + w si w V
cw w = (27)
cwu w caso contrario
Arcos:
Tres tipos de arcos:
As = {(u, v ) : u U, v V } (salida)
Ar = {(v , u) : u U, v V } (retorno)
Rutas:
una ruta r es un circuito cerrado dirigido que contiene exactamente un nodo de
u U:
r = (u, v1 , v2 , ..., vk , u)
con v1 , v2 , ..., vk V
Costo de rutas:
El costo c(r ) (o duracion) de r esta dado por:
k1
X
c(r ) = cuuv1 + cvus vs+1 + cvuk u
s=1
Rutas factibles:
Una ruta es factible si la suma de la demanda de los clientes visitados no
excede la capacidad del vehculo:
k
X
dvi Qu
i=1
Problema:
Encontrar un conjunto de rutas factibles tal que:
Cada cliente sea atendido por una sola ruta, la cual no excede en la
capacidad del vehculo.
El costo acumulado de las rutas sea mnimo
Variables de decision:
1 si (w , w ) es usado en alguna ruta de u U
xwu w = (28)
0 caso contrario
Carga de vehculos:
v V , u U : Luv : Carga del vehculo u al salir de v .
Funcion objetivo: X X
min cwu w xwu w (29)
uU (w ,w )A
Restricciones: X X u
xvw = 1, v V (30)
uU (v ,w )A
X u
X u
xwv = xvw , v V , u U (31)
(w ,v )A (v ,w )A
X
xvuv |W | 1, W V , u U (32)
v ,v W
X u
X u
xuv + xvu 0 , u, u U, u 6= u (33)
(u,v )A (v ,u)A
X u
xuv u , u U (34)
(u,v )A
Luv Qu , v V , u U. (35)
u
xuv (Luv dv ) = 0 (u, v ) As u U (37)
Luv 0, v V u U (39)
Luv + dv = Luv (v , v ) Ac u U
La dificultad de lo anterior es que las restricciones anteriores no son lineales.
Linealizacion:
Puede emplearse el metodo Big-M:
Luv + dv Luv + M
sea redundante.
Parametros y variables
N: Conjunto de cargas.
Asociado a cada punto de carga de la carga i, esta asociado el punto de
descarga N + i.
Np = {1, 2, ..., N}: Conjunto de nodos de carga.
Nd = {N + 1, N + 2, ..., 2N}: Conjunto de nodos de descarga.
V : Conjunto de vehculos de la flota.
(Nv , Av ): Grafo asociado con el vehculo v .
Nv : {Nodos factibles para el vehculo v} {o(v ), d(v )}
Av : Conjunto de todos los arcos factibles para el vehculo v V
Npv : Conjunto de nodos de carga, asociado al vehculo v V .
Ndv : Conjunto de nodos de descarga, asociado al vehculo v V .
Qi : Cantidad de la carga i
Vcapv : Capacidad del vehculo v .
Tsijv : Suma de los tiempos de viaje desde el nodo i al nodo j con el vehculo v
y los tiempos de servicio en el nodo i.
[TMNiv , TMXiv ]: Ventana de tiempo del vehculo v en el punto i.
Cijv : Costo al viajar desde el punto i hasta el punto j.
Parametros y variables
1, Si el vehculo v viaja desde el nodo i directamente al nodo j,
xijv = v V , (i, j) Av
0, caso contrario
liv , v V , i Nv \ {d(v )}: carga total a bordo del vehculo v justo despues de
atender al cliente i.
Formulacion matematica
X X
min Cijv xijv
v V (i,j)Av
Sujeto a: XX
xijv = 1, i Np
v V jNv
X
xo(v )jv = 1, v V
jNpv {d(v )}
X X
xijv xjiv = 0, v V , j Nv \ {o(v ), d(v )}
iNv iNv
X
xid(v )v = 1, v V
iNdv {o(v )}
Formulacion matematica
Formulacion matematica
X X X X
max Pi qiv Cijv xijv
v V iNpv v V (i,j)Av
Sujeto a: X X
xijv = 1, i Np
v V jNv \{o(v ),d(v )}
X
xo(v )jv = 1, v V
jNpv {d(v )}
X X
xijv xjiv = 0, v V , j Nv \ {o(v ), d(v )}
iNv iNv
X
xid(v )v = 1, v V
iNdv {o(v )}
Formulacion matematica
X X
QMNi xijv qiv QMXi xijv , v V , i Npv
jNv jNv
lo(v )v = 0, v V
Formulacion matematica
X
qiv liv Vcapv xijv , v V , i Npv
jNv
X
0 lN+i,v Vcapv xN+i,jv qiv , v V , i Npv
jNv
X X
xijv xj,N+i,v = 0, v V , i Npv
jNv jNv