You are on page 1of 65

U N I V E R S I D A D C AT Ó L I C A D E L N O R T E

D E PA R TA M E N T O D E I N G E N I E R Í A I N D U S T R I A L
INGENIERÍA CIVIL INDUSTRIAL

CAPÍTULO II : RUTEO VEHICULAR

DAII 604 – Investigación Operativa II


1er semestre 2022

Bryan Urra Calfuñir, M.Sc.(c)


bryan.urra@ce.ucn.cl
Diseño de Redes de Distribución (DRD) UNIVER
ANDRES

Fuentes: Plantas, Plantas, puntos de Almacenes de campo,


Clientes, Centros
Proveedores, almacenamiento. puntos de
de Demanda.
Puertos, etc. almacenamiento.

INTRODUCCIÓN: Suminist ro

ETAPAS DEL
SISTEMA DE Demanda

DISTRIBUCIÓN Suminist ro

Costos de
Inventario,
Almacenamiento
y Operaciones
Costos de Costos de
Producción y Inventario, Costos de
Costos de Transporte
Compras Almacenamiento
Transporte
y Operaciones
Capítulo I : Ruteo Vehicular

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 2


Introducción
En general:
◦ Se debe considerar dónde están las instalaciones, qué tipo de
instalaciones y cómo operan dichas instalaciones.
◦ Los productos deben estar en el lugar y tiempo indicadas, en la cantidad
pedida al tiempo deseado para satisfacer los requerimientos del cliente.
◦ Relevancia en torno al uso e integración de tecnología.
➢ Laintegración de tecnología no sólo puede ser disruptiva en cuanto a la operación y cómo se realizan
las operaciones, sino que además puede generar una mayor complejidad para el manejo de las
mismas.
◦ Se debe tener una especial preocupación en el cómo interactúan las
tecnologías con los seres humanos.
➢ Se debe privilegiar la seguridad y conveniencia en la interacción.

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 3


Introducción
◦ Dentro de las tecnologías, el uso de drones es uno de los más comunes.
➢ Esta
integración permite no sólo entregas “autónomas”, sino que además de estrategias que
combinan vehículos y drones para la distribución.
◦ Se consideran además condiciones de entrega especiales (e.g., Same
Day Delivery).

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 4


Introducción
◦ La gestión de esta última etapa es la más “corta” respecto a la cadena de
suministro global, pero también es la más costosa y compleja.
➢ Cerca del 40% del costo global se explica por esta parte de la operación.
➢ Serequieren soluciones no sólo novedosas, sino que “hechas a la medida” de cada uno de los casos
considerados.
➢ Carga desconsolidada (a nivel de ítem, caja o pallet) y, a veces, camionadas.
➢ Muchos destinos que solicitan ocasionalmente despachos de poco volumen.
➢ Imprevisibilidad de cambios en las condiciones de tránsito.
➢ Ruteos ineficientes.
➢ Múltiples intentos fallidos de entrega
Todos estos aspectos se conocen actualmente como Gestión de la Última
Milla o Last-Mile Management.

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 5


Introducción
Desafíos de la última milla

Fuente: Capgemini Research Institute, Last-mile https://www.ecommerceccs.cl/tendencoas-del-


delivery executive survey, October-November 2018, ecommerce-en-chile/
N=500 executives

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 6


Introducción
Naturalmente, esto último no sólo afecta la porción de la cadena
encargada de la entrega, sino que naturalmente afecta la operación de
almacenes y las diversas decisiones relacionadas.
◦ Número de localizaciones
◦ Tipo de localizaciones
◦ Operación de localizaciones
◦ Estrategias de inventarios
◦ Estrategias de transporte, etc.

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 7


Introducción
Consideremos el siguiente caso:
◦ Una empresa cuenta con una flota propia de vehículos dispuestos para la
realización de las entregas de pedidos.
◦ Los pedidos son recibidos durante las 24 horas del día.
◦ Cada pedido puede tener una condición de entrega distinta.
➢ Esta condición de entrega, por sobre todo, determina el tiempo de entrega del pedido.

Entonces, ¿cómo gestiona la empresa el despacho


de vehículos y el despecho de pedidos ya
disponibles para la entrega?

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 8


Introducción
Se tiene una contradicción aparente entre ambas consideraciones:
◦ ¿Cuándo despachar los camiones?:
➢ Esperar permite acumular ordenes y mejora la densidad de entregas.
➢ Despechar inmediatamente permite evitar tiempos muertos y mejorar la utilización de los vehículos.
◦ ¿Cuándo despachar las ordenes?
➢ Despachar tan pronto el pedido está disponible permite completar la orden, liberando tiempo futuro.
➢ Esperar permite encontrar una mejor secuenciación de entregas, reduciendo distancia por entrega.
◦ Costos relacionados:
➢ Costos de utilización del camión (fijo y variable)
➢ Costos del chofer (fijo y variable)
➢ Costos por demora (fijo y variable)

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 9


Introducción
Mejorar densidad de entregas – Reducir distancia por entrega

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 10


Introducción
¿Si se densifica o diversifican las instalaciones?

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 11


Introducción
Los modelos o problemas de ruteo están enfocados principalmente en diseñar y
operar sistemas logísticos de distribución, reparto y recolección.
Algunas decisiones relevantes:
◦ Tamaño de flota y capacidades de vehículos
◦ Zonificación y asignación de clientes a zonas/vehículos
◦ Secuenciación de visitas, re-asignación y carga de camiones
Es posible encontrar otras problemas reales donde aplicar dichos
modelos/metodologías
◦ Diseño de tarjetas electrónicas
◦ Instalación de bodegas en proyectos de construcción
◦ Operación naviera/aérea
◦ Secuenciamiento de Tareas
Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 12
EL PROBLEMA
DEL VENDEDOR
VIAJERO
(TRAVEL
SALESMAN
PROBLEM)

Capítulo I : Ruteo Vehicular

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 13


El problema del vendedor viajero
El problema del vendedor viajero (PVV) o Travel Salesman Problem (TSP)
por sus siglas en inglés, es un problema famoso en el campo de la
investigación de operaciones y la ciencia de la computación.
◦ Fue definido en los años 1800s por Williand Hamilton y Thomas Kirkman.
◦ Fue estudiado por primera vez en 1930, destacándose Karl Merger, quien
definió los problemas, considerando el algoritmo de fuerza bruta y
observando la no optimalidad de la heurística del vecino más cercano.
◦ Hassler Whitney de la Universidad de Princeton introdujo el nombre de
“Travel Salesman Problem”.
◦ Mayor popularidad en los años 1950 a 1960, siendo la principal
contribución de George Dantzig (creador del simplex), Delbert Ray
Fulkerson y Selmer M. Johnson con el método de Planos Cortantes.
Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 14
El problema del vendedor viajero
Richard M. Karp mostró en 1972 que el Problema del Ciclo de Hamilton
era un problema NP-completo, lo cual implica que el TSP sea un problema
NP-Hard. Esto tiene su explicación matemática por la evidente dificultad
computacional para encontrar recorridos óptimos.

(330) P vs. NP and the Computational Complexity Zoo - YouTube


Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 15
El problema del vendedor viajero

Año Autores Nº de Ciudades


1954 Dantzig, Fulkerson, and Johnson 49
1971 Held and Karp 64
1975 Camerini, Fratta, and Maffioli 67
1977 Grötschel 120
1980 Crowder and Padberg 318
1987 Grötschel and Holland 532
1987 Padberg and Rinaldi 2.392
1994 Applegate, Bixby, Chvátal, and Cook 7.397
1998 Applegate, Bixby, Chvátal, and Cook 13.509
2001 Applegate, Bixby, Chvátal, and Cook 15.112
2004 Applegate, Bixby, Chvátal, and Cook 24.978
2005 Cook, Espinoza and Goycoolea 33.810

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 16


El problema del vendedor viajero
La instancia más grande resuelta es de 85.900 nodos

http://www.math.uwaterloo.ca/tsp/index.html

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 17


El problema del vendedor viajero
Distancias horizontales y verticales

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 18


El problema del vendedor viajero

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 19


El problema del vendedor viajero
¿Por qué no mejor enumeramos las posibles rutas y elegimos la mejor?
Supongamos un punto de partida y 3
nodos a visitar. ¿Cuántas rutas existen?
6 posibles rutas = 3! o (n-1)!
10 nodos- posibles rutas =3.628.880
20 nodos- posibles rutas = 𝟐. 𝟒𝟑 × 𝟏𝟎𝟏𝟖
100 nodos- posibles rutas = 9. 𝟑𝟑 × 𝟏𝟎𝟏𝟓𝟕

Edad del universo (seg) ≈ 𝟏𝟎𝟏𝟖


Nº de átomos en universo < 𝟏𝟎𝟏𝟎𝟎
Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 20
El problema del vendedor viajero
Pero, ¿Los computadores no son rápidos para realizar cálculos?
◦ Suponiendo que pudiésemos realizar en 1 sextillón de paso por segundo.

Nº de 100 n15 Pasos n! Pasos


ciudades
n=20 3.27 segundos 2.4
milisegundos
n=25 1.5 minutos 4.2 horas
n=30 24 minutos 8.400 años
n=35 4 horas 326 billones
de años

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 21


El problema del vendedor viajero
Métodos de Solución del TSP:
◦ Exactos:
➢ Optimización – Cplex & Gurobi

◦ Heurísticas:
➢ Vecino más cercano
➢ Local Search – Two opt

◦ Metaheurísticas:
➢ Tabu Search, Simulated annealing
➢ Bio Inspirados: Genetic Algorithm, Ant Colony, Grey Wolf Optimizer

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 22


El problema del vendedor viajero

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 23


El problema del vendedor viajero
Métodos Exactos
◦ Tenemos n ciudades o clientes.
◦ Un vendedor viajero debe visitarlas todas, comenzando en la ciudad 1
(para este problema, finalmente es irrelevante el inicio ¿por qué?).
◦ La distancia en entre la ciudad i y la j es dij .
◦ El vendedor debe buscar una secuencia de visitas de modo de no pasar
dos veces por una misma ciudad (entra y sale una sola vez a cada
ciudad)
◦ La distancia total recorrida debe ser la mínima posible.

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 24


El problema del vendedor viajero
14 20
9
9
1 10 14
9 10,5
6 8
5 8 6
10 17
8 13,5
6 8
7 6,5 10
2 13
11 13
5
8,5 7
7,5 9 19
5 5 11 12,2

6 16
5,2
6,2 6,8 9 10
3 12
7,5 12
11
11,2
10 18
8,7 7
7
8,2 4 11
12
9 15
4 13

◦ ¿Cuántas soluciones existen?


◦ ¿Importa realmente no pasar más de una vez?
◦ ¿Es esto siempre factible?
Profesor: Bryan Urra Calfuñir 25 UNIVERSIDAD CATÓLICA DEL NORTE 25
El problema del vendedor viajero
Variable de decisión:
Yij : 1 si se utiliza el arco (i,j), 0 e.o.c.

N N

Función Objetivo Min  d


i =1 j =1
ij  Yij

Restricciones
N
Desde cada ciudad
se debe salir una vez
s. a : Y
j =1
ij =1 i = 1,..., N

N
A cada ciudad se debe
llegar una vez Y
j =1
ji =1 i = 1,..., N

Integralidad Yij  0,1 i, j = 1,..., N

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 26


4
1

3
5
2
ELIMINACIÓN DE
SUB-TOURS
1 2

4 5
Capítulo II : Ruteo Vehicular

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 27


Eliminación de subtours

¿Son suficientes las restricciones presentadas?


Esto es una solución factible para dichas restricciones

j l

i m
k

Ejemplo:
• ¿Es realmente útil esta solución?
• ¿Qué debemos hacer a la formulación del TSP?
• Veremos dos alternativas para evitar este problema

Profesor: Bryan Urra Calfuñir 28 UNIVERSIDAD CATÓLICA DEL NORTE 28


Eliminación de subtours

2 2
5 5

1 3 7 1 3 7

2
5
6 6
4 4
1 3 7

2 2
5 5
6
4
1 3 7 1 3 7

6 6
4 4

Debemos imponer que para conjunto de menos de n (2 a n-1) ciudades no se


formen circuitos. Siendo S, los nodos de uno de los sub-tours en particular.


i , jS ,( i , j )A
X ij  S − 1 S  N , 2 ≤ 𝑆 ≤ 𝑛 − 2
Profesor: Bryan Urra Calfuñir 29 UNIVERSIDAD CATÓLICA DEL NORTE 29
Modelo DFJ: |S|-1
N N

Función Objetivo Min  d


i =1 j =1
ij  Yij

Restricciones
N
Desde cada ciudad
se debe salir una vez
s. a : Y
j =1
ij =1 i = 1,..., N

N
A cada ciudad se debe
llegar una vez Y
j =1
ji =1 i = 1,..., N

𝑁
Eliminación de subtour:
෍ 𝑌𝑖𝑗 ≤ 𝑆 − 1, ∀𝑆 ⊆ 𝑁, 2 ≤ 𝑆 ≤ 𝑛 − 2
Dantzig, Fulkerson, Jhonson
𝑖,𝑗∈𝑆,(𝑖,𝑗)∈𝐴

Integralidad Yij  0,1 i, j = 1,..., N


Profesor: Bryan Urra Calfuñir 30 UNIVERSIDAD CATÓLICA DEL NORTE 30
Modelo DFJ: |S|-1
¿Dónde radica la dificultad de este modelo? 2
5
Ej: (arcos bi-direccionales)

i , jS ,( i , j )A
X ij  S − 1 S  N 1 3 7

Los casos de la figura: 6

( X 56 + X 65 ) + ( X 57 + X 75 ) + ( X 67 + X 76 )  2 4

( X12 + X 21 ) + ( X 23 + X 32 ) + ( X 34 + X 43 ) + ( X14 + X 41 ) + ( X 31 + X13 )  3


¿Cuántos subconjuntos de nodos S existen?
– De a 3 nodos : 1-2-3, 1-3-4, 2-3-5, 3-5-6…
– De a 4 nodos : 1-2-3-4, 1-2-3-5, 3-5-6-7…
– De a 5 nodos :
– De a 6 nodos : En total hay cerca de 2 n -1

restricciones de ciclos!!!
– De a 7 nodos :
Profesor: Bryan Urra Calfuñir 31 UNIVERSIDAD CATÓLICA DEL NORTE 31
Modelo DFJ: otra formulación
• La formulación anterior es correcta, pero requiere “encontrar y escribir” una gran
cantidad de restricciones
• ¿Son realmente necesarias todas las restricciones?
• Es posible incorporarlas secuencialmente.
2

Ejemplo:
5
Para cada par de subconjuntos R,SN,
disjuntos (RS = ) entre si, debe existir
1 3 7 al menos un arco que los conecte.
Es decir, para cada par de nodos debe
4
6
existir al menos una ruta que los conecte.


iS , jS ( i , j )A
X ij  1 S  N

Profesor: Bryan Urra Calfuñir 3232 UNIVERSIDAD CATÓLICA DEL NORTE 32


Modelo DFJ: Caso no dirigido
Consideremos el caso de una red completa NO dirigida G(N,A).
◦ N: conjunto de nodos i de la red.
◦ A: conjunto de arcos (i,j) en la red (i<j).
𝑁

𝑀𝑖𝑛 ෍ 𝑑𝑖𝑗 𝑌𝑖𝑗


(𝑖,𝑗)∈𝐴

Sujeto a:
෍ 𝑌𝑖𝑗 + ෍ 𝑌𝑗𝑖 = 2 ∀𝑖 ∈ 𝑁
𝑗∈𝑁,𝑗>𝑖 𝑗∈𝑁,𝑗<𝑖
𝑁

෍ 𝑌𝑖𝑗 ≤ 𝑆 − 1, ∀𝑆 ⊆ 𝑁, 2 ≤ 𝑆 ≤ 𝑛 − 2
𝑖,𝑗∈𝑆,𝑖<𝑗
𝑌𝑖𝑗 ∈ 0,1 ∀(𝑖, 𝑗) ∈ 𝐴
Profesor: Bryan Urra Calfuñir 33 UNIVERSIDAD CATÓLICA DEL NORTE 33
Modelo MTZ
¿Cómo podríamos haber modelado la eliminación del subtour S, de otra
manera?
◦ Supongamos el caso del TSP general (no necesariamente simétrico y en
un grafo dirigido). Definimos las variables auxiliares (continua) 𝑢𝑖 ∀𝑖 ∈ 𝑁
que nos diga en qué posición en la ruta está el nodo i.
◦ Restricciones de eliminación de subtours de MTZ (Miller, Tucker and
Zemlin):
𝑢1 = 1
2 ≤ 𝑢𝑖 ≤ 𝑛, ∀𝑖 ∈ 𝑁, 𝑖 ≠ 1
𝑢𝑖 − 𝑢𝑗 + 1 ≤ 𝑛 − 1 1 −𝑌𝑖𝑗 , ∀(𝑖, 𝑗) ∈ 𝐴, 𝑗 ≠ 1

Profesor: Bryan Urra Calfuñir 34 UNIVERSIDAD CATÓLICA DEL NORTE 34


Modelo MTZ
¿Cómo funcionan estas restricciones?
𝑢𝑖 − 𝑢𝑗 + 1 ≤ 𝑛 − 1 1 −𝑌𝑖𝑗 , ∀(𝑖, 𝑗) ∈ 𝐴, 𝑗 ≠ 1

Cada vez que el arco 𝑖, 𝑗 (𝑐𝑜𝑛 𝑗 ≠ 1) es utilizado, se exige que:


𝑢𝑖 + 1 ≤ 𝑢𝑗
Porque si: 𝑌𝑖𝑗 = 1 → 𝑢𝑖 − 𝑢𝑗 + 1 ≤ 0

Adicionalmente, si un arco NO pertenece a la solución, no restringe el


dominio: 𝑌𝑖𝑗 = 0 → 𝑢𝑖 − 𝑢𝑗 + 1 ≤ 𝑀
𝑢𝑖 − 𝑢𝑗 + 1 ≤ (𝑛 − 1)

Profesor: Bryan Urra Calfuñir 35 UNIVERSIDAD CATÓLICA DEL NORTE 35


Modelo MTZ
¿Cómo podemos imponerle al modelo que estas variables registren la
posición del nodo en la ruta?
𝑌𝑖𝑗 = 1 → 𝑢𝑗 = 𝑢𝑖 + 1 … excepto cuando 𝑗 = 1

3 6
2 7
Y si 𝑌𝑖𝑗 = 0?
La restricción no 5
se debe activa en 8
este caso. 4

13
1
9

14
12 10
11

Profesor: Bryan Urra Calfuñir 36 UNIVERSIDAD CATÓLICA DEL NORTE 36


Modelo MTZ
En resumen:
𝑌𝑖𝑗 = 1
→ 𝑢𝑖 − 𝑢𝑗 + 1 ≤ 0

𝑌𝑖𝑗 = 0
→ 𝑢𝑖 − 𝑢𝑗 + 1 ≤ (𝑛 − 1)

𝑢𝑖 − 𝑢𝑗 + 1 ≤ 𝑛 − 1 1 −𝑌𝑖𝑗 , ∀(𝑖, 𝑗) ∈ 𝐴, 𝑗 ≠ 1

Trabajando en Gurobi con lenguaje Python sería:


𝑚𝑜𝑑𝑒𝑙. 𝑎𝑑𝑑𝐶𝑜𝑛𝑠𝑡𝑟𝑠((𝑌 𝑖, 𝑗 == 1 > > 𝑢 𝑖 + 1 == 𝑢 𝑗
𝑓𝑜𝑟 𝑖, 𝑗 𝑖𝑛 𝑎𝑟𝑐𝑜𝑠 𝑖𝑓 𝑗 ! = 0)
Profesor: Bryan Urra Calfuñir 37 UNIVERSIDAD CATÓLICA DEL NORTE 37
Eliminación de subtours

Profesor: Bryan Urra Calfuñir 38 UNIVERSIDAD CATÓLICA DEL NORTE 38


t
Costo Eficiencia
PROBLEMA DE
RUTEO DE
VEHÍCULOS
(VEHICLE
ROUTING
PROBLEM)

Capítulo II : Ruteo Vehicular

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 39


Introducción a Problemas de Ruteo Vehicular
El Problema de Ruteo Vehicular o Vehicule Routing Problem (VRP) por sus
siglas en inglés, puede considerarse como una generalización del TSP en que
los clientes requieren que se les entregue o recoja una cantidad de carga. Para
eso se dispone de una flota de vehículos de reparto (o de recolección).
Ahora se puede incluir limitaciones reales, tales como:
◦ Pueden usarse múltiples vehículos con diferentes restricciones de capacidad,
tanto en peso como en volumen.
◦ Cada parada puede tener un volumen, 𝑞𝑖 , que tiene que ser recogido y/o
entregado.
◦ Se permite un máximo de tiempo de conducción en ruta antes de tomar un
periodo de descanso.

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 40


Introducción a Problemas de Ruteo Vehicular
◦ Las paradas pueden permitir recolección
y entregas sólo a ciertas horas del día
(Problema con Ventanas de Tiempo).
◦ Se puede permitir recolección en una
ruta sólo después de haber efectuado
las entregas.
◦ Se puede permitir a los conductores
tomarse breves descansos, o pausas,
para comer a ciertas horas del día.
La consideración de estas y otras restricciones añaden gran complejidad al
problema y frustran los esfuerzos para hallar una solución óptima.
Gran parte del trabajo en torno a problemas de ruteo de vehículos se enfoca
en el desarrollo de heurísticas.
Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 41
Diferentes Problemas de Ruteo Vehicular (VRP)
◦ Ruteo Vehicular con Flota Homogénea
◦ Ruteo Vehicular con Flota Heterogénea
◦ Ruteo Vehicular con Ventanas de Tiempo
◦ Stochastic VRP
◦ Multi Depot VRP
◦ Inventory Routing
◦ VRP with Backhauls
◦ Pickup and Delivery
◦ VRP with profit
◦ Team Orienteering

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 42


Introducción a Problemas de Ruteo Vehicular
En general:
◦ Se tiene un conjunto de clientes cuya demanda debe ser satisfecha
desde una o más localizaciones (e.g., depósitos).
◦ Se tiene una flota de vehículos que son utilizados para satisfacer las
demandas de los clientes.
◦ El objetivo (típico) es que se debe encontrar un conjunto de rutas de
entrega/recolección que, cumpliendo ciertas consideraciones, minimicen
el costo del problema.

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 43


Introducción a Problemas de Ruteo Vehicular

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 44


Introducción a Problemas de Ruteo Vehicular
Este tipo de problemas ha captado la atención de muchos investigadores a
lo largo de los años, pero ha vuelto a tomar una especial relevancia en el
último tiempo.
Algunas aplicaciones en la realidad:
◦ Recolección de basura
◦ Entrega de correspondencia
◦ Secuenciamiento de tareas
Debido a la complejidad típica del problema, diferentes técnicas de
resolución han sido utilizadas, e.g., Branch & Cut, Branch & Price, Sweep
Algorithm, Clarck – Wright, D-W decomposition, Genetic Algorithm, Tabú
Search, Neural Networks.
Consultoras y/o empresas que se dedican al rubro: Routing

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 45


Shortest-Path Problem
Objetivo: Encontrar el camino más corto entre una red, entre dos nodos
(problema de la diligencia)
Métodos de Solución: Donde:
𝑥𝑖𝑗 = Número de unidades o variable binaria de ir del nodo i al j
◦ Programación lineal 𝑐𝑖𝑗 = costo por unidad o costo por distancia de ir del nodo i al j
𝑆= nodo de inicio o fuente
◦ Programación Dinámica 𝑇= nodo de fin o término.
◦ Algoritmo Disjktra 𝑀𝑖𝑛 𝑍 = ෍ ෍ 𝑐𝑖𝑗 𝑥𝑖𝑗
𝑖 𝑗

෍ 𝑥𝑖𝑗 = 1 ∀𝑗 =𝑠
𝑖

෍ 𝑥𝑗𝑖 − ෍ 𝑥𝑖𝑗 = 0 ∀𝑗≠𝑠


𝑖 𝑖

෍ 𝑥𝑗𝑖 = 1 ∀𝑗=𝑡
𝑖
Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 46
Shortest-Path Problem
Algoritmo Disjktra, donde: Pasos:

1. Todos los nodos comienzan con L( )=inf,


L( j ): distancia del nodo inicial (s) al
P( )= Null, S( )=0
nodo j.
2. Definir nodo inicial S a i. S( i ) =1 y L (i) =0
3. Para todos los nodos j, directamente
P( j ): nodo predecesor al j en el
conectados al i;
camino más corto.
4. Para todos los nodos donde S( ) = 0,
Seleccionar el nodo con el mínimo valor de
S( j ): 1 si el nodo se visita, 0 de otra
L definirlo para i, s (i )=1
manera.
5. Es el nodo t, ¿el nodo terminal? Si es el
nodo terminal, fin del algoritmo, en caso
D (ij) : distancia o costo de ir del
contrario vuelva al paso 3.
nodo i al j.
6. Fin, devolver la distancia y el camino más
corto.
Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 47
Capacitated Vehicle Routing Problem (CVRP)
Sea un grafo dirigido y completo 𝐺 = (𝑉, 𝐴):
◦ N = {1, … , 𝑛} es el conjunto de clientes, de demandas qi
◦ El nodo 0 (no contenido en N) representa el centro de operaciones o
“depot” del problema, donde se cuenta con una flota de K vehículos de
capacidad Q para visitar a los clientes en N. i

◦ 𝑉 = 𝑁 ∪ 0, es el conjunto de nodos.
◦ 𝐴 es el conjunto de aristas del grafo
𝐴 = { 𝑖, 𝑗 : 𝑖, 𝑗 ∈ 𝑁 ∧ 𝑖 < 𝑗}
◦ cij costo de transporte en la arista (i, j)
◦ xij = 1, si la arista (i, j) pertenece
a alguna ruta, 0 e.o.c.
Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 48
Capacitated Vehicle Routing Problem (CVRP)
Métodos exactos:
◦ Suposiciones del modelo:
➢ Las demandas son determinísticas
➢ Las demanda no se pueden dividir
➢ Los vehículos son idénticos
➢ Los vehículos están en un DC central
➢ Los vehículos tiene capacidad restringida

¿Qué se debe cumplir a nivel de nodos para que esta solución sea válida?
El grado de entrada y el de salida de todo nodo (excepto el depot) debe ser igual a 1

෍ 𝑥𝑖𝑗 = 1 ∀ 𝑗 𝜖 𝑁 ෍ 𝑥𝑖𝑗 = 1 ∀ 𝑖 𝜖 𝑁
𝑖 𝜖 𝑉,𝑗≠𝑖 𝑗 𝜖 𝑉,𝑗≠𝑖

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 49


Capacitated Vehicle Routing Problem (CVRP)
Métodos exactos:

Si suponemos que todos los vehículos son utilizados, para el depot


podemos exigir lo siguiente:

෍ 𝑥0𝑗 = 𝐾 ¿Será necesario exigir que ෍ 𝑥𝑖0 = 𝐾


𝑗𝜖𝑁
entren K vehículos al depot? 𝑖𝜖𝑉

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 50


Capacitated Vehicle Routing Problem (CVRP)
Restricciones de capacidad
¿Cómo se asegura que ninguna ruta exceda la capacidad de un vehículo?
Observemos para una instancia cualquiera un subconjunto S de clientes.

¿Cuántos vehículos, como mínimo se necesita para atender S?

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 51


Capacitated Vehicle Routing Problem (CVRP)
Restricciones de capacidad
Si tenemos que la demanda total del subconjunto es σ𝑖∈𝑆 𝑞𝑖 , y que la capacidad de
cada vehículo es Q, entonces una cota inferior para el número de vehículos necesarios
es [σ𝑖∈𝑆 𝑞𝑖 /𝑄].

¿Cómo exigimos que este número de vehículos sirva al conjunto S?

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 52


Capacitated Vehicle Routing Problem (CVRP)
Restricciones de capacidad
Debemos imponer que al menos 𝑟 𝑠 = [σ𝑖∈𝑆 𝑞𝑖 /𝑄] arcos salientes de S sean utilizados
en la solución, es decir:

෍ ෍ 𝑥𝑖𝑗 ≥ 𝑟 𝑠 ∀ 𝑆 ⊆ 𝑁, 𝑆 ≠ 𝜙
𝑖 ∉𝑆 𝑗 𝜖 𝑆

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 53


Capacitated Vehicle Routing Problem (CVRP)
Consideremos la siguiente formulación (cont.):
𝑀𝑖𝑛 𝑍 = ෍ ෍ 𝑐𝑖𝑗 ∙ 𝑥𝑖𝑗
𝑖 𝑗

Sujeto a:
෍ 𝑥𝑖𝑗 = 1 ∀ 𝑖 𝜖 𝑁
𝑗 𝜖 𝑉,𝑗≠𝑖

෍ 𝑥𝑖𝑗 = 1 ∀ 𝑗 𝜖 𝑁
𝑖 𝜖 𝑉,𝑗≠𝑖

෍ 𝑥0𝑗 = 𝐾
𝑗𝜖𝑁

෍ ෍ 𝑥𝑖𝑗 ≥ 𝑟(𝑠) ∀ 𝑆 ⊆ 𝑁, 𝑆 ≠ 𝜙
𝑖 ∉𝑆 𝑗 𝜖 𝑆

𝑥𝑖𝑗 ∈ 0,1 ∀ 𝑖, 𝑗 ∈ 𝐴
Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 54
Capacitated Vehicle Routing Problem (CVRP)
¿Es [σ𝑖∈𝑆 𝑞𝑖 /𝑄] la mejor cota que podemos utilizar?
σ𝑖∈𝑆 𝑞𝑖 320
= =6
𝑄 55
Asumiendo que los pedidos no se pueden dividir entre vehículos, ¿es posible satisfacer
estos clientes usando 6 vehículos?
Bin packing problem (BPP)

σ𝑖∈𝑆′ 𝑞𝑖
=5
𝑄
Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 55
Modelo MTZ para CVRP
Para el caso no dirigido, definimos las variables 𝑢𝑖 ∀𝑖 ∈ 𝑁 que representan
la demanda acumulada ya atendida por el vehículo al momento de salir de
visitar al cliente 𝑖.
◦ Las restricciones de eliminación de subtours de MTZ (Miller, Tucker and
Zemlin) y capacidad asociadas a esta formulación, son las siguientes:

𝑢𝑖 − 𝑢𝑗 + 𝑄 ∙ 𝑥𝑖𝑗 ≤ 𝑄 − 𝑞𝑗 , ∀(𝑖, 𝑗) ∈ 𝐴
𝑞𝑖 ≤ 𝑢𝑖 ≤ 𝑄 𝑖 ∈ 𝑁

Profesor: Bryan Urra Calfuñir 56 UNIVERSIDAD CATÓLICA DEL NORTE 56


Modelo MTZ para CVRP
¿Cómo funcionan estas restricciones?
𝑢𝑖 − 𝑢𝑗 + 𝑄 ∙ 𝑥𝑖𝑗 ≤ 𝑄 − 𝑞𝑗 , ∀(𝑖, 𝑗) ∈ 𝐴

Si: 𝑥𝑖𝑗 = 1 → 𝑢𝑗 ≥ 𝑢𝑖 + 𝑞𝑗 ∀(𝑖, 𝑗) ∈ 𝐴

Adicionalmente, si un arco NO pertenece a la solución, no restringe el


dominio: 𝑥𝑖𝑗 = 0 → 𝑢𝑖 − 𝑢𝑗 ≤ 𝑄 − 𝑞𝑗

Cabe destacar que estas restricciones previenen subtours de la misma


manera que en el TSP.

Profesor: Bryan Urra Calfuñir 57 UNIVERSIDAD CATÓLICA DEL NORTE 57


Modelo MTZ para CVRP
Consideremos la siguiente formulación (cont.):
𝑀𝑖𝑛 𝑍 = ෍ ෍ 𝑐𝑖𝑗 ∙ 𝑥𝑖𝑗
𝑖 𝑗

Sujeto a:
෍ 𝑥𝑖𝑗 = 1 ∀ 𝑖 𝜖 𝑁
𝑗 𝜖 𝑉,𝑗≠𝑖

෍ 𝑥𝑖𝑗 = 1 ∀ 𝑗 𝜖 𝑁
𝑖 𝜖 𝑉,𝑗≠𝑖

𝑢𝑖 − 𝑢𝑗 + 𝑄 ∙ 𝑥𝑖𝑗 ≤ 𝑄 − 𝑞𝑗 ∀(𝑖, 𝑗) ∈ 𝐴

𝑞𝑖 ≤ 𝑢𝑖 ≤ 𝑄 𝑖 ∈𝑁

𝑥𝑖𝑗 ∈ 0,1 ∀ 𝑖, 𝑗 ∈ 𝐴

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 58


Capacitated Vehicle Routing Problem (CVRP)
◦ Ejercicio 7: CVRP en Gurobi

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 59


VRP con ventanas de tiempo
El Problema de Ruteo Vehicular
con Ventanas de Tiempo (PV) o
Vehicule Routing Problem with
Time Windows (VRPTW) por sus
siglas en inglés, generaliza el
CVRP para incluir ventanas de
tiempo, es decir, deben cumplir
con un horario de entrega.
Dado que el CVRP es un
problema NP-Hard, este nuevo
problema también lo es. Más
aún, el problema de encontrar
una solución factible al VRPTW
es por sí sólo NP-Hard.

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 60


VRP con ventanas de tiempo

𝑎𝑖 𝑏𝑖
𝑁𝑜𝑑𝑜 𝑖

Existen distintos tipos de ventana de tiempo (hard, soft):


◦ Ventanas estrictas: El vehículo debe llegar al nodo i estrictamente dentro de la
ventana.
◦ Ventanas semi-estrictas: El vehículo puede llegar antes de 𝑎𝑖 , pero debe esperar para
iniciar su servicio.
◦ Ventanas blandas: El vehículo puede llegar después de 𝑏𝑖 , pagando una penalidad
asociada.
También existen diferentes formas de considerar la relación entre el tiempo de
atención y la ventana (e.g., llegar a tiempo pero el servicio termina después de
la ventana de tiempo).

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 61


VRP con ventanas de tiempo
Sea un grafo dirigido y completo 𝐺 = (𝑉, 𝐴):
◦ Los vértices 0 y 𝑛 + 1 representan el depot al comienzo (fuente) y al final
(sumidero) del horizonte de planificación, 𝑁 es el conjunto de clientes, y
𝑉 = 𝑁 ∪ {0, 𝑛 + 1} es el conjunto de nodos. Cada arco 𝑖, 𝑗 ∈ 𝐴 posee
asociado un costo de 𝑐𝑖𝑗 .
◦ Se cuenta con una flota 𝐾 de vehículos distintos (para este ejemplo) de
capacidad 𝑄𝑘 que recorren un tiempo 𝜏𝑖𝑗 para visitar a los clientes que
tienen una demanda 𝑞𝑖 , un tiempo de servicio 𝑠𝑖 , y una ventana de
atención 𝑎𝑖 , 𝑏𝑖 . Para simplificar la notación, se asume que 𝑞0 = 𝑠0 =
𝑞𝑛+1 = 𝑠𝑛+1 = 0.
◦ 𝑥𝑖𝑗𝑘 = 1, si la arista o arco (i, j) es utilizado por el vehículo 𝑘, 0 e.o.c.
◦ 𝑡𝑖𝑘 =tiempo de comienzo del servicio del vehículo 𝑘 al nodo i.

Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 62


VRP con ventanas de tiempo
Consideremos la siguiente formulación (cont.):
𝑀𝑖𝑛 𝑍 = ෍ ෍ ෍ 𝑐𝑖𝑗 ∙ 𝑥𝑖𝑗𝑘
𝑘∈𝐾 𝑖∈𝑉 𝑗∈𝑉
Sujeto a:

෍ 𝑥0𝑗𝑘 ≤ 1 ∀ 𝑘 𝜖 𝐾 ෍ ෍ 𝑞𝑖 ∙ 𝑥𝑖𝑗𝑘 ≤ 𝑄𝑘 ∀𝑘𝜖𝐾


𝑗𝜖𝑁 𝑖∈𝑁 𝑗∈𝑉

𝑡𝑖𝑘 + 𝑠𝑖 + 𝜏𝑖𝑗 − 𝑡𝑗𝑘 ≤ 1 − 𝑥𝑖𝑗𝑘 ∙ 𝑀


෍ 𝑥𝑖0𝑘 ≤ 1 ∀ 𝑘 𝜖 𝐾
𝑖𝜖𝑁
Si: 𝑥𝑖𝑗𝑘 = 1 → 𝑡𝑖𝑘 + 𝑠𝑖 + 𝜏𝑖𝑗 ≤ 𝑡𝑗𝑘 ∀ 𝑘 𝜖 𝐾, ∀ 𝑖, 𝑗 ∈ 𝐴
෍ ෍ 𝑥𝑖𝑗𝑘 = 1 ∀ 𝑖 𝜖 𝑁
Siendo 𝑀 = 𝑀á𝑥{𝑏𝑖 + 𝑠𝑖 + 𝜏𝑖𝑗 − 𝑎𝑖 }
𝑘∈𝐾 𝑗∈𝑉

෍ 𝑥𝑖𝑗𝑘 − ෍ 𝑥𝑗𝑖𝑘 = 0 ∀ 𝑘 𝜖 𝐾, ∀𝑖 ∈ 𝑁 𝑎𝑖 ≤ 𝑡𝑖𝑘 ≤ 𝑏𝑖 ∀ 𝑖 ∈ 𝐴, ∀ 𝑘 ∈ 𝐾


𝑗∈𝑉 𝑗∈𝑉
𝑡𝑖𝑘 ≥ 0 ∀ 𝑖 ∈ 𝐴, ∀ 𝑘 ∈ 𝐾
𝑥𝑖𝑗𝑘 ∈ 0,1 ∀ 𝑖, 𝑗 ∈ 𝐴, ∀ 𝑘 ∈ 𝐾
Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 63
Capacitated Vehicle Routing Problem (CVRP)
◦ Ejercicio 8: VRPTW en Gurobi

Optimización con Gurobi | VRPTW | Python | Gurobi – Profesor Sergio Correa


Profesor: Bryan Urra Calfuñir UNIVERSIDAD CATÓLICA DEL NORTE 64
U N I V E R S I D A D C AT Ó L I C A D E L N O R T E
D E PA R TA M E N T O D E I N G E N I E R Í A I N D U S T R I A L
INGENIERÍA CIVIL INDUSTRIAL

CAPÍTULO I : LOCALIZACIÓN

DAII 604 – Investigación Operativa II


1er semestre 2022

Bryan Urra Calfuñir, M.Sc.(c)


bryan.urra@ce.ucn.cl

You might also like