Вы находитесь на странице: 1из 10

Propuesta de Estrategia MetaHeurstica para Encontrar la Mejor

Ruta en la Recoleccin de Productos


en una Bodega
Jorge Aravena
Felipe Hormazbal
Universidad de Talca
Agosto del 2016

Introduccin

La bsqueda de una ruta de costo mnimo en el proceso de recoleccin de productos en una


bodega es un tpico problema que puede ser encontrado en muchas empresas de
distribucin que necesitan mantener un inventario y distribuir productos a sus clientes. Se
ha estimado que hasta el 50% de los costos operacionales de mantencin de una bodega se
debe a la recoleccin de productos [1]. Lo anterior ocurre debido a la presencia de
decisiones tomadas por personas inexpertas en vez de sistemas automatizados de
optimizacin [2, 3]. Encontrar la mejor ruta en el proceso de recoleccin de productos en
una bodega est vinculada con el problema del vendedor viajero conocido en la literatura
por ser un problema computacional clasificado como NP-Hard. Todos aquellos problemas
clasificados como NP-Hard no pueden ser resueltos en tiempo polinomial y por lo tanto no
es posible encontrar una solucin en tiempo acotado. En este trabajo proponemos un
enfoque meta-heurstico usando Simulated Annealing para encontrar una solucin
aproximada al problema de la ruta ms corta en una bodega.

Notacin y Definicin del Problema

2.1

Definicin del Problema

Existe una bodega dividida por pasillos. Cada pasillo tiene un conjunto de estantes para
albergar los productos. Por simplicidad se asume que cada estante alberga una y sola una
familia de productos por tanto un estante almacena muchas unidades del mismo tipo de
producto. La orden de pedido contiene la lista de productos y la cantidad de unidades
requeridas por cada producto. La recoleccin de productos es realizada por una persona
cuya responsabilidad es recibir el pedido, recolectar los productos y entregar los productos
para despacho. La persona conduce un vehculo para almacenar los productos que se van
recolectando en el camino. El trayecto comienza y termina siempre en el mismo punto o
dicho de otra forma el vehculo debe comenzar en un punto inicial, recolectar todos los
productos y luego de haber finalizado el proceso de recoleccin debe volver al mismo
punto de comienzo. La cantidad de trayectos que se efectan depende exclusivamente de la
capacidad que tiene el vehculo para almacenar los productos que se vayan recolectando en
el camino, por lo tanto, si la cantidad de productos es muy grande y la capacidad del
vehculo no es apta para almacenar todos los productos en un solo viaje es probable que se
tenga que realizar ms de un trayecto aumentando de esta forma el tiempo consumido en la
recoleccin de productos. Se asume adems que siempre existe la cantidad suficiente de
productos para satisfacer la demanda del pedido.

A continuacin, se puede observar la estructura fsica de la bodega en donde se recolectarn


los productos requeridos por el pedido.

Figura 2.1.1, Estructura fsica de la bodega

Desde la figura 2.1.1 se puede observar la estructura de la bodega constituida por 8 pasillos
verticales y 2 pasillos horizontales. Cada pasillo contiene un conjunto de 18 estantes en
donde se almacenan los productos. El punto inicial en donde se comienza a realizar la
recoleccin de productos corresponde al recuadro ubicado en la esquina inferior izquierda
titulado como DEPOT.

2.2

Formulacin del Modelo

El problema de recoleccin de productos en tiempo mnimo se ha dividido en dos subproblemas. En el primer problema se debe encontrar la mnima cantidad de trayectos que se
deben realizar segn la capacidad que tiene el vehculo para almacenar los productos
requeridos por el pedido. Una vez conocida la cantidad de trayectos es necesario encontrar
para cada trayecto la mejor ruta que se debe realizar en tiempo mnimo. El primer problema
est relacionado con el Bin Packing Problem y el segundo problema se encuentra vinculado
con el Travelling Salesman Problem. Para resolver el Bin Packing Problem se propone el
modelo MIP y para el Travelling Salesman Problem se propone el modelo MIP y una metaheurstica basada en Simulated Annealing con el fin de resolver casos ms grandes en
tiempo razonable.

2.2.1 Modelo MIP para el Bin Packing Problem


El Bin Packing Problem es un problema de optimizacin combinatorial clasificado como
NP-Hard que por definicin puede ser descrito en trminos del problema de la mochila.
Dado n tems (productos que quieren recolectar) y n mochilas (vehculos disponibles) lo
que se busca es asignar cada tem a una mochila tal que el peso total de tems en la mochila
no exceda la capacidad de la mochila y el nmero de mochilas utilizado sea mnimo. Dado
que el Bin Packing Problem es un problema NP-Hard se propone una heurstica conocida
en la literatura como First-Fit que encuentra buenas soluciones en un tiempo razonable. A
continuacin, se presenta la definicin formal del problema y adems el algoritmo First-Fit.
Formulacin Matemtica
Parmetros
w j= peso delitem j
c=capacidad de cada vehculo

Variables de Decisin

y i= 1,siel vehculo ies usado


0,en otro caso

x ij= 1,si elitem j es asignado al vehculo i


0,en otro caso
Funcin objetivo
n

z= y i
i=1

Restricciones
n

w j x ij c y i ,i N ={1, , n }
j=1

x ij=1, j N
i=1

y i=0 o 1, i N

x ij=0 o 1,i N , j N

Algoritmo First-Fit( j , w j )
(capacidad de cada vehculo), w j (peso del tem

Input: c

Output: Una solucin factible

j ).

x para el Bin Packing Problem.

1. Inicializar el conteo de vehculos utilizados a x=0 .


2. Inicializar la capacidad c j de cada vehculo j
3. Iterar hasta que todos los tems hayan sido acomodados.
a. Para cada tem j con peso w j encontrar el primer vehculo i
disponible en donde se pueda acomodar el tem j .
b. Si el tem j no puede ser acomodado en el vehculo i aumentar
en 1.

2.2.2 Modelo MIP para Travelling Salesman Problem


Parmetros
c ij =matriz de costos
n=cantidad de vertices

Variables de Decisin

x ij= 1,si el camino va desde la ciudad i a la j


0,en otro caso
Funcin objetivo
n

z=
i=0

j i, j=0

Restricciones

cij xij

0 x ij 1,i , j {0, , n }
ui 0, i {0, , n }
n

i=0,i j

xij =1, j {0, ,n }

j=0, j i

x ij =1,i {0, ,n }

uiu j +nx ij n1, 1 i j n

2.2.3 Simulated Annealing para el Travelling Salesman Problem


A continuacin, se describen los principales conceptos y parmetros usados en el contexto
del TSP.
Espacio de Bsqueda: Un grafo completo no dirigido con costos en las aristas.
Solucin Inicial: La solucin inicial es obtenida aplicando el algoritmo Nearest Neighbor
Search.
Temperatura Inicial: Diferentes valores fueron probados para la temperatura inicial.
T 0 =10 fue usado para la mayora de las pruebas.
Estrategia de Enfriamiento: La temperatura desciende geomtricamente. 0.98 es el valor
que fue usado en la mayora de las pruebas.
Loop Interno: El loop interno es la cantidad de iteraciones realizadas para encontrar una
solucin en una temperatura dada. La cantidad de iteraciones es constante y se ha
establecido a 1000.
Vecindario de una solucin: El vecindario de una solucin es determinado realizando un
movimiento de intercambio entre dos aristas del grafo.
Criterio de Aceptacin: Una funcin probabilstica estndar es utilizada para determinar si
una solucin vecina es aceptada o no.
Criterio de termino: La temperatura 0.001 es utilizada como criterio de termino.

Anlisis y Resultados Experimentales

Todos los algoritmos fueron implementados en C# usando la Concert Technology de


CPLEX. El entorno de desarrollo utilizado fue Visual Studio Enterprise 2015 sobre un
computador con un procesador Intel i5 y 4 Gb de Ram.
Los parmetros usados en el algoritmo de Simulated Annealing luego de realizar muchas
pruebas fueron definidos de la siguiente forma:
1.
2.
3.
4.

Temperatura Inicial: 10.


Temperatura Final: 0.001.
Disminucin de Temperatura: 0.98.
Cantidad Interna de Iteraciones: 1000.

La versin instalada de CPLEX corresponde a una licencia abierta a la comunidad conocida


como Community Edition la cual tiene limitaciones en la cantidad de variables y
restricciones que pueden ser incluidas en el modelo por lo tanto todas las pruebas realizadas
con CPLEX fueron hasta un mximo de 30 productos para recolectar en la bodega.
Se ejecuta el algoritmo Simulated Annealing y el modelo implementado en OPL recibiendo
los mismos datos de entrada. Tanto el modelo matemtico como el algoritmo MetaHeurstico reciben como entrada una matriz de costo generada de forma aleatoria que
representa la estructura fsica de una bodega constituida por 30 pasillos y 10 productos por
pasillo, un conjunto de productos que se necesitan recolectar y la capacidad del vehculo
que permanece constante (300).
En la figura 3.1 se puede observar que en el caso 8 (8 productos que se necesitan recolectar)
existe un gap de 0,69%, en efecto la solucin encontrada por SA fue de 872 y la de CPLEX
fue de 866 y en todos los dems casos el algoritmo Meta-Heurstico encontr el ptimo
global. En la tabla 3.1 se puede observar la cantidad de trayectos que se realizaron en cada
caso.
Respecto al tiempo de ejecucin es importante mencionar que para cada instancia menor
que 13 la versin Meta-Heurstica demor en promedio 2 segundos en encontrar la solucin
y para instancias mayores o iguales que 13 tard 5 segundos en finalizar. CPLEX sin
embargo tard por cada instancia menor que 10 un promedio de 1 segundo y para instancias
mayores o iguales que 10 un promedio de 10 segundos.

Solucin Aproximada vs Optima


400
350
300
250
200
150
100
50
0

Solucin SA

10

11

12

13

14

15

Solucin CPLEX

Figura 3.1, Solucin SA vs CPLEX con capacidad 300

Cantidad de
Productos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Solucin
SA
484
206
690
786
984
1358
1066
1518
872
1516
2080
2060
1396
2168
2484

Soluci
n
CPLEX
484
206
690
786
984
1358
1066
1518
866
1516
2080
2060
1396
2168
2484

Capacidad
del
vehculo
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300

Cantidad
de
Trayectos
1
1
2
2
2
3
3
3
2
3
4
5
3
4
5

Tabla 3.1, Escenario de pruebas con capacidad 300

GAP
0
0
0
0
0
0
0
0
0,692840647
0
0
0
0
0
0

A continuacin, se presentan los resultados del algoritmo Meta-Heurstico y CPLEX


modificando 3 parmetros de entrada. La cantidad de pasillos se redujo a 10, la cantidad de
productos por pasillo se disminuy a 5 y se aument la capacidad del vehculo a 600.

Solucin Aproximada vs Optima


400
350
300
250
200
150
100
50
0

Solucin SA

10

11

12

13

14

15

Solucin CPLEX

Figura 3.2, Solucin SA vs CPLEX con capacidad 600


Cantidad de
Productos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Solucin
SA
82
128
132
160
160
150
158
156
276
310
320
312
310
224
352

Soluci
n
CPLEX
82
128
132
160
160
150
158
156
268
310
320
312
310
224
352

Capacidad
del
vehculo
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300

Cantidad
de
Trayectos
1
1
1
1
1
1
2
1
1
1
1
2
1
1
2

GAP
0
0
0
0
0
0
0
0
2,985074627
0
0
0
0
0
0

Tabla 3.2, Escenario de pruebas con capacidad 600


En la tabla 3.2 se puede observar que en la mayora de los casos de prueba la cantidad de
trayectos necesarios para recolectar todos los productos ha disminuido a 1. Lo anterior
ocurri debido al aumento de la capacidad del vehculo y a la disminucin de las
dimensiones de la bodega.