You are on page 1of 50

DISEO Y PROGRAMACIN DE RUTAS DE VEHCULOS EN UN CANAL DE

DISTRIBUCIN TRADICIONAL (TIENDA A TIENDA) PARA LA EMPRESA


PASTEURIZADORA LA MEJOR S.A. DE LA CIUDAD DE CCUTA.

OSCAR BELTRN ORTIZ

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


FACULTAD DE INGENIERIAS
INGENIERIA INDUSTRIAL
CUCUTA
2015

DISEO Y PROGRAMACIN DE RUTAS DE VEHCULOS EN UN CANAL DE


DISTRIBUCIN TRADICIONAL (TIENDA A TIENDA) PARA LA EMPRESA
PASTEURIZADORA LA MEJOR S.A. DE LA CIUDAD DE CCUTA.

OSCAR BELTRN ORTIZ


CDIGO: 1191585
Anteproyecto de grado como requisito para optar al ttulo de:
Ingeniero Industrial.

Director:
Msc. LVARO JUNIO CAICEDO ROLN
Ingeniero Industrial Docente UFPS

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


FACULTAD DE INGENIERIAS
INGENIERIA INDUSTRIAL
CUCUTA
2015
1. EL PROBLEMA

1.1. TITULO
Diseo y programacin de rutas de vehculos en un canal de distribucin tradicional
(tienda a tienda) para la empresa Pasteurizadora La Mejor S.A. de la ciudad de Ccuta.
1.2. PLANTEAMIENTO DEL PROBLEMA
El problema del agente viajero (TSP) es una de las modalidades del problema de ruteo
de vehculos (VRP) y ha sido estudiado durante muchos aos; se dice que es un
problema NP-duro ya que a medida en que aumenta el nmero de variables y
restricciones el tiempo para encontrar la solucin crece de forma polinmial.
Es por esto, que se han desarrollado en el rea de la investigacin de operaciones
metodologas que pueden dar soluciones ptimas o acercarse a ellas, estas pueden ser
mtodos determinsticos como la programacin lineal entera (PLE) o mtodos hbridos
como las heursticas: mtodo de barrido, mtodo de los ahorros o de insercin; y
metodologas

metaheursticas que son ms complejas que los anteriores pero que

permiten mejorar en una segunda etapa las soluciones, entre estas se encuentran:
algoritmo de colonia de hormigas, algoritmo de bsqueda tab y algoritmo del vecino
ms cercano. Lo importante de conocer estas tcnicas, es saber cul es la ms apropiada
para cada modelo, su validacin mediante la evaluacin en un sistema real (la empresa)
y su comparacin con otros estudios, para as alcanzar nuevos conocimientos.
Incluir prrafos del ruteo de vehculos de artculos internacionales.
La planeacin de las actividades de distribucin comercial implica necesariamente
la toma de decisiones sobre el ruteo de vehculos, lo cual involucra: administrar
personas, vehculos, tiempo y otras variables importantes respecto de cmo, cundo,
dnde y a travs de qu tipo de vehculo se debe atender algn cliente en el tiempo, de la
manera ms adecuada. (Seplveda et al, 2014).

Partiendo de evidencias bibliogrficas encontradas por autores como lo describe el


anterior segmento, en un proyecto realizado por el autor Seplveda et al (2014), se
identificaron estas necesidades en pequeas y medianas empresas en su metodologa
de distribucin de mercancas en la ciudad de Palmira Valle del Cauca. Esta situacin
se puede generalizar a todas las pequeas y medianas empresas de comercio al por
mayor con distribucin intensiva y no selectiva del pas, y se puede traer como referente
para enmarcar el inicio de esta investigacin, resaltando la importancia que tienen sus
resultados en los procesos de toma de decisin a nivel tctico para este tipo de empresas.
En cuanto a modelos de diseo y programacin de rutas, normalmente las empresas
trabajan basndose en conocimientos empricos de manera intuitiva tanto por operarios
de entrega como

profesionales experimentados,

sin el apoyo de mtodos

cuantitativos ni de herramientas de software para la toma de decisiones en la estrategia


de transporte (Moreno et al, 2012).
La carencia de herramientas tecnolgicas que brinden un soporte a estos procesos
en pequeas y medianas empresas comercializadoras, como lo describe el autor
Seplveda et al (2014), deja ver la necesidad que tienen estas empresas de acceder a
proyectos como este, con el cual se busca transferir el conocimiento y la tecnologa
desde las aulas a las empresas, sin que estas incurran en grandes inversiones de dinero y
puedan beneficiarse de los avances en el rea de la investigacin operativa y gestin de
la cadena de abastecimiento.
Este proyecto se desarrolla en una ciudad comercial, de economas informales, poco
caracterizadas y que ha experimentado grandes crisis, pero a su vez con grandes avances
en el desarrollo y expansin geogrfica.

(Nota: aqu se incluye una breve descripcin

de las necesidades de la empresa en este tema)

1.3. FORMULACION DEL PROBLEMA


Cmo disear y programar las rutas de vehculos en un canal de distribucin
tradicional (tienda a tienda) para la empresa Pasteurizadora La Mejor S.A. en la ciudad
de Ccuta para que sea aplicable?
1.4. JUSTIFICACION
1.4.1. A nivel de la empresa
Al ser ejecutado este proyecto brindar a la empresa un modelo matemtico que le
permitir tener una herramienta para la toma de decisiones a nivel tctico, ya que el
diseo y programacin de rutas de vehculos mediante la optimizacin combinatoria
conduce a la mxima utilizacin de los recursos para el transporte de mercancas y la
disminucin del costo asociado a estas actividades.
Este proyecto busca adems la disminucin de los tiempos de entrega en cada una de
las rutas al disearlas con la menor distancia recorrida y que cumplan con los requisitos
de capacidad, brindado a la empresa la ventaja competitiva de menor costo de transporte
en la distribucin de productos, ventaja competitiva de confiabilidad en la entrega y
entregas a tiempo, fundamental para este tipo de empresas.
1.4.2. A nivel del estudiante
Al alcanzar los objetivos de este proyecto el estudiante podr acceder al ttulo de
Ingeniero Industrial.
El estudiante de ingeniera industrial que se interesa por profundizar en esta rea del
conocimiento puede desarrollar las habilidades que le permitan solucionar problemas
complejos que involucran una gran cantidad de variables y restricciones a la hora de

modelar matemticamente un sistema dentro de las organizaciones, pues existen muchos


estudios que se han llevado a cabo para ser aplicados a todo tipo de sistemas.
Este proyecto parte de una base terica y busca la solucin a un problema real,
haciendo del estudiante el medio por el cual la academia transfiere a las empresas
tecnologas, integrando cada uno de los eslabones de la cadena del conocimiento y la
innovacin.
1.5. OBJETIVOS
1.5.1. General

Disear y programar las rutas de vehculos en un canal de distribucin


tradicional (tienda a tienda) aplicado a la empresa Pasteurizadora La Mejor S.A.
de la ciudad de Ccuta.

1.5.2. Especficos

Diagnosticar y recopilar la informacin existente en la empresa


Pasteurizadora La Mejor S.A. que permita evaluar la gestin logstica
de las rutas de distribucin para la ciudad de Ccuta.

Determinar un modelo de ruteo que permita realizar la distribucin


tienda a tienda en la ciudad de Ccuta,

que permitan mejorar los

indicadores de gestin logstica del transporte en la empresa


Pasteurizadora La Mejor S.A.

Establecer los indicadores gestin logstica del transporte para


comprar los resultados del diagnstico inicial con el diseo y
programacin de rutas de vehculos propuesto.

Validar el diseo y programacin de rutas de vehculos para la


empresa Pasteurizadora La Mejor S.A.

1.6. ALCANCES Y LIMITACIONES


1.6.1. Alcances
Este proyecto parte de una identificacin de necesidades y un diagnstico inicial,
luego se desarrolla un modelo matemtico que permita a la empresa estructurar el diseo
de rutas y programacin de los vehculos en la distribucin de mercancas.
Este modelo se da en dos etapas, una primera de diseo de rutas y la segunda de
programacin de vehculos y recursos. La etapa de ruteo tambin se divide en dos
etapas: la primera etapa es la bsqueda de una buena solucin inicial y la segunda etapa
es el mejoramiento de las rutas usando tcnicas de bsqueda local inteligente.
La etapa de programacin, con la cual se busca desarrollar un plan operativo para el
transporte en las operaciones logsticas de la empresa incluye: la programacin de las
operaciones de los vehculos usando algoritmos de programacin de tareas a corto plazo
y el control de estas operaciones mediante graficas de Gantt.
La finalidad de este proyecto es evaluar los resultados de la optimizacin e
implementacin de rutas de vehculos en los indicadores de la gestin logstica del
transporte en la empresa Pasteurizadora La Mejor S.A.
1.6.2. Limitaciones
Las limitaciones previstas durante la ejecucin de este proyecto son: (a) herramientas
tecnolgicas, debido al escaso numero de software libre que est disponible en

Colombia; (b) cognitivas, ya que a medida que las tcnicas de solucin para este tipo de
problemas se especializan

se deben tener en cuenta mayor cantidad de criterios

hacindolas ms complejas de entender y aplicar; (c) tiempo, el tiempo lmite es de 6


meses; (d) financieras, limitando por los recursos financieros del estudiante; (e)
informacin confidencial, los datos que se analizarn estarn limitados de acuerdo a las
polticas de informacin confidencial de la empresa.

2. MARCO REFERENCIAL
2.3. MARCO TERICO

2.3.1 Caractersticas De Los Sistemas De Distribucin Fsica En La Gestin


Logstica.
1.2 Los clientes.
1.3 Los pedidos.
1.7 Los vehculos.
1.4 Las frecuencias.
1.8 Indicadores para la medicin de la gestin logstica en el transporte.

2.3.2 Diseo De Rutas Para La Distribucin Fsica De Mercancas


El problema de distribuir productos desde ciertos depsitos a sus usuarios finales
juega un papel central en la gestin de sistemas logsticos y su adecuada planificacin
puede significar considerables ahorros. Esos potenciales ahorros justifican en gran
medida la utilizacin de tcnicas de Investigacin de Operaciones como facilitadoras de
la planificacin, dado que se estima que el inadecuado manejo de la logstica y el
transporte incide en el 40% y hasta el 80% del costo final de los bienes (Foro
Internacional Logstica y Facilitacin del Comercio y el Transporte, Quito: Octubre
2007).
2.3.1.1 Redes fsicas y su representacin

Segn Bosque (1992) citado por Madrid A. y Ortiz L. (2007). Una red es un
sistema interconectado de elementos lineales, que forman una estructura espacial por la
que pueden pasar flujos de algn tipo: personas, mercancas, energa, informacin. Esta
definicin no slo hace referencia a la parte material de la red, que podra relacionarse
directamente con la infraestructura de transportes, el sistema de acueducto y
alcantarillado, el cableado, etc., y los puntos de destino y origen de los mismos. De ella
se puede inferir, el aspecto funcional de una red, que siendo estrictamente artificial, no
puede existir sin la dinmica que le imprime la sociedad a partir de las relaciones
polticas, informacionales, econmicas y culturales que operan sobre ella; como afirma
Santos (2000) citado por Madrid A. y Ortiz L. (2007). la red tambin es social y
poltica, por las personas, mensajes, valores que las frecuentan. Sin esto, y a despecho
de la materialidad con que se imponen nuestros sentidos, la red es, en verdad, una mera
abstraccin
En trminos grficos la red est constituida por un conjunto de puntos (nodos,
vrtices) y lneas (arcos, aristas) conectados entre s. En el anlisis espacial de acuerdo
con Segu (1995) citado por Madrid A. y Ortiz L. (2007). los nodos o vrtices de la red
pueden venir constituidos por los puntos de origen y destino de los intercambios
(ciudades, puertos, aeropuertos o centros de zona -denominados centroides, si
trabajamos a una escala urbana, a los que se les atribuyen las caractersticas del rea que
representan). Los arcos o aristas se identifican con las rutas, tanto si tienen estructura
fsica de soporte (rutas terrestres) como si no cuentan con ella (rutas martimas, areas o
referidas a tele flujos), o con los flujos (pasajeros, mercancas, flujos telemticos...) que
por ellas circulan cuando se trata de redes valorizadas. Al tratar de identificar los
componentes bsicos de una red (puntos y lneas) a partir de determinada relacin, se
pueden establecer redes a diferente escala: local, regional y mundial.
Segn Lupien, Moreland y Dangermond (1987) citados por Madrid A. y Ortiz L.
(2007).), el anlisis de redes, permite plantear y resolver un amplio conjunto de
problemas prcticos como son: la determinacin de rutas ptimas para vehculos que
deben moverse en una red de carreteras, la localizacin de servicios e instalaciones (por
ejemplo urgencia mdica) de modo eficaz en cuanto a costes de recorridos para su

empleo por los usuarios, la delimitacin de distritos y reas de influencia, la asignacin


de caminos de distribucin de un producto a los almacenes existentes, etc.

2.3.1.2 Teora de grafos.


La ciudad prusiana de Knisgberg (que hoy se llama Kaliningrado y forma parte de
Rusia) estaba dividida en 4 partes por los dos brazos en los que se bifurca el rio Pregel.
Estas 4 partes eran las dos regiones a orillas del rio Pregel, la isla de Kneiphof y la
regin que quedaba entre ambos brazos del ro. Siete puentes conectaban entre s estas
regiones en el siglo XVIII. Para entender mejor ver la figura XX, que se muestra abajo.
(Rosen K.H, 2003)

Los habitantes solan dar largos paseos por la ciudad los domingos, y hubo quien se
pregunt si sera posible comenzar el paseo en algn sitio de la ciudad, atravesar todos
los puentes sin cruzar ninguno dos veces y regresar al punto de partida. El matemtico
Leonhard Euler plante una solucin a este problema, la cual fue publicada en 1736 y es
posiblemente la primera ocasin en que se utiliz la teora de grafos. Euler model con
un grafo el problema de los 7 puentes de la siguiente manera: Las 4 zonas que deban
unir los 7 puentes las represent mediante vrtices (nodos), y los 7 puentes los
represent mediante aristas (arcos), como se muestra en la figura XY. (Rosen K.H,
2003). Antes de avanzar en el problema planteado en la ciudad de Knisgberg, es
necesario aclarar los conceptos de grafo, vrtice y arista.

Segn De la Hoz A & De la Hoz E & Ariza P (2009) Un grafo G= (V, E) est
conformado por un conjunto de vrtices, V, y un conjunto de aristas, E. Cada arista es un
par (u, v) donde u, v V. En ocasiones los vrtices se denominan nodos y las aristas
arcos. Un grafo no es ms que un conjunto de puntos y un conjunto de
relaciones entre pares de puntos (Del Canto, et. al. 1993). Como todo
modelo es una abstraccin de la realidad, para hacer ms fcil su
estudio y anlisis.
Como ya se mencion, los componentes de los grafos son los
vrtices y las aristas. Arista es una lnea que une dos vrtices de un
grafo, formando un camino entre ellos. Se dice que dos aristas son
adyacentes si convergen o se encuentran en un mismo vrtice, y son
paralelas cuando tanto el vrtice final como el vrtice inicial coinciden
o es el mismo. Una arista es cclica o forma un bucle, cuando el
vrtice de origen y el de destino es el mismo. Dos vrtices (u, v) son
adyacentes si existe una arista que los une; donde u seria el vrtice
inicial y v seria el vrtice adyacente. El grado del vrtice es el nmero
de aristas que inciden en l. El grado mximo en un grafo es el grado
del vrtice ms alto entre todos sus vrtices. (De la Hoz A & De la Hoz E &
Ariza P, 2009).
Grafos dirigidos son aquellos cuyas aristas tienen un sentido u
orientacin

especfico

generalmente

indicado

por

flechas,

representando el desplazamiento directo desde un vrtice inicial


hasta un vrtice adyacente, cuando dos vrtices no son adyacentes
el desplazamiento se puede lograr a travs de vrtices intermedios, a
esto se le conoce como camino. Camino es, por tanto, una secuencia
de vrtices tales que permita enlazar un vrtice de origen con un
vrtice de destino. Al contrario de los grafos dirigidos, los grafos NO
dirigidos son aquellos cuyas aristas no poseen sentido entre un
vrtice y otro. Se dice que la longitud de un camino es el nmero de
aristas que usa dicho camino, y que un circuito es un camino en el

cual el vrtice de origen y vrtice de destino es el mismo con la


condicin de que su longitud sea mayor que 1. (De la Hoz A & De la Hoz E
& Ariza P, 2009).
Para Kenneth H. Rosen (2003) Una definicin informal de camino es
una secuencia de aristas que comienza en un vrtice del grafo y
recorre ciertas aristas del grafo siempre conectando pares de vrtices.
La definicin formal es la siguiente:
Sea n un entero no negativo y sea G un grafo. Un camino de
longitud n de u hasta v en un grafo G es una secuencia de n aristas a 1,
a2,, an de G tal que f (a1) = x0, x1}, f (a2) = {x1, x2},, f (an) = {xn-1,
xn}, donde x0 = u y xn= v. Si el grafo es simple denotamos este
camino por su secuencia de vrtices x 0, x1, x2,,

xn (ya que al

enumerar estos vrtices se denomina su camino en forma nica). Un


camino es un circuito

si comienza y termina en un mismo vrtice,

esto es si u=v, y tiene longitud mayor que 1. Un camino o un circuito


son simples si no contienen la misma arista ms de una vez.
La teora de grafos clasifica los circuitos y caminos en dos: circuitos
y caminos Eulerianos; y circuitos y caminos Hamiltonianos.
Circuitos y caminos Eulerianos
Un circuito euleriano de un grafo G, es un circuito simple que
contiene a todas las aristas de G; y un camino euleriano de G es un
camino simple que contiene a todas las aristas de G. Un grafo conexo
contiene un circuito euleriano, si y solo si, cada uno de sus vrtices
tiene grado par. Un grafo G contiene un camino euleriano, pero no un
circuito euleriano,

si y solo si,

tiene exactamente dos vrtices de

grado impar. (Rosen K.H, 2003)


Algoritmo para construir circuitos eulerianos
Procedure Euler (G: grafo conexo con todos los vrtices de grado par)

circuito := un circuito en G que comienza en un vrtice aleatorio y cuyas


aristas se aaden consecutivamente para formar un camino que regrese al
mismo.
H := es el grafo que se obtiene al eliminar de G las aristas de circuito
while H tiene aristas
begin
subcircuito: un circuito en H que comienza en un vrtice de H que
sea conexo de alguna arista de
circuito
H := es el grafo que se obtiene al eliminar de H las aristas de
subcircuito y todos los vrtices
aislados
circuito := circuito con subcircuito insertado en el vrtice apropiado
End {circuito es un circuito euleriano}
Fuente: Rosen Kenneth H /Matematica discreta y sus aplicaciones/
Edicion 5/ Mc GrawHill / Espaa /2003
Circuitos y caminos Hamiltonianos
Grafos ponderados
Formulacin matemtica.
La red de transporte por la que circulan los vehculos se modela mediante un grafo
ponderado G = (V, E, C). Los nodos del grafo representan a los clientes y depsitos. En
problemas con un depsito y n clientes, el nodo 0 representa al depsito y los nodos 1,
, n a los clientes. En algunos casos (en que se explicitara) se agrega una copia del
depsito etiquetada con n+1 para simplificar la formulacin. Cada arco (i, j) E
representa el mejor camino para ir desde el nodo i hacia el nodo j en la red de transporte
y tiene asociado un costo c ij y un tiempo de viaje t ij. Segn la estructura de los costos y
los tiempos y las caractersticas de la red, el grafo puede ser simtrico o asimtrico.
Puede suponerse que G es completo, pues entre todo par de lugares de una red de
transporte razonable, debera existir algn camino. Sin embargo, por una cuestin de
flexibilidad, los modelos sern planteados sin realizar dicha hiptesis.

Denotaremos

por + (i) y (i) al conjunto de nodos adyacentes e incidentes al nodo i, es decir, +

(i) = {j V | (i, j) E} y (i) = {j V | (j, i) E}. De manera similar, el conjunto


de arcos incidentes hacia el exterior e interior del nodo i se definen como: + (i) = {(i, j)
E} y (i) = {(j, i) E}. (Olivera A., 2004).
2.3.1.3 El problema del agente viajero (TSP).
El TSP clsico.
Segn Olivera A. (2004) en el Problema del Agente Viajero (o TSP por Travelling
Salesman Problem) se dispone de un solo vehculo que debe visitar a todos los clientes
en una sola ruta y a costo mnimo. No suele haber un depsito (y si lo hubiera no se
distingue de los clientes), no hay demanda asociada a los clientes y tampoco hay
restricciones temporales. El problema puede formularse como:

Esta formulacin fue propuesta por Dantzig, Fulkerson y Johnson. Las variables
binarias xij indican si el arco (i, j) es utilizado en la solucin. La funcin objetivo (1.1)
establece que el costo total de la solucin es la suma de los costos de los arcos
utilizados. Las restricciones (1.2) y (1.3) indican que la ruta debe llegar y abandonar
cada nodo exactamente una vez. Finalmente, las restricciones (1.4)

son llamadas

restricciones de eliminacin de sub-circuitos e indican que todo subconjunto de vrtices


S debe ser abandonado al menos una vez. Notar que si no se impusieran estas
restricciones la solucin podra constar de ms de un circuito. Esta solucin viola la

restriccin (1.4) para S = {0, 1, 2}. Existen diferentes tipos de restricciones de


eliminacin de sub-circuitos. (Olivera A, 2004).
Asumiendo que |E| = O(n2), esta formulacin tiene una cantidad O(n2) de variables
binarias y O(2n) restricciones. El problema puede formularse con una cantidad
polinmial de restricciones, agregando variables reales ui para i = 1,, n y sustituyendo
las restricciones (1.4) por:
ui uj + nxij n 1 (i, j) E, i 0, j 0.
Estas desigualdades fueron propuestas por Miller, Tucker y Zemlin y fuerzan a que
las variables reales u determinen una cantidad estrictamente creciente a lo largo de la
ruta (es decir, uj ui +1 si j es visitado inmediatamente despus que i). Bajo la hiptesis
de que |E| = O(n2), en esta nueva formulacin hay O(n2) variables binarias, O(n)
variables positivas y O(n2) restricciones. Sin embargo, esta formulacin no resulta apta
para la resolucin de problemas de tamao considerable mediante mtodos exactos, pues
si bien se disminuye la cantidad de restricciones, la cota que se obtiene resolviendo su
relajacin lineal resulta en general poco ajustada. (Olivera A, 2004).
La mayor parte de los problemas de ruteo de vehculos son generalizaciones del TSP.
En ese sentido, este puede considerarse el problema de ruteo de vehculos ms simple.
No obstante, pertenece a la clase de problemas NPHard y es uno de los Problemas de
Optimizacin Combinatoria ms clsico y difundido. (Olivera A, 2004).
El Problema de los m Agentes Viajeros (m-TSP).
El Problema de los m Agentes Viajeros o m-TSP es una generalizacin del TSP en la
cual se tiene un depsito y m vehculos. El objetivo es construir exactamente m rutas,
una para cada vehculo, de modo que cada cliente sea visitado una vez por uno de los
vehculos. Cada ruta debe comenzar y finalizar en el depsito y puede contener a lo
sumo p clientes. Una formulacin, dada por Miller et al. Es la siguiente:

El modelo es similar al segundo modelo presentado para el TSP. La restriccin (1.5)


indica que exactamente m vehculos salen del depsito y las (1.6) y (1.7) aseguran que
cada cliente es un nodo intermedio en exactamente una ruta. Finalmente, con (1.8) se
eliminan los sub-circuitos y se impone que en cada ruta no haya ms de p clientes. En el
caso que p = n (es decir, cuando la cantidad de clientes por ruta no est acotada) el mTSP puede formularse como un TSP con m copias del depsito tales que la distancia
entre ellas es infinita. Las soluciones a ese TSP no utilizarn arcos que conectan dos
copias del depsito y por lo tanto, pueden ser interpretadas como soluciones del m-TSP.
(Olivera A, 2004)
2.3.1.4 El problema de ruteo de vehculos (VRP).
El problema de enrutamiento de vehculos clsico (VRP) es uno de los problemas
ms populares en optimizacin combinatoria y su estudio ha dado lugar a varias tcnicas
de solucin heursticas y exactas de aplicabilidad general. Este generaliza el problema
del agente viajero (TSP) y es por consiguiente NP-Hard. El VRP a menudo est definido
bajo restricciones de capacidad y longitud de ruta, y cuando solo estn presentes las
restricciones de capacidad el problema est denotado como CVRP (problema de

enrutamiento de vehculos con capacidad). La mayora de los algoritmos exactos han


sido desarrollados con restricciones de capacidad en mente pero varios se aplican
haciendo los ajustes necesarios a problemas con restricciones de distancias. En
contraste, la mayora de las tcnicas heursticas consideran explcitamente los dos tipos
de restriccin. (Cordeaul JF. Ed al, 2007)
El VRP es una extensin del m-TSP en la cual cada cliente i V \ {0} tiene asociada
una demanda di y cada vehculo tiene una capacidad C (la flota es homognea). En este
problema la cantidad de rutas no es fijada de antemano como en el TSP y en el m-TSP.
(Olivera A, 2004)
Para un conjunto de clientes S, d(S) = Pi S, di es su demanda total y r(S) indica la
mnima cantidad de vehculos necesarios servirlos a todos. En la formulacin conocida
con el nombre de flujo de vehculos de dos ndices, se utilizan las variables binarias x ij
para determinar si el arco (i, j) se utiliza o no en la solucin. El problema se formula de
la siguiente manera:

La funcin
(1.9)

es

restricciones

el

objetivo
costo

total

de

la

solucin.

Las

(1.10) y (1.11) indican que m es

la cantidad de vehculos utilizados en la solucin y que todos los vehculos que parten
del depsito deben regresar. Las restricciones (1.12) y (1.13) aseguran que todo cliente
es un nodo intermedio de alguna ruta. Finalmente, la restriccin (1.14) acta como

restriccin de eliminacin de sub-circuitos y a la vez impone que la demanda total de los


clientes visitados por un vehculo no puede superar la capacidad C. (Olivera A, 2004).
Determinar el valor de r(S) requiere la resolucin del siguiente problema:

Donde, K es un conjunto con suficientes vehculos para satisfacer la demanda (por


ejemplo, n). Este problema es conocido como Bi Packing Problem (BPP). Una cota
inferior para la cantidad de vehculos est dada por el valor ptimo de la relajacin
lineal del BPP, que es [d(S)/C]. La formulacin es vlida incluso cuando se sustituye
r(S) por la cota inferior [d(S)/C]. En algunos casos se agrega a este problema la
restriccin de que ninguna ruta puede tener largo mayor que cierta cota L. Dicha
restriccin no puede incorporarse a esta formulacin, pues las rutas no estn
individualizadas. En esta formulacin la cantidad de vehculos m es una variable de
decisin que no tiene cota superior, es decir, se asume que la disponibilidad de vehculos
es ilimitada. Si se tuviera una flota finita se podra agregar una cota superior para m o
directamente fijar su valor. Notar que est implcito que cada vehculo puede recorrer a
lo sumo una ruta. (Olivera A, 2004)

2.3.1.5 Variantes del problema de ruteo de vehculos (VRP).


El Problema con Flota Heterognea (FSMVRP)
En los problemas con flota heterognea los costos y capacidades de los vehculos
varan, existiendo un conjunto T = {1,. . ., | T|} de tipos de vehculo. La capacidad de los
vehculos k T es qk y su costo fijo (si lo tuvieran) es f k. Los costos y tiempos de viaje
para cada tipo de vehculo son c kij y tkij respectivamente. Se asume que los ndices de los
vehculos estn ordenados en forma creciente por capacidad (es decir, q k1 qk2 para k1,

k2 T, k1 < k2). (Olivera A, 2004). En la siguiente formulacin de flujo de vehculos


de tres ndices se agrega un ndice para discriminar entre los tipos de vehculos.

Las variables binarias xkij indican si el arco (i, j) es utilizado por el vehculo k y las
variables ri positivas indican la carga acumulada en la ruta correspondiente hasta el nodo
i (inclusive). La funcin objetivo (1.15) mide el costo total de la solucin incluyendo
costos fijos y variables. Las restricciones (1.16) establecen que todo cliente debe ser
visitado por algn vehculo. En (1.17) se indica que si un vehculo de tipo k visita al
nodo i, entonces un vehculo del mismo tipo debe abandonarlo. Las restricciones (1.18)
y (1.19) fijan los valores de las variables r i y actan como restricciones de eliminacin
de subcircuitos, mientras que la capacidad de los vehculos se impone en (1.20).
(Olivera A, 2004).
Segn Olivera A. (2004) En esta formulacin se asume que la cantidad de vehculos
de cada tipo es ilimitada. El problema correspondiente se denomina Fleet Size and Mix
Vehicle Routing Problem (o FSMVRP). No solo se debe decidir las rutas, sino la
composicin de la flota de vehculos a utilizar. Usualmente, al tratar con problemas de
flota heterognea, se opta por utilizar este modelo aun cuando en algunos casos no
refleja la realidad. Si la cantidad de vehculos disponibles de cada tipo k fuera v k,
conocida de antemano, debera agregarse las restricciones:

El Problema con Ventanas de Tiempo (VRPTW)


Para Olivera A. (2004) en esta variante del problema, adems de capacidades, cada
cliente i V \ {0} tiene asociada una ventana de tiempo [ei, li] que establece un horario
de servicio permitido para que un vehculo arribe a l y un tiempo de servicio o demora
si. Si (i, j) es un arco de la solucin y ti y tj son las horas de arribo a los clientes i y j, las
ventanas de tiempo implican que necesariamente debe cumplirse t i li y tj lj. Por otro
lado, si ti < ei, entonces el vehculo deber esperar hasta que el cliente abra y
necesariamente tj = ei + si + tij.
Utilizando los nodos 0 y n + 1 para representar al depsito y el conjunto K para
representar a los vehculos (no a los tipos de vehculos como en la seccin anterior), el
problema se formula para una flota de vehculos posiblemente heterognea, de la
siguiente manera:

Las variables xkij indican si el arco (i, j) es recorrido por el vehculo k. Las variables yki
indican la hora de arribo al cliente i cuando es visitado por el vehculo k (si el cliente no
es visitado por dicho vehculo el valor de la variable no tiene significado). La funcin
objetivo (1.21) es el costo total de las rutas. La restriccin (1.22) indica que todos los
clientes deben ser visitados. Las restricciones (1.23) y (1.24) determinan que cada
vehculo k K recorre un camino de 0 a n + 1. La capacidad de cada vehculo es
impuesta en (1.25). Siendo M una constante lo suficientemente grande, la restriccin
(1.26) asegura que si un vehculo k viaja de i a j, no puede llegar a j antes que y i + si +
tkij, y actan adems como restricciones de eliminacin de subcircuitos. Finalmente, los
lmites de las ventanas de tiempo son impuestos en (1.27). (Olivera A, 2004).

2.3.1.6 Mtodos de solucin para el problema de ruteo de vehculos (VRP).


Mtodos exactos.
Branch and Bound
La tcnica de Branch and Bound consiste en ir construyendo un rbol con todas las
posibles soluciones pero en el momento que una rama ya no sea la mejor, se deja de
construir el rbol por esa rama, para ahorrar recursos computacionales, de esta manera
se puede llegar a la solucin ptima sin necesidad de explorar todas y cada una de las
posibles soluciones. (Barajas W. 2009)

Para el caso del VRP se debe tener una solucin factible inicial con una distancia total
recorrida asociada y as realizar el rbol cortando las ramas que superen esta distancia.
(Barajas W. 2009)
Supngase un caso del TSP en el cual hay 5 puntos y la matriz de
costos

asociada

es

la siguiente:
0
1
2
3
4

0
0
8.67
17.19
32.25
15.15

1
8.67
0
13.74
25.62
17.55

2
17.19
13.74
0
35.81
30.81

3
32.25
25.62
35.81
0
26.19

4
15.15
17.55
30.81
26.19
0

Se establece una solucin factible inicial como se muestra en la figura XX.

Con una distancia total asociada de 99,92. Y como se observa, una solucin:

F1 = {1 7 p4, 2 7 p3, 3 7 p2, 4 7 p1}

En la figura XX siguiente, se muestra el rbol del ejemplo planteado anteriormente


en donde los cuadros grises muestran como queda el rbol despus de fabricarlo
cortando las ramas en donde la distancia superaba el valor de 99,92. Se nota que en este
ejemplo con un n bastante pequeo tan solo se cortaron dos ramas casi al final de estas.
Ahorrando en realidad muy pocos recursos, teniendo en cuenta tambin que se utilizaron
recursos para hallar la solucin factible inicial. Para tamaos ms grandes de n con esta
tcnica se obtiene el resultado ptimo con un uso menor de recursos que el necesitado

para explorar todas y cada una de las soluciones. Sin embargo esta tcnica no es muy
utilizada ya que an sigue gastando bastantes recursos y tiene limitaciones en cuanto al
tamao de n. (Barajas W. 2009).

Branch and Cut


Branch and Cut es una tcnica derivada de Branch and Bound en donde se tratan
los problemas combinatorios sin tener en cuenta la restriccin de soluciones enteras,
esto lo hace mediante el mtodo simplex tradicional. Cuando una solucin ptima es
encontrada, se utiliza un algoritmo de plano de corte para encontrar restricciones que
satisfagan los puntos enteros factibles que fueron violados en la solucin que fue
hallada sin tener en cuenta las restricciones de variables enteras. Si se hallan
desigualdades, estas son agregadas al problema de programacin lineal esperando
que la solucin sea menos decimal (ms cercana a valores enteros). De esta manera
se repite el proceso hasta que se encuentre una solucin con valores enteros o hasta
que no se encuentren ms planos de corte. Se puede utilizar este mtodo para tratar
problemas de TSP y CVRP. Estas tcnicas exactas no son muy utilizadas en la
actualidad para VRPs, pero en estudios pasados se hicieron publicaciones bien
fundamentadas en donde aplican estas tcnicas para la resolucin del VRP que
pueden llegar a servir para desarrollos futuros. (Barajas W. 2009).
Heursticas

Las heursticas son procedimientos simples que realizan una exploracin limitada
del espacio de bsqueda y dan soluciones de calidad aceptable en tiempos de clculo
generalmente moderados. Las soluciones obtenidas con esta clase de procedimientos
pueden, en general, ser mejoradas utilizando mtodos de bsqueda ms sofisticados,
pero incurriendo en elevados tiempos de ejecucin. Muchas de estas heursticas pueden
ser extendidas para manejar restricciones adicionales a las del VRP.
El Algoritmo de Ahorros
Uno de los algoritmos ms difundidos para el VRP es el Algoritmo de Ahorros de
Clarke y Wright. Si en una solucin dos rutas diferentes (0, . . . , i, 0) y (0, j, . . . , 0)
pueden ser combinadas formando una nueva ruta (0, . . . , i, j, . . . , 0) como se muestra
en la Figura WW, el ahorro (en distancia) obtenido por dicha unin es:

Pues en la nueva solucin los arcos (i, 0) y (0, j) no sern utilizados y se agregar el
arco (i, j). En este algoritmo se parte de una solucin inicial y se realizan las uniones que
den mayores ahorros siempre que no violen las restricciones del problema. Existe una
versin paralela en la que se trabaja sobre todas las rutas simultneamente, y otra
secuencial que construye las rutas de a una por vez.

Figura WW. Dos rutas, antes y despus de ser unidas.


Algoritmo de Ahorros (Versin paralela)
Paso 1 (inicializacin). Para cada cliente i construir la ruta (0, i, 0).

Paso 2 (clculo de ahorros). Calcular sij para cada par de clientes i y j.


Paso 3 (mejor unin). Sea si j = Max sij, donde el mximo se toma entre los ahorros
que no han sido considerados an. Sean ri y rj las rutas que contienen a los clientes i
y j respectivamente. Si i es el ultimo cliente de ri y j es el primer cliente de r j y la
combinacin de ri y rj es factible, combinarlas.
Eliminar si j de futuras consideraciones. Si quedan ahorros por examinar ir a 3, si no
terminar.
Algoritmo de Ahorros (Versin secuencial)
Paso 1 (inicializacin). Para cada cliente i construir la ruta (0, i, 0).
Paso 2 (clculo de ahorros). Calcular sij para cada par de clientes i y j.
Paso 3 (seleccin). Si todas las rutas fueron consideradas, terminar. Si no, seleccionar
una ruta que an no haya sido considerada.
Paso 4 (extensin). Sea (0, i,. . ., j, 0) la ruta actual. Si no existe ningn ahorro
conteniendo a i o a j, ir a 3. Sea sk i (o sjl) el mximo ahorro conteniendo a i (o a j). Si
k (o l) es el ltimo (o primer) cliente de su ruta y la combinacin de dicha ruta con
la actual es factible, realizar dicha combinacin.
Eliminar sk i (o sjl ) de futuras consideraciones. Ir a 4.
Dado que en la definicin de sij solamente interviene la ubicacin de los clientes i y
j, todos los ahorros pueden calcularse una sola vez al comienzo de la ejecucin del
algoritmo. En la versin secuencial, podra calcularse los ahorros a medida que son
necesarios.

Si el mximo ahorro es negativo, la combinacin de las rutas aumentara la distancia


recorrida pero disminuira la cantidad de rutas de la solucin (y por lo tanto la cantidad
de vehculos utilizados). Dependiendo de las particularidades de cada problema, debe
decidirse si realizar o no ese tipo de combinaciones.
Se ha observado que utilizando la definicin original de ahorro suele generarse
algunas rutas circulares (ver Figura YY) lo cual puede ser negativo. Para solucionar este
problema proponen redefinir el ahorro como:
sij = ci0 + c0j cij
Donde es un parmetro que penaliza la unin de rutas con clientes lejanos (llamado
parmetro de forma o shape parameter). Dicho parmetro puede utilizarse tambin para
generar un conjunto de soluciones diferentes mediante la ejecucin repetida del
algoritmo con diferentes valores de .

En general ocurre que al comienzo de la ejecucin del algoritmo dos alternativas


pueden parecer equivalentes y, sin embargo, la eleccin tiene un gran impacto en la
solucin final. Las soluciones obtenidas con el Algoritmo de Ahorros pueden, en
general, ser mejoradas mediante operadores de bsqueda local como el algoritmo 3-Opt.

Heursticas de Insercin
Las heursticas de insercin son mtodos constructivos en los cuales se crea una
solucin mediante sucesivas inserciones de clientes en las rutas. En cada iteracin se

tiene una solucin parcial cuyas rutas solo visitan un subconjunto de los clientes y se
selecciona un cliente no visitado para insertar en dicha solucin.
En las heursticas de insercin secuencial slo se considera insertar clientes en la
ltima ruta creada. La principal desventaja de este enfoque es que los ltimos clientes no
visitados tienden a estar dispersos y por lo tanto las ltimas rutas construidas son de
costo muy elevado. Las heursticas de insercin en paralelo surgen para remediar esta
deficiencia, permitiendo insertar un cliente en cualquiera de las rutas de la solucin.
Cualquier heurstica de insercin para el TSP puede ser utilizada para el VRP siempre
que se verifique la factibilidad antes de realizar las inserciones.
Insercin Secuencial de Mole & Jameson
En esta heurstica se utilizan dos medidas para decidir el prximo cliente a insertar en
la solucin parcial. Por un lado, para cada cliente no visitado se calcula la mejor
posicin para ubicarlo en la ruta actual teniendo en cuenta solamente las distancias y sin
reordenar los nodos que ya estn en la ruta. Se tiene una ruta (v 0, v1,. . ., vt, vt+1) donde v0
= vt+1 = 0. Si w es un cliente no visitado, el costo de insertar w entre v i y vi+1 (0 i t) se
define como:

La mejor posicin para insertar el cliente w en la ruta actual est dada por:

Si se utilizara solamente la medida c 1 para decidir el prximo cliente a insertar, es


probable que los clientes lejanos al depsito no sean tenidos en cuenta sino hasta las

iteraciones finales del algoritmo, es decir, cuando sean las nicas alternativas factibles.
Por lo tanto, es necesario utilizar un incentivo adicional para la insercin de clientes
lejanos al depsito. Se define c2(vi, w) = c0w c1(vi, w) para cada cliente w. En cada
iteracin se busca el cliente que maximiza la medida c 2 (llamada medida de urgencia) y
se lo inserta en la posicin dada por el mnimo valor de c1.
Adems de las medidas anteriores, debe considerarse la factibilidad de las
inserciones. Cuando ninguna insercin es factible y si an quedan clientes sin visitar, se
selecciona un cliente para comenzar una nueva ruta. El algoritmo es el siguiente.
Algoritmo de Mole & Jameson
Paso 1 (creacin de una ruta). Si todos los clientes pertenecen a alguna ruta, terminar. Si
no, seleccionar un cliente no visitado w y crear la ruta r = (0, w, 0).
Paso 2 (insercin). Sea r = (v0, v1,. . ., vt, vt+1) donde v0 = vt+1 = 0. Para cada cliente no
visitado w, calcular i(w) = arg min i=0,...,t c1(vi, w). Si no hay inserciones factibles, ir al
paso 1. Calcular w = arg maxw c2(vi(w), w). Insertar w luego de vi (w ) en r.
Paso 3 (optimizacin). Aplicar el algoritmo 3-opt sobre r. Ir al paso 2.
Para seleccionar el cliente que iniciara una ruta pueden utilizarse diferentes
alternativas, por ejemplo, el ms lejano al depsito. El algoritmo utiliza dos parmetros
y para modificar sus criterios de seleccin de clientes. Al hacer crecer el parmetro
se favorece la insercin de clientes entre nodos lejanos; y al aumentar el valor de , se
privilegia la insercin de clientes lejanos al depsito.
En general, los ltimos clientes no visitados son lejanos entre s y por ende, las
ultimas rutas construidas son de mala calidad. Para corregir esta deficiencia, se propone
utilizar un procedimiento de intercambio de clientes entre las rutas una vez que el
algoritmo finaliza su ejecucin. Primero se busca reasignar clientes de modo de

disminuir el costo de la solucin. Luego, cuando todos los cambios aumentan el costo,
se prosigue realizando intercambios buscando una solucin que utilice menos vehculos.
Insercin en Paralelo de Christofides, Mingozzi y Toth
El algoritmo propuesto por Christofides, Mingozzi y Toth opera en dos fases. En la
primera fase se determina la cantidad de rutas a utilizar, junto con un cliente para
inicializar cada una de las rutas. En la segunda fase se crean dichas rutas y se inserta el
resto de los clientes en ellas.
En la primera fase del algoritmo se aplica un algoritmo de insercin secuencial para
obtener rutas compactas. No se presta especial atencin a la ubicacin de los clientes
dentro de cada ruta, pues de esta fase solo se conservan los clientes iniciales de cada ruta
y la cantidad de rutas de la solucin final.
Para inicializar la k-sima ruta se selecciona un cliente v k dentro de los no visitados.
Se define el costo de insertar el cliente w en la ruta que contiene a vk como w,vk = c0w +
cw,vk (si el cliente no puede ser insertado, la funcin toma el valor ) y se asignan
clientes a la ruta comenzando por los menores valores de hasta que no haya
inserciones factibles, en cuyo caso se crea una nueva ruta o se termina el algoritmo.
Algoritmo de Christofides, Mingozzi y Toth. Fase 1
Paso 1 (nueva ruta). Hacer k := 1.
Paso 2 (cliente inicial). Seleccionar un cliente no visitado vk para insertar en la ruta. Para
cada cliente no visitado w, calcular w,vk .
Paso 3 (inserciones). Calcular w = arg minw w,vk sobre los clientes no visitados w.
Insertar w en la ruta y aplicar el algoritmo 3-opt. Si quedan clientes no visitados que
puedan insertarse en la ruta, ir a 3.

Paso 4 (siguiente ruta). Si todos los clientes pertenecen a alguna ruta, terminar. Si no,
hacer k := k + 1 e ir a 2.
En la segunda fase del algoritmo se crean k rutas y se las inicializa con los clientes
seleccionados en el paso 2 de la fase 1. Cada cliente no visitado se asocia con la ruta en
la que el costo de insertarlo es minimizado. Luego se selecciona una ruta cualquiera en
la que se insertan los clientes que tiene asociados. Para decidir el orden en que se
insertan los clientes asociados a una ruta se calcula, para cada cliente, la diferencia entre
el costo de realizar la insercin en esa ruta y en la segunda mejor opcin para l. Cuanto
mayor es esa diferencia, mayor es la urgencia por insertar dicho cliente en esta ruta.
Algoritmo de Christofides, Mingozzi y Toth. Fase 2

Paso 5 (inicializacin). Crear k rutas r t = (0, vt, 0) para t = 1,. . ., k, siendo k la cantidad
de rutas obtenidas en la fase 1. Sea J = {r1,. . ., rk}.
Paso 6 (asociacin). Para cada cliente w que no haya sido visitado calcular t w = arg mint|
rtJ

w,vt .

Paso 7 (urgencias). Seleccionar rt J y hacer J := J \ {rt}. Para cada cliente w tal que tw
= t, calcular tw = arg mint| rtJ w,vt y w = tw tw.
Paso 8 (insercin). Calcular w = arg maxw| tw =t w. Insertar w en la ruta rt y aplicar el
algoritmo 3-opt. Si quedan clientes asociados a rt que pueden ser insertados, ir a 8.
Paso 9 (finalizacin). Si J 6= , ir a 6. Si todos los clientes han sido visitados, terminar.
Si no, aplicar el algoritmo nuevamente (incluyendo la fase 1) sobre los clientes no
visitados.
Mtodos Asignar Primero - Rutear Despus

Los mtodos asignar primero y rutear despus (cluster first - route second) proceden
en dos fases. Primero se busca generar grupos de clientes, tambin llamados clsters,
que estarn en una misma ruta en la solucin final. Luego, para cada clster se crea una
ruta que visite a todos sus clientes. Las restricciones de capacidad son consideradas en la
primera etapa, asegurando que la demanda total de cada clster no supere la capacidad
del vehculo. Por lo tanto, construir las rutas para cada clster es un TSP que,
dependiendo de la cantidad de clientes en el clster, se puede resolver en forma exacta o
aproximada.
o Heurstica de Barrido o Sweep
En la heurstica de barrido, los clusters se forman girando una semirrecta con origen
en el depsito e incorporando los clientes barridos por dicha semirrecta hasta que se
viole la restriccin de capacidad. Cada clster es luego ruteado resolviendo un TSP de
forma exacta o aproximada.
Este algoritmo puede aplicarse en problemas planos, es decir, en los que cada nodo se
corresponde con un punto en el plano y las distancias entre ellos se definen como la
distancia eucldea. Se supone que cada cliente i est dado por sus coordenadas polares
(i, i) en un sistema que tiene al depsito como origen.
Algoritmo heurstica de barrido
Paso 1 (inicializacin). Ordenar los clientes segn de manera creciente. Si dos clientes
tienen igual valor de , colocar primero el de menor valor de . Seleccionar un cliente w
para comenzar y hacer k := 1 y Ck := {w}
Paso 2 (seleccin). Si todos los clientes pertenecen a algn clster, ir a 3. Si no,
seleccionar el siguiente cliente wi. Si wi puede ser agregado Ck sin violar las

restricciones de capacidad, hacer Ck := Ck {wi}. Si no, hacer k := k + 1 y crear un


nuevo cluster Ck := {wi}. Ir a 2.
Paso 3 (optimizacin). Para cada clster Ck para t = 1, . . . , k, resolver un TSP con sus
clientes.
Por la forma en que se generan los clusters, las rutas obtenidas no se superponen, lo
que puede ser bueno en algunos casos. Un posible resultado de la aplicacin de este
algoritmo se muestra en la Figura NN donde las lneas punteadas indican los lmites de
los clusters.

Figura NN. Una solucin obtenida mediante el Algoritmo de Barrido

El procedimiento se repite n veces, comenzando en cada ejecucin por un cliente


diferente. Se propone adems un procedimiento para eliminar clientes de cada ruta
finalizada e insertar clientes que an no fueron visitados, en el caso que esto disminuya
el costo de la ruta. Los clientes eliminados de la ruta sern barridos por alguna ruta
posterior. Utilizando esta variante las rutas pueden solaparse.

Mtodo Rutear Primero - Asignar Despus

En los mtodos rutear primero - asignar despus tambin se procede en dos fases.
Primero se calcula una ruta que visita a todos los clientes resolviendo un TSP. En
general esta ruta no respeta las restricciones del problema y se particiona en varias rutas,
cada una de las cuales s es factible.

Dada r = (0, v1,. . ., vn, 0), la solucin del TSP obtenida en la primera fase, se determina
la mejor particin de r que respete la capacidad del vehculo. Este problema se puede
formular como el de hallar un camino mnimo en un grafo dirigido y acclico. Para ello,
se construye un grafo G = (X, V, W) donde X = {0, v 1,. . ., vn}. Los arcos del G conectan
todo par de clientes vi y vj con i < j y tales que la demanda total de los clientes vi+1,. . ., vj
no supera la capacidad del vehculo:

Cada arco (vi, vj) se pondera con el costo de la ruta (0, vi+1,. . ., vj, 0), es decir:

Un arco (v i, vj) representa la ruta (0, vi+1,. . ., vj, 0). Cada camino de 0 a v n en G
representa una posible particin de la ruta r en rutas que respetan las restricciones de
demanda. Por lo tanto, el camino de costo mnimo entre 0 y v n representa la particin de
costo mnimo de la ruta original en rutas que respetan la restriccin de capacidad. Como
el grafo es acclico (slo hay arcos (v i, vj) con i < j), puede utilizarse el Algoritmo de
Dijkstra para hallar dicho camino. En la Figura HH se presenta un posible ordenamiento
de los clientes de un problema y su grafo asociado. Si el camino ms corto de 0 a 4 en el
grafo fuera (0, 2, 4), la solucin dada por el algoritmo seran las rutas (0, 1, 2, 0) y (0, 3,
5, 4, 0), como se indica.

Figura HH. Aplicacin del algoritmo rutear primero - asignar despus


Aunque la ruta inicial sea la solucin ptima del TSP y la particin se realice de
manera ptima, las rutas obtenidas no necesariamente son una solucin ptima para el
problema. Por lo tanto, alcanza con que la ruta inicial se calcule en forma heurstica, por
ejemplo, mediante la aplicacin de 2-opt sobre una ruta aleatoria como en el trabajo
original. El algoritmo puede ejecutarse repetidas veces, partiendo de diferentes rutas
iniciales.
Segn la definicin original, w (vi, vj) es el costo de la ruta que comienza en vi+1,
sigue el orden de la ruta original y termina en vj. Esta definicin puede modificarse
permitiendo variar el orden de los clientes vi+1,. . ., vj de modo de obtener una ruta
mejor. Tambin se ha aplicado el algoritmo 2-opt sobre la ruta (0, vi+1,. . ., vj, 0).
Procedimientos de Bsqueda Local

Una vez que se tiene una solucin para el problema, se puede intentar mejorarla
mediante algn procedimiento de bsqueda local. Para cada solucin s se define un
conjunto de soluciones vecinas N(s). Un procedimiento de Bsqueda Local parte de una
solucin s, la reemplaza por una solucin s N(s) de menor costo y repite el
procedimiento hasta que la solucin no pueda ser mejorada. Al terminar, se obtiene una
solucin localmente ptima respecto a la definicin de la vecindad. Para obtener s
puede buscarse la mejor solucin de N(s) (estrategia best improvement) o simplemente
tomar la primera solucin de N(s) que mejore el costo (estrategia first improvement).
Usualmente se define N(s) como las soluciones que pueden obtenerse aplicando a s
alguna regla o procedimiento sencillo llamado movida. Las movidas para el VRP
pueden clasificarse en movidas de una ruta y movidas multi-ruta.

En las movidas de una ruta los clientes que se visitan en una ruta no varan luego de
la aplicacin del operador, lo que vara es el orden en que se realizan las visitas. En las
movidas multi-ruta, adems de cambios en el orden de las visitas suele modificarse el
conjunto de clientes visitados en cada ruta.
El operador -intercambio
Uno de los operadores de bsqueda local para una ruta ms conocidos es el intercambio definido por Lin. Un -intercambio consiste en eliminar arcos de la
solucin ( > 1) y reconectar los segmentos restantes. Una solucin se dice -optima
si no puede ser mejorada utilizando -intercambios. Se llama -opt a un algoritmo de
bsqueda local que utiliza -intercambios hasta alcanzar una solucin -ptima.
En una ruta que visita n clientes, hay

maneras posibles de eliminar arcos y,

dada una eleccin de arcos a eliminar, hay 21( 1)! Maneras de reconectar la ruta
(incluyendo la reconexin que vuelve a generar la misma ruta). Por lo tanto, la cantidad
de -intercambios posibles es

Chequear si una solucin es -

optima puede hacerse en tiempo O(n) en el peor caso.


Usualmente se implementan 2-intercambios y 3-intercambios. Posibles movidas de
este tipo se muestran en las Figuras XX y YY. En general, estas movidas invierten el
orden de algunas visitas. Asumiendo que las movidas no afectan la factibilidad y que los
costos son simtricos, puede buscarse movidas que mejoren el costo de una ruta sin
necesidad de explorar todas las posibilidades. Si no se cumplieran dichos supuestos,
buscar -intercambios tendra un costo computacional ms elevado debido a la
necesidad de incorporar chequeos de factibilidad y re-calcular algunos costos.
Renaud, Boctor y Laporte, propusieron una versin reducida de 4-opt llamada 4opt. Se parte de dos secuencias disjuntas de nodos (v 0,. . ., vu+1) y (vk, vk+1, vk+2)
respetando el orden de la ruta, donde u w y w es un parmetro del algoritmo. Si
min{cv1,vk+1 , cvu,vk+1 } < mx{cv0,v1 , cvu,vu+1 , cvk,vk+1 , cvk+1,vk+2}, se eliminan los arcos (v0,
v1), (vu, vu+1), (vk, vk+1) y (vk+1, vk+2), se agrega el de menor costo entre (v 1, vk+1) y (vu,

vk+1) y se reconecta la ruta agregando tres arcos ms. De esta manera se asegura que al
menos uno de los arcos agregados tiene menor costo que alguno de los arcos eliminados.
Como siempre se agrega el arco de menor costo entre (v 1, vk+1) y (vu, vk+1), los segmentos
que se debe reconectar son tres y no cuatro. Por lo tanto la cantidad de alternativas para
la reconexin es 8 y no 48 como en el 4-opt original. En la Figura ZZ se muestra todas
las posibles maneras de reconectar una ruta, en el caso que c v1, vk+1 cvu, vk+1; las lneas
punteadas representan caminos y las lneas llenas representan arcos.
En el mismo trabajo, se propone buscar movidas que mejoren la solucin partiendo
de u = 1 e incrementndolo en 1 cada vez que no se encuentren mejoras, hasta que u =
w. Cuando eso ocurre, se vuelve a comenzar con u = 1 hasta realizar una ronda completa
de bsquedas infructuosas, en cuyo caso se dice que la solucin es 4-ptima.
Chequear si una solucin es 4-ptima requiere un tiempo O(wn2), por lo tanto
utilizando valores de w que sean pequeos en comparacin con n se obtiene un
algoritmo con tiempo de ejecucin O(n2).
Figura XX. El nico 2-intercambio posible para los arcos marcados

Figura YY. Todos los 3-intercambios posibles para los arcos marcados

Figura ZZ. Todos los 4-intercambios posibles para los arcos marcados si cv1

,vk+1

cvu,vk+1 .

El algoritmo de Lin-Kernigham
Un problema que surge al aplicar -intercambios es que debe fijarse el valor de de
antemano. El algoritmo propuesto por Lin y Kernigham [38] utiliza la idea de
intercambiar un conjunto de arcos por otro, pero determinando dichos conjuntos (y su
cardinalidad) dinmicamente durante la ejecucin del algoritmo. Dada una ruta, la idea
es determinar dos conjuntos de arcos {x1 , . . . , xk} e {y1 , . . . , yk} tales que su
intercambio disminuya el costo de la solucin. Los arcos x deben ser parte de la ruta,
ambos conjuntos deben ser disjuntos y, adems, eliminar los arcos x y agregar los arcos
y debe formar una ruta cerrada.

Se comienza seleccionando un arco x1 = (v1 , v2). Luego, se busca y2 = (v2, v3) de


modo que cx1 cy1 = cv1,v2 cv2,v3 > 0. Al comenzar la iteracin i de este proceso,
se han elegido x1 , . . . , xi1 y y1 , . . . , yi1, donde xh = (v2h1 , v2h) y yh = (v2h,
vvh+1).
Se busca ahora xi = (v2i1 , v2i), de modo que si se uniera v2i con v1 se obtendra
una ruta cerrada (esto asegura que el proceso pueda finalizarse obteniendo una solucin
factible) . Como v2i1 fue determinado al seleccionar yi1 y xi debe ser un arco de la
ruta, existen dos opciones para v2i (el anterior a v2i1 en la ruta y el siguiente a el),
pero solo una de estas cerrara la ruta a ser unida con v1. De modo que xi queda
determinado por yi1.
Para seleccionar yi = (v2i, v2i+1) debe cumplirse yi {/ x1 , . . . , xi} para que los
conjuntos sean disjuntos, Pij=1 cxj cyj > 0 para que el intercambio no empeore la
solucin y, adems, debe poder elegirse el siguiente xi+1. Si no es posible encontrar yi
que cumpla todo lo anterior, se busca k tal que Pkj=1 cxj cyj sea mximo y se realizan
intercambian los arcos {x1 , . . . , xk} e
{y1 , . . . , yk}.
En la Figura CC se muestra una posible aplicacin del mtodo para encontrar un
intercambio. El procedimiento se repite hasta terminar en un optimo local, cuando no es
posible encontrar intercambios que mejoren la solucin.
El operador Or-opt
Una versin reducida del algoritmo 3-opt es el algoritmo Or-opt, que consiste en
eliminar una secuencia de k clientes consecutivos de la ruta y colocarlos en otra posicin
de la ruta, de modo que permanezcan consecutivos y en el mismo orden. Primero se
realizan las movidas con k = 3, luego con k = 2 y finalmente con k = 1. En la Figura VV
se muestra una ruta y todas las posibles maneras de reubicar los 3 primeros clientes a la
manera de Or-opt. Si una ruta visita n clientes existen O(n2) de estas movidas.

Algoritmo de intercambio par a par o 2-opt

Algoritmo 3-opt

Metaheursticas
Las Metaheursticas son procedimientos genricos de exploracin del espacio de
soluciones para problemas de optimizacin y bsqueda. Proporcionan una lnea de
diseo que, adaptada en cada contexto, permite generar algoritmos de solucin. En
general, las metaheursticas obtienen mejores resultados que las heursticas clsicas,
pero incurriendo en mayores tiempos de ejecucin (que de todos modos, son inferiores a
los de los algoritmos exactos).
Las tcnicas metaheursticas se pueden clasificar en: metaheursticas basadas en
trayectoria y metaheursticas basadas en poblacin.

Metaheursticas basadas en trayectoria


Estas tcnicas parten de un punto inicial y van actualizando la solucin presente
mediante la exploracin del vecindario, formando una trayectoria. La bsqueda finaliza
cuando se alcanza un nmero mximo de iteraciones, se encuentra una solucin con una
calidad aceptable, o se detecta un estancamiento del proceso.
A continuacin se describen algunas de las tcnicas metaheursticas basadas en
trayectoria:

El Enfriamiento Simulado (ES), es una de las metaheursticas ms antigua. ES


simula el proceso de recocido de los metales y del cristal. En cada iteracin se
elige una solucin S1, a partir de la solucin actual S0. Si S1 es mejor que S0, S1
sustituye a S0 como solucin actual. Si S1 es peor que S0, se sigue aceptando
pero asignndole una determinada probabilidad. El algoritmo permite elegir
soluciones peores a la actual para evitar caer en un ptimo local.

La Bsqueda en Vecindario Variable (BVV). Este algoritmo es muy genrico,


con muchos grados de libertad y permite variaciones y modificaciones
particulares. Utiliza una estrategia de cambio entre diferentes estructuras del
vecindario. Estas estructuras se definen en el comienzo del proceso algortmico.

La Bsqueda Local Iterada (BLI), se basa en que en cada iteracin, a la solucin


actual se le aplica un cambio o modificacin que da lugar a una solucin
intermedia. A esta nueva solucin se le aplica una heurstica base para mejorarla
que suele ser un mtodo de bsqueda local. Este nuevo ptimo local obtenido
por el mtodo de mejora puede ser aceptado como nueva solucin actual si pasa
un test de aceptacin.

La Bsqueda Tab (BT), es una de las metaheursticas ms utilizadas en


problemas de optimizacin. La BT se basa fundamentalmente en la utilizacin de
un historial de bsqueda, que permite ejecutar su estrategia de anlisis y
exploracin de diferentes regiones del espacio de bsqueda. Este historial o
memoria se implementa como una lista tab. En cada iteracin se elige la mejor
solucin entre las permitidas y se aade a la lista tab, donde se mantienen las
soluciones recientes que se excluyen de las siguientes iteraciones.

La Bsqueda Tab
Los orgenes de la Bsqueda Tab (Tabu Search, TS) pueden situarse en diversos
trabajos publicados a finales de los 70 (Glover, 1977). Oficialmente, el nombre y la
metodologa fueron introducidos posteriormente por Fred Glover (1989). Numerosas
aplicaciones han aparecido en la literatura, as como artculos y libros para difundir el
cono cimiento terico del procedimiento (Glover and Laguna, 1997).
TS es una tcnica para resolver problemas combinatorios de gran dificultad que est
basada en principios generales de Inteligencia Artificial (IA). En esencia es un
metaheursticos que puede ser utilizado para guiar cualquier procedimiento de bsqueda
lo cal en la bsqueda agresiva del optimo del problema. Por agresiva nos referimos a la
estrategia de evitar que la bsqueda quede atrapada en un ptimo lo cal que no sea
global. A tal efecto, TS toma de la IA el concepto de memoria y lo implementa mediante
estructuras simples con el objetivo de dirigir la bsqueda teniendo en cuenta la historia
de esta. Es decir, el procedimiento trata de extraer informacin de lo sucedido y actuar
en consecuencia. En este sentido puede decirse que hay un cierto aprendiza je y que la
bsqueda es inteligente. El principio de TS podra resumirse como:
Es mejor una mala decisin basada en informacin que una buena decisin al azar, ya
que, en un sistema que emplea memoria, una mala eleccin basada en una estrategia
proporcionara claves tiles para continuar la bsqueda.

Una buena eleccin fruto del azar no proporcionara ninguna informacin para
posteriores acciones.
TS comienza de la misma forma que cualquier procedimiento de bsqueda local,
procediendo iterativamente de una solucin x a otra y en el entorno de la primera: N(x).
Sin embargo, en lugar de considerar todo el entorno de una solucin, TS define el
entorno reducido N(x) como aquellas soluciones disponibles del entorno de x. As, se
considera que a partir de x, slo las soluciones del entorno reducido son alcanzables.
N(x) N(x)
Existen muchas maneras de definir el entorno reducido de una solucin. La ms
sencilla consiste en etiquetar como tab las soluciones previamente visitadas en un
pasado cercano. Esta forma se conoce como memoria a corto plazo (short term memory)
y est basada en guardar en una lista tab T las soluciones visitadas recientemente
(Recency). As en una iteracin determinada, el entorno reducido de una solucin se
obtendra como el entorno usual eliminando las soluciones etiquetadas como tab.
N(x) = N(x) \ T
El objetivo principal de etiquetar las soluciones visitadas como tab es el de evitar
que la bsqueda se cicle. Por ello se considera que tras un cierto nmero de iteraciones
la bsqueda est en una regin distinta y puede liberarse del status tab (pertenencia a T)
a las soluciones antiguas. De esta forma se reduce el esfuerzo computacional de calcular
el entorno reducido en cada iteracin. En los orgenes de TS se sugeran listas de tamao
pequeo, actualmente se considera que las listas pueden ajustarse dinmicamente segn
la estrategia que se est utilizando.
Se define un nivel de aspiracin como aquellas condiciones que, de satisfacerse,
permitiran alcanzar una solucin aunque tenga status tab. Una implementacin
sencilla consiste en permitir alcanzar una solucin siempre que mejore a la mejor
almacenada, aunque est etiquetada tab. De esta forma se introduce cierta flexibilidad
en la bsqueda y se mantiene su carcter agresivo.

Es importante considerar que los mtodos basados en bsqueda local requieren de la


exploracin de un gran nmero de soluciones en poco tiempo, por ello es crtico el
reducir al mnimo el esfuerzo computacional de las operaciones que se realizan a
menudo. En ese sentido, la memoria a corto plazo de TS est basada en atributos en
lugar de ser explicita; esto es, en lugar de almacenar las soluciones completas (como
ocurre en los procedimientos enumerativos de bsqueda exhaustiva) se almacenan
nicamente algunas caractersticas de estas.
La memoria mediante atributos produce un efecto ms sutil y efectivo en la
bsqueda, ya que un atributo o grupo de atributos identifica a un conjunto de soluciones,
del mismo modo que los hiperplanos o esquemas utilizados en los algoritmos Genticos.
As, un atributo que fue etiquetado como tab por pertenecer a una solucin visitada
hace n iteraciones, puede impedir en la iteracin actual, el alcanzar una solucin por
contenerlo, aunque esta sea diferente de la que provoc el que el atributo fuese
etiquetado. Esto permite, a largo plazo, el que se identifiquen y mantengan aquellos
atributos que inducen una cierta estructura beneficiosa en las soluciones visitadas.
Con los elementos descritos puede disearse un algoritmo bsico de TS para un
problema de optimizacin dado. Sin embargo, TS ofrece muchos ms elementos para
construir algoritmos realmente potentes y eficaces. A menudo, dichos elementos han
sido ignorados en muchas aplicaciones y actualmente la introduccin de estos en la
comunidad cientfica constituye un reto para los investigadores del rea.
Un algoritmo TS est basado en la interaccin entre la memoria a corto plazo y la
memoria a largo plazo. Ambos tipos de memoria llevan aso ciadas sus propias
estrategias y atributos, y actan en mbitos diferentes. Como ya hemos mencionado la
memoria a corto plazo suele almacenar atributos de soluciones recientemente visitadas,
y su objetivo es explorar a fondo una regin dada del espacio de soluciones. En
ocasiones se utilizan estrategias de listas de candidatos para restringir el nmero de

soluciones examinadas en una iteracin dada o para mantener un carcter agresivo en la


bsqueda.
La memoria a largo plazo almacena las frecuencias u ocurrencias de atributos en las
soluciones visitadas tratando de identificar o diferenciar regiones. La memoria a largo
plazo tiene dos estrategias asociadas: Intensificar y Diversificar la bsqueda. La
intensificacin consiste en regresar a regiones ya exploradas para estudiarlas ms a
fondo. Para ello se favorece la aparicin de aquellos atributos asociados a buenas
soluciones encontradas.
La Diversificacin consiste en visitar nuevas reas no exploradas del espacio de
soluciones. Para ello se modifican las reglas de eleccin para incorporar a las soluciones
atributos que no han sido usados frecuentemente. La siguiente tabla muestra los
elementos mencionados.

RESEA DEL SOFTWARE DISPONIBLE PARA EL DISEO DE RUTAS DE


VEHICULOS

PROGRAMACIN A CORTO PLAZO


4.1 Graficas de Gantt.
4.2 Secuenciacin de actividades.
42.1 Regla de Johnson.

3. DISEO METODOLGICO

3.1. TIPO DE INVESTIGACIN


Este proyecto es una investigacin de campo de tipo inductivo y descriptivo.
3.2. POBLACIN Y MUESTRA

3.2.1. Poblacin
El nmero total de clientes distribuidos en toda la ciudad, incluye los centros de
distribucin.
3.2.2. Muestra
Se tomar una muestra necesaria para obtener un nivel confianza del 95% y un error
admisible del 5%, aleatorizada.
3.3.

INSTRUMENTOS

TCNICAS

PARA

LA

RECOLECCIN

DE

INFORMACIN
3.3.1. Fuentes primarias

Formato para la recoleccin de la informacin de coordenadas y distancias de los


clientes.

Formato de encuesta para determinacin de necesidades en el diseo de rutas en


la empresa XXX de la ciudad de Ccuta.

Formato de encuesta para caracterizacin del canal de distribucin de la empresa


XXXX.

3.4. ANLISIS DE LA INFORMACIN.


Se utilizarn las siguientes herramientas informticas para el anlisis de los datos
recolectados:

Excel
Solver de Excel
WinQSB
VRP Solver v1.3
Google earth
MS Project
Matlab

4. CONTENIDO TENTATIVO

FASE PRELIMINAR: Consiste en el anlisis cualitativo de los canales de distribucin


tienda a tienda y la necesidad de una herramienta para la toma de decisin a nivel tctico
sobre el ruteo y programacin de rutas.
Esta incluye una encuesta realizada a la empresa con el fin de conocer cmo se hacen
actualmente este tipo de operaciones y su planeacin actual. Esta encuesta incluye datos

histricos de los pedidos realizados por los clientes, capacidades de los vehculos, costos
fijos y variables de operacin de los vehculos, caractersticas de los pedidos como
frecuencias y requisitos de entrega en tiempo y cantidad.
Se procede a tomar una muestra aleatoria de clientes a visitar y se seleccionan las
variables y las restricciones ms importantes para este proceso.
Se diligencia la matriz de distancias usando la herramienta de mapas de Google.
Se realiza la recoleccin de datos durante una semana de operaciones y se tabulan para
su posterior anlisis.

PRIMERA FASE DE

RUTEO: Es una fase de bsqueda estratgica, en la que

mediante la aplicacin de metodologas de investigacin de operaciones se busca un


modelo simple que se aproxime a la realidad del sistema.
Para esto, con la matriz de distancia se disea un multgrafo con cada posible ruta, y
utilizando tcnicas de solucin del VRP con capacidad, flota heterognea y ventanas de
tiempo, se buscan resultados factibles de rutas que satisfagan estos tres tipos de
restricciones.
SEGUNDA FASE DE RUTEO: Consiste en el mejoramiento de las rutas mediante la
bsqueda local inteligente (metaheursticas). Esto permite disear rutas con tiempos ms
cortos y menor costo de transporte.
FASE DE PROGRAMACIN DE RUTAS: consiste en adaptar los resultados
anteriores a un plan operativo, el cual cumpla con los requisitos y necesidades
identificados en la primera fase.

Para ellos se aplicarn algoritmos de programacin a corto plazo y graficas de Gantt.


Teniendo en cuenta las restricciones como secuencia, tiempos o jornadas de trabajo y
vehculos disponibles. Este plan con el fin de programar la mano de obra y los recursos
necesarios para cada ruta.
FASE DE ANALISIS DE RESULTADOS: Cosiste en aplicar el modelo para la
comparacin de resultados del software a la prctica. Para esto se concertar con la
empresa los tiempos y clientes para este estudio. Y clculo y anlisis de los indicadores
de Gestin Logstica para la estrategia de transporte.