tesis-oscar cruz domínguez.pdf
TRANSCRIPT
INTELIGENCIA ARTIFICIAL
APLICADA A LA DETERMINACIÓN
DE UBICACIONES DE MERCANCÍA
EN SISTEMAS DE VENTA AL
MENUDEO
Tesis
QUE PARA OBTENER EL GRADO ACADÉMICO
DE
Doctor en Ciencia y
Tecnología en la Especialidad de
Ingeniería Industrial y de Manufactura
PRESENTA
Oscar Cruz Domínguez
Comité Tutorial
Dr. Ramiro Santos Mayorga
León, Guanajuato, Diciembre de 2015.
ii
AGRADECIMIENTOS
Agradecimiento a las siguientes instituciones:
Al CONACYT por el apoyo recibido como becario y al CIATEC A. C., por las
facilidades otorgadas y la formación recibida.
Agradecimiento a los investigadores:
Al Dr. Ramiro Santos Mayorga, por su dedicada labor de guía y su acertada
dirección de esta investigación. Gracias a sus consejos este trabajo pudo llegar
a buen término.
Al Sr. Eduardo Vázquez Loya, por el apoyo recibido al abrirme las puertas de la
empresa REFACCIM y darme oportunidad de realizar los experimentos
necesarios para este trabajo.
Al Dr. Javier Yáñez Mendiola y al Dr. José Antonio Vázquez López por toda la
instrucción recibida a través de la impartición de sus materias; sus
conocimientos sobre algoritmos genéticos y reden neuronales artificiales fueron
pieza clave en el desarrollo de la investigación tratada en esta tesis.
A mis compañeros del PICYT Blanca Esthela Tovar González, Edgar Augusto
Ruelas Santoyo, José de Jesús Cabrera Castro, Fátima Guadalupe Córdova Olaez
y Guillermo Orlando García Valdéz, por su apreciadísimo compañerismo; nunca
los olvidaré.
iii
DEDICATORIA
A:
Dios, por estar siempre conmigo y permitirme cumplir este sueño tan
largamente esperado
Mis Padres,
Rogelio Cruz Pérez y Graciela Domínguez Juárez.
Por darme siempre un apoyo incondicional y ser parte de este logro.
A mi esposa y mis hijos
Por esas tardes y días completos que no pude estar con ustedes.
iv
v
ABSTRACT
En el presente trabajo se diseñó y desarrolló una opción sobre cómo
mejorar el proceso de asignación de ubicaciones de almacenamiento de
mercancía en un almacén. Una desventaja de las políticas descritas en la
literatura es que a la mercancía se le asigna la ubicación solo de acuerdo
al volumen de ventas o a otro criterio puntual que la empresa en cuestión
haya establecido. Sin embargo, en algunos casos es necesario tomar en
consideración otros aspectos tales como la pertenencia a una familia de
productos, las características físicas/geométricas de los artículos y su
patrón de ventas, con la finalidad de diseñar una política integral de
asignación. En esta investigación se presenta un alternativa para mejorar
el proceso ya mencionado usando Flexsim®, redes neuronales artificiales
y algoritmos genéticos.
Palabras claves: Simulación, técnicas de inteligencia artificial,
ubicaciones de almacenamiento, redes neuronales, algoritmos
genéticos.
vi
Tabla de contenido
ABSTRACT ........................................................................................................................... v
Tabla de contenido ........................................................................................................ vi
Índice de Figuras.......................................................................................................... viii
Índice de tablas .............................................................................................................. ix
Índice de ecuaciones ......................................................... ¡Error! Marcador no definido.
Capítulo I.-Introducción............................................................................................... 1
1.1 Antecedentes ................................................................................................................ 1
1.2 Definición del Problema.............................................................................................. 3
1.2.1 Delimitación y caracterización del problema ..................................................... 3
1.3 Justificación ..................................................................................................................14
1.4 Objetivos.......................................................................................................................16
1.4.1 Objetivo general ......................................................................................................16
1.4.2 Objetivos específicos ..............................................................................................16
1.5 Hipótesis .......................................................................................................................16
Capítulo II.-Fundamento teórico.............................................................................17
2.1 Estado del Arte ............................................................................................................17
2.1.1 Simulación y su aplicación como herramienta en optimización de almacenes ............................................................................................................................17
2.1.2 Optimización de almacenes considerando el problema de ruteo ................20
2.1.3 Optimización de almacenes considerando las políticas de asignación de ubicaciones a la mercancía ..............................................................................................22
2.1.4 Optimización de flujo usando otras técnicas ....................................................24
2.2 Marco teórico ...............................................................................................................25
2.2.1 Funciones en un almacén......................................................................................26
2.2.2 Identificación de las variables que interactúan en un centro de distribución o almacén ......................................................................................................27
2.2.3 Distribuciones físicas presentes en los almacenes..........................................29
2.2.4 Asignación de ubicaciones y políticas de almacenamiento ...........................34
2.2.5 Redes Neuronales Artificiales ...............................................................................36
Capitulo III.-Diseño de la Investigación .............................................................53
3.1 Método...........................................................................................................................54
3.2 Construcción del modelo de simulación.................................................................55
3.3 Reconocimiento de patrones usando redes neuronales ....................................90
vii
3.4 Aplicación de algoritmos genéticos para optimizar la configuración de clústeres obtenida por las redes neuronales artificiales ¡Error! Marcador no definido.
CAPITULO IV.- Análisis de Resultados....................... ¡Error! Marcador no definido.
4.1 Resultados obtenidos con el acopamiento de simulación y redes neuronales artificiales........................................................................................................................... 120
4.2 Resultados obtenidos con la aplicación de algoritmos genéticos para la optimización de la configuración de la asignación hecha por las redes neuronales. ........................................................................................................................ 122
Capitulo V.- Conclusiones ................................................ ¡Error! Marcador no definido.
5.1 Descripción de las aportaciones ............................................................................ 124
5.2 Conclusiones .............................................................................................................. 126
5.3 Comprobación de hipótesis .................................................................................... 130
Referencias Bibliográficas .............................................................................................. 134
viii
Índice de Figuras
Figura 1.1 Diagrama de causa - efecto para identificación de causas del problema central identificado en REFACCIM. ................................................................. 5 Figura 1.2 Diagrama de Pareto para el análisis de la criticidad de las causas del problema sujeto a en REFACCIM. .................................................................. 7 Figura 1.3 Matriz de Priorización. .................................................................. 9 Figura 1.4 Diagrama de Pareto para el análisis de la factibilidad de acciones de mejora para el problema sujeto a análisis en REFACCIM. .............................. 10 Figura 1.5 Distintos porcentajes de tiempo involucrados en el surtido de una orden......................................................................................................... 15 Figura 2.1 Adición de un pasillo de cruce. .................................................... 18 Figura 2.2 Ejemplos de métodos de ruteo para almacenes de un solo bloque.21 Figura 2.3 Almacenaje con pasillos hacia adentro......................................... 23 Figura 2.4 Almacenaje a través del pasillo. .................................................. 23 Figura 2.5 Variables típicas a considerar en el diseño de un sistema de surtido de pedidos. ................................................................................................ 29 Figura 2.6 Distribuciones físicas tradicionales en almacenes. ........................ 31 Figura 2.7 Distancia promedio a ubicaciones de almacenamiento. ................. 31 Figura 2.8 Distribuciones físicas innovadoras para almacenes.. ..................... 34 Figura 2.9 Partes de una neurona. .............................................................. 38 Figura 2.10 Neurona Artificial...................................................................... 39 Figura 2.11 Clasificación de la RNA de acuerdo de los valores que emplean y su salida (discreta y continua), tipo de aprendizaje (supervisada y no supervisada) y el tipo de arquitectura que emplean (regular e irregular). .......................... 41 Figura 2.12 Esquema básico de una RNA. .................................................... 42 Figura 2.13 Neurona Artificial...................................................................... 45 Figura 2.14 Explicación de NET en la neurona artificial. ................................ 48 Figura 3.1 Metodología propuesta. .............................................................. 54 Figura 3.2 Mapa del Modelo de Negocio de REFACCIM. ................................. 58 Figura 3.3 Mapa del proceso de operaciones de REFACCIM. .......................... 59 Figura 3.4 Mapa del proceso de comercialización de REFACCIM. ................... 60 Figura 3.5 Mapa del proceso de Almacén de REFACCIM. ............................... 65 Figura 3.6 Mapa del proceso de Aduana de REFACCIM. ................................ 66 Figura 3.7 Evaluación relativa de modelos candidatos para la descarga de mercancías................................................................................................. 69 Figura 3.8 Prueba de bondad de ajuste para el modelo de descarga de mercancías................................................................................................. 69 Figura 3.9 Evaluación del supuesto de independencia para datos de descarga de mercancías. ........................................................................................... 70 Figura 3.10 Ajuste de la distribución propuesta para la descarga de mercancías. ................................................................................................................. 70 Figura 3.11 Modelo realizado en flexsim para correr las simulaciones – recorrido de los clientes. ............................................................................. 76 Figura 3.12 Modelo realizado en flexsim para correr las simulaciones............ 77 Figura 3.13 Distribución que modela la llegada de los distintos tipos de clientes. ................................................................................................................. 78 Figura 3.14 Sentido de surtido en los pasillos .............................................. 85
ix
Figura 3.15 Ruta en forma de “S” en los pasillos. ......................................... 85 Figura 3.16 Rutas presentes para surtido en la empresa sujeta a estudio. ..... 87 Figura 3.17 Ruta de surtido 10 en la empresa sujeta a estudio. .................... 88 Figura 3.18 Representación de uso de la RNA 1. .......................................... 91 Figura 3.19 Estructura de RNA 1. ................................................................ 92 Figura 3.20 Algoritmo de entrenamiento de la RNA 1. .................................. 93 Figura 3.21 Programa en Matlab para entrena la RNA 1. .............................. 95 Figura 3.22 Comportamiento del error cuadrático medio para los datos de entrenamiento, validación y prueba............................................................. 96 Figura 3.23 Asignación que realiza la RNA 1. ............................................... 99 Figura 3.24 Codificación de la asignación para ser considerada como testigo en asignación a clústeres................................................................................. 99 Figura 3.25 Programa en Matlab para entrena la RNA 2 - RNA 8. ................ 101 Figura 3.26 Codificación de las zonas para artículos de acuerdo a su volumen de ventas. ................................................................................................ 107 Figura 3.27 Comparativo del número de generaciones para la evolución en el algoritmo genético.................................................................................... 118 Figura 4.1 Gráficas de entrenamiento, validación y prueba para la RNA 1. .. 121 Figura 4.2 Gráficas del comportamiento del número de clientes con y sin AG. ............................................................................................................... 123 Figura 4.3 Gráficas del comportamiento del tiempo de espera con y sin AG. 123 Figura 5.1 Eficiencia del método propuesto ante la presencia de distintos escenarios de ventas. ............................................................................... 130 Figura 5.2 Tiempo de atención de clientes a la llegada antes y después de la aplicación de la política propuesta. ............................................................ 131 Figura 5.3 Tiempo de espera para recibir la mercancía antes y después de la aplicación de la política propuesta. ............................................................ 132
x
Índice de tablas
Tabla 1.1 Ponderación usada para jerarquizar las causas. ...................................... 6
Tabla 1.2 Ponderación de evaluación del impacto de las tentativas acciones de mejora.
................................................................................................................... 9
Tabla 2.1 Clasificación de redes neuronales. ....................................................... 43
Tabla 2.2 Funciones de activación más frecuentes. .............................................. 48
Tabla 3.1 Variables consideradas para el modelo de simulación. ............................. 61
Tabla 3.2 Familias de productos que maneja REFACCIM. ....................................... 62
Tabla 3.3 Relación de modelos de mejor ajuste para cada fase del proceso. ............. 71
Tabla 3.4 Relación de tipo de cliente considerando el tipo de mercancía que adquiere.
..................................................................................................................73
Tabla 3.5 Objetos de Flexsim® usados para la construcción del modelo. ................. 74
Tabla 3.6 Datos considerados para el estudio: Tiempo de espera en la fila. .............. 80
Tabla 3.7 Análisis de normalidad para los datos del sistema real y del simulador. ...... 81
Tabla 3.8 Análisis comparativo de las varianzas de los datos reales y de la simulación.
..................................................................................................................82
Tabla 3.9 Prueba de hipótesis para los datos reales y del simulador. ....................... 83
Tabla 3.10 Datos generados con la simulación de Flexsim®. ................................. 84
Tabla 3.11 Datos arrojados por Flexsim® para densidad promedio de surtido en cada
pasillo, ruta de surtido, distancia para acomodo y ubicación física del producto. ........86
Tabla 3.12 Datos arrojados por Flexsim® para tipo de ordenes (monoproducto o
multiproducto) y para volumen promedio de ventas. ............................................88
Tabla 3.13 Datos arrojados por Flexsim® para tiempo de surtido y mano de obra (tipo
y número de personal). ...................................................................................89
Tabla 3.14 Datos arrojados por Flexsim® para longitud de la fila de la aduana. ........ 89
Tabla 3.15 Datos arrojados por Flexsim® para familias de productos. ..................... 89
Tabla 3.16 Datos arrojados por Flexsim® para temporalidad de las ventas (distribución
durante el día). ............................................................................................. 89
Tabla 3.17 Datos arrojados por Flexsim® para longitud de la fila de la aduana. ........ 92
Tabla 3.18 Fragmento de los datos de entrenamiento para la RNA 5. .................... 100
Tabla 3.19 Pesos sinápticos y bias para RNA 5. ................................................. 102
Tabla 3.20 Ejemplo de población inicial del Algoritmo Genético. ........................... 106
Tabla 3.21 Evaluación del grado de adaptación de la población inicial. ................... 109
Tabla 3.22 Selección de padres. ..................................................................... 110
Tabla 3.23 Realización del cruce de los padres. ................................................. 112
Tabla 3.24 Corrección de los individuos por duplicidad de valores en la cadena de los
individuos. .................................................................................................. 114
Tabla 3.25 Realización de la mutación. ............................................................ 115
Tabla 3.26 Población extendida. ..................................................................... 115
Tabla 3.27 Evaluación del grado de adaptación de la población extendida. ............. 116
Tabla 3.28 Población extendida ya ordenada en función de su adaptación. ............. 117
Tabla 3.29 Reducción de la población extendida. ............................................... 118
Tabla 4.1 Muestra de resultados arrojadas con la RNA 1 entrenada. ...................... 120
Tabla 4.2 Muestra de resultados arrojadas con la RNA 5 entrenada. ...................... 121
Tabla 5.1 Promedios del tiempo de atención de clientes a la llegada antes y después de
la aplicación de la política propuesta (segundos). .............................................. 131
Tabla 5.2 Promedios del tiempo de espera en la aduana para recibir mercancía antes y
después de la aplicación de la política propuesta (segundos). .............................. 133
xi
Índice de ecuaciones
Ec. 1.1 Ecuación para el cálculo del índice de criticidad ................................ 6 Ec. 1.2 Ecuación para el cálculo del índice de consecuencia ........................... 8 Ec. 1.3 Representación matemática del modelo para el problema propuesto 12 Ec. 2.1 Longitud de los pasillos en un modelo simple con área rectangular ... 30 Ec. 2.2 Anchura de los pasillos en un modelo simple con área rectangular ... 30 Ec. 2.3 Distancia esperada para ubicaciones de almacenamiento ................. 32 Ec. 2.4 Número óptimo de pasillos ............................................................. 32 Ec. 2.5 Salida de una neurona artificial en respuesta a la entrada recibida ... 40 Ec. 2.6 Valor del potencial postsináptico de una neurona i . ......................... 46 Ec. 2.7 Suma de las entradas ponderadas y los pesos sinápticos ................. 47 Ec. 2.8 Estado de activación de una neurona en un tiempo t ....................... 47 Ec. 2.9 Estado de activación de una neurona sin considerar estado anterior . 47 Ec. 2.10 Salida de una neurona i en un instante de tiempo t ....................... 49 Ec. 2.11 Salida de una neuorna i representada por la función identidad ....... 49 Ec. 2.12 Índice de desempeño del algoritmo backpropagation ..................... 51 Ec. 2.13 Incremento de los pesos sinápticos con Levenberg-Marquardt ........ 51 Ec. 2.14 Incremento de los pesos sinápticos con Quasi-Newton ................... 51 Ec. 2.15 Dirección descendiente del método Quasi-Newton ......................... 52 Ec. 2.16 Método Broyden-Fletcher-Goldfarb-Shanno (BFGS)........................ 52 Ec. 3.1 Estadístico t de student para diferencia de medias ........................... 82 Ec. 3.2 Estadístico Sp necesario para cálculo de estadístico t de student ...... 82 Ec. 3.3 Criterio de rechazo para prueba de hipótesis para igualdad de medias ................................................................................................................. 82 Ec. 3.4 Función de transferencia en las capas de la RNA 1 ........................... 93 Ec. 3.5 Salida de una neurona artificial en respuesta a la entrada recibida ... 96 Ec. 5.1 Criterio de rechazo para prueba de hipótesis para igualdad de medias ............................................................................................................... 132
xii
1
Capítulo I.-Introducción
1.1 Antecedentes
La competitividad y velocidad del entorno empresarial genera un
requerimiento absoluto de las empresas para optimizar de forma
continua y efectiva su diseño de sistemas de negocio en el menor
tiempo posible. Estas condiciones, en el caso de los sistemas existentes
en las empresas de distribución al menudeo, los obligan a ser diseñados
o rediseñados para dar una respuesta rápida al cliente. En general, los
factores a tener en cuenta para este análisis son el aseguramiento de
un acceso fácil y eficiente a la mercancía, el uso adecuado de los lugares
de almacenamiento en todo el almacén, generación de rutas más cortas
y la orden de surtido en tiempo razonable [1].
En esta investigación se aborda el problema de asignar la ubicación de
artículos dentro de un almacén que forma parte de un sistema de venta
de mercancías al menudeo. La literatura en este campo contempla
principalmente 4 clases de políticas de asignación de almacenamiento.
En el almacenamiento aleatorio la ubicación para una mercancía es
seleccionada al azar de entre todas las posibles ubicaciones vacías [2].
En la política de almacenamiento de la ubicación más cercana posible
la selección de posiciones es sesgada hacia aquellas vacantes que están
más cerca en tiempo y/o distancia hacia el punto de entrada / salida,
con la finalidad de reducir los tiempos de recorrido para operaciones de
almacenamiento [3]. Las dos políticas de almacenamiento restantes se
agrupan en un concepto llamado almacenamiento dedicado. Una de
ellas se llama “localización fija”, y ésta asigna cada producto en una
ubicación fija del almacén; Usualmente las características de los
2
productos tales como el volumen de ventas, el peso o medidas [4] son
utilizados para determinar la ubicación de almacenamiento para el
producto. La última política es comúnmente referida como
“almacenamiento en base a clases”, y divide la cartera de productos en
clases, las cuales posteriormente son asignadas a áreas específicas del
almacén, considerando que el almacenaje al interior de esas áreas es
aleatorio [5].
El propósito de esta investigación es mostrar una forma de mejorar la
logística interna operativa de almacenes minoristas por medio de una
política que identifique las mejores ubicaciones para la asignación de
mercancías, buscando que respondan principalmente al
comportamiento de la demanda, de otra forma se verán afectados la
búsqueda y el recorrido para cumplir con los pedidos [2]. Además se
propone que esta política contemple otros factores relevantes al realizar
la asignación, tales como la familia de pertenencia, las características
físicas de los productos y su patrón de ventas. Lo anterior genera una
política de asignación más robusta ya que se superan las deficiencias
que presentan las otras políticas por separado. Por ejemplo, al asignar
contemplando todos los factores mencionados se evita el
almacenamiento aleatorio, optimizándose el espacio del almacén.
Igualmente esta propuesta considera las bondades del almacenamiento
basado en clases coadyuvando a que los productos sean agrupados en
un orden lógico y controla las existencias de mercancía de acuerdo al
volumen de ventas, siempre y cuando los otros tres factores lo
permitan.
3
1.2 Definición del Problema
De acuerdo a Caron y otros [6], la adopción de métodos de asignación
basados en el volumen de ventas requiere un enfoque de más
“información intensiva”, debido a que los datos deben ser procesados
con la finalidad de asignar adecuadamente los productos. En algunos
casos esta información puede no estar disponible; por ejemplo porque
el sorteo de productos cambia muy rápido para hacer estadísticas
confiables [7]. En casos como el abordado en esta investigación, la
ausencia de tecnología en empresas pequeñas representa un problema
serio porque generalmente no se invierte lo suficiente para mejorar los
procesos y esto limita la capacidad de las pequeñas empresas para
generar bancos de información como lo hacen las grandes, lo que
genera una barrera para el logro de su éxito competitivo [8]. La política
propuesta que se describe en esta tesis está basada en el análisis del
proceso de atención al cliente de una distribuidora de refacciones en
Fresnillo Zacatecas, llamada REFACCIM, que maneja más de 50,000
stock keeping units o SKU´s (en español: número de referencia)
distribuidos en un almacén; las características intrínsecas de cada uno
de estos pueden ser tan variadas que la asignación de una ubicación
que responda coherentemente a estos atributos juega un papel
preponderante.
1.2.1 Delimitación y caracterización del problema
Los desafíos a los que se enfrenta el mercado de venta al
menudeo y en particular el de autopartes implican la necesidad de
reaccionar oportuna y rápidamente frente a la presencia de nuevos
perfiles de clientes, así como de la exigencia de abordar el negocio
mediante nuevas estrategias para enfrentar la competencia.
4
Actualmente el perfil del cliente de autopartes y/o refacciones posee
indudablemente un mayor portafolio de requerimientos además de una
creciente necesidad de la rápida reparación de su vehículo.
Si se pone a consideración que un almacén de venta al menudeo de
autopartes debe diseñar y optimizar sus almacenes para dar rápida
respuesta a las necesidades mencionadas en el párrafo anterior,
entonces, la asignación adecuada de mercancías a ubicaciones del
almacén es un factor importante. De acuerdo a Roodbergen y De Koster
[9] para sistemas no automatizados de surtido de pedidos, el tiempo de
recorrido para entregar un pedido es una función incremental de la
distancia de recorrido. Consecuentemente, la distancia de recorrido es
frecuentemente considerada como un objetivo primario en el diseño y
optimización de un almacén, y estas últimas actividades involucran la
asignación de mercancías a las ubicaciones. El efecto final que se refleja
en el sistema por grandes distancias de recorrido es una alta cantidad
de tiempo de espera por parte de los usuarios o clientes del sistema.
Para caracterizar el problema se usaron varias técnicas, iniciando
primeramente con diagrama de causa – efecto, representado en la
figura 1.1. La construcción de este diagrama se basó en el método de
estratificación o enumeración de causas descrito en los trabajos de
Gutiérrez y Román de la Vara [10].
Con la finalidad de medir el impacto basándonos en criterios técnicos y
financieros para jerarquizar las causas se consideró la aplicación de un
análisis de criticidad. Los criterios que se consideraron para realizar
este análisis fueron: a) Frecuencia de las causas, definida como el
número de veces que una causa afecta al problema principal o
5
Figura 1.1 Diagrama de causa - efecto para identificación de causas del problema central identificado en REFACCIM.
6
problemas secundarios, b) Impacto operacional, en este criterio se
mide si la causa identificada ocasiona tiempo de espera para los
clientes, produce desorden en el almacén o genera situaciones de
inoperatividad, c) Costo, que está relacionado con el desperdicio o
pérdida de todo tipo de recursos y d) Impacto ambiental y de seguridad,
involucra la posibilidad de que las causas ocasionen eventos no
deseados o daños a personas y/o al medio ambiente.
En la tabla 1.1 se detallan las ponderaciones utilizadas para el análisis
de criticidad. El objetivo del análisis de criticidad es establecer un
método que sirva de instrumento de ayuda en la determinación de la
jerarquía de las causas. Desde el punto de vista matemático se puede
definir como:
Criticidad = (Frecuencia X Consecuencia) (Ec. 1.1)
Tabla 1.1 Ponderación usada para jerarquizar las causas.
Criterio Indicadores Ponderaciones
Impacto operacional
(73%)
Ocasiona demoras (45%)
No 0
Bajo 8
Moderado 13
Alto 24
Produce desorden
(8%)
No 0
Bajo 1
Moderado 2.5
Alto 4.5
Produce reprocesos (20%)
No 0
Bajo 3
Moderado 6
Alto 11
Costos (17%) Produce pérdidas de
recursos (17%)
No 0
Bajo 2
Moderado 5
Alto 10
Impacto en seguridad
(10%)
Si (10%) 10
No (0%) 0
Total 100
7
Figura 1.2 Diagrama de Pareto para el análisis de la criticidad de las causas del problema sujeto a en REFACCIM.
8
El valor de consecuencia lo calcularemos como:
Consecuencia = (impacto operacional) + (Costos)
+ (Impacto de seguridad)
(Ec. 1.2)
Una vez realizados los cálculos, se jerarquizaron las causas ordenando los
valores obtenidos de mayor a menor. Luego se establecieron los
intervalos de criticidad. Para hacer esta clasificación se utilizó el principio
de Pareto (ver figura 1.2). De este análisis se obtuvo un total de 6 causas
catalogadas como críticas, 4 semicríticas y 4 no críticas.
El siguiente paso fue relacionar la factibilidad de hacer las mejoras con el
nivel de criticidad de cada causa. Para medir el impacto que podría
obtenerse al realizar una mejora fue necesario evaluar la factibilidad
(medida como la dificultad técnica de implementación), los costos que
estaban siendo generados por las deficiencias operativas /
administrativas, el tiempo de implementación y el grado de mejoramiento
que se pudiera lograr con algunas acciones tentativas. Para realizar la
evaluación cuantitativa se consideraron las ponderaciones mostradas en
la tabla 1.2.
El resultado del impacto de cada mejora se refleja en el Pareto mostrado
en la figura 1.4, donde se observa que las acciones de mejora
relacionadas con diseñar políticas de acomodo de mercancía coherentes
con la demanda, agrupar los productos por bloques o familias y balancear
las cargas de trabajo de los empleados ocupan las barras de ponderación
más altas.
9
Tabla 1.2 Ponderación de evaluación del impacto de las tentativas acciones de mejora.
Factor de evaluación Indicadores Descripción
Costos generados por las deficiencias
operativas / administrativas
1 Ninguno
2 Bajo
3 Medio
4 Alto
Dificultad Técnica de implementación
1 Fuerte
2 Intermedia
3 Baja
4 Ninguna
Tiempo de
implementación
1 Largo
2 Medio
3 Corto
4 Inmediato
Grado de
mejoramiento tentativo a lograr
1 Ninguno
2 Bajo
3 Intermedio
4 Alto
Figura 1.3 Matriz de Priorización.
10
Figura 1.4 Diagrama de Pareto para el análisis de la factibilidad de acciones de mejora para el problema sujeto a análisis en
REFACCIM.
11
Una vez obtenidos todos los datos anteriores se utilizó una matriz de
priorización que permitió el reconocimiento de las oportunidades de
mejora más importantes dentro de este proyecto. En la figura 1.3 se
muestra la matriz de priorización obtenida.
Esta matriz es resultante de un cruce entre las causas y las áreas de
mejora que pueden reducir su impacto. La letra C representa la causa y
la M la oportunidad de mejora; el número representa la posición que
ocupa de izquierda a derecha en los Paretos de la figura 1.2 o 1.4. De
acuerdo a los resultados obtenidos en la matriz de priorización, se puede
concluir que las oportunidades de mejora estratégicas consideradas de
alta criticidad y alta factibilidad son: a) artículos con ubicación errónea en
el sistema, b) ubicaciones inconvenientes para algunos productos, c) no
hay organización por familia de productos y d) artículos extraviados.
Como resultado del análisis anterior se concluye que la principal
problemática existente en este ámbito de la empresa es un deficiente flujo
interno de la mercancía, tanto en la determinación de sus ubicaciones
como en el proceso de entrega de pedidos, lo que da origen a un tiempo
excesivo en el surtido de los mismos, lo que genera que el cliente pierda
tiempo en espera a ser atendido. Lo anterior en términos contables
repercute financieramente en la empresa ya que en un estudio de campo
realizado por la empresa se pierde aproximadamente el 20% de ventas
por clientes potenciales que deciden retirarse de la empresa y surtir en
otras empresas. Tal impacto redunda en aproximadamente una pérdida
de ventas por $3, 672, 000.00 pesos anuales.
Matemáticamente el problema puede ser representado con el
siguiente modelo:
12
Min ( ∑ ∑ 𝟐𝒅𝒊𝒋𝒎𝒋=𝟏
𝒏𝒊=𝟏 𝑿𝒊𝒋 𝑪𝒊𝒋 + ∑ ((∑ ∑ 𝒆𝒊𝒋
𝒎𝒋=𝟏
𝒏𝒊=𝟏
𝒂𝒌 =𝟏 𝑪𝒊𝒋)+ 𝒅𝒊𝒋 + 𝒅𝒊𝒏𝒊 ) ) (Ec. 1.3)
Sujeto a:
Cij {1, si ∑ (∑ 1
gij) ≤ 1 𝒎
𝒋=𝟏𝒏𝒊=𝟏
, en caso contrario
𝒅𝒊𝒋 , 𝑿𝒊𝒋, 𝒆𝒊𝒋, 𝒅𝒊𝒏𝒊 ≥ 0
𝒅𝒊𝒋 , 𝒆𝒊𝒋, 𝒅𝒊𝒏𝒊 R
𝑿𝒊𝒋 Z
Donde:
𝒅𝒊𝒋 = Distancia en metros hasta el centroide del clúster ij con
respecto a la aduana o depósito de entrega de la mercancía,
𝒆𝒊𝒋= Distancia en metros entre el centroide del clúster ij y el
centroide del clúster ij +1, considerando una ruta de surtido de múltiples
productos, y
𝒅𝒊𝒏𝒊= Distancia en metros hasta el centroide del clúster inicial en un
tour de surtido multiproducto.
Estas son las variables de decisión porque son los factores controlables
del sistema que se está modelando y, como tal, estas pueden tomar
diversos valores posibles dependiendo del acomodo de los clústeres.
i Є {1,2, … , 𝑛} conjunto de anaqueles existentes en el almacén.
j Є {1,2, … , m} conjunto de clústeres existentes en un anaquel
específico.
k Є {1,2, … , a} conjunto de viajes de surtido multiproducto
𝑔𝑖𝑗 = Longitud del clúster ij
𝑿𝒊𝒋 = Frecuencia de surtido al clúster ij
𝑪𝒊𝒋, = Posición factible / No factible del clúster ij
13
La función objetivo (representada por la ecuación 1.3) es minimizar
la distancia total recorrida considerando un periodo de tiempo
determinado, por ejemplo para el caso analizado en esta tesis es un mes.
Esta función es una combinación de las distancias recorridas en surtido
mono y multiproducto, multiplicada por el número de veces que se acude
a surtir desde determinadas ubicaciones y considerando si el evento es
factible o no. El primer sumando representa los eventos de surtido de una
sola pieza y el segundo sumando representa eventos de surtido de varios
productos en un mismo recorrido. La configuración de sumatorias en el
primer sumando representa todas las posibles combinaciones que puedan
darse de anaqueles de almacenamiento (primer sumatoria) y de clústeres
(segunda sumatoria). En el segundo sumando también aparecen todas la
combinaciones que pueden generarse de anaqueles y clústeres, pero
interviene un elemento diferenciador (la primer sumatoria) que
representa la cantidad de viajes en surtido multiproducto, es decir, el
surtidor realiza un recorrido por varios clústeres (los incluidos en la lista
de pedido) hasta regresar al depósito o punto de entrega. Un clúster lo
podemos definir como una concentración física de productos que
comparten características comunes tales como familia y uso concreto, por
ejemplo, el clúster de pistones, anillos, válvulas, etc. La primera
restricción limita a que sólo los clústeres que factiblemente puedan ser
colocados en los anaqueles sean considerados en la suma de la distancia
total recorrida. Se presenta como ocurrencia limitada a un valor binario
ya que sólo los eventos factibles tendrán un valor de 1, y ésta factibilidad
se generará si la suma de la distancia de todos los clústeres ubicados en
determinados anaqueles es menor a la distancia total de dichos
anaqueles. La segunda restricción limita a que los valores considerados
(tanto continuos como discretos) en las variables sean mayores o iguales
a cero.
14
El modelo matemático planteado muestra la propuesta abordada en
esta tesis, la cual consiste en mantener óptima la configuración de la
ubicación de las mercancías, agrupadas en productos con características
técnicas y de uso similares - clústeres. Se pretende con este acomodo
abordar todas las oportunidades de mejora estratégicas ya mencionadas
con anterioridad, y sobre todo minimizar la distancia total recorrida. La
estructura matemática del modelo aborda el problema de encontrar un
patrón de acomodo de los clústeres de diferentes tamaños dentro de
rectángulos de mayor tamaño (los anaqueles) y que esto origine como
resultado una menor distancia recorrida por el surtidor para cumplir con
los pedidos requeridos por los diferentes tipos de clientes.
1.3 Justificación
Un adecuado acomodo de las mercancías en un almacén nos proporciona
la pauta para un mejor control de estas, además de facilitar su conteo y
localización inmediata.
Un almacén, que forma parte de un sistema de venta de mercancías al
menudeo, se considera también parte importante de un sistema de
surtido de órdenes, y el objetivo común que estos últimos tienen es
maximizar el nivel de servicio sujeto a restricciones tales como mano de
obra, equipo y capital [11]. El nivel de servicio está compuesto por una
variedad de factores tales como el promedio y la variación del tiempo de
entrega de la orden, orden completa y orden adecuada. Una relación
importante entre el surtido de orden y el nivel de servicio es que entre
más rápido pueda el surtidor acceder a la mercancía más rápido podrá
ser entregada al cliente que la solicita. Si una orden es pedida y el
surtidor no encuentra los productos solicitados o para acceder a la
mercancía tiene que recorrer grandes distancias, entonces esto se
15
reflejará en un mayor tiempo de espera por el cliente y por consecuencia
afectará a la satisfacción del mismo. Por lo tanto, minimizar el tiempo de
surtido de órdenes es una necesidad para cualquier sistema de surtido
de órdenes [4].
Autores como Bartholdi y Hackman [12] consideran un desperdicio al
tiempo de viaje para surtir un pedido. Esta variable cuesta horas –
hombre pero no agrega valor. Es, por lo tanto, la primera candidata para
la mejora. Aunque varios casos estudiados [13] han mostrado que otras
actividades aparte del viajar por la mercancía pueden contribuir
sustancialmente al tiempo de surtido de pedidos, el viaje (travel) es
siempre la componente dominante.
Figura 1.5 Distintos porcentajes de tiempo involucrados en el surtido de una orden.
Fuente: Facilities Planning. Tompkins et al. 2003 [2].
16
1.4 Objetivos
1.4.1 Objetivo general
Construir un sistema que permita designar y optimizar ubicaciones de
mercancía en empresas de venta al menudeo, para mejorar la atención
al cliente, usando Inteligencia Artificial.
1.4.2 Objetivos específicos
Definir las características deseables de los problemas de flujo y
gestión de inventarios que sirvan de base para la aplicación de
minería de datos en empresas que no generan grandes bancos de
información.
Optimizar el desempeño de un sistema de surtido de pedidos
considerando las políticas de almacenamiento, rutas, zonificación,
tipo y tamaño de anaqueles y productos en el almacén para
incrementar la productividad de la empresa.
Construir un prototipo que permita determinar las ubicaciones de
mercancía en la empresa REFACCIM aplicando técnicas de
inteligencia artificial.
1.5 Hipótesis
Si los problemas de flujo interno de mercancía están afectando el tiempo
de atención a clientes de un sistema de ventas al menudeo, entonces un
análisis usando simulación de eventos discretos y técnicas de inteligencia
artificial disminuye al menos un 40% los tiempos de espera en las filas.
17
Capítulo II.-Fundamento teórico
Las empresas se están enfrentando a ambientes cada vez más
competitivos usando nuevas estrategias y tecnologías en respuesta a los
desafíos y demandas de los clientes. Recientemente, dos estrategias
genéricas para el diseño de cadenas de suministro han emergido:
eficiencia y sensibilidad. La eficiencia tiene como objetivo reducir costos
operacionales; la sensibilidad, por otro lado, está diseñada para
reaccionar rápidamente a la satisfacción de las necesidades del cliente
[14]. Considerando lo anterior se examina a continuación la literatura
referente a los métodos y herramientas que se usan actualmente en los
almacenes y centros de distribución para el logro simultáneo de las
estrategias ya mencionadas.
2.1 Estado del Arte
2.1.1 Simulación y su aplicación como herramienta en optimización de almacenes
La distribución física básica de un almacén es aquella con pasillos
paralelos, un depósito central y posibil idades para cambiar de pasillo en
el frente y en el fondo del almacén. De acuerdo a Roodbergen, y De
Koster [9], una forma de lograr bajar costos es optimizando los
recorridos para surtir los pedidos, y esto puede lograrse modificando la
distribución física mencionada al inicio de este párrafo. Una de las
opciones más analizadas en la literatura es agregar pasillos de cruce
entre los anaqueles. En un modelo propuesto por Vaughan y Petersen
[15] y abordado posteriormente por Roodbergen, y De Koster [9] se
aborda los efectos que se generan en la adición de pasillos de cruce (ver
figura 2.1) a la configuración de un almacén, en relación a la eficiencia
18
obtenida en el surtido de pedidos. Los pasillos de cruce proveen una
mayor flexibilidad en el ruteo de surtido de pedidos. Esta flexibilidad se
genera gracias a la creación de rutas con distancia de surtido más cortas,
al no tener que dar vuelta completa a un estante en pedidos múltiples.
Figura 2.1 Adición de un pasillo de cruce.
Sin embargo, se analizan también los efectos negativos cuando el
número de pasillos de cruce comienza a ser excesivo. Los investigadores
realizaron un modelo de simulación poniendo a prueba diferente cantidad
de pasillos de cruce por medio del uso de un gran número de corridas
del proceso de surtido. El resultado se usó para caracterizar el número
óptimo de pasillos de cruce, así como las condiciones bajo las cuales
estos pasillos generan los mejores beneficios (rapidez de surtido, ruta
óptima, etc.).
19
En otra investigación, Hsieh y Tsai [1] toman como base lo realizado por
Vaughan y Petersen [15] pero además de considerar los efectos en un
sistema de surtido de pedidos por factores tales como la cantidad y el
tipo de distribución de los pasillos de cruce también consideran factores
como las políticas de asignación de almacenamiento, estrategia de
surtido de pedidos y combinación de tipos de orden. En ese trabajo los
investigadores se apoyaron en simulación mediante un software conocido
como eM-Plant para realizar los correspondientes análisis que dieron
lugar al desarrollo de una base de datos. Esta última se utilizó para
obtener información importante para establecer parámetros y
determinar indicadores de desempeño óptimo, número adecuado de
pasillo de cruce y configuración del almacén, entre otras cosas.
En la literatura es común encontrar aplicaciones de simulación para
evaluar el impacto de determinados factores que pueden afectar al
desempeño de un sistema de surtido de pedidos. Por ejemplo, en una
investigación de Petersen [16] se analizan por medio de simulación los
efectos de la forma de una zona (por ejemplo, el número de pasillos por
zona y la longitud de esos pasillos) sobre el costo operacional. Una razón
principal para dividir el almacén en zonas es para organizar la actividad
de surtido de pedidos. Las principales ventajas del surtido por zonas es
el limitado espacio que el surtidor tiene que trasladarse para surtir una
orden, la familiaridad que el surtidor puede tener con un subconjunto de
SKUs (Stock-keeping unit o número de referencia) y el lapso de tiempo
reducido de surtido de ordenes si las zonas para surtido son paralelas.
En otra investigación, Albareda et al [17] proponen una alternativa para
agrupar las ordenes de surtido (batching) con el objetivo de minimizar el
tiempo total de recorrido. En su estudio realizan simulaciones para
estudiar el desempeño de su propuesta con diferentes configuraciones
del almacén y sus resultados les sirven para hacer un análisis exhaustivo
20
comparativo, que considera a todas las mejor conocidas heurísticas. El
agrupamiento de órdenes de surtido se recomienda cuando estas son
pequeñas y esto genera un gran potencial para reducir tiempos de
recorrido mediante el surtido de todo un grupo de ellas en un solo viaje.
2.1.2 Optimización de almacenes considerando el problema de
ruteo
También la determinación de las mejores rutas para surtir pedidos ha
sido objeto de estudio para la mejora de sistemas de almacenamiento.
El objetivo de una política de ruteo es secuenciar los productos en la lista
de surtido para conseguir una ruta óptima a través del almacén. El
problema de ruteo actualmente es un caso especial del
conocido problema del agente viajero como indican Lawer et al [18]. En
la práctica el problema de ruteo en los pedidos de surtido en un almacén
es normalmente resuelto con heurísticas. Hay dos desventajas en la
práctica para conseguir una ruta óptima: La primera es que un algoritmo
no es válido para varias distribuciones en planta. La segunda es que las
rutas óptimas pueden ser vistas como ilógicas por los preparadores de
pedidos y como resultado derivan en rutas alternativas [19]. Roodbergen
[20] distingue varios métodos heurísticos para el ruteo de los
preparadores de pedidos en almacenes de un solo bloque, lo cuales se
muestran en la figura 2.2.
21
Figura 2.2 Ejemplos de métodos de ruteo para almacenes de un solo bloque. Fuente:
Roodbergen, K.J, “Layout and routing methods for warehouses”, PhD thesis, RSM
Erasmus University, the Netherlands [20].
22
2.1.3 Optimización de almacenes considerando las políticas de
asignación de ubicaciones a la mercancía
Otra consideración importante en la optimización de almacenes es la
política de asignación de ubicación de la mercancía. René de Koster, Tho
Le-Duc y Kees Jan Roodbergen [4] citan una serie de políticas de
asignación de existencias: asignación aleatoria de existencias, asignación
al primer hueco vacío, asignación fija, asignación en función de criterios
de volumen de negocio y asignación en función de la clasificación.
El concepto de almacenamiento en base a la clasificación es el que más
se combina con alguno de los otros. En control de inventarios una forma
clásica de clasificar los artículos en clases es el método de Pareto. La idea
consiste en agrupar productos dentro de clases de tal forma que aquellos
artículos que presenten un rápido desplazamiento (aproximadamente el
15-20% del total de los skus, pero que representan el 80-85% de las
ventas totales) sean ubicados en un área específica del almacén. El
almacenamiento de artículos en cada clase es aleatorio. Estos artículos
son generalmente llamados “tipo A”. La siguiente categoría en velocidad
de desplazamiento es llamada “tipo B” y así sucesivamente.
Frecuentemente el número de clases se restringe solamente a 3. Petersen
et al [21] recomiendan en la práctica hacer el estudio de Pareto con 2 a
4 clases, ya que es más fácil de implementar que el método basado en el
volumen de negocio. Lo anterior se fundamenta en que no se necesita
una lista completa de los artículos calificados por volumen (bastaría tener
solo los de las clases de mayor impacto económico) y se requiere menos
tiempo para administrar que los demás métodos. Existen varias
posibilidades para posicionar los artículos A, B y C en surtido de bajo nivel.
Jarvis and McDowell [22] sugieren que cada pasillo contenga un grupo de
productos desde el centro de la nave como se ve en la figura 2.3 en
23
almacenaje con pasillos hacia adentro (within-aisle storage).
Le-Duc y De Koster [23] optimizan las clases de posicionamiento de
inventarios. Ellos abogan por el método de almacenaje a través del pasillo
(across-aisle storage) como el óptimo (ver figura 2.4). Este método
consiste en posicionar los productos de clase A en los primeros módulos
de las estanterías y más cercanos a la zona de depósito, los productos B
se colocarían a continuación y por último en los módulos más lejanos se
colocan los productos tipo C.
Figura 2.3 Almacenaje con pasillos hacia adentro. Fuente: De Koster, R., Le-Duc, T. &
Roodbergen, K.J. (2007). “Design and control of warehouse order picking: a literature
review”, European Journal of Operational Research [4].
Figura 2.4 Almacenaje a través del pasillo. Fuente: De Koster, R., Le-Duc, T. &
Roodbergen, K.J. “Design and control of warehouse order picking: a literature review”,
European Journal of Operational Research [4].
24
2.1.4 Optimización de flujo usando otras técnicas
Una de las técnicas para dar solución al problema de controlar,
monitorear, optimizar y apoyar los procesos de negocio es conocida como
la administración del flujo de trabajo (Workflow Management). Tiene la
ventaja de que representa explícitamente el proceso lógico del negocio,
el cual permite el apoyo de sistemas computacionales para el análisis. Sin
embargo, esta herramienta no trabaja sola, sino que precisa de otra
técnica que le proporcione un análisis profundo que pueda ser usado para
verificar la pertinencia de los procedimientos del flujo de trabajo; en su
investigación Van Der Aalst [24] usa como esa herramienta a las redes
de Petri y las maneja como una plataforma para modelar y analizar los
procesos como factor dominante en la administración del flujo de trabajo
y a la interacciones de estos.
Otros autores [25] proponen el uso conjunto de redes de Petri con
otras herramientas distintas a la administración del flujo de trabajo; una
de esas pueden ser los algoritmos genéticos. Se menciona como fortaleza
de esta conjunción la simplificación del modelado de sistemas discretos y
la correspondiente solución a problemas combinatorios. La unión de
ambas heurísticas para la solución a problemas de flujo e inventarios se
justifica porque a pesar de sus evidentes ventajas para modelar, las redes
de Petri no han sido muy utilizadas en cierto tipo de problemas debido al
tamaño enorme de su espacio de estados para sistemas de tamaño real.
Uno de los enfoques más exitosos para resolver este tipo de problemas
es el de los algoritmos genéticos (AG). Los AG han sido ampliamente
utilizados por su capacidad para brindar soluciones pertinentes a muchos
de los problemas típicos de optimización combinatoria como asignación,
transporte, agente viajero, corte de materiales, distribución de planta,
pronósticos, clasificación de inventarios, planeación de la programación y
programación de la producción [25]. Según Chen et al [26] para este
25
tipo de problemas, los AG exploran eficientemente el espacio de
soluciones, sin requerir enormes espacios de memoria como otros
algoritmos de búsqueda tradicionales como la búsqueda A*, ramificación
y acotación (Branch & Bound) o la programación matemática.
Existen otras técnicas que dan buenos resultados al considerar un
sistema de atención a clientes como un modelo discreto; son conocidas
como Fluidificación o continuización [27], las cuales entran en el estrato
de técnicas clásicas de expansión. Estas funcionan de manera muy
cercana a como lo hace el análisis de cuello de botella, persiguiendo un
estudio aproximado del comportamiento del sistema a un costo
relativamente reducido. En lo referente al abordaje de esta técnica al
problema de flujo y tráfico, se considera un modelo macroscópico
continuo, dando lugar al análisis del mismo por medio de ecuaciones
diferenciales parciales [28].
2.2 Marco teórico
El almacenamiento es una de las actividades logísticas más importantes
y críticas en sistemas industriales y de servicios. Solo unas pocas filosofías
de producción, por ejemplo el Justo a Tiempo (JIT) y la manufactura
esbelta proponen y apoyan el llamado “stock cero” como pilar básico y
estratégico. También el sistema de planeación de requerimiento de
materiales (MRP) y el sistema ampliamente adoptado “jalar” (pull system)
garantizan que trabajando con la política lote por lote no es necesario la
presencia de ningún tipo de inventarios y por consiguiente de
almacenamiento. Sin embargo, estos sistemas de producción especiales
difícilmente operan en ausencia de sistemas de almacenamiento que
apoyan y suavizan la discontinuidad del flujo de materiales, productos y
26
componentes, en la entrada y la parte final de un escenario de producción
genérico [29].
2.2.1 Funciones en un almacén
En ambientes de negocios modernos, las funciones de almacenamiento
son cada vez más importantes. Las presiones del mercado tales como los
envíos más pequeños, una entrega rápida y la gran proliferación de
productos han hecho que la gestión de almacenes sea más difícil a la
hora de satisfacer la demanda de alta calidad de servicios con bajos
costos. Algunas definiciones son muy importantes para clarificar el tema:
un producto se define como un tipo de bien, por ejemplo botellas de
champú de una marca específica. Las botellas individuales son llamadas
artículos (o SKU´s = Stock Keeping units = número de referencia) y la
combinación de algunos artículos de iguales o diferentes productos que
son requeridos por un cliente es llamada una orden del cliente.
El flujo de artículos a través de un almacén puede ser dividido en algunas
diferentes fases o procesos:
Recepción: Esta actividad es la primera con la que se encuentra un
artículo a su llegada. Incluye la descarga de productos de la compañía
de transporte, actualización del registro de inventario e inspeccionar si
existe alguna inconsistencia en calidad o cantidad.
Asignación de ubicación: Es el acto de mover y colocar materiales en
ubicaciones del almacén. La importancia de esta decisión de asignación
es determinar dónde y cuantos materiales almacenar en las distintas
ubicaciones del almacén, ya que existen varios modos o sistemas de
almacenamiento.
Almacenamiento: Es resguardar físicamente el material hasta que sea
solicitado. Además de resguardar consiste también en proteger los
materiales almacenados contra los incendios, corrosión, deterioro,
27
evaporación, polvo, robo, agentes atmosféricos, calor, frio, humedad,
etc. Los sistemas de almacenamiento pueden ser clasificados en dos
tipos: sistemas de almacenamiento por unidad y sistemas de
almacenamiento en cantidades pequeñas. Los primeros son usados para
almacenar largas cargas tales como pallets completos y cajas grandes.
El apilamiento por bloques o almacenamiento por racks es un sistema
típico de almacenamiento que se usa. El sistema de almacenamiento en
cantidades pequeñas almacena cargas de artículos pequeños tales como
refacciones automotrices o pequeñas cajas contenedoras de artículos,
donde la máxima capacidad por ubicación de almacenamiento es
típicamente menor a 500 libras [2]. El surtido de órdenes típico es el que
está involucrado en este tipo de sistemas.
Surtido de órdenes: es el proceso de recuperar artículos del almacén
para completar una orden específica del cliente. La función del surtido de
órdenes puede incluir empaquetado de ítems de manera individual o
clasificaciones. Cuando una orden consiste en más de un ítem puede ser
necesario clasificar o acumular ítems en órdenes individuales,
dependiendo de la estrategia de surtido empleada.
Envío: En esta actividad está involucrada la actividad de embalaje y
acumulación de órdenes para la compañía transportadora.
2.2.2 Identificación de las variables que interactúan en un centro
de distribución o almacén
Según Ashayeri & Gelders [30] y De Koster et al. [4], el objetivo más
común de los sistemas de administración del área de recogida de
productos en el almacén para el cumplimento de pedidos es el nivel de
servicio, minimizando las distancias por recorrer, con sujeción a las
limitaciones de recursos, tales como mano de obra, máquinas y capital.
28
Reducir al mínimo el tiempo para la recuperación o surtido del pedido es
una necesidad para cualquier sistema de recolección. Los tiempos de
viaje suelen ser el elemento dominante en los consumos de tiempos de
las operaciones de surtido. Según Bartholdi y Hackman [12] este
parámetro es un primer candidato para la mejora en cualquiera de estos
tipos de sistemas. Reducir al mínimo la distancia media de viaje (o,
equivalentemente, la distancia total de recorrido) es sólo una de muchas
posibilidades de optimización. Otro objetivo importante sería minimizar
el costo total (que puede incluir tanto la inversión y como los gastos
operacionales). Otros objetivos que a menudo son tenidos en cuenta en
el diseño y optimización del almacén son los siguientes: (i) Minimizar el
tiempo de operación, (ii) Minimizar los gastos de tiempo en la realización
de una orden, (iii) Maximizar el uso del espacio, (iv) Maximizar el uso de
los equipos, (v) Maximizar el uso de la mano de obra y (vi) Maximizar la
accesibilidad a todos los artículos.
En el contexto del surtido, para el diseño de la distribución del almacén,
se deben abarcar dos sub-problemas: el diseño de las instalaciones para
el proceso de surtido y el diseño del sistema de surtido. El primero se
denomina problema de diseño de la instalación y se refiere a la decisión
de dónde ubicar físicamente los distintos departamentos (recepción,
surtido, almacenamiento, clasificación). A menudo se tiene en cuenta la
relación entre la actividad de los departamentos. El objetivo común es
reducir al mínimo los costos de manipulación que en muchos casos están
representado por una función lineal de la distancia recorrida. El segundo
trata sobre el diseño interior o problema de configuración de los pasillos.
Se refiere a la determinación del número de bloques y el número, la
longitud y la anchura de los pasillos en cada bloque de una zona de surtido
(ver figura 2.5).
29
Figura 2.5 Variables típicas a considerar en el diseño de un sistema de surtido de
pedidos. Fuente: De Koster, R., Le-Duc, T. & Roodbergen, K.J. “Design and control of
warehouse order picking: a literature review”, European Journal of Operational
Research [4].
El objetivo común es encontrar una mejora en el diseño del almacén con
respecto a una determinada función objetivo entre los diseños que se
ajustan a un determinado conjunto de limitaciones y requisitos. Una vez
más, la función objetivo común es la distancia de recorrido. Bassan [31]
compara dos formas de diseño con los pasillos en paralelo, evaluando la
reducción de los costos por manipulación y diseño.
2.2.3 Distribuciones físicas presentes en los almacenes
El diseño de la distribución de un almacén tiene una gran influencia en
los costos totales de almacenamiento. Gran parte de la investigación en
esta área se ha enfocado al estudio de sistemas con surtido de órdenes
de manera manual en almacenes con múltiples pasillos. Como resultado
de estas investigaciones se ha logrado, entre otras cosas, la obtención
de varios modelos para el diseño óptimo de la distribución en un
almacén. De acuerdo a Rouwenhorst et al [32], el diseño de la
distribución de un almacén debe considerar un enfoque estructurado que
30
permita tomar decisiones a niveles estratégicos, tácticos y operacionales.
Por ejemplo, a nivel estratégico es importante tomar decisiones como el
diseño del flujo y la selección del tipo de sistema de almacenamiento,
con la finalidad de evitar hacer grandes inversiones que a la postre no
puedan ser redituables. A nivel táctico se toman decisiones tales como
el dimensionamiento del sistema de almacenamiento, el tipo de
distribución física y la selección del equipo de movimiento. A nivel
operacional se toman decisiones a corto plazo que están directamente
relacionadas con las políticas de control.
La base teórica de la distribución física de un almacén se puede encontrar
en Saunders, Francis y White [33], con expresiones derivadas para
diseño óptimo de almacenes, representadas como áreas de almacenaje
continuo tanto para los diseños rectangulares como no rectangulares. Un
modelo simple para el diseño óptimo de almacenamiento se presenta a
continuación (ver figura 2.7 para la representación de variables en el
plano):
Lr = 𝑸.𝒃𝟏
𝟐.𝒏𝟏
(Ec. 2.1)
𝐵𝑟 = 2( 𝑛1 )( 𝑙1 ) + ( 𝑛1 )( 𝑏2 ) (Ec. 2.2)
Donde:
Lr = Longitud de pasillos
Q = Lugares de almacenamiento por capa
b1 = Longitud de la ubicación de almacenamiento
l1 = Ancho de la ubicación de almacenamiento
n1 = número de pasillos
Br = Ancho del área de almacenamiento
b2 = Ancho de los pasillos
31
Este modelo minimiza la distancia de recorrido en el área rectangular de
almacenamiento con pasillos paralelos. La figura 2.6 representa
distribuciones físicas tradicionales y la figura 2.7 ilustra un área de
almacenamiento general con una capacidad de Q ubicaciones de
almacenamiento por capa, para dimensiones dadas de ubicaciones de
almacenamiento l1 X b1, con la anchura de los pasillos principales b2 y el
ancho del pasillo frontal b3. Así, las dimensiones de un almacén pueden
ser representadas por la longitud de los pasillos Lr y la anchura del área
Br como una función del número de pasillos n1.
Figura 2.6 Distribuciones físicas tradicionales en almacenes. Fuente: Pohl, Meller and
Gue, “An analysis of dual-command operations in common warehouse designs” [34].
Figura 2.7 Distancia promedio a ubicaciones de almacenamiento. Fuente: Manzini, R.
“Warehousing in the global supply chain, advanced models, tools and application for
storage Systems” [29].
32
Si se usa el almacenamiento aleatorio (en otras palabras, cualquier
artículo puede ser almacenado / recuperado de cualquier ubicación con
la misma probabilidad) y existe un solo punto de entrada / salida del
almacén localizado en medio del pasillo central (P/D), entonces la
distancia esperada para ubicaciones de almacenamiento puede ser
representada de la siguiente forma [33]:
s = 𝑳𝒓
𝟐 +
𝑩𝒓
𝟒 + 𝒃𝟑
(Ec. 2.3)
Donde:
S = Distancia esperada hasta la ubicación de almacenamiento
Lr = Longitud de pasillos
Br = Ancho del área de almacenamiento
b3 = Ancho del pasillo frontal
Insertando la ecuación 2.1 y 2.2 dentro de la ecuación 2.3 conduce a una
expresión donde la distancia esperada es una función de una única
variable –el número de pasillos-; por lo tanto s = f (n1). Encontrando el
mínimo se obtiene el número óptimo de pasillos de la siguiente forma:
n1 = √𝑸.𝒃𝟏
𝟐.𝒍𝟏 .𝒃𝟐
(Ec. 2.4)
Donde:
n1 = número de pasillos
Q = Lugares de almacenamiento por capa
b1 = Longitud de la ubicación de almacenamiento
l1 = Ancho de la ubicación de almacenamiento
b2 = Ancho de los pasillos
Teóricamente, la forma de la distribución física resultante es rectangular
con la proporción de Lr: Br = 1: 2. En la práctica este criterio, por lo
33
general debe, ser ligeramente modificado mediante el redondeo del
número de pasillos a un entero. A partir del modelo de la distribución
física óptima de almacenamiento es obvio que el pasillo trasero en el
diseño básico no es necesario. Además, la adición de uno o más pasillos
transversales no es beneficiosa ya que esto conduce solo a un aumento
del espacio total requerido y se incrementa la distancia esperada para un
surtido de pedido.
El diseño tradicional de la distribución física de un almacén se basa en
un número de innecesarias suposiciones. Las dos más restrictivas son
que los pasillos de cruce son rectos y que estén orientados siempre en
la misma dirección. En un trabajo hecho por Gue y Meller [35] se muestra
que estas suposiciones son innecesarias desde un punto de vista
constructivo ya que limitan la eficiencia y la productividad, porque
requieren de operarios para recorrer grandes distancias y tomar rutas no
tan directas para surtir artículos de los racks y entregarlos al depósito
para cubrir una orden. En una distribución de planta que conserva
pasillos de surtido paralelos pero permite que los pasillos de cruce tomen
diferente forma la distancia esperada para ser recorrida para surtir un
artículo es 10% más corta que su equivalente en el diseño tradicional.
Tal distribución de planta, llamada distribución de planta Flying – V se
muestra en la figura 2.8 (izquierda). Desaprobando la segunda
suposición acerca de que los pasillos de surtido deben ser paralelos, se
genera la distribución llamada espina de pescado mostrada en la figura
2.8 (al centro). Esta distribución también incorpora la forma en V de los
pasillos de cruce, con la V extendiéndose a través de todo el almacén.
Los pasillos de surtido por debajo de la V son horizontales, mientras que
los pasillos por encima de la V son verticales. La distancia esperada para
surtir en este diseño es aproximadamente 20% menor que en un diseño
tradicional.
34
Figura 2.8 Distribuciones físicas innovadoras para almacenes. Fuente: Gue KR, Meller
RD “The application of new aisle designs for unit- load warehouses” [35].
Un inconveniente del diseño de espina de pescado es el acceso limitado
al espacio de almacenamiento debido un único punto central P/D (Pick
up and delivery, surtido y entrega). Por lo tanto, Gue y Meller también
proponen un tercer diseño y lo nombran distribución física de almacenes
con “pasillos Chevron”, ilustrada en la figura 2.8 (a la derecha). Las
distancias esperadas para almacenar o recuperar un artículo en esta
distribución física son muy cercanas a la que se logra con la distribución
de espina de pescado.
2.2.4 Asignación de ubicaciones y políticas de almacenamiento
Por asignación de ubicaciones se entiende la cuidadosa determinación
del lugar de almacenamiento para cada artículo. Específicamente esto
involucra determinar el más adecuado modo de almacenaje, el volumen
de espacio para ser asignado y la específica ubicación dentro de un modo
de almacenamiento para cada elemento. Toda la cantidad de un mismo
tipo de artículo puede ser almacenada en un modo específico de
almacenamiento o distribuida en varios modos de almacenamiento. La
mayoría de la información usada para la apropiada asignación o
reasignación en el almacén puede ser obtenida desde el historial de
actividad del artículo. La asignación de ubicaciones de artículos en un
almacén tiene un impacto importante en las actividades de surtido de
35
pedidos y por ende en la eficiencia del almacén.
La eficiencia operativa de un almacén está directamente relacionada con
un concepto llamado política de almacenamiento. De Koster, Le-Duc, y
Roodbergen [4] citan una serie de políticas de asignación de artículos:
asignación aleatoria, asignación al primer hueco vacío, asignación fija,
asignación en función de criterios de volumen de negocio y asignación
en función de la clasificación. La política de asignación aleatoria de
inventarios consiste en que los productos entrantes son asignados a una
localización en el almacén que es seleccionada al azar de todas las
localizaciones vacías del almacén con igual probabilidad. Esta política
tiene resultados cuando se dispone de grandes espacios para ubicar. El
principal problema es que con esta política el costo crece
proporcionalmente a las distancias recorridas. La política de asignación
aleatoria sólo puede funcionar en entornos controlados por ordenador.
La política de asignación de ubicaciones al primer hueco consiste en
que la primera ubicación vacía encontrada es empleada para almacenar
el producto entrante. Esta política conduce a almacenes donde las
estanterías están llenas alrededor de la zona de recepción y vacías
detrás. Esto denota un exceso de capacidad.
Otra posibilidad es asignar cada producto en una localización fija, esta
política es llamada asignación fija. Una desventaja de esta política es
que las localizaciones son reservadas a productos de los que no se
dispone de inventario. Además para que cada producto tenga suficiente
espacio es necesario reservar para la situación de máximo inventario.
Esto requiere más espacio que para el resto de políticas. Una ventaja es
que los surtidores llegan a recordar las ubicaciones de los productos.
Otra ventaja es que ayuda a colocar los productos de mayor peso más
bajos y los de menor peso más alto. Bajo esta política se respaldan las
decisiones de ubicar productos en el almacén considerando las
36
características físicas de los productos, por ejemplo los que necesitan
refrigeración, los peligrosos (inflamables, corrosivos, etc.), los pesados /
livianos para ubicarse a distintas alturas y los que tienen una relación de
afinidad / rechazo con otros productos. La cuarta política de localización
es función del volumen de negocio. Esta política distribuye los productos
en el almacén según su volumen de ventas. Los productos de mayor
volumen de ventas son colocados en las localizaciones más accesibles,
generalmente cercanas a la zona de depósito. Una política de este tipo
es la política (COI) cube-per-order-index. El COI de un producto es
definido como la relación entre el espacio de los productos totales
requeridos y el número de viajes requeridos para satisfacer la demanda
en un periodo. El algoritmo consiste en que los productos del menor COI
se colocarían lo más cerca posible al depósito. Su mayor desventaja es
que la demanda de los productos varía constantemente por lo que habría
que cambiarlos constantemente. Una solución es hacer revisiones
periódicas con los cambios necesarios. Esta política puede ser fácilmente
combinada con la política de asignaciones fijas. Una última política de
almacenamiento se llama en base a clases. En control de inventarios el
método clásico de este tipo de política de inventarios es el Pareto. La
idea que se plantea es agrupar productos en clases de forma que se
puede llegar a la conclusión que el 15% de los productos inventariados
contribuyen al 85% del volumen de negocio. Cada clase (A, B, C) deberá
colocarse en un área diferente del almacén.
2.2.5 Redes Neuronales Artificiales
Las Redes Neuronales Artificiales fueron originalmente una
simulación abstracta de los sistemas nerviosos biológicos, constituidos
por un conjunto de unidades llamadas neuronas o nodos conectados unos
con otros. De esta manera, es posible considerar que las RNA son
37
aproximadores lineales a la forma en que funciona el cerebro, por lo tanto
no deben compararse directamente con el cerebro ni confundir los
principios que fundamentan el funcionamiento de las RNA`S y el cerebro,
ni pensar que las redes neuronales se basan únicamente en las redes
biológicas ya que solo emulan en una parte muy simple el funcionamiento
del cerebro humano. Además, se debe considerar que las redes biológicas
son generadoras de procesos neurobiológicos en que se establecen
relaciones de complejidad muy alta, las cuales no se puede lograr con
redes monocapa ni con redes multicapa. El primer modelo de red neuronal
fue propuesto en 1943 por McCulloch y Pitts en términos de un modelo
computacional de actividad nerviosa. Este modelo era un modelo binario,
donde cada neurona tenía un escalón o umbral prefijado, y sirvió de base
para los modelos posteriores.
Una primera clasificación de los modelos de RNA es: (i) modelos
inspirados en la biología y (ii) modelos artificiales aplicados. Los primeros
comprenden las redes que tratan de simular los sistemas neuronales
biológicos, así como ciertas funciones como las auditivas o de visión. Se
estima que el cerebro humano contiene más de cien mil millones (1011)
de neuronas y 1014 sinapsis en el sistema nervioso. Los estudios
realizados sobre la anatomía del cerebro humano concluyen que hay, en
general, más de 1000 sinapsis por término medio a la entrada y a la salida
de cada neurona. Aunque el tiempo de conmutación de las neuronas
biológicas (unos pocos milisegundos) es casi un millón de veces mayor
que en las actuales componentes de las computadoras, las neuronas
naturales tienen una conectividad miles de veces superior a la de las
artificiales. El objetivo principal de las redes neuronales de tipo biológico
es desarrollar operaciones de síntesis y procesamiento de información,
relacionadas con los sistemas biológicos. Una neurona biológica es una
célula especializada en procesar información; está compuesta por el
38
cuerpo de la célula (soma) y dos tipos de ramificaciones: el axón y las
dendritas. La neurona recibe las señales (impulsos) de otras neuronas a
través de sus dendritas y transmite señales generadas por el cuerpo de
la célula a través del axón.
Figura 2.9 Partes de una neurona.
La figura 2.9 muestra los elementos de una red neuronal natural.
Se estima que el sistema nervioso tiene cien mil millones de neuronas.
Existen otras neuronas especializadas que son las interneuronas que
llevan la información que cumplen funciones de comunicación entre otras
neuronas, existen las que llevan la información directamente al músculo
llamadas neuronas motoras, y están las receptoras-sensoras que son las
que reciben la información directamente del exterior. Se calcula
aproximadamente que una neurona se intercomunica con otras 10000
neuronas y envía impulsos a varios cientos de ellas. A nivel cerebral se
observa una organización horizontal en capas y una vertical en forma de
columnas, además hay unas funciones específicas para cada grupo de
ellas y están ubicas en zonas particulares del cerebro y todos los
subsistemas conforman el encéfalo. La unión de 2 neuronas o más recibe
el nombre de sinapsis, que es direccional, es decir en un solo sentido.
Cada neurona recibe impulsos eléctricos de otras a través de las dendritas
y estas se conectan a las salidas de otras para producir la sinapsis, esta
39
altera la efectividad de la señal transmitida debido a un parámetro, el
peso. El aprendizaje es el resultado de la modificación de estos pesos y
junto con el procesamiento de la información se genera el mecanismo
básico de la memoria.
Los modelos artificiales aplicados de redes neuronales no tienen por qué
guardar similitud estricta con los sistemas biológicos. Sus arquitecturas
están bastante ligadas a las necesidades de las aplicaciones para los que
son diseñados.
Una red neuronal artificial consiste en unidades de procesamiento
interconectadas llamadas neuronas, por tener un comportamiento similar
al de las neuronas biológicas. Las unidades de procesamiento reciben y
procesan y transmiten señales, tal como las neuronas biológicas. Los
componentes principales del funcionamiento de una red neuronal son: (i)
un conjunto de unidades de procesamiento (neuronas), (ii) Un estado de
activación (variable de estado), (iii) una función de salida para cada
unidad, (iv) un conjunto de conexiones (patrón de conectividad), (v) un
conjunto de reglas de propagación de las señales de salida a través de la
RNA, (vi) una regla de combinación, (vii) una regla de activación, (viii)
una regla de modificación y (ix) un ambiente en el cual opera la RNA.
Figura 2.10 Neurona Artificial.
Según Marcos de Armas en su libro “Fundamentos básicos de
40
Inteligencia Artificial” [36], las RNA están compuestas por muchos
elementos sencillos denominados neuronas que operan en paralelo y son
diseñadas para mostrar una función particular mediante el ajuste de los
valores de peso de las conexiones, que actúan con determinada
polarización, conocida como “bias”, sobre la función de activación. Así se
obtiene la salida adecuada en respuesta a la señal de entrada recibida. El
diseño de una red neuronal está determinado por las conexiones entre
sus neuronas. En la Neurona biológica se observa que la información llega
a las dendritas, esta es evaluada por el núcleo, pasa el por axón y la
transmite a otras células. En una Neurona artificial las entradas Xi
representan vectores o señales provenientes del exterior. Los pesos Wi
representan la intensidad de la sinapsis, tanto Xi como Wi son valores
escalares. A esta señal ponderada se le adiciona el “bias” y se obtiene una
entrada total que actúa sobre el núcleo de la neurona para activarla; f es
la función umbral o de transferencia, que evaluada para esta entrada
total, produce la respuesta de la neurona al estímulo recibido en forma
similar como ocurre en las células nerviosas biológicas. En términos
matemáticos este proceso se representa de la siguiente manera:
Salida = f (Xneta + b) (Ec. 2.5)
Tanto el vector de pesos como el “bias” b son parámetros escalares
ajustables de la neurona. La idea central de una red neuronal es que estos
parámetros puedan ser ajustados de forma tal que la red reproduzca el
comportamiento observado. El entrenamiento es precisamente eso; un
proceso de ajuste de los parámetros en la red para que pueda realizar un
trabajo en particular. Debe conocerse además, que existe la posibilidad
de que la propia red los ajuste para cumplir sus obligaciones.
Los científicos y técnicos a lo largo de la historia han planteado diferentes
modelos de redes neuronales artificiales; esto ha generado una
multiplicidad de modelos, algunos únicos, otros híbridos no siendo fácil
41
Figura 2.11 Clasificación de la RNA de acuerdo de los valores que emplean y su
salida (discreta y continua), tipo de aprendizaje (supervisada y no supervisada) y el
tipo de arquitectura que emplean (regular e irregular).
clasificarlos. Sin embargo, las RNA pueden ser clasificadas bajo dos
criterios: (i) Dependiendo de la naturaleza de su entrada que puede ser
continua o binaria (discreta) (ver figura 2.11). (ii) El otro criterio es desde
el punto de vista de sus propiedades: topología, arquitectura, modelo
neuronal, algoritmo de aprendizaje y planificación.
En la actualidad se clasifican a partir de dos de sus características
primordiales:
a) Según su topología.- de acuerdo a Ponce [37], dos de las topologías
más usadas, de acuerdo con las diferencias en la manera de realizar las
conexiones son: Redes de propagación hacia adelante (feed – forward),
en las que el flujo de información de las entradas a las salidas es
exclusivamente hacia adelante, extendiéndose por capas múltiples de
unidades, pero no hay ninguna conexión de retroalimentación. En función
de su estructura pueden ser de dos clases: Monocapa (como ejemplo el
Perceptrón o el Adaline) y Multicapa (como ejemplo el Perceptrón
Multicapa) y con la otra topología se llaman redes recurrentes, las cuales
tienen contienen conexiones de retroalimentación, lo que puede derivarse
en un proceso de evolución hacia un estado estable en el que no haya
cambios en el estado de activación de las neuronas.
42
Figura 2.12 Esquema básico de una RNA.
Una red neuronal consta de un conjunto de elementos de procesamiento
conectados entre sí y entre los que se envía información a través de las
conexiones. Un esquema básico de una red neuronal se observa en la
figura 2.12, la cual presenta las diferentes capas que tiene esta topología,
que es una estructura que se conoce con el nombre de feed-forward
(hacia delante) debido al flujo de la información.
b) Según su algoritmo de aprendizaje.- En este caso se clasifican en 4
modelos propuestos: El primero llamado Aprendizaje supervisado, donde
se necesitan un conjunto de datos de entrada previamente clasificado o
cuya respuesta sea conocida por ejemplo: Perceptrón simple,
Backpropagation, Perceptrón multicapa, Memoria Asociativa
Bidireccional. El segundo llamado Aprendizaje Auto organizado, en el cual
no es necesario un conjunto de datos previamente organizados. Por
ejemplo: Memorias Asociativas, Hopfield, La máquina de Boltzman y la
máquina de Cauchy, redes de aprendizaje competitivo, Kohonen y redes
de resonancia adaptativa (ART). El tercero llamado Redes Híbridas, que
son una combinación de las 2 anteriores en donde se emplea una función
de mejora para facilitar la convergencia. Un ejemplo son las redes de base
43
radial. Y el último modelo se llama Aprendizaje reforzado, que están
ubicadas entre el supervisado y el auto organizado.
La tabla 2.1 muestra una clasificación más completa, que se presenta
como una simple descripción de las RNA más comunes y frecuentes que
se usan en la mayoría del software simulador de computación neuronal.
La selección de una red se realiza en función de las características del
problema a resolver. La mayoría de estos se pueden clasificar en
aplicaciones de predicción, clasificación, asociación, conceptualización,
filtrado y optimización. Los tres primeros tipos de aplicaciones requieren
un entrenamiento supervisado.
De todas las redes mencionadas en la tabla 2.1, la llamada perceptrón
multicapas (Perceptron Networks) es una herramienta efectiva para la
solución de problemas de clasificación [38]. Se ha demostrado que los
perceptrones multicapas (PM) con una capa oculta en su arquitectura
pueden separar satisfactoriamente las clases involucradas en un
problema dado. Sin embargo el número de nodos ocultos es desconocido
ya que no existe un método para definirlos y depende mucho del problema
a resolver.
Tabla 2.1 Clasificación de redes neuronales.
Nombre de la Red Diseñador Año Tipo Características Adaline y Madaline Bernard
Widrow 1960 Predicción Técnicas de adaptación para
el reconocimiento de patrones
ART (Adaptative resonance theory
networks)
Carpenter,
Grossberg
1960 -
1986 Conceptualización Reconocimiento de patrones
y modelo del sistema neuronal. Concepto de
resonancia adaptativa
Back-propagation Rumelhart y
Parker 1985 Clasificación Solución a las limitaciones
de su red predecesora, el
perceptrón
44
Nombre de la Red Diseñador Año Tipo Características Bi-directional associative memory
(BAM) networks
Bart Kosko 1987 Asociación Inspirada en la red ART
The Boltzmann
Machine Ackley, Hinton y
Sejnowski
1985 Asociación Similar a la red Hopfield
Brain-State-in a Box James
Anderson
1970-
86 Asociación Red Asociativa Lineal
Cascade-Correlation-
Networks
Fahhman y Lebiere
1990 Asociación Adición de nuevas capas ocultas en cascada
Counter-Propagation Hecht-Nielsen
1988 Clasificación Métodos Heurísticos para Acelerar la Convergencia
Delta-Bar-Delta
(DBD) Networks Jacobb 1960 -
1986 Conceptualización Reconocimiento de patrones
y modelo del sistema neuronal. Concepto de
resonancia adaptativa
Digital Neural Network Architecture (DNNA) Networks
Neural Semiconduct
or Inc.
1990 Predicción Implementación Hardware
de la función Sigmoidea
Directed Random Search (DRS)
Networks
Maytas y
Solís
1965-
81 Clasificación Técnica de valores Random
en el mecanismo de Ajuste
de Pesos
Functional-link
Networks (FLN) Pao 1989 Clasificación Versión mejorada de la red
Backpropagation
Hopfield Networks
Hopfield 1982 Optimización Concepto de la red en términos de energía
Learning Vector Quantization (LVQ)
Networks
Kohonen 1988 Clasificación Red Clasificadora
Perceptron Networks Rosenblatt 1950 Predicción Primer modelo de sistema
Neuronal Artificial
Probabilistic Neural Network (PNN)
Spetcht 1988 Asociación Clasificación de Patrones utilizando métodos
estadísticos
45
Nombre de la Red Diseñador Año Tipo Características Recirculation
Networks
Hinton y
McClelland 1988 Filtrado Alternativa a la red
Backpropagation
Self-Organizing
Maps (SOM) Kohonen 1979-
82 Conceptualización Aprendizaje sin supervisión
Spatio-Temporal-Pattern Recognition (SPR)
Grossberg 1960-70
Asociación Red clasificadora Invariante en el espacio y
tiempo
Retomando el modelo de una red neuronal artificial representado en la
figura 2.12, se puede ver que esta es un elemento de procesamiento
simple que a partir de un vector de entradas produce una única salida.
Haciendo alusión a este mismo modelo podemos encontrar tres tipos de
neuronas artificiales, donde cada una de las cuales tiene su contraparte
en el sistema nervioso: (i) las que reciben información directamente del
exterior, a las cuales se les denomina neuronas de entrada, (ii) las que
reciben información desde otras neuronas artificiales, a las cuales se les
denomina neuronas ocultas. Es en estas neuronas, en particular en sus
sinapsis, donde se realiza la representación de la información
almacenada, y (iii) las que reciben información procesada y la devuelven
al exterior. A estas neuronas se les denomina neuronas de salida.
La figura 2.13 muestra un modelo de RNA, similar a la mostrada en
la figura 2.12, con elementos un poco diferentes
Figura 2.13 Neurona Artificial.
46
El conjunto de entradas, xj (t), pueden provenir del exterior o de otras
neuronas artificiales. La función de salida , Fi (ai (t)), representa la salida
actual de la neurona (i). Las entradas y salidas de una neurona pueden
ser clasificadas en dos grandes grupos, binarias y continuas. Las neuronas
binarias (digitales) solo admiten dos valores posibles. En general en este
tipo de neurona se utilizan los siguientes dos alfabetos {0,1} o {1,1}. Por
su parte, las neuronas continuas (analógicas) admiten valores dentro de
un determinado rango, que en general suele definirse como [-1, 1]. La
selección del tipo de neurona a utilizar depende de la aplicación y del
modelo a construir.
El peso sináptico wij define la fuerza de una conexión sináptica entre dos
neuronas, la neurona presináptica i y la neurona postsináptica j. Los pesos
sinápticos pueden tomar valores positivos, negativos o cero. En caso de
una entrada positiva, un peso positivo actúa como excitador, mientras
que un peso negativo actúa como inhibidor. En caso de que el peso sea
cero no existe comunicación entre el par de neuronas. Mediante el ajuste
de los pesos sinápticos la red es capaz de adaptarse a cualquier entorno
y realizar una determinada tarea.
La regla de propagación, σi (wij, xj (t)) integra la información
proveniente de las distintas neuronas artificiales y proporciona el
valor del potencial postsináptico de la neurona i. La regla de propagación
determina el potencial resultante de la interacción de la neurona i con las
N neuronas vecinas. El potencial resultante hi se puede expresar de la
siguiente manera:
hi (t) = σi(wij,xj(t)) (Ec. 2.6)
47
La regla de propagación más simple y utilizada consiste en realizar una
suma de las entradas ponderadas con sus pesos sinápticos
correspondientes:
hi (t) = ∑ wijj * xj(t) (Ec. 2.7)
La función de activación, fi (ai (t-1), hi (t)) provee el estado de activación
actual de la neurona i. Esta función determina el estado de activación
actual de la neurona en base al potencial resultante hi y al estado de
activación anterior de la neurona ai (t-1). El estado de activación de la
neurona para un determinado instante de tiempo t puede ser expresado
de la siguiente manera:
ai (t) = fi (ai(t-1), hi (t)) (Ec. 2.8)
Sin embargo, en la mayoría de los modelos se suele ignorar el estado
anterior de la neurona, definiéndose el estado de activación en función
del potencial resultante hi:
ai (t) = fi (hi (t)) (Ec. 2.9)
La tabla 2.2 muestra un listado de algunas de las funciones de activación
más utilizadas en los distintos modelos de redes neuronales artificiales.
La función de activación y la función de transferencia son las encargadas
de definir el nuevo estado de activación Ai y la respuesta Oi de la neurona.
Tanto el estado de activación como la salida de la neurona varían en
función de las entradas que recibe en un determinado momento y del
estado de activación previo que tenga esa neurona (figura 2.14).
48
Tabla 2.2 Funciones de activación más frecuentes.
Función Formula Rango
Identidad y=x [-∞,∞]
Escalón
y = {+1 𝑠𝑖 𝑥 ≥ 00 𝑠𝑖 𝑥 < 0
[0,1]
y = {+1 𝑠𝑖 𝑥 ≥ 0−1 𝑠𝑖 𝑥 < 0
[-1,1]
Lineal a tramos {𝑥 𝑠𝑖 − 1 ≤ 𝑥 ≤ 1 +1 𝑠𝑖 𝑥 > 1−1 𝑠𝑖 𝑥 < −1
[-1,1]
sigmoidea y = 1
1+ 𝑒−𝑥 [0,1]
sinusoidal y = sen (ω.x + φ) [-1,1]
Hiperbólica -
tangente y =
1− 𝑒−𝑁𝐸𝑇
1+ 𝑒−𝑁𝐸𝑇 [-1,1]
Nota: En esta última función de transferencia, NETi (t) = ∑ [𝑊𝑖𝑗 . 𝑁−1𝑗=1 𝑂𝑗 .
(t-1)]. Donde Wij representa el peso de la conexión entre una neurona
emisora j y la neurona receptora i.
Figura 2.14 Explicación de NET en la neurona artificial.
La función de salida, Fi (ai (t)), representa la salida actual de la neurona i.
La salida producida por una neurona i, para un instante de tiempo t puede
ser escrita en forma general de la siguiente manera:
49
yi (t) = Fi (fi [ai(t-1), σi (wij, xj(t))]) (Ec. 2.10)
Entonces, se puede decir que la función de salida proporciona el valor de
salida de la neurona, en base al estado de activación de la neurona. En
general se utiliza la función identidad para representarla, es decir:
yi (t) = Fi (ai(t)) = ai(t) (Ec. 2.11)
Una vez seleccionada el tipo de neurona artificial que se utilizará en una
red neuronal y determinada su topología es necesario entrenarla para que
la red pueda ser utilizada. Partiendo de un conjunto de pesos sinápticos
aleatorios, el proceso de aprendizaje busca un conjunto de pesos que
permitan a la red desarrollar correctamente una determinada tarea.
Durante el proceso de aprendizaje se va refinando iterativamente la
solución hasta alcanzar un nivel de operación suficientemente bueno. Una
vez finalizada la fase de aprendizaje, la red puede ser utilizada para
realizar la tarea para la que fue entrenada. Una de las principales ventajas
que posee este modelo es que la red aprende la relación existente entre
los datos, adquiriendo la capacidad de generalizar conceptos. De esta
manera, una red neuronal puede tratar con información que no le fue
presentada durante la fase de entrenamiento.
En el contexto de las redes neuronales el aprendizaje puede ser visto
como el proceso de ajuste de los parámetros libres de la red. La mayoría
de los métodos de entrenamiento utilizados en las redes neuronales con
conexión hacia delante consiste en proponer una función de error que
mida el rendimiento actual de la red en función de los pesos sinápticos.
El objetivo del método de entrenamiento es encontrar el conjunto de
pesos sinápticos que minimizan (o maximizan) la función. El método de
optimización proporciona una regla de actualización de los pesos que en
función de los patrones de entrada modifica iterativamente los pesos
50
hasta alcanzar el punto óptimo de la red neuronal.
El algoritmo Backpropagation es el método de entrenamiento más
utilizado en redes con conexión hacia delante. Es un método de
aprendizaje supervisado de gradiente descendente, en el que se
distinguen claramente dos fases: primero se aplica un patrón de entrada,
el cual se propaga por las diferentes capas que componen la red hasta
producir la salida de la misma. Esta se compara con la salida deseada y
se calcula el error cometido por cada neurona de salida. Estos errores se
transmiten hacia atrás, partiendo de la capa de salida hacia todas las
neuronas de las capas intermedias. Cada neurona recibe un error que es
proporcional a su contribución sobre el error total de la red. Basándose
en el error recibido se ajustan los errores de los pesos sinápticos de cada
neurona.
Durante la aplicación del algoritmo backpropagation el aprendizaje se
produce mediante la presentación sucesiva de un set de entrenamiento.
Cada presentación que completa al perceptrón multicapa del set de
entrenamiento se denomina epoch. Así, el proceso de aprendizaje se
repite epoch tras epoch hasta que los pesos sinápticos se estabilizan y el
desempeño de la red converge a un valor aceptable.
Una variación del algoritmo backpropagation es conocido como
Levenberg-Marquardt backpropagation; este muestra la convergencia
más eficiente durante el proceso de entrenamiento de propagación hacia
atrás porque actúa como un ajuste entre el método de optimización de
primer orden (método de la máxima pendiente) y un método de
optimización de segundo orden, estable pero de lenta convergencia,
conocido como Gauss-Newton. En el algoritmo backpropagation, el índice
de desempeño F (w) a ser minimizado se define como la suma de los
51
errores cuadrados entre los objetivos de la salida y las salidas simuladas
de la red, llamadas:
F(w) = eT e (Ec. 2.12)
Donde w = [w1, w2,…,WN]T consiste en todos los pesos de la red, e es el vector
de los errores que incluye los errores para todos los ejemplos de
entrenamiento. Cuando se entrena con el método Levenberg-Marquardt
(LM) el incremento de los pesos Δ w puede ser obtenido como se menciona
a continuación:
Δ w = [JT J + λI]-1 JT e (Ec. 2.13)
Donde J es la matriz jacobiana, λ es el parámetro de entrenamiento que
se va actualizando usando el rango de decaimiento β dependiendo del
resultado. En particular, λ se multiplica por el rango de decaimiento β (0 <
β < 1) siempre que F(w) decrezca, mientras λ es dividida por β siempre que
F(w) se incremente en un nuevo paso [39] .
Algunas investigaciones han puesto de manifiesto la existencia de otros
métodos que aceleran la convergencia de optimización de los pesos. En
su libro, Denis et al [40] muestran resultados teóricos y numéricos que
prueban que los algoritmos Quasi-Newton son superiores a los algoritmos
de gradiente. Por esta razón, varios investigadores proponen esta técnica
para entrenar redes neuronales. El método Quasi-Newton sustenta la idea
de que mediante el cálculo de la segunda derivada de la función objetivo
se generará un mejor entendimiento de la topología de la función, porque
conduce a su vez a escoger la dirección más eficiente de descenso.
Digamos que:
Δ w (n) = λ G(n) (Ec. 2.14)
Donde la dirección descendente G está definida por:
52
G(n) = -[H(n)]-1 S(n) (Ec. 2.15)
Donde H(n) es la matriz Hessiana. La principal dificultad con este enfoque
es que encontrar la solución de este sistema en todas las iteraciones es
muy tedioso. Los métodos de variable métrica, también llamados métodos
quasi – newton, evitan esta dificultad mediante la aproximación directa
de la inversa de la matriz Hessiana, [ �̃�(n)]-1, de la primera derivada, S(n).
Estos métodos son las técnicas más populares de optimización sin
restricciones y el método de Broyden-Fletcher-Goldfarb-Shanno (BFGS)
es el más ampliamente usado en la actualidad, el cual calcula [ �̃�(n)]-1
mediante [41]:
Δ[ �̃�(n)]-1 = [ �̃�(n+1)]-1 - [ �̃�(n)]-1 (Ec. 2.16)
Una vez finalizada la fase de aprendizaje, la red puede ser utilizada para
realizar la tarea para la que fue entrenada. Una de las principales ventajas
que posee este modelo es que la red aprende la relación existente entre
los datos, adquiriendo la capacidad de generalizar conceptos. De esta
manera, una red neuronal puede tratar con información que no le fue
presentada durante la fase de entrenamiento. Cuando se evalúa una red
neuronal no solo es importante evaluar si la red ha sido capaz de aprender
los patrones de entrenamiento. Es imprescindible también evaluar el
comportamiento de la red ante patrones nunca antes vistos. Esta
característica de las redes neuronales se le conoce como capacidad de
generalización y es adquirida durante la fase de entrenamiento. Es
necesario que durante el proceso de aprendizaje la red extraiga las
características de las muestras, para poder luego responder
correctamente a nuevos patrones. De lo dicho anteriormente surge la
necesidad de evaluar durante la fase de entrenamiento dos tipos de
errores: el error de aprendizaje, que indica la calidad de la respuesta de
la red a los patrones de entrenamiento, y el error de generalización que
53
indica la calidad de la respuesta de la red a patrones nunca antes vistos.
Para poder obtener una medida de ambos errores es necesario dividir el
set de datos disponibles en dos, el set de datos de entrenamiento, y el
set de datos de evaluación. El primero se utiliza durante la fase de
entrenamiento para que la red pueda extraer las características de los
mismos y, mediante el ajuste de sus pesos sinápticos, la red logre una
representación interna de la función. El set de evaluación se utiliza para
evaluar la capacidad de generalización de la red. La causa más común de
la pérdida de capacidad de generalización es el sobreaprendizaje. Esto
sucede cuando la cantidad de ciclos de entrenamiento tiende a ser muy
alta. Se observa que la respuesta de la red a los patrones de
entrenamiento es muy buena, mientras que la respuesta a nuevos
patrones tiende a ser muy pobre. Al aumentar el número de ciclos la red
tiende a sobreajustar la respuesta a los patrones de entrenamiento, a
expensas de una menor capacidad de generalización. En ocasiones la
pérdida de capacidad de generalización se produce por el uso excesivo de
neuronas ocultas en la red neuronal. Esto hace que la red tienda a ajustar
con mucha exactitud los patrones de entrenamiento, evitando que la red
extraiga las características del conjunto. Este problema se ve agravado
cuando los patrones de entrenamiento poseen ruido, ya que la red ajusta
también el ruido de los mismos.
54
Capitulo III.-Diseño de la Investigación
3.1 Método
En la figura 3.1 se presenta la metodología utilizada en esta
investigación. Preliminarmente es necesario crear una base de datos
realizando varias corridas de simulación utilizando un software de
simulación. Para el caso de esta tesis se usó Flexsim®. Tales
simulaciones se deberán realizar en un modelo que represente con
precisión el sistema de servicio analizado. La base de datos es usada por
diferentes redes neuronales artificiales (RNA) que permiten la
identificación de patrones de consumo, reglas de asociación o el
comportamiento cíclico en los clientes / artículos. Para el análisis e
interpretación, los resultados de simulación y de las redes neuronales se
comparan. Después la configuración en clústeres dada por las redes
neuronales es sujeta a optimización aplicando un algoritmo genético. Los
resultados producidos por las correcciones en el flujo y administración de
inventarios se pueden retroalimentar a las base de datos para una
constitución más robusta.
Figura 3.1 Metodología propuesta.
55
3.2 Construcción del modelo de simulación
Antes de presentar en detalle la construcción del modelo de simulación se
considera necesaria una detallada descripción de los procesos que
interactúan en la empresa sujeta a estudio; lo anterior es de especial
importancia para definir de estos procesos sus límites e interfaces, sus
entradas y salidas principales, clientes y proveedores internos/externos y
departamentos involucrados en la ejecución. Para esto se realizaron
mapeos de procesos, los cuales representan gráficamente las relaciones
existentes entre los procesos de un sistema así como las actividades
involucradas dentro de ellos. Los mapeos de procesos consisten en la
construcción de modelos que muestren las relaciones entre las
actividades, personas, datos u objetos involucrados en la producción de
una salida específica [42].
El primer mapa de procesos realizado en cooperación con personal
directivo de REFACCIM muestra el modelo del negocio (ver figura 3.2). Es
una representación de los macroprocesos involucrados en la empresa, sus
relaciones y las entradas y salidas que se producen, desde el punto de
vista sistémico. Cuando una persona llega a la organización a realizar un
pedido de servicio, refacciones o autopartes es recibido por un proceso
conocido como comercialización, específicamente por el área de ventas
(ver “A” en figuras 3.2 y 3.4). De ahí en adelante, la logística se divide en
dos caminos principales: por un lado el cliente tiene que pasar a otra parte
del proceso del proceso conocida como “caja” (ver “B” en la figura 3.4),
en donde mediante la presentación de un ticket de pago se realiza la
facturación de la venta. Una vez realizado este trámite el cliente tiene que
pasar a la aduana a recoger su producto (ver “C” en la figura 3.3). Por
56
otro lado, una orden de surtido se genera por parte del personal de ventas
(personas que están en el mostrador, pertenecientes al proceso de
comercialización, ver “D” en la figura 3.4) y la dirigen hacia el almacén
(perteneciente al proceso de operaciones, ver “E” en la figura 3.3). Es
precisamente en ese punto donde se encuentra el área de oportunidad de
este proyecto, ya que como se muestra en la sección 1.2.1 de este
documento, existe un serie de factores que impiden que la entrega de la
pieza a la aduana se haga de forma rápida y con esto se afecta a la
satisfacción del cliente (ver “F” en la figura 3.3) por un alto tiempo de
espera. El mapa de la figura 3.3 muestra la relación existente entre el
almacén y la aduana y la forma en que ambos están directamente
involucrados en la problemática, ya que es en éstas donde se realiza la
operación de surtido de mercancía.
Estos mapas están diseñados de acuerdo al enfoque a procesos que se
maneja en la norma ISO 9001 desde su versión 2000. En esta se comenta
que un proceso es toda actividad o conjunto de actividades que
transforman entradas en salidas. Por lo tanto para que sea considerado
un proceso tiene que agregar valor. A menudo, las salidas de un proceso
se transforman en entradas de otro proceso. En el mapa del proceso de
comercialización (ver figura 3.4) podemos ver que se encuentran dos
actividades que también están ligadas directamente a la situación
problemática que se maneja en este documento: ventas y compras. La
primera de ellas porque es la que recibe al cliente e interpreta sus
necesidades y la segunda porque el desempeño y asertividad de esta
determina el porcentaje de desplazamiento que se pueda hacer de las
mercancías del almacén.
Los procesos de comercialización y de operaciones forman parte de los
procesos conocidos como “de realización o misionales”; estos son a través
57
de los cuales se elaboran los productos y/o servicios que se enfocan hacia
el cliente. Existen otros procesos conocidos como procesos Gerenciales ,
los cuales determinan la dirección de la organización. En la empresa en
cuestión existe un proceso gerencial conocido como Dirección General
cuyas salidas y entradas se pueden ver en el mapa del modelo del negocio
de la figura 3.2. Existen otros procesos conocidos como procesos de
soporte, los cuales apoyan a los procesos misionales y a los procesos
gerenciales; para esta investigación, se mapearon los procesos de
finanzas, contabilidad, recursos humanos y mantenimiento, pero por su
escasa incidencia en el problema no se muestran en este documento.
Para construir el modelo de simulación que permitiera analizar la situación
actual del proceso de atención a clientes de REFACCIM y demás procesos
relacionados, se requirió definir una metodología estructurada. Para ello
se utilizaron como base las etapas para realizar un estudio de simulación
propuestas por Coss [43], adecuándolas a las necesidades propias del
proyecto. La metodología utilizada para el desarrollo del modelo de
simulación fue:
Definición del sistema
Formulación del modelo
Colección de datos
Implementación del modelo en la computadora
Validación
Experimentación
Interpretación
Documentación
58
Figura 3.2 Mapa del Modelo de Negocio de REFACCIM.
A
59
Figura 3.3 Mapa del proceso de operaciones de REFACCIM.
C
E F
60
Figura 3.4 Mapa del proceso de comercialización de REFACCIM.
A B
D
G
61
Definición del sistema.- Para realizar este primer paso de la
metodología de un estudio de simulación se hizo uso de los mapas de
proceso. Lo anterior para lograr un análisis preliminar del sistema a
simular, con el fin de determinar la interacción del sistema con otros
sistemas y sus restricciones. Ahora, para identificar las variables que
interactúan dentro del sistema –y que son de interés para la
investigación- y las medidas de efectividad que se van a utilizar para
definir y estudiar el sistema, el equipo investigador analizó todas las
etapas que están relacionadas con el proceso de atención a clientes y
se obtuvieron las variables y los correspondientes indicadores que se
muestran en la tabla 3.1.
Tabla 3.1 Variables consideradas para el modelo de simulación.
Variables Dependientes
Variables Independientes
Política de asignación de mercancías
Densidad promedio de surtido en cada pasillo
Tipo de ordenes (mono producto y multiproducto)
Tiempo de surtido
Ruta de surtido (definida por el número y tipo de
pasillos)
Surtido de ordenes
Mano de obra (tipo y número de personal)
Ruta de surtido
Tiempo de surtido
Longitud de la fila de la aduana
Ubicación física del producto
Tipo de producto
Familias de productos
Temporalidad de las ventas (distribución durante el día)
Volumen promedio de ventas
Distribución física
Distancia para acomodo
Tiempo de surtido
La política de asignación de mercancías se refiere al criterio que se tiene
para darle una ubicación a los productos en el almacén, una vez que estos
ya han sido etiquetados y clasificados. El surtido de ordenes contempla
todos los aspectos ligados a esta operación, tales como: emisión del ticket
62
desde el área de ventas, búsqueda de la(s) pieza(s) en los anaqueles y
entrega de esta(s) a la aduana. El tipo de producto se refiere a las familias
de distintos tipos de productos existentes en la refaccionaria (ver tabla
no. 3.2), la distribución física tiene que ver con la manera en que están
distribuidas las mercancías a lo largo de los estantes en el almacén.
También está relacionada con las distancias y otras medidas físicas de la
estructura (capacidad de anaqueles, capacidad por celda, número de
celdas, etc.).
Tabla 3.2 Familias de productos que maneja REFACCIM.
Familias
Eléctrico Motor Suspensión Embrague Frenos Enfriamiento Afinación Empaques
Bomba de
gasolina
Pistones Rótulas Kit de Clutch Cilindro
de rueda
Bombas de
agua
Bujías Juegos
completos
Alternadores Anillos Terminales Junta
homocinética
Balatas
traseras
Fan clutch Cables
para
bujías
Empaques
de cabeza
Marchas Metales de
biela
Horquillas Aro dentado Repuesto
de caliper
Termostato Filtro de
aire
Empaque
de múltiple
admisión
Sensores Metales de
centro
Amortiguadores Cubre polvos Balatas Filtro de
aceite
Empaque
de múltiple
de escape
Solenoides Metales de
árbol
Baleros Crucetas Repuesto
de frenos
Filtro de
gasolina
Empaque
de carter
Focos Kit de
distribución
Resortes de
suspensión
Cilindro de
clutch
Cilindro
maestro
Empaque
de puntería
Switch Bomba de
AC.
Soportes Tricetas Manguera
de frenos
Empaque
de
distribución
Tapas de
distribución
Válvulas A Masas Rotores Capuchones
Bobinas Válvulas E Bujes
Botadores
Camisas
Árbol de
levas
Formulación del modelo.- debido a que en esta etapa se necesita definir
todas las variables que forman parte del modelo, así como sus relaciones
lógicas y los diagramas de flujo que lo describan en forma completa, se
procedió a hacer una introspección más detallada de las dos actividades
63
preponderantes en el proceso de almacén y por consiguiente del surtido
de pedidos, -la aduana y el almacén por sí mismo- . El resultado que se
buscó fue la obtención de un modelo que produjera descripciones o
predicciones aceptables en el contexto del comportamiento del sistema,
que coadyuvasen a reducir el tiempo de diseño y
elaboración/programación al implementar el modelo en la computadora.
Este paso tuvo que ser muy cuidadoso ya que tanto el número de
variables en un modelo, como su complejidad, se encuentran
directamente relacionados con los tiempos de programación, cómputo y
validez. De esta forma, primero se obtuvieron dos modelos generales de
las actividades ya mencionadas y posteriormente se procedió a
simplificarlos, para poder tener las características y precisión requeridas
para pasar los modelos a la computadora. Gracias a la representación de
esta manera del sistema se pudieron tener las bases para definir y
coleccionar los datos necesarios para monitorear el comportamiento de
las variables.
Los mapas de las figuras 3.5 y 3.6 engloban el sistema a simular, que
consiste en la articulación de dos procesos: el de la llegada de clientes y
el de la llegada de mercancías. Con relación a este último podemos ver
su flujo representado por la flecha roja en la figura 3.5; la mercancía que
previamente ha sido pedida a los proveedores mediante una orden de
compra (ver “G” en la figura 3.4) llega por medio de la compañía de
paquetería al área de recepción de la empresa; posteriormente es
desempaquetada y luego se procede a hacer el etiquetado para la
identificación mediante código de barras. Una vez hecha la identificación
de los productos se procede a asignar cada uno de ellos a una localidad
específica del almacén. El producto una vez colocado en algún lugar del
almacén esperará un tiempo determinado a ser solicitado por un cliente
a través del área de ventas.
64
Con relación a la llegada de los clientes, estos son recibidos por el área
de ventas (ver “A” en la figura 3.4) y si su producto requerido existe en
el almacén y está de acuerdo con el precio entonces se emite un ticket
que dispara en el almacén la búsqueda de ese producto para su surtido
y su envío al área de aduana. Mientras tanto el cliente tiene que acudir
a la caja y hacer el pago en caja (ver “B” en figura 3.4) y posteriormente
ya con el ticket sellado por la caja espera en la aduana su producto.
Cuando el producto llega del almacén a la aduana se escanea para darlo
de bajo del inventario y una vez hecho esto se le entrega al cliente (ver
flecha azul en la figura 3.6).
Colección de datos.- Para la construcción del modelo de simulación se
deben obtener datos del sistema real bajo estudio, con la finalidad de
que el modelo de simulación represente lo más cercano posible a la
realidad los procesos involucrados en la atención a clientes de
REFACCIM. En la recolección de datos para el desarrollo del modelo de
simulación se realizaron los siguientes pasos:
Definición de los tipos de datos necesarios para el modelo
Recolección de datos
Realización del análisis estadístico de los datos
Los datos del sistema se categorizaron en datos estructurales, datos
operacionales y datos numéricos [44].
Para nuestro caso, los datos estructurales considerados fueron los
siguientes:
Las dimensiones de todas las áreas constitutivas de la organización,
incluyendo anaqueles, mostrador, aduana, etiquetado, etc.
65
Figura 3.5 Mapa del proceso de Almacén de REFACCIM.
66
Figura 3.6 Mapa del proceso de Aduana de REFACCIM.
67
Definición de las distintas familias de productos que se manejan
dentro de la empresa (ver tabla 3.2)
Definición de los distintos tipos de clientes que arriban a la empresa
(clientes de uno o varios productos, clientes que acuden solo a
presupuestar, clientes que vienen a entregar devoluciones, etc., ver
figura 3.13)
Número y distribución del personal en operaciones clave.- 4
vendedores para atención directa a clientes, 1 persona atendiendo
en la aduana, 3 surtidores de pedidos y una persona acomodando
la mercancía en los estantes
Distribución del sistema a simular.- haciendo especial énfasis en la
capacidad de los anaqueles y el número de celdas existentes en
cada uno de ellos.
Tipo de sistema a simular.- discreto
Ubicaciones de áreas de trabajo importantes de la empresa.
Con respecto a los datos operacionales los considerados fueron los
siguientes:
Regla de flujo del operador acomodador, la cual en base a la
observación al campo se asumió que mostraba un comportamiento
aleatorio.
Rutas de surtido.- se determinaron 10 rutas (ver figuras 3.16 y
3.17), de acuerdo a la distribución física del almacén y la
observación en campo de repetidas operaciones de surtido
Temporalidad de las ventas.- Distribución durante el día de las
ventas de las diferentes familias de productos (ver tabla 3.4).
Distancias recorridas.- En la operación de acomodo, cuantos metros
recorre el operador en diferentes rutas de acomodo
68
Flujo que sigue el proceso, desde el punto de vista de: la llegada de
las piezas, la llegada de los clientes y cuando se unen ambos
eventos.
Por último, los datos numéricos contemplados fueron:
Capacidades de cada uno de los equipos del sistema, especialmente
de los anaqueles. En total se cuenta con 1488 celdas disponibles
para almacenar productos
Tasa de llegada de las mercancías
Tiempos en las distintas etapas del proceso
Tasa de llegadas de los distintos tipos de clientes
La recolección de datos fue realizada durante cuatro semanas, y se
procuró abarcar varios horarios de trabajo de la empresa. La
obtención de los datos fue a través de mediciones de tiempos de las
actividades consideradas en la investigación.
Una vez realizada la toma de tiempos y habiendo hecho las
correspondientes adecuaciones (cambio de minutos a segundos o
viceversa) se procedió a analizarlos estadísticamente utilizando el
software Experit® el cual es una herramienta de análisis de datos incluida
en Flexsim® y se validaron con pruebas de bondad de ajuste de Minitab®.
Las distribuciones de probabilidad mediante Experit® se utilizaron para
incluir dentro del modelo de simulación los tiempos de cada una de las
etapas involucradas en el proceso de atención a clientes. A continuación
se detalla el análisis para dos etapas del proceso, y las restantes serán
documentadas en la tabla 3.3; Se realizaron evaluaciones del ajuste de la
distribución propuesta contra los datos obtenidos en campo; se verificó
también el cumplimiento del supuesto de independencia que deben tener
estos datos para que puedan ser considerados como adecuados para el
modelado en la simulación.
Recepción de Mercancías.- la mercancía llega de los proveedores y se
69
procede a descargar en las instalaciones de la empresa. Para obtener los
datos que requiere la simulación se contabilizó la llegada de productos
durante 3 días y fueron 855 piezas; en tres días se tienen 1890 minutos
efectivos, por lo tanto, la tasa de arribo de piezas se estableció en
0.44375 minutos por pieza (27.13 segundos).
Descarga de Mercancías.-
Figura 3.7 Evaluación relativa de modelos candidatos para la descarga de mercancías.
Figura 3.8 Prueba de bondad de ajuste para el modelo de descarga de mercancías.
70
Figura 3.9 Evaluación del supuesto de independencia para datos de descarga de mercancías.
Figura 3.10 Ajuste de la distribución propuesta para la descarga de mercancías.
Así pues, de acuerdo a la evaluación relativa de los modelos candidatos,
la recepción de mercancía en su etapa de descarga se comporta gamma
(E) y en Flexsim® se cargó con los siguientes parámetros:
gamma( 0.923077, 5.457451, 0.930274, <stream>)
Un modelo con (E) añadida al lado derecho tiene un parámetro de
localización estimado. Mientras que (K) significa un parámetro de
localización conocido, diferente de cero.
71
La figura 3.9 muestra la evaluación del supuesto de independencia para
los datos recabados de esta fase del proceso. La figura 3.10 muestra el
ajuste de la curva de la distribución propuesta (línea en rojo) comparada
contra el histograma de los datos (columnas en azul).
Tabla 3.3 Relación de modelos de mejor ajuste para cada fase del proceso.
Fase de proceso Distribución
seleccionada
Supuesto de
independencia
Observaciones
Recepción de mercancía (Desempaque) (ver figura 3.12)
weibull( 2.980000, 4.551975, 0.579450, <stream>)
Se cumple Obtener más datos para reafirmar el supuesto de
independencia
Captura y generación de etiquetas (ver figura 3.12)
lognormal2( 0.000000, 12.155992, 1.013776,
<stream>)
Se cumple Obtener más datos para reafirmar el
supuesto de independencia
Etiquetado (ver figura 3.12) lognormal2( 0.000000,
26.039826, 0.768251, <stream>)
Se cumple Obtener más datos
para reafirmar el supuesto de independencia
Ubicar mercancía para surtir
(carga) (ver figura 3.12)
lognormal2( 0.000000,
12.042577, 0.764149,
<stream>)
Se cumple
Llevar y entregar la mercancía en la aduana (ver
figura irregular verde identificada con “I” en la
figura 3.11)
loglogistic( 0.000000, 27.260628, 2.941469,
<stream>)
Se cumple
Tasa de arribo de los clientes (ver ovalo rojo identificado en “G” en la figura 3.11)
Exponencial(0.10, 3.234 <stream>)
Se cumple La distribución seleccionada se ajusta al límite; Se hace prueba Anderson Darling para validar el ajuste
Tiempo de atención de
vendedores(ver ovalo azul identificado en “H” en la figura 3.11)
weibull(0.000,
313.826184, 1.525107, <stream>)
Se cumple
Tiempo de atención en la aduana (ver figura irregular
pearsont5( 0.000000, 158.385134, 2.780920)
Se cumple
72
verde identificada con “I” en
la figura 3.11)
Implementación del modelo en la computadora.- Con el modelo definido,
el siguiente paso fue construir el modelo de simulación de la situación
actual de los procesos involucrados en la atención a clientes. Se llevaron
a cabo los siguientes pasos:
(i) Definición del sistema a simular
El sistema a simular consistía en una articulación de dos procesos: el de
llegada de clientes y el de llegada de las mercancías, considerando un
proceso de almacenamiento temporal, dicho sistema presentaba los
siguientes elementos:
1.- La empresa abre sus puertas a las 09:00 horas y cierra a las 19:30
horas. En total son 10.5 horas activas por día.
2.- Se venden 8 familias de productos distintas (ver tabla 4), además de
aceites y una categoría de “otros”.
3.- Las operaciones de recepción de mercancías, descarga, desempaque
y etiquetado no son sujetas a un operario en específico. En la práctica las
realizan de manera aleatoria los operadores de surtido.
4.- Existen clientes que no solamente acuden a comprar un producto, sino
varios. También existen clientes que no encontraron lo que buscaban,
clientes que solo presupuestaron y clientes que traen devoluciones.
(ii) Definición de los supuestos del modelo
1.- La distribución considerada para generar los tipos de clientes es
negativa binomial, con parámetros (2.0, 54.79452); el primer número
representa el número de éxitos y el segundo representa la probabilidad
de éxito.
2.- Los tipos de cliente en relación al tipo de mercancía se distribuye
probabilísticamente, considerando las probabilidades mostradas en la
73
tabla 3.4.
Tabla 3.4 Relación de tipo de cliente considerando el tipo de mercancía que adquiere.
3.- Los vendedores y en general todo el personal están disponibles
durante toda la simulación
4.- La regla de prioridad para atención a clientes es FIFO (First in, first
out = Primero que entra, primero que sale).
5.- El tiempo de atención por parte de los vendedores se considera
constante.
(iii) Construcción de la distribución de planta, mercancías y equipos
involucrados en el sistema a simular
Para la construcción del modelo de simulación en Flexsim® se requirió
que el equipo y estructura que forma parte de la empresa fueran
representados en un diagrama. Para el caso de esta investigación el
sistema presenta únicamente eventos discretos, lo cual facilita el proceso
de simulación al no involucrar eventos continuos. La visualización gráfica
también buscó que el sistema modelado fuese lo más parecido al sistema
real.
De esta manera, una vez definido el tipo de modelo de simulación se
realizó la construcción del modelo. Se usaron los objetos mostrados en la
tabla 3.5.
La programación del modelo de simulación representó lo más
Familia de productos Porcentaje
Eléctrico 7
Motor 24
Suspensión 14
Embrague 5
Frenos 8
Enfriamiento 12
Afinación 11
Empaques 11
Aceites 3
Otros 5
74
cercanamente posible el sistema real del proceso de atención a clientes,
teniendo en cuenta los datos del modelo a simular y los supuestos del
modelo de simulación. En la figura 3.11 y 3.12 se muestran esquemas del
modelo creado en el software.
Tabla 3.5 Objetos de Flexsim® usados para la construcción del modelo.
Objeto Descripción
Source Este objeto es utilizado para generar las distintas entidades que
fluyen en el modelo, de acuerdo a una tasa de arribos. En el caso específico de esta investigación se usó para generar la llegada de
clientes y de la mercancía.
Processor Este objeto simula un lugar de operación o una máquina. Cualquier
proceso es simplemente modelado al forzar a los flowitems a un tiempo de espera determinado, que es el tiempo de operación. En esta investigación se usó para representar operaciones realizadas,
por ejemplo desempaque, atención de vendedores, etc.
Queues Este objeto tiene como finalidad representar líneas de espera. Sirve para almacenar flowitems cuando el siguiente objeto no los puede recibir todavía. La opción predeterminada del queue permite que los
objetos operen bajo una regla de primeras entradas, primeras salidas (PEPS), es decir, que el flowitem que ha esperado más tiempo por
llegar al siguiente objeto será el primero en continuar su camino hacia el objeto. (En el modelo de la figura 3.11 son presentadas 2: la fila de espera principal y la fila de espera de la aduana).
Rack Representan los estantes para almacenamiento de mercancías. Sirve
para almacenar los flowitems tal y como se hace en los racks de un almacén o bodega. En el modelo de simulación de esta investigación están configurados de acuerdo al número y tamaño de las bahías
75
(columnas) y los niveles de almacenamiento (filas).
Dispatcher Su traducción al español es “despachador”, y su función es controlar
un grupo de transportadores u operadores. En esta investigación se
utilizó para asignar las tareas a los surtidores.
Combiners Este objeto es utilizado para agrupar y juntar múltiples flowitems.
En esta investigación se utilizó para hacer un solo objeto en algunas fases del proceso, por ejemplo clientes-órdenes de compra o
mercancías-clientes
Separators Este objeto es usado para separar o cortar un flowitem en múltiples
partes. En esta investigación se utilizó para dividir un objeto combinado, por ejemplo el objeto cliente-orden de compra separarlo
para que tomen diferentes rutas en el proceso.
Recorders Para poder realizar gráficos del comportamiento de algunos objetos
Sinks El sink es utilizado para destruir los flowitems o productos que
finalicen el proceso en el modelo. En el modelo de esta investigación representan la salida de mercancías-clientes
76
Figura 3.11 Modelo realizado en flexsim para correr las simulaciones – recorrido de los clientes.
G Fila de espera principal
H
Fila de espera de la aduana
Expedidora de órdenes a ser surtidas
Surtidores
I
Archivar la orden de surtido
77
Figura 3.12 Modelo realizado en flexsim para correr las simulaciones.
J
Acomodo
Descarga Desempaque
Generación de etiquetas
Etiquetado
Recepción de
mercancía
78
En la figura 3.11 se puede ver una sección del modelo de simulación. La
sección encerrada en un óvalo e identificada con “G” representa la llegada
de los clientes (arribos, flujo identificado con flecha roja) de acuerdo a la
distribución estadística negativa binomial con parámetros r (éxitos) = 2 y
p (probabilidad) = 0.5479. Una representación de dicha distribución se
muestra en la figura 3.13.
Figura 3.13 Distribución que modela la llegada de los distintos tipos de clientes.
A su vez también los combiners representan la conjunción del cliente con
su respectivo tipo de producto que buscaban, de acuerdo a las distintas
familias de productos mostrados en la tabla 3.4.
Los processors encerrados en el óvalo identificado con “H” representan a
las personas del mostrador que se encargan de recibir a los clientes y
atender sus requerimientos; los separators de la parte trasera de cada
uno de ellos son utilizados para hacer la separación del cliente y su orden,
ya que esta última pasa hacia el área de almacén (flujo identificado con
flecha azul) y el cliente sigue su proceso hacia la caja.
La orden se genera automáticamente en una impresora al interior del
almacén indicándole al surtidor el tipo de producto y la ubicación en donde
79
se encuentra. Posteriormente un surtidor acudirá a los diferentes pasillos
del almacén hasta ubicar el producto y una vez tomado realizará una pre-
revisión de la pieza para verificar su condición física (que no esté dañado,
golpeado o defectuoso). Si todo está correcto entonces procede a
trasportarlo a la aduana junto con la orden de surtido (representado con
el único combiner existente en la figura irregular color verde identificada
con “I” en la figura 3.11). Posteriormente pasará a ser dada de baja del
inventario (processor de color rojo) y luego antes de ser entregada al
cliente pasará por una fase de archivado de la orden de surtido
(representado por el único separator de la figura irregular arriba
mencionada). Al final el producto sale para ser entregado al respectivo
cliente – previa presentación del ticket – y justo en ese momento con la
entrega del ticket se genera la estadística para generar información sobre
la rotación de las diferentes familias de productos, representadas por una
serie de processors que clasifica los tipos de productos que se venden en
la empresa (ver tabla 3.4). Por último, el cliente recibe su mercancía
(unión de la flecha roja y verde en la parte inferior de la figura 3.11) y se
retira de la empresa.
En la figura 3.12 se puede ver otra sección del modelo de simulación. La
sección encerrada en un óvalo e identificada con “J” representa el área de
almacenamiento de las refacciones y/o autopartes, con una capacidad
media de 50,000 piezas. Los colores de los diferentes ítems representan
la pertenencia a una determinada familia. Como se detalló con
anterioridad (ver figura 3.5) la mercancía que previamente ha sido pedida
a los proveedores mediante una orden de compra llega por medio de la
compañía de paquetería al área de recepción de la empresa (representado
por un source en el extremo superior derecho de la figura 3.12). Los
processors paralelos que están al inicio del flujo (representado por la
flecha verde) se usan para identificar en el modelo los productos respecto
80
a su familia de pertenencia (de acuerdo a las mostradas en la tabla 3.4).
Posteriormente se procede a la descarga, desempaque, generación de
etiquetas, etiquetado y por último el acomodo en alguna parte del
almacén. Es justo ahí donde se da la articulación con los flujos mostrados
en la figura 3.11.
Validación del modelo de simulación.- Los resultados producidos por el
sistema en estudio y el modelo se compararon para validar el modelo de
simulación. De acuerdo con Sargent [45] las corridas del modelo deben
realizarse en las mismas condiciones y usando las mismas entradas que
ocurren en el sistema real para ver si los resultados en las variables de
interés son consistentes. Dado que los tiempos de surtido están
directamente relacionados con la búsqueda de productos en un almacén
y con la ruta de surtido [2], entonces el tiempo de espera del cliente para
ser atendido y el tiempo de espera del cliente para la obtención de su
mercancía se consideraron como las variables relevantes para la
validación del modelo. Para comparar los tiempos de espera mencionados
se realizó una prueba de hipótesis utilizando Minitab®, comprobando
previamente la normalidad de los datos. Los datos utilizados en la prueba
de hipótesis y los resultados obtenidos se muestran en las tablas 3.6 y
3.7.
Tabla 3.6 Datos considerados para el estudio: Tiempo de espera en la fila.
Tiempo de espera de los clientes para ser
atendidos (seg). Datos del sistema
15 6.1 9.22 8.07 9.3
15.8 15.1 12.52 15.7 11.3
Tiempo de espera de los clientes para ser
atendidos (seg). Datos del simulador
5.8 7.1 16.9 13.2 18.5 8.3
7.8 11.4 14.4 21 8.2
81
Tiempo de espera de los clientes para obtener su mercancía (seg). Datos
del sistema
143.48 133 155.83 265.49 131.6
240.14 214.58 108.51 147.48 181.8
Tiempo de espera de los clientes para obtener su mercancía (seg). Datos
del simulador
210.01 281.3 88.6 299.4 100 199.1 287.1
171.3 321.3 189.5 171.3 198.2 255.8
317.6 377.2 273.8 184.4 215.6 352.3
244.1 316.3 142.3 205.1 227.4 41.1
Tabla 3.7 Análisis de normalidad para los datos del sistema real y del simulador.
Fuente de Datos
Prueba Shapiro – Wilk
Conclusión Media (seg.)
Desviación estándar
(seg.)
Cantidad de datos
(n)
Nivel de significancia
(p)
Tiempo de espera de los clientes para ser atendidos. Datos del sistema
11.81 3.534 10 >0.100
Debido a que el nivel de significancia es mayor que 0.05, se acepta la hipótesis de que los datos analizados tienen una distribución normal
Tiempo de espera de los clientes para obtener su mercancía. Datos del sistema
172.2 51.82 10 >0.100
Tiempo de espera de los clientes para ser atendidos. Datos del simulador
12.05 5.128 11 >0.100
Tiempo de espera de los clientes para obtener su mercancía. Datos del simulador
226.8 83.49 25 >0.100
Después de comprobar la normalidad de los datos mediante la prueba de
Shapiro Wilk [46], se realizó una comparación entre los datos obtenidos
por el sistema real y la simulación. La igualdad de las varianzas se
verificó mediante la realización de una prueba de desviación estándar
usando Minitab® y los resultados se muestran en la tabla 3.8.
De acuerdo a Gutiérrez y De la Vara [10], la prueba estadística y el
82
criterio de rechazo, cuando se suponen varianzas iguales y se desea
determinar si las medias de dos poblaciones son iguales, se obtienen a
través de las ecuaciones 3.1, 3.2 y 3.3.
Estadístico t: (Ec. 3.1)
Donde: (Ec. 3.2)
Y el criterio de rechazo es: (Ec. 3.3)
Tabla 3.8 Análisis comparativo de las varianzas de los datos reales y de la simulación.
Fuente de datos
Prueba F
Conclusión Grados de libertad de los datos
reales
Grados de libertad de
los datos del
simulador
Estadístico F
Nivel de significancia
(p)
Comparación de varianzas de los datos del sistema real y los datos del simulador para tiempo de espera de los clientes para ser atendidos
9 10 0.47 0.278 Debido a que el nivel de significancia es mayor que 0.05, es insuficiente evidencia para concluir que las desviaciones estándar sean diferentes.
Comparación de varianzas de los datos del sistema real y los datos del simulador para tiempo de espera de los clientes para recibir su mercancía
9 24 0.39 0.139
1 20
1 2
1 1p
X Xt
Sn n
2 21 21 2
1 2
1 1
2p
n S n SS
n n
1 20 /2, 2n nt t
83
De acuerdo a la tabla 3.9 y debido a que las hipótesis de igualdad de
medias en ambas pruebas son aceptadas, entonces se puede expresar
que el modelo representa la realidad de la empresa con un buen nivel de
confianza y con esto la operatividad del modelo queda validada.
Tabla 3.9 Prueba de hipótesis para los datos reales y del simulador.
Hipótesis 0t 1 2/2, 2n nt
Conclusion
Hipótesis nula: la media de los datos para el tiempo de espera de los clientes en la fila para ser atendidos en el sistema real es igual a la del simulador (H0: µ1 = µ2). Hipótesis Alternativa: la media de los datos para el tiempo de espera de los clientes en la fila para ser atendidos en el sistema real es diferente a la del simulador (H1: µ1 ≠ µ2).
-0.12 2.09
Debido a que
1 20 /2, 2n nt t
entonces no se
rechaza la hipótesis nula
Hipótesis nula: la media de los datos para el tiempo de espera de los clientes en la fila para recibir la mercancía en el sistema real es igual a la del simulador (H0: µ1 = µ2). Hipótesis Alternativa: la media de los datos para el tiempo de espera de los clientes en la fila para recibir la mercancía en el sistema real es diferente a la del simulador (H1: µ1 ≠ µ2).
-1.91 2.03
Debido a que
1 20 /2, 2n nt t
entonces no se rechaza la hipótesis
nula
Experimentación.- Una vez validado el modelo de simulación se procedió
a hacer la experimentación; esta consistió en generar los datos deseados
y empezar a preparar la base de datos para la posterior fase de la
metodología conocida aplicación de RNA. Para cada una de las variables
de interés expuestas en la tabla 3.10 se buscó la salida que el modelo en
Flexsim® arrojaba, obteniéndose los promedios -después de alcanzar el
estado estable- mostrado en las tablas 3.11 a la 3.16
84
Tabla 3.10 Datos generados con la simulación de Flexsim®.
Variable Dependiente Variable Independiente Resultado
Política de asignación de mercancías
Densidad promedio de surtido en cada pasillo
Ver indicador 1 en tabla 3.11
Tipo de ordenes (mono producto y multiproducto)
Ver tabla 3.12
Tiempo de surtido Ver tabla 3.14 Ruta de surtido (definida por el número y tipo de pasillos)
Ver indicador 2 en tabla 3.11
Surtido de ordenes
Mano de obra (tipo y número de personal)
Ver tabla 3.14
Ruta de surtido Ver indicador 2 en tabla 3.11
Tiempo de surtido Ver tabla 3.14 Longitud de la fila de la
aduana Ver tabla 3.15
Ubicación física del producto Ver indicador 3 en tabla 3.11
Tipo de producto
Familias de productos Ver tabla 3.16
Temporalidad de las ventas (distribución durante el día)
Ver tabla 3.17
Volumen promedio de ventas
Ver tabla 3.12
Distribución física Distancia para acomodo Ver indicador 4 en tabla 3.11
Tiempo de surtido Ver tabla 3.14
De acuerdo a De Koster et al [4] y Roodbergen [20] las variables
importantes a considerar cuando se asigna un artículo a una ubicación de
almacenamiento son: Tipos de ordenes (producto único o multiproducto),
ruta de surtido, familia de productos y ventas promedio (ver variables
independientes en la tabla 3.10). En este estudio estas variables fueron
consideradas como las variables predictivas de entrada de un sistema
clasificador de mercancía. Para el caso de la ruta de surtido (ver indicador
2 en la tabla 3.11) la empresa utiliza un sistema documentado en la
literatura como “ruta en forma de S” (ver figura 3.15 S-shape). Lo
anterior debido a que los pasillos tienen anaquel a la derecha y a la
izquierda y esto determina que una parte del código que identifica a un
producto pueda ser “A” si está a la derecha en el sentido en que se va
caminando por el pasillo y “B” si está a la izquierda (Ver figura 3.15). Así
pues, el sentido del pasillo está determinado por una flecha plasmada en
85
Figura 3.15 Ruta en forma de “S” en los pasillos.
Figura 3.14 Sentido de surtido en los
pasillos
el piso del mismo (ver círculos imagen 3.14).
86
Tabla 3.11 Datos arrojados por Flexsim® para densidad promedio de surtido en cada pasillo, ruta de surtido, distancia para acomodo y ubicación física del producto.
3 1 2 4
87
Figura 3.16 Rutas presentes para surtido en la empresa sujeta a estudio.
Ruta 1 Ruta 2 Ruta 3
Ruta 4 Ruta 5 Ruta 6
Ruta 7 Ruta 8 Ruta 9
88
Figura 3.17 Ruta de surtido 10 en la empresa sujeta a estudio.
De esta manera, considerándose el sentido de surtido, la variable
predictiva “ruta de surtido” puede tomar 10 distintos valores
considerando la ubicación física del producto que será surtido. En las
figuras 3.16 y 3.17 se muestran dichas rutas; la línea en rojo representa
el trayecto hasta el producto (representado este último por un pequeño
cuadrado rojo) y después hasta la aduana para hacer la entrega; la línea
en azul representa el regreso para recibir la siguiente orden de surtido.
Tabla 3.12 Datos arrojados por Flexsim® para tipo de ordenes (monoproducto o
multiproducto) y para volumen promedio de ventas.
89
Tabla 3.14 Datos arrojados por Flexsim® para longitud de la fila de la aduana.
Tabla 3.15 Datos arrojados por Flexsim® para familias de productos.
Tabla 3.13 Datos arrojados por Flexsim® para tiempo de surtido y mano de obra (tipo
y número de personal).
Tabla 3.16 Datos arrojados por Flexsim® para temporalidad de las ventas (distribución
durante el día).
90
3.3 Reconocimiento de patrones usando redes neuronales
La base de datos es generada por el simulador que representa las
características actuales del sistema. En cada una de las corridas del
simulador se obtiene un arreglo rectangular de datos en Excel® en la
forma n x p. Los renglones (n) representan los n objetos medidos; la otra
dimensión de la matriz contiene el grupo de medidas hechas a cada objeto
Se usó la red Perceptrón Multicapas para “aprender” el comportamiento
de la base de datos. Con este enfoque, se utilizó el módulo consagrado al
desarrollo de redes neuronales de Matlab®. La red de neuronas almacena
información en una cadena de interconexiones por medio de los pesos
sinápticos. Una arquitectura de diferentes tipos de redes de neuronas
artificiales (RNA) fue explorada, con el objetivo de encontrar el diseño
idóneo al problema bajo estudio. La etapa de aprendizaje debe ser
considerada para la creación de un modelo neuronal. La fase de
aprendizaje se utiliza para ajustar los pesos, los cuales inicialmente son
valores aleatorios.
El objetivo del acoplamiento de la técnica de simulación y de Inteligencia
artificial es el logro de una asignación inteligente de la mercancía en el
almacén para minimizar el costo de manejo de materiales. La distribución
que se obtiene a través del uso de redes neuronales se genera debido a
que estas últimas “aprenden el comportamiento” de la base de datos
generada por el simulador.
91
Figura 3.18 Representación de uso de la RNA 1.
Una primer red neuronal llamada RNA 1 (representada por el brazo
robótico de la figura 3.18) recibe los datos de entrada (una combinación
de 4 variables predictoras) y arroja como salida una asignación a un
pasillo específico, representados por los transportadores de la misma
figura. Para los datos de entrenamiento de la dicha red se consideraron
las corridas del modelo de simulación (712 datos) y se tomaron las
columnas en la tabla 19 referentes a familia(1=eléctrico, 2=motor,
3=suspensión, 4=embrague, 5=frenos, 6=enfriamiento, 7=afinación,
8=empaques, 9=aceites y 10=otros), ruta (10 rutas de surtido distintas
en el almacén), mono o multiproducto(0=producto no relacionado y
1=producto relacionado) y ventas (entre 0 y 1 artículos diarios = 1, entre
2 y 5 artículos diarios = 2, entre 6 y 10 artículos diarios =3 y más de 10
productos diarios = 4) . Estas 4 variables son las llamadas variables
predictoras. El testigo o salida deseada (pasillo) formó parte de otro
vector también considerado en el entrenamiento. Se muestra en la tabla
3.17 un fragmento de los datos utilizados. El resto de los datos tanto de
entrenamiento, validación y prueba están en el anexo 1.
RNA 1
Artículo con una combinación de 4 variables predictoras
92
Tabla 3.17 Datos arrojados por Flexsim® para longitud de la fila de la aduana.
Familia de
productos
Ruta Mono o
multiproducto
Intervalo de
ventas
Salida (pasillo)
8 7 1 3 1
2 6 1 2 2
2 5 1 2 3
5 4 1 1 4
Cada una de las columnas mostradas en la tabla 3.17 es obtenida de las
corridas del simulador. Se comienza la simulación con la llegada de los
artículos en el proceso de recepción de mercancía (ver flujo con flecha
verde en la figura 3.12) hasta la llegada de dichos artículos a los estantes
donde serán almacenados. Al asignarse en la simulación cada artículo a
una ubicación específica se toma de éste la ruta en la que será surtido,
la familia a la que pertenece, su rango de ventas, su patrón de ventas (si
se vende solo o en grupo) y el pasillo en donde se encuentra el anaquel.
La estructura utilizada para esta red neuronal se presenta en la figura
3.19.
Figura 3.19 Estructura de RNA 1.
93
Las variables X1 a la X4 representan las variables de entrada (las variables
predictoras) y Y i representa la variable de salida (el pasillo de asignación).
La función de transferencia tanto en la primera como en la segunda capa
fue la hiperbólica tangente representada en la ecuación 3.4.
1
tanhnn
k
yi IWiXj bi
(Ec. 3.4)
IWi son los pesos iniciales de la capa oculta i, bi representa los valores de
polarización de la capa oculta i y nn es el número de neuronas. El
algoritmo de entrenamiento utilizado fue el de la propagación hacia atrás
de errores o retropropagación (del inglés backpropagation), el cual es cual
es un algoritmo de aprendizaje supervisado. En la figura 3.20 se muestra
el algoritmo que posteriormente fue programado en Matlab® (figura
3.21).
Figura 3.20 Algoritmo de entrenamiento de la RNA 1.
Cada patrón de entrenamiento (una asignación de un artículo a una
ubicación específica) se propaga a través de la red y sus parámetros para
producir una respuesta en la capa de salida (la asignación a un pasillo
específico), la cual se compara con los patrones objetivo o salidas
94
deseadas (la salida deseada en base a un experto) para calcular el error
en el aprendizaje. Este error marca el camino más adecuado para la
actualización de los pesos y ganancias que al final del entrenamiento
producirán una respuesta satisfactoria a todos los patrones de
entrenamiento. Esto se logra minimizando el error medio cuadrático en
cada iteración del proceso de aprendizaje.
close all, clc
% Patrones de aprendizaje y objetivos
Q = length(P); % Número de neuronas en las capas ocultas n1 = 13; n2 = 6;
% Valores iniciales W1 = [
0.29 0.41 -0.92 0.73; 0.62 -0.80 -0.52 -0.61;
0.21 0.49 -0.41 -0.59; -0.15 -0.41 1.00 -0.96;
0.37 -0.69 0.32 -0.18; 0.08 0.51 -0.45 0.27;
-0.73 -0.77 -0.26 0.48; 0.04 -0.59 0.59 0.34;
1.03 0.39 0.73 -0.84; 0.03 -0.39 -0.14 -0.09;
0.28 -0.51 -0.43 0.13; 0.32 0.63 -0.09 0.14;
-0.47 -0.06 -0.53 -0.77;]
b1 = [0.08; 0.14;-0.69; 0.29;-0.54;-0.45; 0.49;-1.14;-0.57; 0.95;-
0.18;-0.78; 0.65;]
W2 = [
-0.84 0.40 -0.15 0.00 0.79 0.81 -0.29 -0.29
-0.77 0.63 -0.67 0.96 -0.17 0.45 0.65 -0.93
-0.61 0.91 -0.28 -0.05 -0.79 -0.29 -0.52 0.77
0.63 0.83 0.35 -1.07 -0.65 -0.19 0.89 0.22
0.92 -0.20 1.06 -0.65 -0.50 0.41 -0.34 0.37
-0.67 0.87 0.97 -0.86 -0.43 0.12 0.34 0.34
0.47 -0.77 0.54 0.67 -0.94;
1.07 -0.28 -0.70 -0.41 -0.60;
0.50 -0.97 -0.29 -0.05 -0.47;
0.76 0.43 0.23 0.33 0.05;
0.90 0.68 -0.04 0.44 0.02;
0.56 0.33 0.72 -0.65 0.96;]
95
b2 = [0.37; 1.04;-0.96; 0.27; 0.68;-0.65;] W3 = [0.76, 0.76,-0.53, 0.87,-0.87,-0.59;] b3 = [-0.33;] alfa = 0.001; for Epocas = 1:209 sum = 0; for q = 1:Q % q = randi(Q); % Propagación de la entrada hacia la salida a1 = tanh(W1*P(:,q) + b1); a2 = tanh(W2*a1 + b2); a3(q) = purelin(W3*a2 + b3); % Retropropagación de las sensibilidades e = T(q)-a3(q); s3 = -2*(1-a3(q)^2)*e; s2 = diag(1-a2.^2)*W3'*s3; s1 = diag(1-a1.^2)*W2'*s2; % Actualización de pesos sinápticos y polarizaciones W3 = W3 - alfa*s3*a2'; b3 = b3 - alfa*s3; W2 = W2 - alfa*s2*a1'; b2 = b2 - alfa*s2; W1 = W1 - alfa*s1*P(:,q)'; b1 = b1 - alfa*s1; % Sumando el error cuadrático sum = e^2 + sum; end % Error cuadrático medio emedio(Epocas) = sum/Q;
end
% Verificación de la respuesta de la multicapa for q = 1:Q a(q) = purelin(W3*tanh(W2*tanh(W1*P(:,q)+b1)+ b2)+b3); end
a
Cabe mencionar que en el programa de la figura 3.21 los valores de los
pesos iniciales de los pesos sinápticos no son aleatorios dado que en una
fase de “pre-entrenamiento” con valores aleatorios se buscó encontrar
valores que pudieran ayudar a la convergencia rápida del entrenamiento
de la red.
Para evitar el sobreaprendizaje de la red, -el problema de que dado un
conjunto de datos, sea posible que la red neuronal reproduzca muy bien
Figura 3.21 Programa en Matlab para entrena la RNA 1.
96
el comportamiento de dichos datos, pero no el de datos nuevos-, se usó
la técnica de early-stopping. En éste, durante el proceso iterativo de
optimización de los parámetros de la red se comparan los errores
obtenidos con los datos de entrenamiento y con los datos de validación.
De esta forma, cuando durante sucesivas iteraciones (épocas) el error con
los datos de entrenamiento aumente mientras que con los datos de
validación disminuya, entonces se detiene el proceso de entrenamiento.
En esta investigación esta situación se presentó para la RNA 1 en la época
209, tal y como se muestra en la figura 3.22.
Figura 3.22 Comportamiento del error cuadrático medio para los datos de
entrenamiento, validación y prueba.
Como resultado del entrenamiento y haciendo uso de la ecuación que
calcula la salida de una red neuronal artificial tenemos que:
a = f (Wp + b) (Ec. 3.5)
Donde:
a = salida deseada de acuerdo al testigo o experto
W = Matriz de los pesos sinápticos obtenidos del entrenamiento
P = vector de los valores de entrada
b = valores umbrales
f = función de activación
97
Así pues, para poder hacer una validación cruzada (evaluar la calidad de
la red durante el proceso de entrenamiento) se muestra a continuación
los pesos sinápticos de la primera capa:
W1 =
[0.29, 0.43,-1.03, 0.73;
0.55,-0.80,-0.53,-0.60;
0.24, 0.49,-0.43,-0.56;
-0.20,-0.46, 1.11,-1.05;
0.34,-0.71, 0.37,-0.14;
0.07, 0.52,-0.43, 0.34;
-0.72,-0.78,-0.29, 0.43;
0.03, 0.58, 0.55, 0.30;
1.03, 0.45, 0.71,-0.81;
0.04,-0.35,-0.17,-0.07;
0.32,-0.49,-0.42, 0.18;
0.33, 0.65,-0.13, 0.20;
-0.40,-0.01,-0.51,-0.72;]
Y el sesgo (bias) de la primera capa:
b1=
[-0.01; 0.13;-0.71; 0.35;-0.50;-0.48; 0.47;-1.17;-0.62; 0.92;-0.17;-0.84;
0.70;]
Pesos sinápticos de la segunda capa:
W2 =
[-0.79, 0.37,-0.15,-0.07, 0.79, 0.83,-0.29,-0.26, 0.48,-0.78, 0.54, 0.69,-0.96;
-0.77, 0.60,-0.66, 0.96,-0.17, 0.43, 0.67,-0.92, 1.06,-0.28,-0.70,-0.41,-0.58;
-0.63,0.90,-0.28,-0.01,-0.79,-0.30,-0.54,0.74,0.52,-0.95,-0.29,-0.05,-0.47;
0.76,0.80,0.35,-1.24,-0.67,- 0.09,0.84,0.21,0.78,0.40,0.23,0.41,0.05;
0.97,-0.17,1.09,-0.72,-0.49,0.46,-0.35,0.40,0.87,0.62,-0.03,0.51,0.00;
-0.66, 0.87, 0.96,-0.86,-0.42, 0.11, 0.34, 0.34, 0.55, 0.33, 0.72,-0.65, 0.95;]
Sesgo de la segunda capa:
b2=
[0.36; 1.04;-0.94; 0.28; 0.63;-0.65;]
Pesos sinápticos de la tercera capa:
[0.83, 0.74,-0.53, 1.09,-0.92,-0.56;]
Sesgo de la tercera capa:
[-0.36]
98
Como ejemplo para análisis tomaremos uno de los datos de asignación
arrojado por el simulador: Un termostato, se surte por la ruta 5, se vende
generalmente solo (no se vende generalmente junto con algún otro
artículo) y se venden en promedio 6 diarios. Estos datos arrojarían el
vector p = [6; 5; 0; 4]. La salida de acuerdo al testigo debería ser la
asignación al pasillo 3. Primeramente habría que someter estos datos a
un proceso de normalización, es decir, reducirlos a los rangos [0,1]. Lo
anterior se realizó dividiendo los datos iniciales entre un vector de valores
que son los datos con mayor valor del correspondiente campo. En este
caso para los valores de entrada fue el vector [10; 8; 1; 4]. Haciendo los
cálculos correspondientes tenemos que la salida de la primera capa ([W1
* p] + b1) es:
[1.17; 0.63; -0.81; -1.11; -0.88; 0.23; -0.01; -1.21; -0.53; 0.66; -0.10;
-0.03; -0.27]
Y aplicando la función de transferencia de la primera capa se obtiene:
[0.82;-0.56;-0.67;-0.80;-0.71; 0.22;-0.01;-0.83;-0.49; 0.57;-0.10;-0.03;-0.26]
Aplicando los pesos sinápticos de la segunda capa (W2) a estos valores
y sumándole el bias (b2) se obtiene el siguiente vector:
[-1.00; 0.29;-2.55; 1.29; 1.42;-2.01]
Y aplicando la función de transferencia de la segunda capa se obtiene:
[-0.76; 0.28;-0.98; 0.85; 0.88;-0.96]
Aplicando los pesos sinápticos de la tercera capa (W3) a estos valores y
sumándole el bias (b3) se obtiene el siguiente vector:
[0.4001]
Por último, deshaciendo el proceso de normalización (multiplicando por el
mayor valor del correspondiente campo, es decir, de todos los valores de
salida, en este caso 8) tenemos que se obtiene 3.2, que aplicando un
comando de redondeo tenemos como salida 3, que coincide con el valor
predicho por el testigo.
99
Una vez que la mercancía ha sido asignada (por la RNA 1) a algún pasillo
en particular (ver figura 3.23), otro grupo de redes neuronales artificiales
(una por cada pasillo) asignan a un clúster específico. Un clúster puede
ser definido como una concentración física de productos que comparten
características comunes, tal como la familia de pertenencia, por ejemplo:
el clúster de pistones.
Figura 3.23 Asignación que realiza la RNA 1.
Figura 3.24 Codificación de la asignación para ser considerada como testigo en
asignación a clústeres.
100
La figura 3.24 fue codificada para que pudiese ser usada como testigo en
el entrenamiento de las redes neuronales que asignan a los clústeres.
En esta figura se ilustra el ejemplo de lo que sucede cuando la RNA 1
asigna una mercancía al pasillo 4. Al llegar la mercancía a este pasillo una
segunda red neuronal (RNA 5) asignará la mercancía a un clúster
específico que se encuentre en ese pasillo (clúster 9 al 13), utilizándose
para esa asignación las mismas variables predictoras que se usaron para
la RNA 1, solo que en el testigo para esta segunda red neuronal será el
número del clúster. Se muestra en la tabla 3.18 un fragmento de los datos
utilizados. El resto de los datos tanto de entrenamiento están en el anexo
2.
Tabla 3.18 Fragmento de los datos de entrenamiento para la RNA 5.
Familia de
productos
Número
asignado a la
Ruta
Mono o
multiproducto
Intervalo de
ventas
Salida (Clúster)
7 1 1 5 12
4 2 0 6 10
7 1 0 5 11
7 1 0 6 13
En la figura 3.25 se muestra el código en Matlab® utilizado para este
segundo grupo de redes.
close all, clc
% Patrones de aprendizaje y objetivos
Q = length(P);
n1 = 13; n2 = 6; %Número de neuronas en las capas ocultas ep = 0.5; % Ventana de valores iniciales % Valores iniciales W1 = ep*(2*rand(n1,4)-1); b1 = ep*(2*rand(n1,1)-1); W2 = ep*(2*rand(n2,n1)-1); b2 = ep*(2*rand(n2,1)-1);
101
W3 = ep*(2*rand(1,n2)-1); b3 = ep*(2*rand-1); alfa = 0.01; for Epocas = 1:25 sum = 0; for q = 1:Q % q = randi(Q); % Propagación de la entrada hacia la salida a1 = logsig(W1*P(:,q) + b1); a2 = logsig(W2*a1 + b2); a3(q) = purelin(W3*a2 + b3); % Retropropagación de las sensibilidades e = T(q)-a3(q); s3 = -2*(1-a3(q)^2)*e; s2 = diag(1-a2.^2)*W3'*s3; s1 = diag(1-a1.^2)*W2'*s2; % Actualización de pesos sinápticos y polarizaciones W3 = W3 - alfa*s3*a2'; b3 = b3 - alfa*s3; W2 = W2 - alfa*s2*a1'; b2 = b2 - alfa*s2; W1 = W1 - alfa*s1*P(:,q)'; b1 = b1 - alfa*s1; % Sumando el error cuadrático sum = e^2 + sum; end % Error cuadrático medio emedio(Epocas) = sum/Q; end
% Verificación de la respuesta de la multicapa for q = 1:Q a(q) = purelin(W3*logsig(W2*logsig(W1*P(:,q)+b1)+ b2)+b3); end
a
Nótese que el programa es muy similar al utilizado con el entrenamiento
de la RNA 1. Uno de los cambios más significativos es que para este
segundo grupo de redes neuronales se utiliza una función de transferencia
distinta, es decir, sigmoidal (logsig).
Siguiendo un proceso similar para validación cruzada tal y como se realizó
para la RNA 1 se muestra a continuación los pesos sinápticos y bias para
cada una de las capas de esta segunda red neuronal (RNA 5) que asigna
Figura 3.25 Programa en Matlab para entrena la RNA 2 - RNA 8.
102
la mercancía a clústeres existentes en el pasillo 4:
Tabla 3.19 Pesos sinápticos y bias para RNA 5.
Pesos sinápticos (W1)
0.69 0.52 0.23 0.05 0.62 2.00 -0.03 -1.15 1.24 4.66 -1.17 -3.08
-2.59 -3.60 0.02 0.01 -1.01 -1.06 -0.47 -0.38 -3.24 -5.68 -0.02 -0.27 -0.44 4.20 -0.50 -1.80 0.66 1.21 -0.09 -0.58
-3.01 -4.73 0.27 0.25 -0.84 -1.30 -0.34 0.07 0.77 1.80 -0.21 -0.90
-3.04 -4.79 0.15 0.12 -0.73 -1.09 -0.02 -0.05
Bias (b1)
-0.79 -1.33 -2.60 0.11 0.32
-0.08 -0.82 -0.95 -0.47 0.10
-1.49 -0.07 0.27
Pesos sinápticos (W1)
-0.60 -1.49 -2.41 0.96 0.51 1.04 -1.61 -0.84 0.68 0.78 -1.45 1.09 0.46
-0.33 -0.48 -0.93 0.47 0.08 0.55 -1.36 -0.83 0.82 0.05 -0.72 0.44 0.18
0.12 -0.39 0.51 0.02 -0.36 0.31 0.27 0.34 -0.47 0.01 0.18 0.21 -0.35
0.19 0.26 -0.09 0.23 0.36 -0.36 0.18 0.08 -0.07 0.36 0.36 -0.24 0.40
0.13 -0.11 -0.89 -0.08 -0.06 0.39 -0.35 -0.04 0.41 -0.26 -0.43 0.27 0.31
0.09 0.17 0.53 0.31 -0.42 -0.09 -0.30 0.18 -0.09 -0.17 -0.43 -0.59 -0.26
Bias (b2)
-0.17
-0.14
-0.06
0.41
0.00
-0.41
Pesos sinápticos (W3)
1.51 0.93 -0.33 -0.05 0.52 -0.17
Bias (b3)
0.36
Como ejemplo para análisis tomaremos uno de los datos de asignación
arrojado por el simulador: Un filtro de gasolina, se surte por una ruta
codificada para ese pasillo como 2, se vende generalmente solo (no se
vende generalmente junto con algún otro artículo) y se venden en
promedio 6 a la semana. Estos datos arrojarían el vector p = [7; 1; 0;
6]. La salida de acuerdo al testigo debería ser la asignación al clúster 13.
Primeramente habría que someter estos datos a un proceso de
normalización, es decir, reducirlos a los rangos [0,1]. Lo anterior se
103
realizó dividiendo los datos iniciales entre un vector de valores que son
los datos con mayor valor del correspondiente campo. En este caso para
los valores de entrada fue el vector [7; 4; 1; 6]. Haciendo los cálculos
correspondientes tenemos que la salida de la primera capa ([W1 * p] +
b1) es:
[0.08; -1.35; -3.27; -3.37; -1.33; -5.00; -2.00; -0.56; -4.40; -0.99; -
1.16; -4.18; -0.78]
Y aplicando la función de transferencia de la primera capa se obtiene:
[0.52; 0.20; 0.03; 0.03; 0.20; 0.00; 0.11; 0.36; 0.01; 0.27; 0.23; 0.01; 0.31]
Aplicando los pesos sinápticos de la segunda capa (W2) a estos valores
y sumándole el bias (b2) se obtiene el siguiente vector:
[-1.18; -0.95; -0.03; 0.99; -0.12; -0.60]
Y aplicando la función de transferencia de la segunda capa se obtiene:
[0.23; 0.27; 0.49; 0.73; 0.46; 0.35]
Aplicando los pesos sinápticos de la tercera capa (W3) a estos valores y
sumándole el bias (b3) se obtiene el siguiente vector:
[0.95]
Por último, deshaciendo el proceso de normalización (multiplicando por el
mayor valor del correspondiente campo, es decir, de todos los valores de
salida, en este caso 24) tenemos que se obtiene 23. Aplicando una función
polinomial que convierte los valores de salida al intervalo necesario de
clústeres para ese pasillo (y = 0.066x4 - 5.2022x3 + 153.03x2 - 1990.4x
+ 9665) se tiene como salida 13, que coincide con el valor predicho por
el testigo.
3.4 Aplicación de algoritmos genéticos para optimizar la
configuración de clústeres obtenida por las redes neuronales
artificiales
El reconocimiento de patrones puede ser aplicado como una técnica para
implementar un sistema de asignación inteligente de mercancía en
104
almacenes. La meta principal de un sistema de este tipo es realizar una
asignación a una categoría de pertenencia de un determinado artículo a
una zona del almacén, tal cual y como lo haría un experto. La clave está
en el reconocimiento de las variables predictoras: familia, ruta,
mono/multi producto y ventas (de entrada) que permitan identificar a
cierto artículo como miembro de una clase predefinida (clúster). Por lo
tanto, el reconocimiento de patrones usando redes neuronales artificiales
en acoplamiento con un modelo de simulación proporciona un método
alternativo para asignar mercancía a ubicaciones de manera inteligente.
Lo anterior genera un amplio rango de aplicaciones, incluida la posibilidad
de automatización del área de recepción de mercancía hasta la colocación
de ésta en el clúster donde será almacenada. En este subcapítulo se
presenta el trabajo de acoplamiento de algoritmos genéticos (AG) para la
evaluación de la ubicación física de los clústeres. Esto hace que a
intervalos de tiempo bien estudiados y definidos, las redes neuronales
artificiales tengan que “sincronizarse” con una función que minimizará los
costos de manejo de materiales a través de la reubicación de los clústeres
de acuerdo al volumen de ventas de las mercancías que los forman. De
acuerdo a Estévez [47], los algoritmos genéticos son métodos robustos
de búsqueda que permiten tratar problemas de optimización donde el
objetivo es encontrar un grupo de parámetros que minimizan o
maximizan una función de adaptación. Esa es una de las principales
justificaciones para usar los AG, al complementar estos la salida de las
RNA, buscando la optimización de la asignación.
El problema a solucionar con la aplicación de los AG es el de mantener
óptima la configuración de la ubicación de los clústeres, minimizando la
distancia total recorrida en un periodo de tiempo bien definido
considerando como variable definidora las ventas hechas en cada uno de
los clústeres. Así pues, se considera el problema de encontrar un patrón
105
de acomodo de rectángulos (clústeres) de diferentes tamaños dentro de
rectángulos de mayor tamaño (los pasillos) y que esto origine como
resultado una menor distancia recorrida por el surtidor para cumplir con
los pedidos requeridos por los diferentes tipos de clientes.
La magnitud del espacio de búsqueda de soluciones en el caso específico
tratado en esta investigación es de 2.4329 X 1018, que resulta de todas
las permutaciones posibles de tamaño 20. Los patrones de acomodo
aumentarán exponencialmente a medida que se incremente el número
de clústeres, lo que se considera una de las razones para usar las técnicas
metaheuristicas como herramienta de solución. Tal y como mencionan
Amar y Verdugo [48], las metaheuristicas basadas en poblaciones, por
ejemplo, los algoritmos genéticos, sirven para entregar soluciones a
problemas muy complejos y generalmente con un alto grado de
combinatoria para los cuales no existe una manera o es impracticable
encontrar el óptimo en un tiempo razonable. El problema descrito
considera un grado bajo de diversidad en los clústeres, ya que de estos
solo variará su longitud, no su ancho, debido a que este último está
determinado por lo ancho del anaquel. Además, sin pérdida de
generalización, se asume que todas las entradas son enteros positivos.
La estructura de datos escogida, para la codificación del espacio de
búsqueda de un problema de optimización es un punto importante dentro
de los AGs. Estos suelen trabajar con cadenas binarias, que representan
de algún modo a una de las soluciones potenciales del problema. Pero,
en el caso de acomodo de clústeres (o rectángulos), en general, las
cadenas binarias no son la solución más apropiada, por sus malos
resultados [49]. Una forma más natural de representar el espacio de
búsqueda del problema es mediante números enteros. Así, se asigna a
cada rectángulo a colocar, un número entero, y el individuo se forma con
106
una cadena de números (cadena de rectángulos). El orden en que
aparecen los números en la cadena representa sus posiciones en el
almacén.
El programa en Matlab® que genera la población inicial se muestra a
continuación:
function r = pobltesisdoctorado(lam) m = zeros(lam,20); imin=1; imax=20; K=20; for i=1:lam n = 0; %contador de # aleatorios m = imin-1; while (n < K) a = randi([imin,imax],1); if ((a == m) == 0) m = [m, a]; n = n+1; end end m = m(:,2:end); r(i,:)= m; end
Y un ejemplo de la población inicial que genera la ejecución del programa
se muestra a continuación:
Tabla 3.20 Ejemplo de población inicial del Algoritmo Genético.
2 20 5 13 11 15 6 3 7 19 9 1 4 10 18 17 8 12 16 14
3 4 11 13 8 17 15 12 5 7 2 1 18 14 6 20 9 16 19 10
3 5 4 14 7 16 11 1 12 20 8 19 6 17 18 10 15 2 13 9
9 18 2 7 4 5 15 6 3 17 8 14 19 13 20 10 1 16 11 12
20 7 4 9 12 1 18 10 5 15 14 16 3 19 6 2 11 13 17 8
11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
19 16 3 5 11 2 10 20 14 18 6 4 1 8 9 13 15 7 12 17
3 12 11 10 20 4 13 1 17 8 9 2 18 5 14 15 7 19 6 16
1 3 17 14 10 8 5 15 11 18 20 2 13 19 16 12 4 9 6 7
6 15 19 12 8 10 11 13 1 17 14 5 16 18 3 9 2 4 7 20
Se tienen 20 clústeres de dimensiones variantes dependiendo de su
volumen de ventas, para acomodar en los distintos anaqueles que forman
107
los pasillos del almacén. Estos clústeres están numerados del 1 al 20.
Cada renglón de la tabla 3.20 representa un individuo que se medirá en
su grado de adaptabilidad para analizar si podrá pasar a las siguientes
etapas del AG. Un individuo numerado (1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 15,
16, 17, 4, 12, 13, 14, 18, 19,20) podría ser una solución al problema.
Esto quiere decir que el clúster 1 es el primero en colocarse cerca de la
región de despacho, seguido del 2, 3, 5, 6 y todos los demás clústeres.
Una vez conocida la secuencia de colocación de los clústeres en los
distintos anaqueles es necesario determinar cuántos de ellos pueden ser
agrupados por su volumen de ventas como de alta rotación (zona
identificada con la letra A en la figura 3.26), de mediana rotación (zona B
en la figura 3.26) y de baja rotación (zona C en la figura 3.26). Esta
clasificación servirá para crear la función objetivo del algoritmo genético,
que será evaluada en base a la distancia que se recorrería al surtir pedidos
considerándose el volumen de ventas y la posición del clúster.
Figura 3.26 Codificación de las zonas para artículos de acuerdo a su volumen de
ventas.
108
La función objetivo del AG funciona como una analogía del
comportamiento natural donde los individuos compiten entre sí en la
búsqueda de recursos tales como comida, agua y refugio. Se trabaja con
una población de individuos (ver tabla 3.20), cada uno de los cuales
representa una solución factible al problema tratado. A cada individuo se
le asigna un valor o puntuación relacionado con la bondad de dicha
solución. Este valor se calcula considerando las distancias recorridas hasta
donde esté ubicado el clúster, así como la frecuencia con la que se acuda
al mismo a surtir alguna pieza. La siguiente matriz considera las distancias
desde del depósito de entrega a cada uno de los clústeres y viceversa
C =
[6.3;7;7.3;8.5;9.5;10.1;10.5;10.5;10.9;12.5;13.4;13.8;14.2;14.6;17;20;22.
1;26.3;26.6;27.8]
Es decir, el primer clúster en promedio usa 6.3 metros de recorrido para
surtir piezas de él, y así sucesivamente. La matriz que se muestra a
continuación representa las veces en promedio mensual que se acude a
cada clúster (numerado del 1 al 20) a surtir piezas del mismo
A = [400; 100; 900; 567; 8907; 324; 78; 908; 123; 56; 789; 3078; 4532;
4567; 50; 122; 222; 456; 987; 45;];
De esta forma, y considerando la población de individuos (ver tabla 3.20),
las distancias de surtido (ver matriz C) y frecuencia de surtido (ver matriz
A), se obtiene un indicador de adaptación de cada uno de los individuos,
usándose el siguiente programa:
function aux = f_obj1tesisdoctorado(B) % función objetivo
A = [400; 100; 900; 567; 8907; 324; 78; 908; 123; 56; 789; 3078; 4532;
4567; 50; 122; 222; 456; 987; 45;]; C =
[6.3;7;7.3;8.5;9.5;10.1;10.5;10.5;10.9;12.5;13.4;13.8;14.2;14.6;17;20;22.
1;26.3;26.6;27.8]; aux = 0; for i = 1:20 aux = aux +(A(B(i),1)*C((i),1)); end
109
El resultado arrojado por el anterior código es la distancia recorrida en
metros mensualmente si colocáramos los clústeres en el orden propuesto
representado por cada uno de los individuos de la población inicial.
Siguiendo con el ejemplo y considerando los 10 individuos de la tabla
3.20, el resultado es:
Tabla 3.21 Evaluación del grado de adaptación de la población inicial.
Número de
Individuo
Distancia recorrida
en metros
Probabilidad
de adaptación
Probabilidad
Acumulada
1 397983.5 0.1111 0.1111
2 315853.5 0.0881 0.1992
3 329755.4 0.0920 0.2913
4 393082.9 0.1097 0.4011
5 407738.1 0.1138 0.5149
6 327995.8 0.0915 0.6065
7 369434.7 0.1031 0.7096
8 363038.2 0.1013 0.8110
9 338245.5 0.0944 0.9054
10 338668.7 0.0945 1
Después se calcula un valor de probabilidad de adaptación para cada
individuo y un valor de frecuencia acumulativa, con el fin de hacer una
posterior selección. Dichos valores también están contenidos en la tabla
3.21, y se generan con el siguiente código:
function [pa,pb] = porcent_adaptesisdoctorado(B) % función que calcula el valor de probabilidad de adaptación de un valor
y % la frecuencia acumulativa para poder después seleccionarlos
[n,m] = size(B);
110
aux = 0; pa = zeros(n,2); pb = zeros(n,1); for i = 1:n % cálculo de la probabilidad para cada vector aux = aux + f_obj1tesisdoctorado(B(i,:)); end aux2 = 0; for i = 1:n % cálculo de la frecuencia acumulativa pa(i,:) = [f_obj1tesisdoctorado(B(i,:))
f_obj1tesisdoctorado(B(i,:))/aux]; aux2 = aux2+pa(i,2); pb(i) = aux2; end
Para hacer la selección se genera una cadena de números aleatorios entre
0 y 1, y dependiendo del intervalo en el cual esté contenido con respecto
a la probabilidad acumulada entonces se seleccionará el correspondiente
individuo. Este método de selección del individuo más apto se conoce
como la ruleta de Goldberg [50].
Ejemplo con un primer aleatorio: 0.5272. Dicho número está contenido
en el intervalo entre 0.5149 a 0.6065 (ver tabla 3.21), por lo tanto el
individuo seleccionado es el 6, es decir:
11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
Ya la selección completa, incluyendo el ejemplo anterior, se muestra en
la tabla 3.22.
Tabla 3.22 Selección de padres.
Aleat
orio
Individuo seleccionado como padre
0.5272 11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
0.8359 1 3 17 14 10 8 5 15 11 18 20 2 13 19 16 12 4 9 6 7
0.9206 6 15 19 12 8 10 11 13 1 17 14 5 16 18 3 9 2 4 7 20
0.1467 3 4 11 13 8 17 15 12 5 7 2 1 18 14 6 20 9 16 19 10
0.5811 11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
111
0.5170 11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
0.4330 20 7 4 9 12 1 18 10 5 15 14 16 3 19 6 2 11 13 17 8
0.2014 3 5 4 14 7 16 11 1 12 20 8 19 6 17 18 10 15 2 13 9
0.3091 9 18 2 7 4 5 15 6 3 17 8 14 19 13 20 10 1 16 11 12
0.9754 6 15 19 12 8 10 11 13 1 17 14 5 16 18 3 9 2 4 7 20
La anterior tabla se obtiene con el siguiente programa:
function np = selec_partesisdoctorado(B,sp) % función que selecciona a los padres a partir de una población inicial % sp: es la tabla de la frecuencia acumulada % np: es la nueva población, puede haber repeticiones en los vectores no % así en los elementos de los vectores
[n,m] = size(B); sp(n+1) = 0; sp = circshift(sp,1); % corrimiento hacia abajo np = zeros(n,m); for i = 1:n a = rand; for j = 1:n if a >= sp(j) && a < sp(j+1) np(i,:) = B(j,:); end end end
Una vez realizada la selección se procede a realizar el cruce de los
individuos. De acuerdo con los trabajos publicados para la resolución del
problema del agente viajero mediante la utilización de AG con codificación
decimal, se decidió implementar un tipo de cruce cuyos resultados en el
campo combinatorio son ampliamente conocidos y que se conoce como
partial matching crossover. Este tipo de cruce está basado en las
investigaciones de Goldberg y Lingle [51]. En este cruce, dados dos
cromosomas padres, el operador copia una subcadena de uno de los
padres directamente a las mismas posiciones en el hijo. Las posiciones
restantes se llenan con los valores que aún no han sido utilizados en el
mismo orden que se encuentran en uno de los padres.
Considerando los datos de los padres (ver tabla 3.22) se aplica el
112
algoritmo que realiza el cruce de los padres a través de la técnica de la
ruleta. Se aplica una probabilidad de cruce, si el valor de un número
aleatorio es menor a la probabilidad de cruce, entonces los padres no se
cruzarán.
Se usó el siguiente programa:
function B = crucetesisdoctorado(B,Pc) % algoritmo que realiza el cruce de los padres a través de la técnica de
la % ruleta % Pc: es la probabilidad de cruce; si es menor el número aleatorio a Pc
hay % cruce entre padres
[n,m] = size(B);
for i = 1:2:n a = rand; if a < Pc l =round((m-1)*rand); if l == 0, l = 1; end aux = B(i,m-l+1:end); B(i,:) = [B(i,1:m-l),B(i+1,m-l+1:end)]; B(i+1,:) = [B(i+1,1:m-l),aux]; end end % una vez que se ha dado el cruce se debe verificar que los hijos cumplan
% con la condición de que no debe haber elementos repetidos, por ello, la % función de compensar for i = 1:n B(i,:) = compensartesisdoctorado(B(i,:)); end
El resultado del cruce se muestra a continuación:
Tabla 3.23 Realización del cruce de los padres.
11 14 12 16 7 8 5 15 11 18 20 2 13 19 16 12 4 9 6 7
1 3 17 14 10 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
6 15 19 12 8 10 11 13 1 17 14 5 16 18 3 9 2 4 7 20
3 4 11 13 8 17 15 12 5 7 2 1 18 14 6 20 9 16 19 10
11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
20 7 4 9 12 16 11 1 12 20 8 19 6 17 18 10 15 2 13 9
3 5 4 14 7 1 18 10 5 15 14 16 3 19 6 2 11 13 17 8
9 18 2 7 4 5 15 6 3 17 8 14 19 13 20 10 1 16 11 12
6 15 19 12 8 10 11 13 1 17 14 5 16 18 3 9 2 4 7 20
113
Las cadenas de números contenidas en rectángulos en la tabla 3.23
representan un cruce y por consiguiente nuevos individuos. Todas las
demás cadenas de valores no cambiaron porque el aleatorio generado en
su momento fue menor a la probabilidad de cruce.
Como puede observarse en la tabla 3.23, la realización del cruce genera
individuos que no pueden ser considerados para las siguientes fases del
algoritmo genético ya que el cruce genera individuos con números que se
repiten en la cadena. Por ejemplo, en el primer individuo (primer renglón
de la tabla 3.23), se repiten los números 7, 11, 12 y 16. Para solucionar
esta situación se usó una función que pudiese reacomodar la cadena
donde los elementos repetidos se eliminan y se sustituyen por los
faltantes. Dicha función está programada en el siguiente código de
Matlab:
function B = compensartesisdoctorado(B) % función que reacomoda la cadena donde los elementos repetidos se
eliminan % y se sustituyen por los faltantes
n = length(B);
aux = zeros(1,20); % verifica que elementos se repiten y cuales faltan for i = 1:1 for j = 1:n if B(j) == i aux(i) = aux(i)+1; end end end % realiza los cambios de los elementos repetidos por los faltantes
for i = 1:n if aux(B(i)) > 1 for j = 1:n if aux(j)== 0 for k = i+1:n if B(k)== B(i) B(k) = j; aux(B(i)) = aux(B(i))-1; aux(j) = aux(j)+1;
end end end end end
114
end
Como resultado de la aplicación de esta función, los individuos que fueron
sujetos a cruce se reordenan y la matriz de individuos queda así:
Tabla 3.24 Corrección de los individuos por duplicidad de valores en la cadena de los
individuos.
11 14 12 16 7 8 5 15 1 18 20 2 13 19 10 3 4 9 6 17
1 3 17 14 10 12 7 11 9 13 19 6 8 5 2 15 20 4 18 16
6 15 19 12 8 10 11 13 1 17 14 5 16 18 3 9 2 4 7 20
3 4 11 13 8 17 15 12 5 7 2 1 18 14 6 20 9 16 19 10
11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
20 7 4 9 12 16 11 1 14 3 8 19 6 17 18 10 15 2 13 5
3 5 4 14 7 1 18 10 12 15 20 16 9 19 6 2 11 13 17 8
9 18 2 7 4 5 15 6 3 17 8 14 19 13 20 10 1 16 11 12
6 15 19 12 8 10 11 13 1 17 14 5 16 18 3 9 2 4 7 20
Véase como en las cadenas que tenían números repetidos estos son
sustituidos por los números faltantes. Por ejemplo, en el primer individuo
(primer renglón de la tabla 3.24) los números repetidos (7, 11, 12 y 16)
se sustituyen por los faltantes, es decir, 1, 3, 10 y 17.
En relación a la siguiente fase de aplicación del AG, llamada mutación, la
técnica específica utilizada en los experimentos fue la llamada Order-
based Mutation, que está basada en los trabajos de Davis de 1991 [52] y
que consiste en permutar entre si las posiciones de dos clústeres de un
mismo individuo. El procedimiento consiste en generar un número
aleatorio y si es menor a un valor determinado de mutación (en el caso
de esta tesis se manejó la probabilidad de 0.10 ya que se recomienda que
la probabilidad sea pequeña) entonces habrá mutación en el hijo. La
mutación consiste pues en intercambiar dos elementos de posición, como
sucede en los individuos 1 y 10, que se muestran en la siguiente tabla:
115
Tabla 3.25 Realización de la mutación.
11 14 12 3 7 8 5 15 1 18 20 2 13 19 10 16 4 9 6 17
1 3 17 14 10 12 7 11 9 13 19 6 8 5 2 15 20 4 18 16
6 15 19 12 8 10 11 13 1 17 14 5 16 18 3 9 2 4 7 20
3 4 11 13 8 17 15 12 5 7 2 1 18 14 6 20 9 16 19 10
11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
20 7 4 9 12 16 11 1 14 3 8 19 6 17 18 10 15 2 13 5
3 5 4 14 7 1 18 10 12 15 20 16 9 19 6 2 11 13 17 8
9 18 2 7 4 5 15 6 3 17 8 14 19 13 20 10 1 16 11 12
6 15 19 12 3 10 11 13 1 17 14 5 16 18 8 9 2 4 7 20
Nótese que en el primer individuo (primer renglón de la tabla 3.25) hay
una mutación en él, ya que los números 3 y 16 cambian de posición entre
ellos. Lo mismo sucede con el décimo individuo (décimo renglón de la
tabla 3.25) ya que los números 3 y 8 también cambian de posición, dando
lugar en ambos casos a individuos distintos.
Tabla 3.26 Población extendida.
11 14 12 16 7 8 5 15 1 18 20 2 13 19 10 3 4 9 6 17
1 3 17 14 10 12 7 11 9 13 19 6 8 5 2 15 20 4 18 16
6 15 19 12 8 10 11 13 1 17 14 5 16 18 3 9 2 4 7 20
3 4 11 13 8 17 15 12 5 7 2 1 18 14 6 20 9 16 19 10
11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
20 7 4 9 12 16 11 1 14 3 8 19 6 17 18 10 15 2 13 5
3 5 4 14 7 1 18 10 12 15 20 16 9 19 6 2 11 13 17 8
9 18 2 7 4 5 15 6 3 17 8 14 19 13 20 10 1 16 11 12
6 15 19 12 8 10 11 13 1 17 14 5 16 18 3 9 2 4 7 20
11 14 12 3 7 8 5 15 1 18 20 2 13 19 10 16 4 9 6 17
1 3 17 14 10 12 7 11 9 13 19 6 8 5 2 15 20 4 18 16
6 15 19 12 8 10 11 13 1 17 14 5 16 18 3 9 2 4 7 20
3 4 11 13 8 17 15 12 5 7 2 1 18 14 6 20 9 16 19 10
11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
11 14 12 16 7 17 1 3 9 13 19 6 8 5 2 15 20 4 18 10
20 7 4 9 12 16 11 1 14 3 8 19 6 17 18 10 15 2 13 5
3 5 4 14 7 1 18 10 12 15 20 16 9 19 6 2 11 13 17 8
9 18 2 7 4 5 15 6 3 17 8 14 19 13 20 10 1 16 11 12
6 15 19 12 3 10 11 13 1 17 14 5 16 18 8 9 2 4 7 20
116
Después, los resultados de estos dos últimos pasos del algoritmo genético
(cruce y mutación) se juntan para generar una nueva población, que en
este trabajo le llamaremos “población extendida”, quedando como en la
tabla 3.26.
La distancia recorrida en metros mensualmente si colocáramos los
clústeres en el orden propuesto representado por cada uno de los
individuos de la población extendida dan como resultado la siguiente
tabla:
Tabla 3.27 Evaluación del grado de adaptación de la población extendida.
Número de
Individuo
Distancia recorrida
en metros
Probabilidad
de adaptación
Probabilidad
Acumulada
1 304721.6 0.0428 0.0428
2 342734.7 0.0481 0.0909
3 338668.7 0.0475 0.1385
4 315853.5 0.0443 0.1829
5 327995.8 0.0460 0.229
6 327995.8 0.0460 0.275
7 524404.7 0.0736 0.3487
8 349037.3 0.0490 0.3978
9 393082.9 0.0552 0.453
10 338668.7 0.0475 0.5006
11 295774.6 0.0415 0.5421
12 342734.7 0.0481 0.5903
13 338668.7 0.0475 0.6379
14 315853.5 0.0443 0.6822
15 327995.8 0.0460 0.7283
117
16 327995.8 0.0460 0.7744
17 524404.7 0.0736 0.8481
18 349037.3 0.0490 0.8971
19 393082.9 0.0552 0.9524
20 338728.7 0.0475 1
También se calcula un valor de probabilidad de adaptación para cada
individuo y un valor de frecuencia acumulativa. Dichos valores también
están contenidos en la tabla 3.27.
Una fase posterior reordena la población en función de su adaptación,
quedando como sigue:
Tabla 3.28 Población extendida ya ordenada en función de su adaptación.
Por último, se hace una reducción de la población extendida, quedándose
solo los primeros 10 individuos (los más adaptados), obteniéndose la
siguiente tabla:
No. Individuo
11 295774.6 0.0415 20 19 14 2 19 19 8 20 8 14 20 19 14 2 19 19 8 20 8 14
1 304721.6 0.0428 11 1 6 3 11 11 20 3 9 6 11 1 6 3 11 11 20 3 9 6
4 315853.5 0.0444 16 14 12 13 16 16 9 14 7 12 3 14 12 13 16 16 9 14 7 12
14 315853.5 0.0444 19 5 18 14 5 5 17 19 13 18 19 5 18 14 5 5 17 19 13 18
5 327995.8 0.0461 7 10 8 8 7 7 12 7 4 8 7 10 8 8 7 7 12 7 4 3
6 327995.8 0.0461 8 12 10 17 17 17 16 1 5 10 8 12 10 17 17 17 16 1 5 10
15 327995.8 0.0461 10 2 3 6 2 2 18 6 20 3 10 2 3 6 2 2 18 6 20 8
16 327995.8 0.0461 3 15 9 20 15 15 10 2 10 9 16 15 9 20 15 15 10 2 10 9
3 338668.7 0.0476 12 17 19 11 12 12 4 4 2 19 12 17 19 11 12 12 4 4 2 19
10 338668.7 0.0476 18 13 17 7 13 13 3 15 17 17 18 13 17 7 13 13 3 15 17 17
13 338668.7 0.0476 13 8 16 18 8 8 6 9 19 16 13 8 16 18 8 8 6 9 19 16
20 338728.7 0.0476 17 16 20 10 10 10 5 8 12 20 17 16 20 10 10 10 5 8 12 20
2 342734.7 0.0482 14 3 15 4 14 14 7 5 18 15 14 3 15 4 14 14 7 5 18 15
12 342734.7 0.0482 2 6 5 1 6 6 19 16 14 5 2 6 5 1 6 6 19 16 14 5
8 349037.3 0.0490 15 11 13 12 3 3 1 10 6 13 15 11 13 12 3 3 1 10 6 13
18 349037.3 0.0490 9 4 4 16 4 4 2 13 16 4 9 4 4 16 4 4 2 13 16 4
9 393082.9 0.0552 1 9 1 5 9 9 14 12 3 1 1 9 1 5 9 9 14 12 3 1
19 393082.9 0.0552 6 18 7 19 18 18 13 17 11 7 6 18 7 19 18 18 13 17 11 7
7 524404.7 0.0737 5 7 11 15 1 1 11 18 15 11 5 7 11 15 1 1 11 18 15 11
17 524404.7 0.0737 4 20 2 9 20 20 15 11 1 2 4 20 2 9 20 20 15 11 1 2
118
Tabla 3.29 Reducción de la población extendida.
20 19 14 2 19 19 8 20 8 14 20 19 14 2 19 19 8 20 8 14
11 1 6 3 11 11 20 3 9 6 11 1 6 3 11 11 20 3 9 6
16 14 12 13 16 16 9 14 7 12 3 14 12 13 16 16 9 14 7 12
19 5 18 14 5 5 17 19 13 18 19 5 18 14 5 5 17 19 13 18
7 10 8 8 7 7 12 7 4 8 7 10 8 8 7 7 12 7 4 3
8 12 10 17 17 17 16 1 5 10 8 12 10 17 17 17 16 1 5 10
10 2 3 6 2 2 18 6 20 3 10 2 3 6 2 2 18 6 20 8
3 15 9 20 15 15 10 2 10 9 16 15 9 20 15 15 10 2 10 9
12 17 19 11 12 12 4 4 2 19 12 17 19 11 12 12 4 4 2 19
18 13 17 7 13 13 3 15 17 17 18 13 17 7 13 13 3 15 17 17
El último paso de la aplicación del algoritmo genético consiste en propagar
en sucesivas generaciones los genes de los individuos mejor adaptados
para encontrar soluciones más ventajosas refiriéndose esto último a
acomodo de clústeres que arrojen una menor distancia de recorrido.
Aplicando el programa concentrador de las funciones que resuelven cada
una de las fases del algoritmo genético y verificando la evolución de la
población en base a las generaciones se obtiene la siguiente gráfica:
Figura 3.27 Comparativo del número de generaciones para la evolución en el algoritmo
genético.
119
El programa concentrador de las funciones del algoritmo genético es el
siguiente:
Pi = pobltesisdoctorado(10); % población inicial de 10
individuos, l = 20 (longitud del vector); Población inicial = 10 for i = 1:11 [p,sp] = porcent_adaptesisdoctorado(Pi); % porcentaje de adaptación y
frecuencia acumulativa n_p = selec_partesisdoctorado(Pi,sp); % n_p = selección de los padres
a partir de la población inicial Pc = 0.90; % es la probabilidad de cruce p_c = crucetesisdoctorado(n_p,Pc); % p_c = generación de los hijos
mediante el cruce de los padres p_m = mutaciontesisdoctorado(p_c); % p_m = mutación de alguno de
los hijos ext_po = [n_p;p_m]; % extensión de la población: se unen padres e
hijos para definir una nueva población [nv_pob, nv_sp] = porcent_adaptesisdoctorado(ext_po); % porcentaje de
adaptación y frecuencia acumulativa orden = [nv_pob ext_po]; % vector que guarda a la población y su
porcentaje de adaptación respectivo
nv_pob_p = burbujatesisdoctorado(orden); % orden de la población en
función de su adaptación; de menor a mayor Pi = nv_pob_p(1:10,3:end); % reducción de la población extendida end
Y el individuo mejor adaptado después de 11 generaciones fue el
siguiente:
7 8 18 11 1 3 17 18 2 15 16 4 3 15 20 11 2 18 4 20
con una distancia total de recorrido con este acomodo de clústeres de
108657.1 metros mensuales.
120
CAPITULO IV.- Análisis de Resultados
4.1 Resultados obtenidos con el acopamiento de simulación y
redes neuronales artificiales
En el anexo 7 pueden observarse las épocas utilizadas para el
entrenamiento de cada RNA obtenidas con el toolbox de Matlab ®. Un
fragmento de los resultados del entrenamiento de la RNA 1 se muestra
en la tabla 4.1.; el renglón identificado con el título de red refleja la salida
arrojada por la RNA y el renglón de asignación refleja la salida deseada
(de acuerdo al testigo).
Tabla 4.1 Muestra de resultados arrojadas con la RNA 1 entrenada.
Familia Ruta Mono o
multiproducto
Ventas Asignación
deseada por el testigo
Salida
arrojada por la red
4 4 1 1 4 4
3 4 0 4 4 4
7 5 1 4 3 3
7 6 1 3 2 2
2 6 1 2 2 2
6 2 0 1 6 6
6 3 0 1 5 5
La figura 4.1 muestra la comparación de valores obtenidos en el
entrenamiento, validación y prueba de desempeño de RNA 1. El
rendimiento se mide usando el error cuadrático medio, que se consigue
en la época 209, sin caer en el sobre entrenamiento de la red (ver figura
3.22). En el anexo 4 se muestran los comparativos del entrenamiento,
validación u prueba para las demás RNA´s. En el anexo 5 se muestra el
desempeño del entrenamiento para las RNA 2 a la 9. En el anexo 6 se
pueden consultar los valores de los pesos sinápticos y umbrales
generados por el entrenamiento para todas las RNA de este estudio.
121
Figura 4.1 Gráficas de entrenamiento, validación y prueba para la RNA 1.
Una vez que un artículo se asigna a un pasillo, la red neuronal que lo
colocará en un clúster requiere de las mismas variables predictoras que
las utilizadas para asignar a dicho artículo a un pasillo, solo que el testigo
para esta segunda red neuronal será el número de clúster. Un fragmento
de los resultados del entrenamiento de la RNA 5 que asigna la mercancía
a clústeres existente en el pasillo 4 se muestra en la tabla 4.2.; el renglón
identificado con el título de red refleja la salida arrojada por la RNA y el
renglón de asignación refleja la salida deseada (de acuerdo al testigo).
Tabla 4.2 Muestra de resultados arrojadas con la RNA 5 entrenada.
Familia Ruta Mono o multiproducto
Ventas Asignación deseada por
el testigo
Salida arrojada por
la red
7 1 0 5 11 11.0018
7 1 0 6 13 13.0086
122
Con fines ilustrativos en el anexo 4 se muestran los coeficientes de
correlación para el entrenamiento, la validación y prueba para las RNA 2
a la 9. Los valores cercanos a 1 muestran la paridad existente entre los
valores objetivos representados por el testigo y los valores obtenidos por
la red.
Nótese en la tabla 4.1 y 4.2 que los resultados producidos por el
simulador y por la RNA son prácticamente iguales. Lo anterior significa
que la red ha aprendido el comportamiento del sistema y entonces puede
ser usada con confiabilidad para el proceso de asignación de mercancía
al almacén, de la misma manera en como lo haría un experto.
4.2 Resultados obtenidos con la aplicación de algoritmos
genéticos para la optimización de la configuración de la
asignación hecha por las redes neuronales.
Ahora se describen los resultados más relevantes obtenidos por
acoplamiento de la metaheuristica algoritmos genéticos con las redes
neuronales artificiales. Todos los ensayos se realizaron en una PC a 2.13
GHz, a 3 GB de RAM, i3® núcleo intel, Windows 7®, MATLAB® versión
2011. Para establecer la idoneidad de los resultados obtenidos se diseñó
un banco con 5 diferentes escenarios para cada variable. Para la
experimentación se consideró el número real de clústeres (20), su
longitud y la estructura física del almacén. Se seleccionó una codificación
particular (cruce y mutación) y el algoritmo genético se aplicó en MATLAB
para encontrar una mejor adaptación de la distancia de surtido. Debido
a la naturaleza aleatoria de los algoritmos genéticos se decidió repetir el
experimento 10 veces y el resultado se tomó del promedio de los valores
obtenidos. Los parámetros usados en los experimentos se mencionan en
el punto 3.4 de este documento. La configuración de clústeres que
resultaron en mayor distancia de surtido fue remplazada debido a que
123
reflejan a individuos menos adaptados.
La figura 4.2 representa el comportamiento de la variable número de
clientes en la fila, tanto en la fila principal como en la fila de la aduana.
Las líneas en color azul representan el comportamiento con la aplicación
de la optimización aplicando los algoritmos genéticos. Nótese que existe
una diferencia importante al compararla contra la línea que representa el
comportamiento de las variables sin la aplicación de los AG. La figura 4.3
representa el mismo comportamiento, pero con otra variable de interés
la cual es el tiempo de espera en segundos.
Figura 4.2 Gráficas del comportamiento del número de clientes con y sin AG.
Figura 4.3 Gráficas del comportamiento del tiempo de espera con y sin AG.
124
Capitulo V.- Conclusiones
5.1 Descripción de las aportaciones
Primera aportación: se ha realizado una revisión exhaustiva de las
técnicas usadas para el diseño de políticas de asignación de mercancías
en almacenes. Es importante señalar que se ha encontrado una gran
variedad de aplicaciones de dichas técnicas, pero la gran mayoría de
manera individual. Se ha detectado el uso algoritmos genéticos para el
entrenamiento de redes neuronales [53], sin embargo no existen
publicaciones que apliquen el acoplamiento de simulación – redes
neuronales – algoritmos genéticos a la optimización de la ubicación de
mercancía en sistemas de venta al menudeo. Este es un enfoque
innovador porque subsana el enfoque de “información intensiva”
requerido por los métodos de asignación basados en el volumen de ventas
[6]. Además, en casos como se ha descrito en este estudio, las pequeñas
empresas de venta al menudeo no generan bases de datos útiles para
aplicar técnicas de minería para obtener información útil que les ayude a
lograr un éxito competitivo [8]. La tercia de técnicas – metaheurísticas
propuestas en este trabajo propone usar un modelo de simulación que
genere la información requerida para la adecuada asignación de
mercancía al almacén, las redes neuronales aprenden la conducta de esa
base de datos y conforme a ese aprendizaje realizan la asignación de
acuerdo al comportamiento de las variables de familia, ruta, mono/multi
producto y ventas. Por último los algoritmos genéticos realizan la
optimización de esa asignación manteniendo un comportamiento
dinámico en concordancia con la demanda de los productos.
125
Segunda aportación: Se estudiaron las ventajas y desventajas de cada
una de las políticas de almacenamiento propuestas en la literatura.
Derivado de ese estudio esta tesis propone una política híbrida de
asignación de mercancía al almacén que optimiza un sistema de surtido
de pedidos a través de un acomodo de productos que responde al
comportamiento de la familia de pertenencia, ruta, mono o multiproducto
y ventas. El adjetivo híbrido se debe a que esta política obtiene lo mejor
de cada una de las políticas existentes y deshecha las desventajas de las
mismas. Para argumentar lo anterior tenemos lo siguiente:
- La política propuesta no necesita un ambiente controlado por
computadora, como se requiere en el almacenamiento aleatorio. Una vez
realizado el modelo, las redes neuronales entrenadas y realizada la
optimización de los clústeres por medio de los algoritmos genéticos ya no
será necesaria la computadora, porque las ubicaciones ya estarán
completamente definidas. Solo será necesario, en periodos definidos por
la propia empresa, realizar ajustes para adecuar el sistema al
comportamiento de la demanda.
- La política propuesta en este documento realiza el acomodo de
mercancía en clústeres que son evaluados en su posición relativa unos
respectos a otros. Esto hace que la ubicación de los clústeres en los
anaqueles sea uno al lado de otro hasta completar la longitud del anaquel
o bien hasta donde su posición sea al menos tan óptima que colocarlo en
otro anaquel. Como resultado de esto tenemos un aprovechamiento del
espacio similar al que se logra con la política de almacenamiento a la
primera ubicación disponible y con la política de almacenamiento en base
a la rotación de ventas. Sin embargo, colocar los productos en clústeres
elimina las ubicaciones duplicadas y proporciona lógica al acomodo en el
almacén porque la ubicación de los clústeres responde a una optimización
en base a la demanda. Lo anterior proporciona la ventaja de que los
126
surtidores se familiarizan con la localización de los productos, igual como
pasa en la política de almacenamiento fijo.
- La política propuesta asigna ubicaciones a productos gracias a las
variables familia de pertenencia, ruta, mono o multiproducto y ventas;
cuando un artículo debe ser asignado a una ubicación específica debido a
sus características físicas o sus propiedades, por ejemplo: su peso,
requerimiento de refrigeración, peligrosidad, entonces la combinación del
conjunto de variables arriba mencionadas arroja la ubicación más idónea
de ese producto de acuerdo a las características específicas. Lo anterior
se realiza aún y cuando aumente o disminuya el volumen de ventas del
producto, pertenezca a otra familia de productos o se venda junto con
otros productos; todo eso no importa ya que la variable relevante será el
requerimiento de ubicarlo en un lugar específico.
127
5.2 Conclusiones
Los resultados obtenidos en esta investigación indican que un sistema
neuronal artificial con una estructura definida (número de neuronas por
capa, número de capas) puede ser entrenado para realizar una asignación
a una categoría de pertenencia de un determinado artículo a una zona de
un almacén, tal y como lo haría un experto. También se muestra que el
reconocimiento de patrones puede ser aplicado como una técnica para
implantar un sistema de asignación inteligente de mercancías en los
almacenes de venta al menudeo.
Otras inferencias que se pueden mencionar en base a los resultados
obtenidos son:
El reconocimiento de las variables predictoras (de entrada) que
permiten identificar a cierto artículo como miembro de una clase
predefinida (en el caso concreto de esta investigación: un clúster),
es fundamental. Escoger otras variables, omitir algunas o
considerar de más podría arrojar asignaciones que no correspondan
a la dinámica real del sistema, y por lo tanto, afectar el desempeño
global.
El reconocimiento de patrones a través de redes neuronales
artificiales proporciona un método alternativo para asignar
mercancía a ubicaciones de manera inteligente. Esta propuesta se
adapta convenientemente al comportamiento dinámico que se vive
en la realidad en sistemas de venta al menudeo, donde una
ubicación puede dejar de ser conveniente con el paso del tiempo y
otra más puede requerir su cambio debido a que está mostrando un
alto volumen de ventas.
128
Esta propuesta genera un abanico importante de aplicaciones, tal
como la posibilidad de realizar la automatización de áreas de
recepción de mercancías hasta la colocación de éstas en las
ubicaciones donde serán asignadas, almacenadas, manufacturadas,
etc. Incluso puede ser considerada como una forma alternativa de
configurar vehículos autodirigidos.
El acoplamiento de algoritmos genéticos (AG) para la evaluación
física de ubicaciones en un almacén convierte la asignación estática
que realizan las redes neuronales artificiales a un sistema dinámico.
Esto hace que a intervalos de tiempo bien estudiados y definidos
por los usuarios haya una forma de “sincronizar” las redes con una
función que minimizará los costos de manejo de materiales a través
de la reubicación de los clústeres de acuerdo al volumen de ventas
de las mercancías que lo forman
El uso de metaheuristicas para resolver problemas de ingeniería industrial
se está convirtiendo es una buena alternativa, sobre todo en algoritmos
que precisan el cumplimiento de supuestos que en muchas ocasiones son
difíciles de cumplir en la realidad (balanceo, indivisibilidad, asignación de
solo un agente a solo una tarea, etc.). En este trabajo se ha presentado
una metodología que proporciona soluciones pertinentes a un problema
típico de optimización combinatoria, el cual consiste en asignar una
ubicación a distintos artículos en un almacén. La función objetivo
contemplada en el modelo de simulación considera que esta asignación
debe garantizar el acceso rápido y eficiente a la mercancía por medio de
la disminución de la distancia de recorrido para surtido. La aplicación del
método propuesto a la empresa de venta de refacciones automotrices que
sirvió de base en este estudio es comparado con las políticas descritas en
la literatura (ver figura 5.1). El método utilizado fue usar distintos
129
escenarios de ventas y después obtener el total de metros recorridos para
surtir un pedido. Conviene aclarar que la aplicación de estas técnicas de
inteligencia artificial genera buenos resultados, entendiéndose a estos
como la distancia más pequeña de recorrido lograda entre la asignación
del artículo de acuerdo a su volumen de venta y el área de despacho o
entrega. No obstante no se obtiene el menor tiempo de recorrido ya que
éste se logra con la política llamada “primera ubicación disponible”. Sin
embargo cabe mencionar que esta última política presenta dos grandes
inconvenientes que a posteriori diluyen su ventaja. La primera de ellas es
que precisa un control muy detallado de la ubicación de cada uno de los
productos existente en el almacén. La ausencia de ese control deriva en
artículos que pueden llegar a extraviarse y ocasionar pérdidas económicas
a la empresa. Además, al no ser una política que considere directamente
el comportamiento de la demanda para asignar las ubicaciones ésta va
paulatinamente descompensando la optimización del tiempo de recorrido,
lo que a la postre obliga a hacer un reacomodo general en el almacén.
Este primer inconveniente se contrapone directamente con las acciones
de mejora mencionadas en esta tesis para la empresa sujeta a estudio las
cuales son: diseñar políticas de acomodo de mercancía coherentes con la
demanda y agrupar los productos por bloques o familias. El segundo
inconveniente es que al atender pedidos de surtido multi producto la
distancia de surtido aumenta debido a que los artículos no están
acomodados siguiendo un orden específico. Por tal situación el surtidor
puede cometer errores de trayecto y tener que corregir la ruta. También
puede suceder que la ruta que el surtidor elija no sea la óptima debido a
que cada pedido es distinto.
130
Figura 5.1 Eficiencia del método propuesto ante la presencia de distintos escenarios de
ventas.
5.3 Comprobación de hipótesis
Con el objeto de comprobar la hipótesis establecida en la presente
investigación se empleó una prueba de hipótesis, con el fin de comparar
la dos políticas, es decir, la existente actualmente y la propuesta por esta
investigación.
Se consideró primeramente los datos del tiempo de atención de clientes
a la llegada a la refaccionaria antes y después de la aplicación de la política
propuesta (ver figura 5.2).
0
500
1000
1500
2000
2500
3000
1 2 3 4 5 6 7 8 9 10
tota
l de
me
tro
s re
corr
ido
s
Número de corrida
Comparativo entre las distintas politicas de asignación de mercancía
Aleatorio
Primera disponible
Fija
en base a rotación
Propuesta de la tesis
131
Figura 5.2 Tiempo de atención de clientes a la llegada antes y después de la aplicación
de la política propuesta.
Se usó el teorema del límite central que estipula que si tomamos muestras
de una población que tenga cualquier tipo de distribución, entonces la
distribución de las medias tiende a la distribución normal. Entonces
tomando esos datos, haciendo grupos y sacando sus promedios se
generan los siguientes números:
Tabla 5.1 Promedios del tiempo de atención de clientes a la llegada antes y después de
la aplicación de la política propuesta (segundos).
Se verificó posteriormente la igualdad de las varianzas de estos datos
mediante la realización de una prueba de desviación estándar,
obteniéndose insuficiente evidencia para concluir que las desviaciones
estándar eran diferentes. Por último, de acuerdo a Gutiérrez y De la Vara
[10], la prueba estadística y el criterio de rechazo, cuando se suponen
varianzas iguales y se desea determinar si la media de una población
(promedios de atención de clientes a la llegada después de la aplicación
0.00
10.00
20.00
30.00
40.00
50.00
60.00
1 5 9
13
17
21
25
29
33
37
41
45
49
53
57
61
65
69
73
77
81
85
89
93
97
10
1
Segu
nd
os
Tiempo de atención de clientes a la llegada
Despues de la aplicación de la políticapropuesta
Antes de la aplicación de la políticapropuesta
Número de individuo
Promedios despues de la 10.8 19.2 19.6 10.6 23 8.4 7.8 10.8 14.6 8 10.332
política propuesta 14.71 19.058 12.534 11.622 6.81 7.346 8.798 7.618 4.574 9.2775
Promedios antes de la 27 26.6 26.6 19.8 39 28.2 33.2 18.2 22.2 30.6 33
política propuesta 19.6 28.4 33.8 18.2 9.6 32.6 40.4 47.6 25.6 15.25
132
de la política propuesta) es menor a otra (promedios de atención de
clientes a la llegada antes de la aplicación de la política propuesta), se
obtienen a través de las ecuaciones 3.1 y 3.2. Por último se comparan
contra un criterio de rechazo para la hipótesis de que µ1 < µ2 el cual es:
0 , 21 2
t tn n
(Ec. 5.1)
Obteniéndose un t0 de -6.98 y un , 2
1 2t
n n
de -1.68 por lo que se
concluye que los promedios tiempos de atención de clientes a la llegada
después de la aplicación de la política propuesta si es significativamente
menor que los promedios de esos mismos tiempos antes de la aplicación
de la política. Si se analiza en términos de porcentaje y considerando los
tiempos de la figura 5.2 se presenta una reducción de 57.43%, lo que se
comprueba al menos en esta variable lo mencionado en la hipótesis .
Ahora, considerando la variable “tiempo de espera en la aduana para
recibir la mercancía” se tomaron datos antes y después de la aplicación
de la política propuesta (ver figura 5.3).
Figura 5.3 Tiempo de espera para recibir la mercancía antes y después de la aplicación
de la política propuesta.
0
100
200
300
400
500
600
700
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
Segu
nd
os
Tiempo de espera en la aduana para recibir mercancía
Despues de la aplicación de lapolítica propuesta
Antes de la aplicación de lapolítica propuesta
Número de individuo
133
Usándose también el teorema del límite central para asegurar la
normalidad de los datos se generan los siguientes números:
Tabla 5.2 Promedios del tiempo de espera en la aduana para recibir mercancía antes y
después de la aplicación de la política propuesta (segundos).
También se verificó la igualdad de varianzas, obteniéndose insuficiente
evidencia para concluir que estas eran diferentes. Por último, también se
buscó encontrar si la media de una población (promedios de tiempo de
espera en la aduana para recibir mercancía después de la aplicación de
la metodología propuesta) es menor a otra (promedios de tiempo de
espera en la aduana para recibir mercancía antes de la aplicación de la
metodología propuesta), es decir µ1 < µ2. Se obtuvo un estadístico de
prueba t0 de -17.68 y un , 2
1 2t
n n
de -1.68 por lo que se concluye
que los promedios de tiempos de espera en la aduana para recibir
mercancía después de la aplicación de la polít ica propuesta si es
significativamente menor que los promedios de esos mismos tiempos
después de la aplicación de la política. Si se analiza en términos de
porcentaje y considerando los tiempos de la figura 5.3 se presenta una
reducción de 74.40%, lo que se comprueba que también en esta variable
lo mencionado en la hipótesis.
Promedios despues de la 87.4 58 139 131.4 135 75.4 66 89 82.8 42.8 41.8
política propuesta 70 54.4 107.8 80.6 132 55.8 64.2 64.2 133.6
Promedios antes de la 338.6 323.2 410.6 300.8 211.4 389.4 357.2 267.8 382.6 367.2 369.4
política propuesta 356.6 284.8 302 360.6 285.2 400 395.2 267.4 315.6
134
Referencias Bibliográficas
[1] L. Hsieh y L. Tsai, «The optimum design of a warehouse system on order picking efficiency,» The International Journal of advanced manufacturing Techonlogy, vol. 28, nº 5-6, pp. 626-637, 2005.
[2] Tompkins J.A. y White J.A., Facilities planning, New Jersey: John Wiley & Sons, 2010.
[3] C. Malmborg, «Application of storage consolidation intervals to approximate random storage transactions times with closest open location load dispatching,» The Intenational Journal of Production Research, vol. 50, nº 24, pp. 7242-7255, 2012.
[4] R. De Koster, T. Le-Duc y K. Roodbergen, «Design and control of warehouse order picking: a literature review,» European Journal of Operational Research, vol. 182, nº 2, pp. 481-501, 2007.
[5] C. Glock y E. Grosse, «Storage policies and order picking strategies in U-shaped order-picking systems with a movable base,» The International Journal of Production Research, vol. 50, nº 16, pp. 4344-4357, 2012.
[6] F. Caron, G. Marchet y A. Perego, «Routing policies and COI-based storage policies in picker-to-part systems,» International Journal of Production Research, vol. 36, nº 3, pp. 713-732, 1998.
[7] R. De Koster, K. Roodbergen y R. Van Voorden, «Reduction of walking time in the distribution center of De Bijenkorf,» New trends in distribution logistics, M.G. Speranza and P. Stähly (eds.), Springer, pp. 215-234, 1999.
[8] R. Estrada, D. García y V. Sánchez, «Factores determinantes del éxito competitivo en la PYME: estudio empírico en México,» Revista Venezolana de Gerencia, vol. 14, nº 46, pp. 169-182, 2009.
[9] K. Roodbergen y R. De Koster, «Routing order pickers in a warehouse with a middle aisle,» European Journal of Operational Research, vol. 133, nº 1, pp. 32-43, 2001.
[10] H. Gutiérrez y R. De la Vara, Análisis y diseño de experimentos, México: Mc Graw Hill, 2008.
[11] M. Goetschalckx y J. Ashayeri, «Classification and design of order picking systems,» Logistics World, vol. 2, pp. 99-106, 1989.
[12] J. Bartholdi y S. Hackman, «Warehouse & distribution science,» Atlanta, 2014.
[13] R. Dekker, R. De Koster, K. Roodbergen y H. Van Kelleveen, «Improving order-picking response time at Ankor´s warehouse,» Interfaces, vol. 34, nº 4, pp. 303-313, 2004.
[14] S. Liao, C. Hsieh y Y. Lin, «A multi-objective evolutionary optimization approach for an integrated location-inventory distribution network problem under vendor-managed inventory systems,» Annals of operation research, vol. 186, nº 1, pp. 213-229, 2010.
[15] T. Vaughan y C. Petersen, «The effect of cross aisles on order picking efficiency,» The International Journal of Production Research, vol. 37, pp. 881-897, 1999.
[16] C. Petersen, «Considerations in order picking zone configurations,» International Journal of Operations & Production Management, vol. 27, nº 7, pp. 793-805, 2002.
[17] M. Albareda, A. Alonso, E. Molina y C. Simon, «Variable neighborhood search for order batching in a warehouse,» Asia - Pacific Journal of Operational Research , vol. 26, nº 5, pp. 655-683, 2009.
[18] E. Lawler, J. Lenstra, A. Rinnoy Kan y D. e. Shmoys, «The traveling salesman problem,»
135
Chichester: Wiley, 1985.
[19] N. Gademann y S. Van de Valde, «Batching to minimize total travel time in a parallel - aisle warehouse,» IIE Transactions, vol. 37, nº 1, pp. 63 - 75, 2005.
[20] K. Roodbergen, «Layout and routing methods for warehouses,» PhD thesis, RSM Erasmus University, The Netherlands, 2001.
[21] C. Petersen, G. Aase y D. Heiser, «Improving order-picking performance through the implementation of class - based storage,» International Journal of Physical Distribution & Logistics Management, vol. 34, nº 7, pp. 534 - 544, 2004.
[22] J. Jarvis y E. McDowell, «Optimal product layout in a order picking warehouse,» IIE Transactions, vol. 23, pp. 93 - 102, 1991.
[23] T. Le-Duc y R. De Koster, «Travel distance estimation and storage zone optimization in a 2-block class-based storage strategy warehouse,» International Journal of Production Research, vol. 43, nº 17, pp. 3561 - 3581, 2005.
[24] V. D. Aalst, «The application of Petri Nets to Workflow Management,» The Journal of Circuits, Systems and Computers, vol. 8, nº 1, pp. 21-66, 1998.
[25] J. Caballero y G. Mejía, «Redes de Petri y algoritmos genéticos, una propuesta para la programación de sistemas de manufactura flexible,» Ingeniería y Universidad, vol. 10, nº 1, 2006.
[26] J. H. Chen, L. C. Fu, M. H. Lin y A. C. Huang, «Petri-net and GA-based approach to modeling, scheduling, and performance evaluation for wafer fabrication,» IEEE transactions on robotics and automation, vol. 17, nº 5, pp. 619 - 636, 2001.
[27] L. Recalde y M. Silva, «PN fluidification revisited: Semantics and steady state,» J. Zaytoon S. Engell, Automation of Mixed Processes: Hybrid Dynamics Systems, pp. 279 - 286, 2000.
[28] P. Kachroo y K. M. Özbay, «Feedback control theory for dynamic traffic assignment,» Springer Science & Business Media, 2012.
[29] R. Manzini, «Warehousing in the global supply chain,» Springer-Verlang London Limited, 2011.
[30] J. Shayeri y L. F. Gelders, «Warehouse design optimization,» European Journal of Operational Research, vol. 21, nº 3, pp. 285 - 294, 1985.
[31] Y. Bassan, Y. Roll y M. J. Rosenblatt, «Internal layout design of a warehouse,» AIIE Transactions, vol. 12, nº 4, pp. 317 - 322, 1980.
[32] B. R. B. Rouwenhorst, V. Stockrahm, G. J. Van Houtum, R. J. Mante l y W. H. M. Zijm, «Warehouse design and control: Framework and literature review,» European Journal of Operational Research, vol. 122, nº 3, pp. 515-533, 2000.
[33] P. B. Saunders, R. L. Francis y J. A. White, Facility Layout and Location: An Analytical Approach, New Jersey: Prentice-Hall, 1976.
[34] L. M. Pohl, R. D. Meller y K. R. Gue, «An analysis of dual -command operations in common warehouse designs,» Transportation Research Part E: Logistics and Transportation Review, vol. 45, nº 3, pp. 367-379, 2009.
[35] R. Meller y K. Gue, «The application of new aisle designs for unit-load warehouses,» NSF Engineering Research and Innovation Conference, 2009.
[36] M. De Armas Teyra, Fundamentos básicos de Inteligencia Artificial con Matlab, Barranquilla: Editorial Universitaria de la Costa, 2009, pp. 152- 153.
[37] P. Ponce, Inteligencia artificial con aplicaciones a la ingeniería, México: Alfaomega, 2010.
136
[38] A. E. M. Licona y J. G. Close, «Definición de una red neuronal para clasificación por medio de un programa evolutivo,» revista mexicana de ingeniería biomédica, vol. 22, nº 1, pp. 4-11, 2001.
[39] T. C. Chen, D. J. Han, F. T. Au y L. G. Tham, «Acceleration of Levenberg-Marquardt training of neural networks with variable decay rate,» Proceedings of the International Joint Conference on Neural Networks. IEEE, vol. 3, pp. 1873 - 1878, 2003.
[40] J. E. Dennis Jr y R. B. Schnabel, Numerical methods for unconstrained optimization and nonlinear equations, Siam: Prentice Hall, 1996.
[41] B. Robitaille, B. Marcos, M. Veillette y G. Payre, «Quasi-Newton methods for training neural networks,» WIT Transactions on Information and Communication Technologies, vol. 2, 1993.
[42] S. Biazzo, «Process mapping techniques and organisational analysis: Lessons from sociotechnical system theory,» Business Process Management Journal, vol. 8, nº 1, pp. 42-52, 2002.
[43] R. C. Bú, Simulación: un enfoque práctico, Limusa, 2005.
[44] C. Harrell, B. K. Ghosh y R. O. Bowden, Simulation using promodel, Mc Graw Hill, 2011.
[45] R. G. Sargent, «Verification and validation of simulation models,» Proceedings of the 37th conference on Winter simulation, pp. 130-143, 2007.
[46] G. Vidmar, R. Blagus, L. Střelec y M. Stehlík, «Business indicators of healthcare quality: Outlier detection in small samples,» Applied Stochastic Models in Business and Industry, vol. 28, nº 3, pp. 282-295, 2012.
[47] E. Valencia, «Optimización mediante algoritmos genéticos,» Anales del Instituto de Ingenieros de Chile, vol. 109, nº 2, pp. 83-92, 1997.
[48] F. K. Amar y P. C. Verdugo, «Análisis y comparación entre diferentes metaheuristicas para el problema de Inlining de funciones,» [En línea]. Available: http://users.dcc.uchile.cl/~mmarin/revista-sccc/sccc-web/Vol6/InlinigDeFunciones.pdf. [Último acceso: 24 Abril 2015].
[49] A. Gomez y D. De la Fuente, «Resolución del problema de Strip - Packing mediante la metaheuristica algoritmos genéticos,» BEIO, Boletín de Estadística e Investigación Operativa, vol. 16, nº 2, pp. 12-16, 2000.
[50] D. E. Golberg, Genetic algorithms in search, optimization, and machine learning, Addion wesley, 1989.
[51] D. E. Golberg y R. Lingle, «Alleles, Loci, and the TSP,» Proceedings of the First International Conference on Genetic Algorithms, pp. 54-159, 1985.
[52] L. Davis, Handbook of genetic algorithms, New York: Van Nostrand Reinhold , 1991.
[53] H. Örkcü, D. M. y Ö. M., «A hybrid applied optimization algorithm for training multi -layer networks in data classification,» Gazi University Journal of Science, vol. 28, nº 1, pp. 115-132, 2015.
137
Anexos
Anexo 1. Datos de entrenamiento para la RNA 1
Fami l ia Ruta
Mono o
Multiproducto Ventas Pas i l lo
4 4 1 1 4
3 4 0 4 4
7 5 1 4 3
7 6 1 3 2
2 6 1 2 2
6 5 0 4 4
2 6 1 2 2
2 5 1 2 3
6 2 0 1 6
5 5 1 3 3
2 6 1 2 2
3 4 0 4 4
2 6 1 4 2
7 6 1 3 2
6 3 0 1 5
7 2 1 4 6
3 4 0 4 4
1 1 0 4 8
9 8 1 4 8
5 3 1 3 5
3 4 0 3 4
1 7 0 1 1
5 2 1 2 6
5 4 1 1 4
3 4 0 4 4
2 6 1 2 2
3 5 0 3 3
5 3 1 3 5
1 1 0 4 7
2 6 1 2 2
2 5 1 2 2
7 4 1 1 4
5 4 1 1 4
4 3 1 4 5
Familia Ruta
Mono o Multipro
ducto Ventas Pasil lo
7 2 1 4 6
7 4 1 4 4
7 4 1 4 4
8 7 1 3 1
5 3 1 3 5
9 8 1 4 8
3 5 0 3 3
2 7 1 2 1
4 4 1 2 4
4 4 1 1 4
4 3 1 4 5
2 6 1 2 2
1 6 0 4 2
3 5 0 3 3
5 3 1 3 5
4 4 1 2 4
6 2 0 1 6
3 5 0 3 3
2 7 1 2 1
4 4 1 2 4
3 6 0 4 2
1 6 0 4 2
2 7 1 2 1
2 7 1 2 1
2 6 1 2 2
7 1 1 4 7
7 4 1 1 4
7 6 1 3 2
7 4 1 4 4
5 3 1 3 5
1 6 0 4 2
1 7 0 1 1
6 3 0 1 5
7 1 1 4 7
138
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
5 5 1 3 3
2 7 1 2 1
3 3 0 4 5
2 6 1 2 3
2 7 1 2 1
5 4 1 1 4
3 4 0 3 4
10 8 0 2 8
3 6 0 4 2
2 6 1 4 2
6 3 0 1 5
9 8 1 4 8
4 3 1 4 5
2 6 1 4 2
4 4 1 2 5
5 5 1 3 3
3 4 0 3 4
2 7 1 2 1
3 4 0 4 4
2 7 1 2 1
6 5 0 4 3
2 6 1 2 3
6 2 0 1 6
2 6 1 2 2
2 6 1 2 2
3 3 0 3 5
2 7 1 2 1
6 3 0 1 5
4 4 1 1 4
2 7 1 2 2
8 7 1 3 1
3 3 0 4 5
6 2 0 1 6
6 4 0 3 4
7 4 1 1 4
3 3 0 4 5
2 6 1 4 2
8 7 1 3 1
Familia Ruta
Mono o Multipro
ducto Ventas Pasillo
4 3 1 4 5
2 7 1 2 1
3 5 0 3 3
2 5 1 2 3
8 7 1 3 1
1 6 0 4 2
5 3 1 3 5
3 3 0 3 5
10 8 0 2 8
1 1 0 4 7
5 2 1 2 6
7 6 1 3 2
5 3 1 3 5
3 4 0 3 4
3 4 0 3 4
7 5 1 4 3
3 3 0 3 5
2 6 1 2 2
3 6 0 4 2
7 3 1 3 5
3 3 0 4 5
4 4 1 2 4
7 6 1 3 2
4 3 1 4 5
6 5 0 4 3
4 3 1 4 5
6 2 0 1 6
4 4 1 2 4
10 8 0 2 8
10 8 0 2 8
2 6 1 2 2
6 4 0 3 4
10 8 0 2 8
3 4 0 4 5
5 2 1 2 6
3 3 0 3 5
5 3 1 3 5
2 6 1 2 2
139
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
2 7 1 2 1
2 6 1 2 2
1 7 0 1 1
2 5 1 2 3
7 4 1 1 4
1 1 0 4 7
2 6 1 2 2
7 4 1 4 4
5 2 1 2 6
6 3 0 1 5
3 5 0 3 3
1 7 0 1 1
2 7 1 2 1
3 3 0 3 5
1 1 0 4 7
2 6 1 4 2
1 1 0 4 7
5 4 1 1 4
7 4 1 1 4
5 3 1 3 5
1 6 0 4 2
4 4 1 1 4
10 8 0 2 8
6 2 0 1 6
3 4 0 3 4
3 4 0 3 3
2 7 1 2 1
4 4 1 2 4
7 5 1 4 3
8 7 1 3 1
6 3 0 1 5
4 3 1 4 5
5 3 1 3 5
6 4 0 3 4
4 3 1 2 5
6 3 0 1 5
2 6 1 4 2
2 7 1 2 1
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
3 6 0 4 2
6 3 0 1 5
2 6 1 2 2
2 6 1 4 2
4 3 1 4 5
5 2 1 2 6
7 4 1 4 4
1 7 0 1 1
1 6 0 4 2
2 6 1 2 2
6 4 0 3 4
1 1 0 4 7
1 7 0 1 1
1 6 0 4 2
4 4 1 1 4
7 2 1 4 6
7 2 1 4 6
4 4 1 2 4
2 5 1 2 3
9 8 1 4 8
6 2 0 1 6
7 6 1 3 2
9 8 1 4 8
10 8 0 2 8
4 4 1 1 4
5 4 1 1 4
2 7 1 2 1
2 7 1 2 1
2 7 1 2 1
7 5 1 4 3
2 6 1 2 2
6 2 0 1 6
3 6 0 4 2
5 3 1 3 5
2 6 1 2 2
2 5 1 2 3
3 5 0 3 3
6 2 0 1 6
140
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
7 5 1 4 3
2 6 1 4 2
5 5 1 3 3
7 4 1 4 4
7 2 1 4 6
3 4 0 4 4
2 6 1 2 2
7 3 1 3 5
3 6 0 4 2
6 3 0 1 5
7 3 1 3 5
2 7 1 2 1
4 3 1 2 5
7 7 1 3 1
3 5 0 3 3
4 3 1 2 5
2 7 1 2 1
6 4 0 3 4
4 3 1 2 5
8 7 1 3 1
3 6 0 4 2
3 4 0 3 4
7 1 1 4 7
5 5 1 3 3
3 5 0 3 3
3 4 0 3 4
8 7 1 3 1
5 2 1 2 6
6 4 0 3 4
5 5 1 3 3
6 2 0 1 6
2 7 1 2 1
2 6 1 2 2
9 8 1 4 8
7 6 1 3 2
2 6 1 2 2
3 3 0 3 5
1 6 0 4 2
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
7 3 1 3 5
5 2 1 2 6
7 3 1 3 5
3 4 0 4 4
2 7 1 2 1
7 1 1 4 7
3 5 0 3 3
5 4 1 1 4
7 1 1 4 7
3 4 0 3 4
3 3 0 4 5
7 2 1 4 6
3 4 0 4 4
1 1 0 4 7
7 5 1 4 3
6 2 0 1 6
7 3 1 3 5
1 7 0 1 1
6 3 0 1 5
9 8 1 4 8
2 6 1 2 2
10 8 0 2 8
7 4 1 4 4
1 6 0 4 2
4 3 1 4 5
2 7 1 2 1
7 5 1 4 3
6 3 0 1 5
3 6 0 4 2
5 2 1 2 6
5 3 1 3 5
7 1 1 4 7
10 8 0 2 8
6 2 0 1 6
5 5 1 3 3
3 6 0 4 2
5 3 1 3 5
2 6 1 2 2
141
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
2 5 1 2 3
3 3 0 4 5
6 2 0 1 6
7 2 1 4 6
1 7 0 1 1
1 7 0 1 1
2 6 1 2 2
3 5 0 3 3
9 8 1 4 8
1 1 0 4 7
2 7 1 2 1
3 4 0 3 4
9 8 1 4 8
3 3 0 3 5
6 2 0 1 6
2 6 1 2 2
4 4 1 1 3
2 6 1 4 2
2 6 1 2 2
4 4 1 2 4
5 3 1 3 5
6 2 0 1 6
7 7 1 3 1
7 5 1 4 3
2 6 1 2 2
6 2 0 1 6
1 1 0 4 7
2 7 1 2 1
2 6 1 2 2
7 4 1 1 4
2 7 1 2 1
6 4 0 3 4
1 7 0 1 1
6 5 0 4 3
6 4 0 3 4
2 6 1 2 2
7 4 1 4 4
3 5 0 3 3
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
7 1 1 4 7
2 7 1 2 1
5 5 1 3 3
3 3 0 3 5
8 7 1 3 1
10 8 0 2 8
1 1 0 4 7
5 4 1 1 4
3 3 0 4 5
2 7 1 2 1
7 2 1 4 6
2 6 1 2 2
5 5 1 3 3
2 7 1 2 1
7 4 1 1 4
6 2 0 1 6
2 6 1 2 2
1 6 0 4 2
6 3 0 1 5
10 8 0 2 8
2 5 1 2 3
1 6 0 4 2
7 4 1 1 4
6 4 0 3 4
7 7 1 3 1
2 6 1 2 2
5 2 1 2 6
3 4 0 3 4
6 5 0 4 2
3 3 0 4 5
3 6 0 4 2
3 3 0 4 5
1 6 0 4 2
4 4 1 1 4
7 4 1 1 4
3 5 0 3 3
6 5 0 4 3
3 4 0 4 4
142
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
1 7 0 1 1
3 6 0 4 2
1 7 0 1 1
2 6 1 4 2
7 5 1 4 3
2 7 1 2 1
6 2 0 1 6
6 4 0 3 4
4 3 1 2 5
3 3 0 3 5
1 6 0 4 2
3 3 0 3 5
5 3 1 3 5
2 6 1 2 2
2 7 1 2 1
2 6 1 4 2
4 4 1 1 4
3 3 0 3 5
2 6 1 2 2
5 4 1 1 4
6 3 0 1 5
3 3 0 4 5
4 4 1 1 4
3 4 0 3 4
2 5 1 2 3
2 7 1 2 1
8 7 1 3 1
2 7 1 2 1
6 4 0 3 4
2 5 1 2 3
4 4 1 2 4
5 4 1 1 4
2 7 1 2 1
4 3 1 4 5
8 7 1 3 1
10 8 1 4 8
2 6 1 2 2
2 6 1 2 2
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
2 6 1 4 2
5 2 1 2 6
7 1 1 4 7
7 3 1 3 5
3 3 0 4 5
4 4 1 1 4
6 5 0 4 3
9 8 1 4 8
4 4 1 2 4
4 3 1 2 5
1 6 0 4 2
6 4 0 3 4
2 6 1 4 2
8 7 1 3 1
8 7 1 3 1
5 4 1 1 4
5 4 1 1 4
1 1 0 4 7
9 8 1 4 8
1 1 0 4 7
7 1 1 4 7
3 3 0 3 5
2 7 1 2 1
4 4 1 1 4
10 8 0 2 8
4 4 1 2 4
10 8 0 2 8
6 5 0 4 3
4 4 1 2 4
4 3 1 2 5
7 1 1 4 7
3 5 0 3 3
2 7 1 2 1
3 3 0 3 5
7 7 1 3 1
4 3 1 4 5
7 6 1 3 2
2 6 1 2 2
143
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
7 4 1 1 4
5 2 1 2 6
1 7 0 1 1
7 3 1 3 5
1 1 0 4 7
5 3 1 3 5
3 4 0 4 4
7 3 1 3 5
7 4 1 4 4
2 6 1 2 2
10 8 0 2 8
2 7 1 2 1
4 4 1 2 4
6 3 0 1 5
1 1 0 4 7
7 4 1 4 4
4 4 1 2 4
5 3 1 3 5
2 7 1 2 1
7 6 1 3 2
5 4 1 1 4
6 2 0 1 6
8 7 1 3 1
7 5 1 4 3
1 7 0 1 1
8 7 1 3 1
7 6 1 3 2
7 5 1 4 3
3 3 0 4 5
7 1 1 4 7
2 7 1 2 1
3 6 0 4 2
10 8 0 2 8
2 6 1 4 2
9 8 1 4 8
7 4 1 1 3
7 2 1 4 6
3 5 0 3 3
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
7 3 1 3 5
1 1 0 4 7
5 4 1 1 4
3 4 0 3 4
5 2 1 2 6
5 4 1 1 4
7 6 1 3 2
4 4 1 1 4
7 4 1 4 4
7 7 1 3 1
7 3 1 3 5
6 5 0 4 3
1 7 0 1 1
7 1 1 4 7
4 3 1 2 5
2 7 1 2 1
3 6 0 4 2
6 4 0 3 4
2 6 1 2 2
4 4 1 1 4
2 7 1 2 1
4 3 1 2 5
7 4 1 4 4
2 6 1 2 2
2 7 1 2 1
7 5 1 4 3
7 4 1 4 4
2 6 1 2 2
7 4 1 1 4
3 6 0 4 2
5 5 1 3 3
5 3 1 3 5
7 2 1 4 6
5 3 1 3 5
1 7 0 1 1
5 2 1 2 6
2 6 1 2 2
5 3 1 3 5
144
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
2 6 1 4 2
8 7 1 3 1
3 6 0 4 2
6 2 0 1 6
2 6 1 4 2
1 6 0 4 2
7 1 1 4 6
7 3 1 3 5
2 7 1 2 1
4 4 1 2 4
3 4 0 3 4
5 5 1 3 3
3 6 0 4 2
4 3 1 4 5
7 2 1 4 6
2 6 1 4 2
4 3 1 4 4
2 6 1 2 2
7 2 1 4 6
3 3 0 4 5
1 6 0 4 2
9 8 1 4 8
7 4 1 4 4
5 5 1 3 3
5 5 1 3 3
7 7 1 3 1
5 5 1 3 3
3 6 0 4 2
1 6 0 4 2
4 3 1 4 5
9 8 1 4 8
2 7 1 2 1
7 2 1 4 6
6 3 0 1 5
5 2 1 2 6
5 2 1 2 6
4 3 1 4 5
2 6 1 2 2
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
2 7 1 2 1
2 7 1 2 1
5 5 1 3 3
2 6 1 2 2
4 4 1 2 4
3 5 0 3 3
3 4 0 3 4
2 5 1 2 3
6 4 0 3 4
7 2 1 4 6
7 6 1 3 2
6 3 0 1 4
2 6 1 4 2
3 4 0 3 4
3 3 0 3 5
4 4 1 1 4
7 3 1 3 5
1 7 0 1 1
3 3 0 3 5
7 1 1 4 7
1 7 0 1 1
5 4 1 1 4
4 3 1 4 5
2 7 1 2 1
7 3 1 3 5
5 5 1 3 3
2 6 1 2 2
5 2 1 2 6
7 5 1 4 3
2 6 1 4 2
6 5 0 4 3
2 6 1 2 2
6 3 0 1 5
6 5 0 4 3
6 2 0 1 6
6 3 0 1 5
2 6 1 2 2
4 3 1 4 5
145
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
1 1 0 4 7
1 6 0 4 2
1 1 0 4 7
3 6 0 4 2
7 6 1 3 2
2 7 1 2 1
4 4 1 2 4
6 5 0 4 3
7 4 1 1 4
7 1 1 4 7
3 4 0 4 4
3 3 0 4 5
7 1 1 4 7
3 5 0 3 3
4 4 1 1 4
4 4 1 1 4
2 6 1 2 2
4 3 1 2 5
3 6 0 4 2
2 7 1 2 1
7 6 1 3 2
7 4 1 1 4
7 4 1 1 4
7 5 1 4 3
1 1 0 4 7
4 3 1 4 5
4 3 1 2 5
7 2 1 4 6
6 5 0 4 3
7 6 1 3 2
6 3 0 1 5
7 3 1 3 5
2 6 1 2 2
7 6 1 3 2
3 3 0 4 5
6 2 0 1 6
4 4 1 1 4
10 8 0 2 8
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
5 3 1 3 5
4 3 1 4 5
2 7 1 2 1
5 2 1 2 6
4 3 1 4 5
9 8 1 4 8
2 5 1 2 3
7 5 1 4 3
2 7 1 2 1
4 4 1 1 4
6 2 0 1 6
4 4 1 2 4
6 2 0 1 6
9 8 1 4 8
2 7 1 2 1
2 7 1 2 1
5 5 1 3 3
5 4 1 1 4
6 2 0 1 6
2 6 1 4 2
7 3 1 3 5
8 7 1 3 1
3 4 0 3 4
6 2 0 1 6
2 6 1 2 2
3 3 0 4 5
7 4 1 4 4
7 3 1 3 5
5 4 1 1 4
1 7 0 1 1
3 3 0 3 5
2 6 1 2 2
7 6 1 3 2
10 8 0 2 8
6 4 0 3 4
8 7 1 3 1
4 3 1 2 5
4 4 1 2 4
146
Familia Ruta Mono o
Multiproducto Ventas Pasil lo
6 4 0 3 4
7 5 1 4 3
3 6 0 4 2
7 3 1 3 5
5 3 1 3 5
7 1 1 4 7
5 4 1 1 4
10 8 0 2 8
7 6 1 3 2
9 8 1 4 8
4 4 1 1 4
2 6 1 4 2
2 5 1 2 3
7 4 1 1 4
8 7 1 3 1
6 5 0 4 3
5 2 1 2 6
2 6 1 4 2
3 5 0 3 3
7 4 1 1 4
6 2 0 1 6
2 7 1 2 1
3 6 0 4 2
4 4 1 1 4
5 2 1 2 6
7 6 1 3 2
7 3 1 3 5
1 6 0 4 2
6 5 0 4 3
3 3 0 3 5
7 5 1 4 3
3 4 0 4 4
7 6 1 3 2
2 6 1 2 2
2 6 1 2 2
3 3 0 3 5
147
Anexo 1a. Datos de validación para la RNA 1
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
9 8 1 4 8
2 7 1 2 1
2 6 1 4 2
2 6 1 2 2
5 2 1 2 6
2 7 1 2 1
5 5 1 3 3
2 6 1 4 2
2 6 1 2 2
3 5 0 3 3
7 3 1 3 5
9 8 1 4 8
3 4 0 3 4
5 4 1 1 4
7 2 1 4 6
7 6 1 3 2
3 3 0 4 5
2 5 1 2 3
2 6 1 2 2
6 2 0 1 6
7 7 1 3 1
3 3 0 4 5
2 6 1 2 2
7 1 1 4 7
3 4 0 4 4
7 2 1 4 6
3 4 0 4 4
2 6 1 4 2
3 3 0 3 5
2 7 1 2 1
7 2 1 4 6
2 5 1 2 3
6 4 0 3 4
3 3 0 4 5
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
7 2 1 4 6
3 3 0 3 5
1 7 0 1 1
7 2 1 4 5
7 4 1 4 4
10 8 0 2 8
4 3 1 2 5
2 7 1 2 1
2 6 1 2 2
1 6 0 4 2
6 4 0 3 4
2 6 1 2 2
6 3 0 1 5
2 6 1 2 2
4 3 1 2 5
10 8 0 2 8
7 1 1 4 7
6 4 0 3 4
4 3 1 2 5
7 1 1 4 7
1 6 0 4 2
5 4 1 1 4
9 8 1 4 8
2 6 1 2 2
5 2 1 2 6
7 4 1 4 4
1 1 0 4 7
2 7 1 2 1
5 2 1 2 6
2 6 1 2 2
1 1 0 4 7
9 8 1 4 8
2 6 1 4 2
8 7 1 3 1
148
Familia Ruta Mono o
Multiproducto Ventas Pasil lo
3 4 0 4 4
6 2 0 1 6
1 6 0 4 2
2 7 1 2 1
7 5 1 4 3
7 1 1 4 7
2 6 1 2 2
7 6 1 3 2
7 1 1 4 7
4 4 1 1 4
10 8 0 2 8
2 5 1 2 3
3 6 0 4 2
6 5 0 4 3
8 7 1 3 1
2 6 1 4 2
7 6 1 3 2
1 6 0 4 2
2 6 1 2 2
4 3 1 4 5
1 7 0 1 1
149
Anexo 1b. Datos de prueba para la RNA 1
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
6 4 0 3 4
4 3 1 2 5
1 7 0 1 1
4 4 1 2 4
3 4 0 3 4
3 3 0 3 5
6 2 0 1 6
3 4 0 4 4
5 5 1 3 2
2 6 1 2 2
9 8 1 4 8
7 4 1 4 4
2 7 1 2 1
2 5 1 2 3
1 1 0 4 7
2 5 1 2 3
2 5 1 2 3
4 4 1 2 4
6 3 0 1 5
7 2 1 4 6
6 5 0 4 3
7 7 1 3 1
7 6 1 3 2
1 6 0 4 2
4 3 1 2 5
7 3 1 3 5
3 4 0 4 3
7 4 1 1 4
2 7 1 2 1
6 2 0 1 6
7 3 1 3 5
3 4 0 3 4
2 6 1 2 2
2 6 1 2 2
Familia Ruta
Mono o
Multiproducto Ventas Pasil lo
3 6 0 4 2
6 5 0 4 3
6 4 0 3 4
2 6 1 2 2
3 4 0 4 4
7 4 1 4 4
7 4 1 4 5
3 3 0 3 5
6 5 0 4 3
3 3 0 4 5
7 5 1 4 3
6 2 0 1 6
10 8 0 2 8
4 3 1 4 5
2 6 1 2 2
2 5 1 2 3
7 5 1 4 3
4 3 1 2 5
2 7 1 2 1
3 4 0 4 4
3 4 0 3 4
7 5 1 4 3
4 3 1 2 5
6 4 0 3 4
3 6 0 4 2
3 5 0 3 2
4 3 1 2 5
7 2 1 4 6
8 7 1 3 1
6 5 0 4 3
7 4 1 4 4
7 6 1 3 2
3 4 0 4 4
5 4 1 1 4
150
Familia Ruta Mono o
Multiproducto Ventas Pasil lo
2 7 1 2 1
7 4 1 4 4
7 4 1 1 4
7 4 1 1 4
2 7 1 2 1
3 3 0 4 5
7 7 1 3 1
4 3 1 2 5
1 6 0 4 2
4 3 1 2 5
3 3 0 4 5
7 5 1 4 3
2 6 1 2 2
2 7 1 2 1
8 7 1 3 1
2 5 1 2 3
6 3 0 1 5
5 4 1 1 4
1 6 0 4 2
7 4 1 1 4
7 4 1 1 4
3 5 0 3 3
151
Anexo 2. Datos de entrenamiento para la RNA 5
Familia de
productos
Número
asignado a la Ruta
Mono o
multiproducto
Interval
o de ventas
Salida
(Clúster)
7 1 1 5 12
4 2 0 6 10
7 1 1 5 12
7 1 0 5 11
7 1 1 5 12
7 1 0 6 13
7 1 1 5 12
7 1 0 6 13
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 0 5 11
7 1 1 5 12
4 2 0 5 9
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 0 5 11
7 1 0 6 13
7 1 1 5 12
7 1 0 6 13
7 1 1 5 12
7 1 0 6 13
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 0 5 11
7 1 1 5 12
7 1 1 5 12
4 2 0 6 10
7 1 0 5 11
7 1 1 5 12
Familia de
produc
tos
Número asignado a la Ruta
Mono o multipro
ducto
Intervalo de
ventas
Salida (Clúste
r)
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
4 2 0 5 9
7 1 0 6 13
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 0 6 13
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
4 2 0 5 9
7 1 1 5 12
4 2 0 6 10
4 2 0 6 10
7 1 1 5 12
4 2 0 5 9
7 1 0 6 13
7 1 0 6 13
7 1 1 5 12
4 2 0 6 10
7 1 1 5 12
7 1 0 5 11
7 1 1 5 12
7 1 1 5 12
152
Familia de
produc
tos
Número asignado
a la Ruta
Mono o multipro
ducto
Intervalo de
ventas
Salida (Clúste
r)
4 2 0 6 10
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
4 2 0 6 10
4 2 0 5 9
4 2 0 5 9
4 2 0 5 9
7 1 1 5 12
4 2 0 5 9
4 2 0 5 9
7 1 1 5 12
7 1 0 6 13
7 1 0 6 13
7 1 1 5 12
4 2 0 5 9
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
4 2 0 5 9
7 1 0 6 13
7 1 0 6 13
7 1 1 5 12
4 2 0 5 9
7 1 1 5 12
4 2 0 5 9
7 1 1 5 12
4 2 0 6 10
7 1 1 5 12
7 1 0 6 13
Familia de
produc
tos
Número asignado
a la Ruta
Mono o multipro
ducto
Intervalo de
ventas
Salida (Clúste
r)
7 1 0 6 13
7 1 1 5 12
4 2 0 6 10
7 1 1 5 12
7 1 0 6 13
7 1 1 5 12
7 1 0 6 13
7 1 1 5 12
4 2 0 6 10
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
4 2 0 5 9
7 1 0 6 13
7 1 1 5 12
7 1 1 5 12
4 2 0 5 9
7 1 0 6 13
7 1 1 5 12
7 1 1 5 12
7 1 0 6 13
4 2 0 6 10
7 1 1 5 12
4 2 0 6 10
4 2 0 6 10
7 1 1 5 12
7 1 1 5 12
7 1 0 5 11
4 2 0 5 9
7 1 1 5 12
7 1 1 5 12
7 1 0 5 11
153
Familia de
produc
tos
Número asignado
a la Ruta
Mono o multipro
ducto
Intervalo de
ventas
Salida (Clúste
r)
7 1 0 6 13
7 1 1 5 12
7 1 1 5 12
4 2 0 5 9
4 2 0 5 9
7 1 1 5 12
7 1 1 5 12
4 2 0 6 10
7 1 1 5 12
4 2 0 5 9
7 1 1 5 12
7 1 0 6 13
7 1 0 5 11
7 1 0 6 13
7 1 0 5 11
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
4 2 0 5 9
7 1 1 5 12
7 1 0 5 11
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 0 5 11
7 1 1 5 12
7 1 1 5 12
7 1 0 6 13
7 1 1 5 12
Familia de
produc
tos
Número asignado
a la Ruta
Mono o multipro
ducto
Intervalo de
ventas
Salida (Clúste
r)
7 1 1 5 12
7 1 1 5 12
7 1 0 6 13
7 1 1 5 12
4 2 0 6 10
7 1 1 5 12
7 1 0 6 13
7 1 1 5 12
4 2 0 5 9
4 2 0 6 10
7 1 1 5 12
4 2 0 5 9
4 2 0 5 9
7 1 1 5 12
4 2 0 5 9
7 1 0 6 13
7 1 1 5 12
7 1 0 6 13
7 1 0 5 11
7 1 1 5 12
4 2 0 6 10
7 1 1 5 12
7 1 0 6 13
4 2 0 6 10
7 1 1 5 12
4 2 0 5 9
7 1 1 5 12
7 1 0 6 13
7 1 1 5 12
4 2 0 5 9
7 1 0 6 13
7 1 1 5 12
154
Familia de
produc
tos
Número asignado
a la Ruta
Mono o multipro
ducto
Intervalo de
ventas
Salida (Clúste
r)
4 2 0 5 9
4 2 0 6 10
7 1 0 6 13
7 1 0 5 11
7 1 1 5 12
7 1 0 5 11
4 2 0 6 10
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
7 1 0 6 13
4 2 0 5 9
4 2 0 6 10
7 1 1 5 12
4 2 0 6 10
7 1 0 6 13
7 1 0 5 11
4 2 0 5 9
7 1 0 6 13
7 1 1 5 12
7 1 1 5 12
4 2 0 5 9
7 1 1 5 12
7 1 0 6 13
7 1 1 5 12
7 1 0 6 13
7 1 0 6 13
4 2 0 5 9
4 2 0 5 9
4 2 0 5 9
7 1 1 5 12
7 1 1 5 12
Familia de
produc
tos
Número asignado
a la Ruta
Mono o multipro
ducto
Intervalo de
ventas
Salida (Clúste
r)
7 1 1 5 12
7 1 1 5 12
7 1 1 5 12
4 2 0 5 9
4 2 0 5 9
7 1 1 5 12
4 2 0 6 10
4 2 0 6 10
4 2 0 6 10
7 1 1 5 12
7 1 0 6 13
155
Anexo 2. Modelos usados en las RNA 2 a la 9
RNA 2
RNA 3
RNA 4
RNA 5
156
RNA 6
RNA 7
RNA 8
157
RNA 9
158
Anexo 3. Código para usar el toolbox en Matlab® para las RNA 2 a la 9
RNA 2
RNA 3
RNA 4
RNA 5
RNA 6
net = newff(O,U,[30])
net.trainParam.epochs = 1000;
net = train(net,O,U)
Y1 = sim(net,O)
e1 = U-Y1
perf1=sse(e1)
net = newff(N,V,[5])
net = train(net,N,V)
Y2 = sim(net,N)
e2 = V-Y2
perf2=sse(e2)
net = newff(N,V,[5])
net = train(net,N,V)
Y3 = sim(net,N)
e3 = V-Y3
perf3=sse(e3)
net = newff(N,V,[10])
net = train(net,N,V)
Y4 = sim(net,N)
e4 = V-Y4
perf4=sse(e4)
159
RNA 7
RNA 8
RNA 9
net = newff(N,V,[7])
net = train(net,N,V)
Y5 = sim(net,N)
e5 = V-Y5
perf5=sse(e5)
net = newff(N,V,[3])
net = train(net,N,V)
Y6 = sim(net,N)
e6 = V-Y6
perf6=sse(e6)
net = newff(N,V,[2])
net = train(net,N,V)
Y7 = sim(net,N)
e7 = V-Y7
perf7=sse(e7)
net = newff(N,V,[2])
net = train(net,N,V)
Y8 = sim(net,N)
e8 = V-Y8
perf8=sse(e8)
160
Anexo 4. Comparación del entrenamiento, validación y prueba para las RNA 2 a la 9.
RNA 2
RNA 3
161
RNA 4
RNA 5
162
RNA 6
RNA 7
163
RNA 8
RNA 9
164
Anexo 5. Desempeño del entrenamiento para las RNA 2 a la 9.
RNA 2
RNA 3
165
RNA 4
RNA 5
166
RNA 6
RNA 7
167
RNA 8
RNA 9
168
Anexo 6. Valores de Pesos sinápticos y umbrales generados por el entrenamiento
para todas las RNA de este estudio.
RNA 2 Pesos sinápticos Bias 0.2217 -7.6868 5.8522 5.4564
6.3766 4.5623 -0.0351 7.6666 -4.0075 -6.5519
7.8028 0.3716 7.5382 -1.6872
0.2622 -7.6582 7.5719 1.1988 -7.6677 1.9804
-6.1972 -4.5348 -7.6371 0.7439 -1.4734 7.5587 -7.6069 -0.9680
-5.4318 5.3827 6.9827 -3.1749 -4.6691 -6.2172
-3.3338 -6.9137 -4.2375 6.4236
-6.3100 -4.4249 -5.2967 -5.5586
7.5073 1.0444 -6.4229 -4.1328 -6.2197 4.3728
-7.8797 0.7177 -4.4803 6.2640 1.3643 7.4365 5.8471 -4.8869
-5.9330 -4.8671 5.9656 4.6919
RNA 3 RNA 4
Pesos sinápticos Bias Pesos sinápticos Bias -1.8183 -3.3847 -2.3064 3.0866 -6.2471 -2.5776 -1.0227 -3.0307 -2.5116 1.4234 RNA 6
Pesos sinápticos Bias
-7.6425 -6.8582 -6.3355
6.0830 5.5506 -4.8286
-4.3943 -3.9868
-3.4399 2.2940 2.2704
1.8427 1.1162
0.7932 0.1337 0.1854 -0.7833 -1.2827 -1.6127 -2.1165
-2.9084 3.5891
-4.0695 -4.6036 -4.7123
-5.5031 6.2188 6.6674 -7.1256 7.7272
2.2896 2.0308 -1.6222 -1.9527 -2.5540
1.3355 1.0718 3.1754 0.0038 0.0569 -3.6585 4.2998 0.7878 4.0274 -0.4257
2.2896 2.0308 -1.6222 -1.9527 -2.5540
-4.0285 -1.9434 2.2091 2.8776 2.5199
4.5353 0.4769 1.5341 1.1479 -2.6907 1.9083 2.5242 -0.1051 -0.0437 3.9030 -3.0534 4.3229 -6.4743 -2.4214
-3.2712 -4.4157 1.7380 0.6757 2.3428 -0.5598 -5.0523
169
RNA 7 RNA 8 Pesos sinápticos Bias Pesos sinápticos Bias
RNA 9 Pesos sinápticos Bias -0.3350 4.0078 2.5005 0.1876
-2.8795 3.7118 1.5999 -0.0672 -1.8756 2.2299
-5.3912 -0.9593 2.6253
-2.2928 -0.0409 3.1683 -1.1716
-2.8795 3.7118 1.5999 -0.0672 -1.8756 2.2299
-5.3912 -0.9593 2.6253
-2.2928 -0.0409 3.1683 -1.1716
1.5076 2.6641
-0.4352 1.0448
170
Anexo 7. Entrenamiento de todas las redes neuronales artificiales incluidas en el
estudio.
RNA1 RNA2 RNA3
perf = 23.3236 perf =15.6830 perf= 21.8271
RNA4 RNA5 RNA6 perf = 46.7083 perf =60.9994 perf= 15.6976
171
RNA 7 RNA 8 RNA
9
perf = 24.3285 perf =5.8540 perf= 4.7961