Full text
Equation Chapter 1 Section 1 Trabajo Fin de Máster Máster de Ingeniería Industrial Dpto. de Ingeniería de Organización Industrial Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2023 Creación de un sistema de gestión de almacén con Excel y Python para la línea de ensamblaje del vehículo Scoobic Biocargo Autor: Ángel Maresca Bustos Tutor: Adolfo Crespo Márquez José Ramón Domínguez Frejo
Índice de Tablas ii
iii Trabajo Fin de Máster Máster de Ingeniería Industrial Creación de un sistema de gestión de almacén con Excel y Python para la línea de ensamblaje del vehículo Scoobic Biocargo Autor: Ángel Maresca Bustos Tutor: Adolfo Crespo Márquez Dpto. de Ingeniería de Organización Industrial Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2024
Índice de Tablas iv
v Trabajo Fin de Máster: Creación de un sistema de gestión de almacén con Excel y Python para la línea de ensamblaje del vehículo Scoobic Biocargo Autor: Ángel Maresca Bustos Tutor: Adolfo Crespo Márquez Profesor Titular: El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de:
Índice de Tablas vi Sevilla, 2023 El secretario del Tribunal Alca
vii A mi familia A mis amigos A mis profesores Gracias…
Índice de Tablas viii Agradecimientos A mi familia, por el apoyo incondicional, por confiar siempre en mí. A mis amigos, por sacarme las mejores sonrisas siempre que lo he necesitado. A mi profesores, por brindarme conocimientos y consejos que guardaré para siempre. A Scoobic, por darme la oportunidad de trabajar con ellos. Y a cada persona con la que he compartido momentos inolvidables que sin duda han construido todo aquello que soy hoy y me han permitido afrontar mi vida con alegría e ilusión. Sin duda seguirá siendo así! Ángel Maresca Bustos Sevilla, 2024
ix
Índice de Figuras xvi ÍNDICE DE FIGURAS Figura 1: Almacén exterior e interior 31 Figura 2: Logo Scoobic | José María Gómez 37 Figura 3: Catálogo Scoobic 22/23 40 Figura 4: Scoobic Light 40 Figura 5: Configuraciones Scoobic Light 41 Figura 6: Scoobic Mini 41 Figura 7: Configuraciones Scoobic Mini 42 Figura 8: Scoobic Mouse 42 Figura 9: Configuraciones Scoobic Mouse 43 Figura 10: Scoobic VS1 44 Figura 11: Configuraciones Scoobic VS1 44 Figura 12: Scoobic E-Box 45 Figura 13: Especificaciones técnicas E-Box 45 Figura 14: Scoobic BioCargo 46 Figura 15: Especificaciones técnicas BioCargo 46 Figura 16: Mesa de trabajo 48 Figura 17: Ilustración estantería dinámica 49 Figura 18: Alimentadores de la línea 49 Figura 19: Vista aérea tacto 50 Figura 20: Llave de impacto 51 Figura 21: Mecanismo de impacto 51 Figura 22: Atornillador sin control de par 52 Figura 23: Atornillador angular con control de par 52 Figura 24: Pistola remachadora 53 Figura 25: Llave dinamométrica 53 Figura 26: Juego llaves Allen 54 Figura 27: Equilibrador 54 Figura 28: Almacén Scoobic BioCargo 56 Figura 29: Scoobic BioCargo 57 Figura 30: Plano almacén Scoobic BioCargo 57 Figura 31: Imágenes e ilustraciones almacenes convencionales 57 Figura 32: Sección del almacén seleccionada inicialmente 58 Figura 33: Equipamiento en almacén al inicio del proyecto 59 Figura 34: Rack de estanterías 59
xvii Figura 35: Plano Almacén Scoobic BioCargo 60 Figura 36: Esquema Rack 47 60 Figura 37: Cajas "S" y "M" 61 Figura 38: Caja "L" 61 Figura 39: Útil para ruedas 63 Figura 40: Útil para chasis 63 Figura 41: Ejemplo BOM nivel básico 66 Figura 42: Ejemplo BOM multinivel 67 Figura 43: Conjunto eje delantero 70 Figura 44: Conjunto rueda delantera 70 Figura 45: Iteraciones asignador cajas S-S 72 Figura 46: Iteraciones asignador de cajas S-M 73 Figura 47: Útil para las ruedas 74 Figura 48: Extracto BOM | Encabezado columnas dimensionamiento 75 Figura 49: Cajas "M" y “S” en palet 76 Figura 50: Captura Almacén | Organización por sistemas 79 Figura 51: Captura Almacén | Org. por tacto (vista tacto) 80 Figura 52: Captura Almacén | Org. por tacto (vista sistemas) 81 Figura 53: Captura Lista_piezas.xls 82 Figura 54: Plano Almacén Scoobic BioCargo 85 Figura 55: Código py | Expansión datos 86 Figura 56: Función BUSCARV() 91 Figura 57: Ejemplo BUSCARV() 91 Figura 58: Panel principal GUI Almacén 92 Figura 59: ¿Qué quieres ver? | GUI almacén 92 Figura 60: Car. Tipo de caja | GUI almacén 93 Figura 61: Car. Uds almacén | GUI almacén 93 Figura 62: Car. Tacto | GUI almacén 93 Figura 63: Panel configuración | GUI almacén 94 Figura 64: Almacén Actual | GUI almacén 94 Figura 65: Almacén objetivo | GUI almacén 94 Figura 66: Sección mapa almacén | GUI almacén 95 Figura 67: Leyenda iconos almacén | GUI almacén 95 Figura 68: Solución almacenaje | GUI almacén 97 Figura 69: Almacén Virtual | Creación GUI 97 Figura 70: Almacén ID | Creación GUI 98
Índice de Figuras xviii Figura 71: Esquema funcionamiento BUSCARV() | creación GUI 98 Figura 72: Esquema funcionamiento GUI | creación GUI 99 Figura 73: Buscador de piezas | GUI almacén 99 Figura 74: Buscador de piezas, pieza almacenada en lote | GUI almacén 99 Figura 75: Botón "mostrar" | GUI almacén 100 Figura 76: Localización pieza | GUI almacén 100 Figura 77: POS TEÓRICA vs POS | EyS 102 Figura 78: ID + Nombre | EyS 102 Figura 79: Estados | EyS 103 Figura 80: Almacén actual vs Almacén vacío 104 Figura 81: Buscador de piezas por nombre 105 Figura 82: Uds alm y uds prod | Tabla EyS 105 Figura 83: Registro erróneo Vs registro correcto 105 Figura 84: Almacenar lote de piezas en ub deseada 106 Figura 85: Almacenar lote de piezas en ub provisional 106 Figura 86: Extraer lote de piezas 106 Figura 87: Inventario al momento del registro 106 Figura 88: Actualización EyS 107 Figura 89: Registro 252 antes de introducir nuevo lote 107 Figura 90: Registro 252 tras introducir lote de 33 piezas 107 Figura 91: Registro correcto 108 Figura 92: Detalle "Pegar como valores" 108 Figura 93: Efectos de un nuevo registro 109 Figura 94: Captura nuevo registro (Parte) | FileMaker 114 Figura 95: Captura nuevo registro (Coste) | FileMaker 114 Figura 96: Captura nuevo registro (Existencias) | FileMaker 115
xix ÍNDICE DE CÓDIGO Código 1: Selección "Banco de piezas" 83 Código 2: Asignación de pesos 85 Código 3: Expansión piezas prioritarias 86 Código 4: Almacenamiento de piezas prioritarias 88 Código 5: Almacenamiento de piezas 89 Código 6: Exportación del archivo 89 Código 7: Cálculo de espacios libres 89
Índice de Código xx Notación SGA: Sistema de Gestión de Almacenes WMS: Warehouse Management System EyS: Entradas y Salidas BOM: Bill of Materials ERP: Enterprise Resource Planning
Introducción 2 1 INTRODUCCIÓN 1.1. Motivación En Marzo de 2024 comencé mis prácticas en Scoobic, empresa dedicada al diseño y fabricación de vehículos eléctricos, el proyecto en el que me estaba involucrando me pareció muy interesante y sabía que iba a dedicarle más tiempo del que me ocuparan las horas correspondientes de prácticas, por tanto decidí que podría documentar ese trabajo que estuviera haciendo y contar desde mi experiencia como ha sido llevar la gestión de un almacén en una empresa primeriza en este campo. Analizar qué variables hay que tener en cuenta para decidir cómo almacenar las piezas, extraer numerosas características de las piezas para clasificarlas según sus necesidades, crear un sistema de asignación de ubicaciones desde cero que facilitara muchas tareas iterativas, así como un mapa interactivo del almacén y un sistema de registros de inventario… en definitiva, poder aportar una solución completa y efectiva al equipo para que el proyecto de la creación de la nueva línea de producción de la Scoobic BioCargo saliera adelante con el mayor éxito posible. 1.2. Objetivo El objetivo del proyecto reside en la documentación del proceso de gestión de la logística interna del almacén del vehículo Scoobic BioCargo. El núcleo del proyecto desde mi comienzo en la empresa fue encontrar una solución de almacenaje para dar soporte a la puesta en marcha de la línea de ensamblaje de este vehículo. Decidir el tipo de organización del almacén, habiendo valorado diferentes opciones y buscando la solución óptima con las herramientas de las que disponía, entre las que destacan Excel y Python. Conseguir una solución práctica en poco tiempo y sin contar con implementación de softwares más especializados fue siempre el propósito principal, el análisis de las piezas para justificar la solución escogida (facilitando así la futura transición a un software más robusto), la creación de un programa asignador de ubicaciones para automatizar en la medida de lo posible tareas tediosas, el desarrollo de una GUI que permitiera a todo el equipo trabajar con la herramienta y que esta fuera útil no solo para el desarrollador, así como llevar un control de inventario suficiente para la puesta en marcha de la línea han sido las principales funciones que se han desarrollado para sacar adelante la gestión de un almacén creado desde cero. Podríamos describir el proyecto como una simulación preliminar de un SGA que modela las operaciones básicas del almacén y que permite redefinir las necesidades de este antes de llevar a cabo una implementación futura de la mano de un software especializado que permitiera también trabajar en la optimización avanzada de inventarios. Cualquier tecnología suficientemente avanzada es equivalente a la magia. - Arthur C. Clarke-
3 1.3. Estructura de la memoria El Capítulo 1: Introducción establece el contexto general del proyecto, abordando la motivación, el objetivo principal y la estructura de la memoria. A continuación, en el Capítulo 2: Estado del Arte, se examina el conocimiento actual sobre la gestión de almacenes, ofreciendo definiciones básicas, principios de almacenaje y un análisis detallado de las tecnologías y herramientas de gestión de almacenes (WMS), organizadas por complejidad. Seguidamente, el Capítulo 3: Descripción de la Empresa proporciona una visión integral de la entidad involucrada, incluyendo su contexto, historia, misión, visión y los productos y servicios que ofrece. Esta información es crucial para comprender el entorno en el que se desarrolla el proyecto. En el Capítulo 4: Línea de Ensamblaje, se detalla el funcionamiento de la línea de ensamblaje, describiendo su infraestructura y los equipos utilizados en el proceso. Esto se complementa con el Capítulo 5: Descripción del Almacén, que analiza la infraestructura y el equipamiento del almacén, esencial para entender la gestión y organización del espacio de almacenamiento. El Capítulo 6: Desarrollo expone el proceso de implementación del proyecto, incluyendo los pasos seguidos, la elaboración del BOM (Bill of Materials), las decisiones sobre almacenaje, el desarrollo del algoritmo de asignación de ubicaciones, la creación de la GUI en Excel y el control de inventario. Esta sección proporciona una visión detallada de cada aspecto del trabajo realizado. Finalmente, el Capítulo 7: Conclusiones resume los hallazgos del proyecto, aborda los problemas encontrados y sus soluciones, y presenta una reflexión final sobre el trabajo. Para concluir, el Capítulo 8: Anexos ofrece documentos adicionales y materiales de apoyo relevantes que complementan y respaldan el contenido principal de la memoria.
2 ESTADO DEL ARTE 2.1 ¿Qué es un almacén? El almacén es un espacio definido que puede ser abierto, al aire libre (como un terreno), cubierto sin paredes (como almacenes de materias primas), con algunas paredes o completamente cerrado (como cámaras frigoríficas o almacenes automáticos). Según el Diccionario de Logística, un almacén se define como un espacio especialmente diseñado, estructurado y planificado para recibir, almacenar, custodiar, proteger, controlar, manipular, reacondicionar y enviar productos, ya sean materias primas, semielaborados o terminados. Figura 1: Almacén exterior e interior ¿Por qué se necesita un almacén? Es esencial para la mayoría de las empresas industriales, comerciales o de servicios. Estas organizaciones necesitan equilibrar los desajustes entre la oferta y la demanda de productos, que suelen no coincidir en cantidad y tiempo debido a demoras en producción, distancia al cliente o estacionalidad, entre otros factores. Así, el almacenamiento actúa como un recurso para balancear compras y ventas regulando el flujo de adquisiciones de materias primas o productos semielaborados y las entregas de productos terminados a los clientes finales. Para lograr precios competitivos, las empresas buscan que los costos de almacenamiento sean menores que el aumento de precio del material o producto si no existiera el almacén. Para reducir costos, se busca la mejor relación calidad-precio en los suministros, una mayor producción que abarate los costos por unidad o un sistema de transporte consolidado, pero siempre teniendo en cuenta el costo de almacenaje para alcanzar un equilibrio positivo. [1] 2.1.2 Los principios del almacenaje En el almacenamiento de mercancías deben seguirse unos principios básicos que han de estar alineados con los objetivos principales de la empresa u organización y, especialmente, con sus procesos logísticos. Las principales cuestiones que se deben tener en cuenta son: “Si nuestro cerebro fuera tan sencillo como para poder entenderlo, seríamos tan tontos que, de todos modos, no lo podríamos entender.” Jostein Gaarder
Descripción de la empresa 38 38 y contaminantes. La promoción del transporte público y la movilidad activa, como el uso de bicicletas y el desplazamiento a pie, reduce la dependencia de los vehículos privados. Además, muchos gobiernos ofrecen incentivos financieros y beneficios fiscales para la compra de vehículos eléctricos, que producen cero emisiones en el punto de uso. En algunos casos, se planea la eliminación total de los vehículos de combustión interna en los centros de las ciudades en los próximos años. 2.2.3 Restricciones en los Centros Urbanos y su Impacto en el Sector de Vehículos de Reparto En los últimos años, el sector de reparto ha experimentado un crecimiento exponencial, impulsado en gran parte por el auge del comercio electrónico y el incremento de las compras en línea. Este crecimiento ha resultado en una mayor demanda de servicios de entrega rápida y eficiente, lo que ha llevado a un aumento significativo en el número de vehículos de reparto en las calles de las ciudades. Las nuevas restricciones en los centros urbanos tienen un impacto significativo en el sector de vehículos de reparto. Diseñadas para reducir la contaminación del aire, estas restricciones afectan directamente a las flotas de entrega que tradicionalmente han dependido de vehículos de gasolina y diésel. Las empresas de logística y distribución enfrentan varios desafíos para cumplir con estas regulaciones mientras mantienen la eficiencia operativa. Uno de los principales desafíos es el costo de actualizar las flotas a modelos eléctricos, lo cual puede ser una inversión significativa para las empresas. Además, la infraestructura de carga para vehículos eléctricos en áreas urbanas es aún limitada, lo que complica la transición. Los vehículos eléctricos también suelen tener un rango de autonomía menor que los vehículos de combustión, lo que requiere ajustes en las rutas y horarios de entrega. 2.3 Historia y evolución "Un día mi hijo Álvaro Gómez, CMO de Lola Market en Madrid, planteó el problema de por qué no hay vehículos intermedios entre las motos y las furgonetas. Llevar la compra a casa desde los supermercados físicos y online tiene un problema: por volumen y peso no es viable la motocicleta y las furgonetas van casi vacías y ocupan mucho espacio en la ciudad, aparcan mal, colapsan el tráfico, recaudan multas… en definitiva, no son eficientes para el last mile. De ahí nació Scoobic, un vehículo ágil como una moto y con capacidad de carga de una furgoneta." [4] (José María Gómez, 2018, Entrevista a José María Gómez, CEO de Scoobic: vehículos ágiles y sostenibles para una logística más eficiente) Una de las claves fundamentales que impulsó la creación de Scoobic y que se considera vital para su éxito en el sector logístico es su enfoque disruptivo en cuanto al tamaño y funcionalidad de los vehículos de reparto. José María Gómez, CEO de Scoobic, resalta que los vehículos logísticos han mantenido las mismas dimensiones durante décadas, diseñados para desplazamientos interurbanos y carreteras abiertas, lo que no se adapta eficientemente a los repartos de última milla. En este sentido, la verdadera disrupción según José María Gómez (CEO de la empresa), comienza con la reducción de tamaño de los vehículos en un 50%, lo que permitiría ocupar un 50% menos de espacio en las ciudades. Esta innovación no solo facilitaría la movilidad urbana, sino que también mejoraría significativamente la eficiencia en la entrega de mercancías en entornos urbanos congestionados. Además, esta visión de reducción de tamaño se complementa con la apuesta por la electrificación, la conectividad, el uso compartido e incluso la autonomía de los vehículos, elementos clave que añaden valor y eficiencia a la propuesta de Scoobic en la logística urbana. En cuanto a la evolución de la empresa… En 2018, Scoobic comenzó a diseñar su primer vehículo de reparto 100% eléctrico con tres ruedas. Este diseño
39 innovador estaba pensado para ser eficiente en espacios urbanos, donde la congestión del tráfico y las restricciones de emisiones son mayores. En 2019, Scoobic lanzó oficialmente su primer vehículo y obtuvo patentes en la Unión Europea, Estados Unidos y China. Este hito marcó el inicio de su expansión internacional, posicionando a la empresa como un pionero en soluciones de movilidad eléctrica sostenible. En 2020, más de 50 empresas internacionales de reparto probaron e incorporaron los vehículos de Scoobic a sus flotas. Entre estos clientes se encuentran algunas de las mayores compañías de logística del mundo, lo que validó la efectividad y la fiabilidad de los vehículos de Scoobic en operaciones de reparto urbano. En 2022, Scoobic atrajo la atención de Fondos Europeos InnoEnergy, que se convirtieron en el inversor principal en una ronda de financiación de 2.5 millones de euros. Este financiamiento permitió a Scoobic acelerar su crecimiento y continuar innovando en el diseño y la producción de vehículos eléctricos. Además, esta inversión despertó el interés de otros fondos, consolidando la posición de Scoobic en el mercado de la movilidad sostenible. 2.4 Visión y misión La visión de una empresa representa una imagen futura deseada y sirve como un faro guía hacia donde aspira llegar a largo plazo. En el caso de Scoobic, su visión es convertirse en líder mundial en la transformación de la logística urbana, proporcionando soluciones de reparto de última milla ágiles, sostenibles y eficientes. La visión de Scoobic va más allá de simplemente ofrecer vehículos; busca mejorar la movilidad en las ciudades y contribuir a la reducción de la contaminación ambiental. La misión de una empresa describe su propósito fundamental, explicando qué hace, cómo lo hace y para quién lo hace. Es una declaración concreta que guía las acciones diarias de la organización. En el caso de Scoobic, su misión es diseñar, fabricar y ofrecer vehículos de última milla innovadores, eléctricos y conectados. Además, se compromete a establecer la primera fábrica en Andalucía dedicada al ensamblaje de vehículos eléctricos de última milla. A través de estas acciones, Scoobic lidera el cambio hacia una logística urbana más limpia y eficiente, mejorando así la calidad de vida en las comunidades donde opera.
Descripción de la empresa 40 40 2.5 Productos y servicios Figura 3: Catálogo Scoobic 22/23 2.5.1 Scoobic Light El Scoobic Light es un vehículo eléctrico de tres ruedas desarrollado por Scoobic, diseñado para mejorar la movilidad urbana sostenible. Su estructura compacta y ligera permite maniobrar fácilmente en entornos urbanos densamente poblados y acceder a áreas restringidas. Con una capacidad de carga de hasta 750 litros y una carga útil suficiente para la logística de última milla, el Scoobic Light optimiza el uso del espacio y la eficiencia energética. Figura 4: Scoobic Light
41 Una característica destacada del Scoobic Light es su diseño como Narrow Tilting Vehicle (NTV). Este diseño combina una estructura estrecha con la capacidad de inclinarse al tomar curvas, similar a una motocicleta. Esta capacidad de inclinación automática permite que el Scoobic Light mantenga una mayor estabilidad y seguridad al maniobrar en entornos urbanos densamente poblados. La inclinación mejora la maniobrabilidad y reduce el riesgo de vuelco, proporcionando una experiencia de conducción más ágil y segura, especialmente en curvas cerradas y durante cambios rápidos de dirección. El Scoobic Light lo podemos encontrar en varios formatos, de esta manera puede adaptarse a las necesidades de distintos clientes. Figura 5: Configuraciones Scoobic Light 2.5.2 Scoobic Mini El Scoobic Mini también es un vehículo de tres ruedas que incorpora el sistema NTV de basculación del vehículo, como su propio nombre indica, es una versión reducida del Scoobic Light que permite mayor maniobrabilidad aún si cabe, aunque suponga reducir la carga almacenable en la caja. También tiene un precio más reducido. Figura 6: Scoobic Mini
Descripción de la empresa 42 42 Adjunto a continuación distintas configuraciones del Scoobic Mini: Figura 7: Configuraciones Scoobic Mini 2.5.3 Scoobic Mouse El Scoobic Mouse es un vehículo eléctrico compacto y ligero, diseñado para optimizar la movilidad urbana y las entregas de última milla en entornos con alta densidad de tráfico. Con dimensiones reducidas (aproximadamente 2.5 metros de longitud, 1 metro de ancho y 1.4 metros de altura) y un peso de entre 300 y 400 kg sin carga, este vehículo es altamente maniobrable y capaz de acceder a calles estrechas donde otros vehículos tendrían dificultades. El Scoobic Mouse está equipado con un motor eléctrico alimentado por una batería de iones de litio, proporcionando una autonomía de alrededor de 100 kilómetros por carga y un tiempo de recarga de 4 a 8 horas. Su capacidad de carga es de hasta 500 kg y 1000 litros, haciéndolo ideal para la entrega de paquetes y mercancías ligeras en áreas urbanas. Figura 8: Scoobic Mouse
43 Ventajas del Scoobic Mouse con Respecto a una Furgoneta Convencional Movilidad y Maniobrabilidad: El diseño compacto del Scoobic Mouse le permite moverse con facilidad en calles estrechas y congestionadas, algo complicado para una furgoneta convencional de mayor tamaño. Sostenibilidad Ambiental: Al ser un vehículo eléctrico, el Scoobic Mouse produce cero emisiones de CO2 durante su operación, contribuyendo a la reducción de la contaminación ambiental. Reducción de Contaminación Acústica: La operación casi silenciosa del Scoobic Mouse minimiza la contaminación acústica en entornos urbanos, mejorando la calidad de vida en áreas densamente pobladas. Costes Operativos y de Mantenimiento: Los costes de operación del Scoobic Mouse son menores debido al menor precio de la electricidad en comparación con los combustibles fósiles, y su mantenimiento es más sencillo gracias a la simplicidad del motor eléctrico y la menor cantidad de piezas móviles. Acceso a Zonas Restringidas: Muchas ciudades restringen el acceso de vehículos de combustión interna en ciertas áreas para reducir la contaminación. El Scoobic Mouse, al ser eléctrico, puede acceder a estas zonas sin restricciones. Estas ventajas hacen del Scoobic Mouse una solución más eficiente y ecológica para las operaciones de entrega urbana, especialmente en áreas densamente pobladas y con restricciones de tráfico para vehículos de combustión interna. A continuación, se muestran las distintas configuraciones de ‘box’ que existen para el Scoobic Mouse: Figura 9: Configuraciones Scoobic Mouse 2.5.4 Scoobic VS1 La Scoobic VS1 es una motocicleta eléctrica que cuenta con dos compartimentos para carga, a diferencia de las motos de reparto convencionales que solo portan espacio para la carga en la parte trasera del vehículo. Posee una capacidad de carga de 75kg en la parte trasera y 25kg en la parte delantera. Pudiendo alcanzar velocidades de hasta 50km/h, la VS1 cuenta con un sistema de baterías intercambiables. El vehículo posee una autonomía aproximada de 116km y necesita un tiempo de carga de baterías de 2,5h.
Descripción de la empresa 44 44 Figura 10: Scoobic VS1 Se muestran a continuación las configuraciones de carga de la VS1: Figura 11: Configuraciones Scoobic VS1 2.5.5 Scoobic E-Box El vehículo eléctrico de última milla E-Box está diseñado para incrementar la eficiencia operativa en las entregas urbanas, permitiendo realizar un 30% más de entregas por hora en comparación con una furgoneta convencional. Este innovador vehículo de reparto posee una doble homologación, lo que permite su conducción tanto de manera convencional, similar a un patinete eléctrico, como en funciones de carro asistido. Esta versatilidad facilita el acceso a calles peatonales, edificios y locales comerciales. El Scoobic E-Box presenta dimensiones compactas, con 1,25 metros de largo, 1,10 metros de alto y 0,75 metros de ancho, y un peso total de 70 kilogramos. Está equipado con una batería de 48V y una capacidad de 1,44 kWh, que se puede intercambiar fácilmente. El tiempo de carga de la batería varía entre 6 y 8 horas, proporcionando una autonomía eléctrica aproximada de 70 kilómetros. Este vehículo también destaca por su notable capacidad de carga, permitiendo transportar hasta 400 litros y 120 kilogramos de mercancía. Su velocidad máxima está limitada a 25 km/h, conforme a la normativa de Vehículos de Movilidad Personal, garantizando así la seguridad y cumplimiento regulatorio en entornos urbanos.
45 Figura 12: Scoobic E-Box Se adjuntan a continuación las especificaciones técnicas del vehículo: Figura 13: Especificaciones técnicas E-Box 2.5.6 Scoobic BioCargo La BioCargo de Scoobic es la última creación de la empresa, es una bicicleta eléctrica con capacidad de carga de hasta 350kg, a simple vista puede parecer un pequeño camión, parecido al Scoobic Mouse, pero a diferencia de este, la BioCargo se propulsa con pedales, y mide 1 metro de ancho, lo que le permite circular por carriles bici dado que está considerado como una bicicleta. La gestión del almacén que se lleva a cabo en este proyecto corresponde al almacén de este vehículo, la BioCargo es el primer vehículo que se empezará a producir en línea en la nueva fábrica de Utrera. Este es un vehículo diseñado al completo por el equipo Scoobic y que nuevamente supone una gran innovación en la movilidad eléctrica, dado que combina las ventajas legales y de acceso de una bicicleta, y las operativas de un vehículo eléctrico con tanta capacidad de carga. El Scoobic BioCargo está equipado con un motor eléctrico alimentado por dos baterías de iones de litio, proporcionando una autonomía de alrededor de 60 kilómetros por carga y un tiempo de recarga de 4 a 8 horas. Aunque cuenta con la gran ventaja de que las baterías son intercambiables, por lo que podríamos conseguir una autonomía de hasta 120km si se llevara un repuesto de baterías.
Descripción de la empresa 46 46 Figura 14: Scoobic BioCargo Se muestran a continuación las especificaciones técnicas de este vehículo: Figura 15: Especificaciones técnicas BioCargo Actualmente la Scoobic BioCargo se encuentra en 2 configuraciones distintas, en su modelo estándar para Europa, y su modelo XL para Estados Unidos. La diferencia entre ambos vehículos es de dimensiones, dado que la regulación en ambos continentes es distinta y la categoría de bicicleta en Europa es más estricta.
47 3 LÍNEA DE ENSAMBLAJE n este capítulo se presenta la línea de ensamblaje del vehículo para poner un poco más en contexto los intereses de almacenaje. Esta línea de ensamblaje es la primera que se pondrá en marcha en la empresa, a partir de ahora se empleará el término “tacto” para referirse a cada puesto de montaje, la línea tiene una estructura lineal con una entrada y una salida, a continuación se desarrollan algunos puntos importantes para tener mayor conocimiento del proyecto al que nos enfrentamos. 3.2 Funcionamiento de la línea de ensamblaje La línea de montaje se compone de 8 tactos, los 6 primeros dedicados al montaje mecánico de todas las piezas del vehículo, el tacto número 7 para la puesta en marcha de la electrónica de este, y el tacto número 8 para llevar a cabo un control de calidad. Parte del equipo de ingeniería ha llevado a cabo la estrategia acerca del orden que hay que seguir para montar el vehículo. Hasta el momento, la línea de producción no ha empezado a producir en masa, por lo que en un futuro será necesario realizar ajustes de montaje para poder fijar un tiempo de ciclo único para cada tacto. A parte del ensamble de las piezas en la línea de producción, en la línea existen los llamados sub-tactos, lugares donde se preensamblarán piezas que posteriormente quedarán suministradas a la línea. De esta manera extraemos de la ecuación aquellos ensamblajes que no se ajusten al tiempo de ciclo, y paralelizamos de alguna manera parte del trabajo. 3.3 Infraestructura de la línea El montaje del vehículo se llevará a cabo de manera simétrica, en cada puesto de trabajo habrá dos operarios, que operarán de manera paralela montando el vehículo, por ejemplo, al montar las ruedas, el operario izq. montará las ruedas del lado izquierdo del vehículo, y el operario dcha. las ruedas del lado derecho. Habrá casos en los que alguna pieza solo se monte en uno de los lados o que solo haya una pieza por vehículo y se pierda la simetría, en ese caso los operarios tendrán asignados qué operaciones debe hacer cada uno. La idea aquí es que se optimice al máximo el tiempo de montaje, esto podemos lograrlo reduciendo los movimientos que el operario tendría que hacer si tuviera que estar moviéndose alrededor de la mesa de trabajo. A continuación se presenta el espacio de trabajo de la línea de montaje: E "La suerte es lo que sucede cuando la preparación se encuentra con la oportunidad" - Séneca -
Línea de ensamblaje 54 54 3.3.3.5 Juego llaves Allen Estas herramientas manuales se utilizarán para diversas aplicaciones, nunca está de más disponer de estas herramientas en nuestro lugar de trabajo. Figura 26: Juego llaves Allen 3.3.4 Equilibradores Un equilibrador es un sistema de poleas que ayuda a soportar el peso de la herramienta, permite una mejor organización del entorno, y reduce la fatiga del operario ante el uso repetitivo de la herramienta. Figura 27: Equilibrador Este sistema de poleas se instala a lo largo de la línea de montaje sobre unos raíles metálicos que permiten el deslizamiento de la polea, y por tanto de la herramienta a lo largo del entorno de trabajo. En industria existen dos tipos de equilibradores, los equilibradores de gravedad 0 y los equilibradores retráctiles. 1. Equilibradores de gravedad 0 Estos equilibradores están diseñados para soportar herramientas y equipos de manera que se sientan prácticamente sin peso, facilitando su manejo y reduciendo la fatiga del operador. La herramienta quedará siempre en la posición en la que el operario la deje por última vez. Ventajas: 1. Reducción de Fatiga: Estos equilibradores minimizan el esfuerzo necesario para manejar herramientas pesadas, lo cual es beneficioso para tareas repetitivas y prolongadas. 2. Mayor Precisión: Al eliminar la sensación de peso, permiten movimientos más precisos y controlados. 3. Mejora de la Seguridad: Reducen el riesgo de lesiones por sobreesfuerzo al aliviar la carga de trabajo físico. 4. Aumento de la Productividad: Facilitan un uso más rápido y eficiente de las herramientas, lo cual puede incrementar la productividad. Desventajas: 1. Costo: Suelen ser más caros que otros tipos de equilibradores debido a su tecnología avanzada.
55 2. Mantenimiento: Pueden requerir más mantenimiento para asegurar su correcto funcionamiento. 2. Equilibradores retráctiles Los equilibradores retráctiles funcionan como un mecanismo de resorte que sostiene la herramienta y permite retraerla automáticamente cuando no está en uso. La herramienta volverá siempre a su posición inicial (previamente fijada). Ventajas: 1. Organización: Mantienen las herramientas recogidas y fuera del camino cuando no se usan, ayudando a mantener un área de trabajo ordenada. 2. Acceso Rápido: Las herramientas están siempre al alcance de la mano, lo cual puede mejorar la eficiencia. 3. Costo: Generalmente son más económicos que los Zero Gravity Balancers. 4. Durabilidad: Su diseño simple y robusto los hace menos susceptibles a fallos y necesitan menos mantenimiento. Desventajas: 1. Peso Residual: Aunque reducen algo del peso de la herramienta, no eliminan completamente la sensación de peso, lo cual puede seguir causando fatiga en usos prolongados. 2. Limitación de Movimiento: El cable retráctil puede limitar la libertad de movimiento y ser menos flexible en comparación con los Zero Gravity Balancers. 3. Desgaste del Cable: El uso constante puede causar desgaste en el cable, necesitando reemplazos periódicos. 3. Conclusión La elección entre un Zero Gravity Balancer y un Retractor Balancer depende de las necesidades específicas de la tarea: • Equilibradores de gravedad 0, son ideales para situaciones donde la reducción máxima del peso y la precisión son críticas. Son una excelente opción para trabajos que requieren manipulación constante y precisa de herramientas pesadas. • Equilibradores retráctiles, son más adecuados para entornos donde la organización y el acceso rápido a las herramientas son más importantes, y donde el presupuesto es una consideración significativa. En Scoobic, en primera instancia se ha optado por unos equilibradores retráctiles, las herramientas con las que se trabaja no son excesivamente pesadas y es la buena organización del entorno de trabajo lo que se ha preferido priorizar, teniendo también en cuenta la gran diferencia en cuanto al precio de ambos modelos. Con la puesta en marcha de la línea, se analizará el rendimiento de estos equilibradores por si hubiera que cambiar de modelo.
Descripción del almacén 56 56 4 DESCRIPCIÓN DEL ALMACÉN “Con mucha diferencia, el mayor peligro de la Inteligencia Artificial es que las personas concluyen demasiado pronto que la entienden”. -Eliezer Yudkowsky En este capítulo, se presenta el almacén en torno al cual se ha realizado el proyecto, se explica la distribución escogida y se presenta también el equipamiento del que se dispone para poder operar en él. 4.1 Infraestructura del almacén Figura 28: Almacén Scoobic BioCargo El almacén en el que se ha desarrollado este proyecto se encuentra en la nave de la fábrica de Scoobic: “Scoobic Factory” en Utrera, Sevilla. Este almacén estará dedicado para el almacenamiento de los materiales correspondientes a la producción del vehículo BioCargo.
57 Figura 29: Scoobic BioCargo El almacén se compone de 6 líneas de estanterías convencionales paletizadas, en total se dispone de 56 racks de estanterías, con 4 niveles de altura cada uno. Figura 30: Plano almacén Scoobic BioCargo Las estanterías convencionales son la solución más versátil a la hora de comenzar con un gran almacén que albergará muchas referencias. Son el sistema de almacenamiento más universal gracias a su versatilidad. Se distribuyen en el almacén junto a una serie de pasillos interiores y ofrecen acceso directo y unitario a todos los palets, por lo que son ideales cuando se tiene una gran variedad de referencias. [5] Figura 31: Imágenes e ilustraciones almacenes convencionales
Descripción del almacén 58 58 Estas estructuras son de rápido montaje y el coste de mantenimiento es bajo. Además, se adaptan a la altura del almacén y al almacenaje de múltiples tipos de cargas, desde palets y contenedores de distintos pesos y dimensiones hasta cajas, bidones, y bobinas. Son configurables y escalables, la altura de los niveles de almacenaje es regulable y se puede modificar para reconfigurar la instalación. Además, es posible ampliar fácilmente las estanterías añadiendo módulos adicionales y niveles en altura. En nuestro caso concreto, como he mencionado con anterioridad, disponemos de 57 módulos con 4 niveles de altura. Sin embargo, es conveniente comentar que debido a limitaciones con la maquinaria de la que se disponía hasta el momento en la fábrica, se ha llevado a cabo la gestión del almacén omitiendo el nivel superior, dado que era demasiado tedioso acceder a él con la carretilla que disponíamos. Estas estanterías son aptas para picking, se pueden realizar estas labores en los niveles de suelo o niveles inferiores, también veremos más adelante como se propondrán incluir baldas de madera en los niveles inferiores para ampliar la eficiencia del almacén. Cuando llegué a la empresa para involucrarme en la gestión del almacén, la infraestructura de las estanterías ya estaba, en un primer momento, se pretendió utilizar únicamente los dos pasillos centrales, más adelante se habilitaron el resto de pasillos, por temas de dimensionamiento, y temas de operabilidad dado que la carretilla de la que disponemos por ahora dificulta el acceso a los niveles más altos del almacén. Figura 32: Sección del almacén seleccionada inicialmente Entre los tipos de piezas que se almacenarán en el almacén, encontramos: piezas de grandes dimensiones que no se pueden almacenar en palets y a las que habrá que fabricarles un útil personalizado, piezas que sí pueden paletizarse y que son ideales para este sistema, y piezas que son muy pequeñas como para almacenarse en palets, dado que el volumen de ocupación que tendría dicho palet no sería óptimo para un almacén eficiente, y que por tanto se diseñará un sistema de baldas que se implementará en los niveles inferiores del almacén para dar solución a todas estas referencias. Con estos comentarios quiero mencionar la importancia de buscar una solución personalizada en base a las necesidades que tengamos. A lo largo del proyecto veremos como siempre se ha intentado llevar un equilibrio entre buscar soluciones con las herramientas de las que disponemos, pero sin dejar de buscar nuevas herramientas para que las necesidades queden cubiertas con mayor éxito.
59 4.2 Equipamiento actual. Al inicio de mi etapa en Scoobic, lo único que se encontraba en el almacén eran las estanterías convencionales, europalets, y una carretilla elevadora. Figura 33: Equipamiento en almacén al inicio del proyecto 4.2.1 Estanterías Para una buena gestión del almacén es necesaria una numeración de las estanterías y cada una de sus posiciones en el almacén, la codificación que se ha elegido para numerar las distintas posiciones es la siguiente: - Se dispone de 57 racks de estanterías, se entenderá “rack” de estantería como un módulo de 3 huecos de palets, en toda su altura. Figura 34: Rack de estanterías
Descripción del almacén 60 60 Figura 35: Plano Almacén Scoobic BioCargo - Cada rack dispone de 4 filas, que van codificadas de abajo hacia arriba desde la “A” hasta la “D”. - Cada rack dispone de 4 columnas, que van numeradas de 1 a 3 de izquierda a derecha. Para el rack 47, la codificación de cada posición en la estantería sería así: Figura 36: Esquema Rack 47 El orden de numeración de los racks es de esa manera dado que en un primer momento se numeraron los pasillos centrales y posteriormente se fueron habilitando el resto de estanterías. 4.2.2 Útiles de almacenaje · Cajas Es muy común utilizar como útil de almacenaje cajas de cartón, es el recipiente de almacenaje por excelencia y es mediante dichas cajas como la mayoría de los proveedores enviarán sus productos. El vehículo en torno a cuál gira este proyecto, es un vehículo que se ensamblará en la línea de producción, el almacén objeto de estudio es un almacén que abarca cientos de referencias distintas de distintos proveedores. Esto significa que cada proveedor enviará sus productos de la manera que considere, muchos de estos vendrán bien empaquetados y preparados para su paletización, pero otros muchos vendrán con el embalaje deteriorado y la posibilidad de apilar dichos productos se dificulta.
61 Además, al ser una línea de producción en pleno comienzo, las producciones no son masivas, esto significa que se dará en numerosas ocasiones que un mismo proveedor nos suministre distintas piezas, y al no ser lotes muy grandes enviarán todas las piezas en la misma caja. Esto puede suponer un problema dado que nuestro objetivo es poder almacenar cada pieza de manera individual y no se prevé que haya cajas que contengan diferentes referencias de productos. Para ponerle solución a estas distintas casuísticas, se decidió optar por un almacenamiento normalizado, es decir, en el almacén habrá cajas de plástico apilables de distintos tamaños. Lo que se hará cuando lleguen los productos, es moverlos al tipo de caja que le haya sido asignado según criterios de peso y dimensiones. Se trabajará principalmente con 3 tipos de cajas, a las que a partir de ahora llamaré cajas “S”, “M”, y “L”. Figura 37: Cajas "S" y "M" Figura 38: Caja "L" Tabla 2: Dimensiones cajas almacén Tipo Caja Nombre W (cm) L (cm) H (cm) Volumen (cm^3) NºCaja / Caja Grande L Contenedor Fab 110 110 76 919600 0,67 M Caja Gris 36 56 32 64512 12 S Caja Blanca 36 25 16 14400 24 Dado que estas cajas son apilables, para estimar qué porcentaje del almacén quedará ocupado según el dimensionamiento que hemos hecho de aproximadamente dar almacenaje a piezas para 150 vehículos,
Descripción del almacén 62 62 tuvimos que fijar cuantas cajas caben en cada palet. - Para las cajas “S”, caben 8 cajas por capa de palet, y como se pretende apilar como mínimo 3 capas, deducimos que en 1 palet caben 24 cajas blancas. - Para las cajas “M”, caben 4 cajas por capa de palet, multiplicado por 3 niveles, 12 cajas por palet - Para las cajas “L”, como ocupan más de un palet, podemos decir que en 3 palets caben 2 cajas “L”. En el almacén disponemos de estos 3 tipos de caja, la caja “S” blanca se usará para todas las piezas posibles, dado que de cara a la reposición en la línea de producción es el tipo de caja con el que mejor se maniobra y que mejor cabe en los alimentadores de la línea. Esto no quiere decir que la mayoría de piezas vayan en este tipo de cajas dado que la mayoría de piezas no entran por dimensiones en dichas cajas. Las cajas tipo “M” serán las más utilizadas, tienen una gran capacidad y abarcan un gran rango de dimensiones, si es cierto que nos veremos obligados en algún caso a limitar la ocupación de dichas cajas en algún tipo de pieza debido al elevado peso que alguna caja podría llegar a tener, al menos de cara a la alimentación a la línea. En el almacén sí que intentaremos siempre aprovechar el espacio al máximo. Las cajas tipo “L” ocupan más de un europalet, es cierto que quizás sería conveniente un rediseño de este tipo de caja grande para poder optimizar al máximo el espacio, dado que este tipo de cajas ocupan 1.5 huecos de estanterías, por lo que en un nivel del rack solo se podrían almacenar dos de estas cajas. Este análisis de los tipos de cajas que se necesitan para dar solución al almacenaje de todas las piezas es dinámico. El estudio inicial que se hizo abarca estos tres tipos de cajas presentados, pero a medida que las piezas han ido llegando han ido surgiendo problemas específicos que ha habido que resolver sobre la marcha. Se presentan de manera oficial estos tres tipos de cajas puesto que son los que aparecen en el análisis de la BOM (Bill of Materials) y en el programa de asignador de ubicaciones que se presentará posteriormente. Comento de antemano que habrá casos excepcionales en los que algunas piezas se almacenen en sus embalajes originales, y que se propondrá la futura inclusión de nuevos tipos de caja para aportar una solución más precisa y completa. · Útiles personalizados En el análisis de la BOM (Bill of Materials), se determina qué tipo de útil va asociado a cada pieza, como adelanto puedo comentar que casi todas las referencias pueden almacenarse en cajas “S” y “M”, algunas otras necesitarán almacenarse en cajas “L”. Pero habrá otras piezas a las cuales se le personalizarán útiles para que se almacenamiento sea lo más optimizado posible
63 Figura 39: Útil para ruedas Figura 40: Útil para chasis Estos útiles han sido creados por el equipo, teniendo en cuenta las dimensiones de las estanterías y dimensionando el número de piezas que se pretendía almacenar por cada útil. En capítulos posteriores se hablará un poco más a fondo a cerca de cada útil. Se muestra a continuación una tabla resumen con el nº de referencias que se ubicarán en cada tipo de útil: Tabla 3: Resumen distribución útiles Tipo de útil Nº de referencias ESPECIAL 10 L 18 M 48 RUEDAS 2 S 61 Total general 139
Desarrollo 70 70 Figura 43: Conjunto eje delantero En la mayoría de los casos de este tipo de elementos no se tendrán datos ni de material, ni de dimensiones, ni tampoco se almacenarán, dado que sirven para establecer una jerarquía con el resto de componentes. o Si no es “00”, sino “01”, “02”… hace referencia a cualquier componente del sistema en el que nos encontremos, en este caso, del eje delantero: Figura 44: Conjunto rueda delantera - BC-FA05-00 : Los últimos dos dígitos se encargan de numerar los distintos subcomponentes de cada componente: o Si es “00” significa que es el componente principal. o Si es distinto a “00”, hace referencia a un subcomponente. En el caso de la rueda delantera, es un componente del eje delantero, pero a su vez está compuesto por llanta, cubierta y cámara de neumático. Serán estos tres elementos los que tendrán la codificación BC-FA05-01, BC-FA05-02 y BC-FA05-03 Tabla 6: Extracto BOM | Desglose rueda delantera BC-FA00-00 PART NAME ID PICTURE PICTURE SUBSET SYSTEM LEVEL TACTO COMPONENT LEVEL SUB-COMPONENT LEVEL BC-FA00-00 Front Axle Front Axle BC-FA05-00 Front Axle 6Front Wheel BC-FA05-01 Front Axle 6Front Wheel Front Rim BC-FA05-02 Front Axle 6Front Wheel Front Tyre BC-FA05-03 Front Axle 6Front Wheel Camera Front Tyre
71 5.2.5 Extracción de características A mi llegada a la empresa, el BOM tenía la información básica de los elementos, pero esos datos no habían sido utilizados para nada más que parara organizarlos y tener un desglose detallado del vehículo, realmente para lo que se utiliza el BOM… Como yo debía analizar los elementos para poder almacenarlos de la manera más eficiente posible, decidí tratar dichos datos, añadí numerosas columnas a la tabla inicial del BOM que me servirían para aplicar distintas fórmulas en Excel, trabajar con tablas dinámicas, hacer agrupaciones de elementos, entre otras cosas. Intenté sacarles partido a todos estos datos dado que hasta el momento se estaba utilizando la tabla como si dijéramos, en “modo lectura”. 5.2.5.1 Tipo almacenaje En el BOM se reflejan todos los componentes del vehículo, pero a la hora de la verdad no todos se van a almacenar. Por eso decidí crear una columna llamada “Tipo de almacenaje” para clasificar los elementos según este criterio: - NO SE ALMACENA: todas aquellas referencias del BOM que no fueran a almacenarse, bien porque representaran un conjunto ensamblado al final de nuestra producción, o bien porque representaran un componente que ya vendría ensamblado por parte de los proveedores, véanse un par de ejemplos: Tabla 7: Extracto BOM | referencia no almacenada, producto ensamblado final PART NAME ID PICTURE PICTURE SUBSET SYSTEM LEVEL TACTO Weight (kg) Dimensions (W x L x H) cm Nº parts in vehicle MOSTRA R TIPO ALMACENAJE W (cm) L (cm) H (cm) Vol/Pieza (cm^3) Piezas/Veh·Caja (S) Piezas/Veh·Caja (M) Piezas/Veh·Caja (L) Tipo de Caja (S, M, L) it 1 Tipo de Caja (S, M, L) it 2 Piezas/Caja Nº piezas/ 150 veh BC-CH00-00 Chassis Chassis 1 NO SE ALMACENA #¡VALOR! #¡VALOR! #¡VALOR! NO SE ALMACENA NO SE ALMACENA - 0 BC-CH00-01 Chassis Chassis 120,870 285x25x14 1 1 ESPECIAL 285 25 14 99750 0 0 5 ESPECIAL ESPECIAL -150 BC-CH00-02 Chassis Chassis 40,200 25x13,04x2,15 1 1 25 13,04 2,15 700,9 15 69 780 S S 24 150 BC-CH00-03 Chassis Chassis 61,350 151,8x13,04x2,15 1 1 151,8 13,04 2,15 4255,8648 2 11 128 NO CABE NO CABE -150 Chassis Chassis 32,330 58,5x40x22,7 1 1 58,5 40 22,7 53118 0 0 10 L L 10 150 BC-ST00-00 Chassis Steering 1 NO SE ALMACENA #¡VALOR! #¡VALOR! #¡VALOR! NO SE ALMACENA NO SE ALMACENA - 0 BC-ST01-00 Chassis Steering 41,430 38,32x20,39x3,31 1 1 38,32 20,39 3,31 2586,251288 4 18 211 M M 10 150 BC-FA00-00 Front Axle Front Axle 1 NO SE ALMACENA #¡VALOR! #¡VALOR! #¡VALOR! NO SE ALMACENA NO SE ALMACENA - 0 BC-FA05-00 Front Axle 67,040 50x50x8,4 2 1 RUEDAS 50 50 8,4 21000 0 2 26 RUEDAS RUEDAS -300 BC-FA05-01 Front Axle 62,860 33x33x8,8 2 1 NO SE ALMACENA 33 33 8,8 9583,2 1 5 57 NO SE ALMACENA NO SE ALMACENA -300 BC-FA05-02 Front Axle 63,380 50x50x8,4 2 1 NO SE ALMACENA 50 50 8,4 21000 0 2 26 NO SE ALMACENA NO SE ALMACENA -300 BC-FA05-03 Front Axle 60,800 40x40x8,5 2 1 NO SE ALMACENA 40 40 8,5 13600 0 3 40 NO SE ALMACENA NO SE ALMACENA -300 BC-PW02-00 Powertrain Powertrain 21 NO SE ALMACENA #¡VALOR! #¡VALOR! #¡VALOR! NO SE ALMACENA NO SE ALMACENA - 0 BC-PW02-01 Powertrain Powertrain 24,000 17,46x16,68x16,62 1 1 17,46 16,68 16,62 4840,289136 2 9 113 S M 9150 PART NAME ID PICTURE PICTURE SUBSET SYSTEM LEVEL TACTO Weight (kg) Dimensions (W x L x H) cm Nº parts in vehicle MOSTRA R TIPO ALMACENAJE BC-CH00-00 Chassis Chassis 1 NO SE ALMACENA
Desarrollo 72 72 Tabla 8: Extracto BOM | referencia no almacenada, producto preensamblado - “En blanco”: todas aquellas referencias del BOM que quepan en alguna de las cajas, para saber qué piezas caben en las cajas, se creó la siguiente funcionalidad: Una de las funcionalidades más interesantes que implementé en el Excel fue la de programar un asignador automático de tipo de caja para todas aquellas referencias que se debían almacenar. Este asignador funciona de la siguiente manera: 1. Comprueba las dimensiones de la pieza, para ver cuál es el tipo de caja más pequeño en el que cabría. 2. Con las dimensiones de la pieza y de la caja escogida, estima cuantas piezas de dicha referencia cabrían en la caja escogida, teniendo en cuenta un nivel de ocupación configurable. 3. En el caso de que quepan menos de x piezas, asigna el siguiente tamaño de caja, si había escogido caja “S” asignará “M”, si había escogido caja “M” asignará “L”, si había escogido “L” dirá “NO CABE”. Tabla 9: Criterio asignador de cajas Se muestran a continuación varios ejemplos: o Caso 1: La pieza cabe en una de las cajas y cumple con el nº mínimo de piezas establecido Tabla 10: Extracto BOM | Asignador cajas: caso 1 En la primera iteración se asigna la caja más pequeña en la que quepa la pieza por dimensiones. En la segunda iteración no se cambia de caja porque caben 10 piezas, que es el mínimo impuesto para las cajas tipo “S”. Figura 45: Iteraciones asignador cajas S-S Si analizamos la “Tabla 9” podemos ver que de la referencia “BIO-CH00-02” caben 15 piezas en la caja “S”, 69 en la caja “M” y 780 en la caja “L”. El estimador diría que en la caja “S” caben 15 piezas, y es el dato que se toma como válido hasta que se haga la comprobación física. Cuando vayan llegando las piezas al almacén, iríamos comprobando si efectivamente caben 15 piezas, más, o menos. Para contemplar un fallo en la estimación, habilité otras columnas en las que yo podría escribir BC-FA05-01 Front Axle 62,860 33x33x8,8 2 1 NO SE ALMACENA PART NAME ID PICTURE PICTURE SUBSET SYSTEM LEVEL TACTO Weight (kg) Dimensions (W x L x H) cm Nº parts in vehicle MOSTRAR TIPO ALMACENAJE W (cm) L (cm) H (cm) Vol/Pieza (cm^3) Piezas/Ve h·Caja (S) Piezas/Veh·C aja (M) Piezas/Ve h·Caja (L) Tipo de Caja (S, M, L) it 1 Tipo de Caja (S, M, L) it 2 Piezas/Caja BC-CH00-02 Chassis Chassis 40,200 25x13,04x2,15 1 1 25 13,04 2,15 700,9 15 69 780 S S 24 Tipo de Caja (S, M, L) it 1 Tipo de Caja (S, M, L) it 2 S S
73 manualmente el tipo de caja en el que iría la pieza, y cuántas piezas cabrían en dicha caja. Esta asignación prevalece sobre la estimación. Es por eso que para el caso particular de esta pieza, cuando llegó al almacén nos dimos cuenta que realmente cabían 24 en vez de 15. Esto es ventajoso de alguna manera para nosotros porque optimizamos más aún el almacenamiento. o Caso 2: La pieza cabe en una de las cajas pero no cumple a priori con el nº mínimo de piezas. Tabla 11:Extracto BOM | Asignador cajas: caso 2 En la primera iteración asigna la caja “S” dado que por dimensiones dicha pieza cabe en una caja “S”. Sin embargo no cumple con el mínimo de piezas (solo caben 2), por tanto en la siguiente iteración asigna la caja “M”. Figura 46: Iteraciones asignador de cajas S-M - “ESPECIAL: Todas aquellas referencias que necesiten un útil personalizado: o Caso 3: La pieza no cabe en ninguna de las cajas Tabla 12: Extracto BOM | Asignador cajas: caso 3 (no cabe) Esta pieza tiene unas dimensiones muy grandes en uno de sus ejes, es por ello que no cabe en ninguna de las cajas, a esta pieza habrá que buscarle un almacenamiento especial, en el campo “TIPO DE ALMACENAJE”, en el que hasta el momento no había nada escrito, escribiremos “ESPECIAL”, y automáticamente el tipo de caja asignado dejará de mostrar “NO CABE” y mostrará “ESPECIAL”: Tabla 13: Extracto BOM | Asignador cajas: caso 3 (especial) Cuando hablamos de almacenamiento “ESPECIAL”, nos referimos a que habrá que buscarle un útil específico a dicha pieza. - “RUEDAS”: el caso de las ruedas es especial, las ruedas sí caben en las cajas pero por motivos de optimización del almacenamiento, se decidió buscarles un útil específico PART NAME ID PICTURE PICTURE SUBSET SYSTEM LEVEL TACTO Weight (kg) Dimensions (W x L x H) cm Nº parts in vehicle MOSTRAR TIPO ALMACENAJE W (cm) L (cm) H (cm) Vol/Pieza (cm^3) Piezas/Ve h·Caja (S) Piezas/Veh·C aja (M) Piezas/Ve h·Caja (L) Tipo de Caja (S, M, L) it 1 Tipo de Caja (S, M, L) it 2 Piezas/Caja BC-PW02-01 Powertrain Powertrain 24,000 17,46x16,68x16,62 1 1 17,46 16,68 16,62 4840,2891 2 9 113 S M 9 Tipo de Caja (S, M, L) it 1 Tipo de Caja (S, M, L) it 2 S M PART NAME ID PICTURE PICTURE SUBSET SYSTEM LEVEL TACTO Weight (kg) Dimensions (W x L x H) cm Nº parts in vehicle MOSTRAR TIPO ALMACENAJE W (cm) L (cm) H (cm) Vol/Pieza (cm^3) Piezas/Ve h·Caja (S) Piezas/Veh·C aja (M) Piezas/Ve h·Caja (L) Tipo de Caja (S, M, L) it 1 Tipo de Caja (S, M, L) it 2 Piezas/Caja BC-CH00-03 Chassis Chassis 61,350 151,8x13,04x2,15 1 1 151,8 13,04 2,15 4255,8648 2 11 128 NO CABE NO CABE - PART NAME ID PICTURE PICTURE SUBSET SYSTEM LEVEL TACTO Weight (kg) Dimensions (W x L x H) cm Nº parts in vehicle MOSTRAR TIPO ALMACENAJE W (cm) L (cm) H (cm) Vol/Pieza (cm^3) Piezas/Ve h·Caja (S) Piezas/Veh·C aja (M) Piezas/Ve h·Caja (L) Tipo de Caja (S, M, L) it 1 Tipo de Caja (S, M, L) it 2 Piezas/Caja BC-CH00-03 Chassis Chassis 61,350 151,8x13,04x2,15 1 1 ESPECIAL 151,8 13,04 2,15 4255,8648 2 11 128 ESPECIAL ESPECIAL -
Desarrollo 74 74 Figura 47: Útil para las ruedas o Caso 4: La pieza cumple con ambas especificaciones pero se decide no almacenar en caja. Tabla 14: Extracto BOM | Asignador cajas: caso 4 Clasificar las piezas según el tipo de almacenaje nos ayudó para saber cuántas piezas tendrían un almacenamiento normal (en palets), cuantas piezas no se almacenarían y cuántas piezas no cabrían en ninguna de las cajas y por tanto necesitarían un útil personalizado. Esto podemos verlo reflejado en la tabla que se muestra a continuación. Tabla 15: Tabla resumen Tipo de almacenaje 5.2.5.2 Tipo de caja, nº de piezas / caja, nº cajas / palet El asignador de cajas se ha explicado en el punto anterior para dar sentido al criterio de tipo de almacenaje, clasificando las referencias según la caja en la que iban a almacenarse, nos ha permitido tener una idea de cuántas cajas de cada tipo necesitaríamos pedir, este es un paso importante dado que cuando hablamos de dinero, es crucial no sobreestimar. Desde el primer momento, el dimensionamiento que se pretendía era de un almacenamiento máximo de piezas equivalente a 150 vehículos. PART NAME ID PICTURE PICTURE SUBSET SYSTEM LEVEL TACTO Weight (kg) Dimensions (W x L x H) cm Nº parts in vehicle MOSTRAR TIPO ALMACENAJE W (cm) L (cm) H (cm) Vol/Pieza (cm^3) Piezas/Ve h·Caja (S) Piezas/Veh·C aja (M) Piezas/Ve h·Caja (L) Tipo de Caja (S, M, L) it 1 Tipo de Caja (S, M, L) it 2 Piezas/Caja BC-FA05-00 Front Axle 67,040 50x50x8,4 2 1 RUEDAS 50 50 8,4 21000 0 2 26 RUEDAS RUEDAS - Etiquetas de fila Cuenta de PART NAME ID ESPECIAL 12 NO SE ALMACENA 133 RUEDAS 2 (en blanco) 109 Total general 256
75 Habilité en el BOM varias columnas relacionadas con cantidades de piezas, cajas y ubicaciones de estantería para tener conocimiento de cantidades reales. Figura 48: Extracto BOM | Encabezado columnas dimensionamiento - Piezas / Caja: En este campo se almacena el número de piezas de cada referencia que cabe en el tipo de caja que se le ha asignado, ya sea por estimación, o por asignación manual. - Nº piezas / 150 veh: Este es un cálculo muy sencillo, multiplica el nº de piezas que hacen falta de cada referencia para 1 vehículo y lo multiplica por 150 vehículos. Por ejemplo, en la fila del volante, saldrá 150. - Nº cajas / 150 veh: este dato nos indica cuántas cajas hacen falta para albergar las piezas necesarias para 150 vehículos. - Nº cajas GRANDES / 150 veh: este dato es importante, nos dice cuántos huecos de palet se necesitan por cada referencia para los 150 vehículos. Para explicar de manera más detallada como se obtiene este dato, es necesario explicar la siguiente tabla: Tabla 16: Tabla Fórmulas Esta tabla se encuentra en una de las hojas del Excel, y tiene distintas funcionalidades: 1. Recoge los distintos tipos de cajas con sus dimensiones para la elección del tipo de caja 2. Se fija el coeficiente de ocupación para las cajas, tanto el de las piezas/caja, como el de caja/palet 3. Se fija el número de vehículos para el que se quiere dimensionar el almacén 4. Se fija el número de niveles que tendrá un palet (si se apilan 2 cajas, 3, 4…). (Aunque este dato podrá modificarse también de manera individual para cada pieza). 5. Se calcula el número de cajas que caben por palet (según cada tipo de caja)
Desarrollo 76 76 Figura 49: Cajas "M" y “S” en palet ▪ Caben 4 cajas “M” por capa de palet ▪ Caben 8 cajas “S” por capa de palet El cálculo de cajas por palet para n vehículos es sencillo: 𝑛𝑝𝑎𝑙𝑒𝑡𝑠 𝑛𝑣𝑒ℎ = 𝑛𝑐𝑎𝑗𝑎𝑠 𝑛𝑣𝑒ℎ 𝑛𝑐𝑎𝑗𝑎𝑠/𝑝𝑎𝑙𝑒𝑡 - [%] Oc: Este campo representa el porcentaje de ocupación del último palet de cada referencia. - Weight x npiezas / 150 veh: Este campo almacena el peso de cada pieza ponderado con el número de piezas que hacen falta de cada referencia para cada vehículo. Este dato lo usaremos para poder clasificar las piezas según el peso, así podremos almacenar las piezas más pesadas y con mayor rotación en los niveles inferiores para que su acceso sea mucho más sencillo. Veamos ahora un ejemplo: Tabla 17: Extracto BOM | Tipo caja, nºcajas... PART NAME ID SYSTEM LEVEL Weight (kg) Nº parts in vehicle Tipo de Caja (S, M, L) it 2 Piezas/Caj a Nº piezas/ 150 veh Nº cajas/ 150 veh Nº cajas GRANDES / 150 veh [%] Oc Weight x NºPiezas / 150 veh [kg] BC-CH04-05 Chassis "Cabine" 2,260 1M4150 38 416% 339
77 5.2.6 Reajuste de las estimaciones Como bien sabemos, la teoría en la mayoría de los casos se aleja de la práctica, y en el caso que nos ocupa, también ocurre. Las estimaciones a cerca de cuantas piezas caben en una caja, cuantas huecos de palet puede ocupar cada pieza, así como casos especiales que se alejan de lo estándar, me llevaron a habilitar algunas columnas referidas a reajustes manuales de características, y otras que tenían que ver con condiciones impuestas como puede ser la saturación de nº de huecos de palet que una pieza necesitaba. El almacén es finito, cuenta con un nº determinado de posiciones, al principio solo se preveía utilizar 10 racks de estanterías, pero con este espacio ni por asomo se podrían almacenar las piezas para los 150 vehículos. En primera instancia, para ponerle solución a este problema se decidió saturar el nº de ubicaciones de palets de todas aquellas piezas que superaran un umbral, este umbral se fijó en 4 huecos, es decir, independientemente de los huecos que el programa hubiera estimado que cada pieza necesitaría, aquellos que superaran los 4 palets estarían saturados a 4. Posteriormente, de manera manual, se podría rehabilitar los huecos estimados en aquellas piezas que se considerara oportuno. Tabla 18: Extracto BOM | Evolución huecos palet En este extracto, se puede ver el estado de una pieza en dos momentos distintos: - El primero, con el almacén limitado, se necesitaba saturar los huecos asignados para que hubiera lugar para todas las referencias, el estimador calcula 25 huecos, se limita a 4. - El segundo, cuando ya podemos utilizar el almacén en su máxima expansión, y hemos tenido la oportunidad de ver realmente cuantas piezas de “BC-CH01-01” caben en cajas “M”. La asignación manual (últimas 3 columnas) prevalece sobre la estimación inicial y sobre la saturación. Teniendo en cuenta que las posiciones referentes al último nivel del rack (nivel D) estarían deshabilitadas debido a su difícil acceso con la carretilla que se tiene en la fábrica, se habilitaron todos los racks para poder almacenar todas las piezas que fueran necesarias. Durante los primeros meses no iban a haber piezas como para 150 vehículos, recordemos que este es un dimensionamiento objetivo y que realmente no sabemos si se llegará a tener el almacén al 100%, pero sobredimensionarlo de alguna manera es lo mejor que se puede hacer, para que la organización del almacén pueda soportar errores de cálculo, piezas que no estuvieran incluidas entre las almacenables… En el siguiente apartado, veremos por qué es tan importante que las estimaciones a cerca de cuánto ocupará cada pieza sean correctas. ESTADO PART NAME ID PICTURE PICTURE SUBSET SYSTEM LEVEL Nº cajas GRANDES / 150 veh [%] Oc Nº Huecos/ 150 veh (con saturación) Saturacion Tipo Caja (Manual) Piezas x caja (Manual) Niveles por palet (Manual) Almacen limitado BC-CH01-01 Chassis Chassis 25 25% 44 Almacen completo, comprobación manual BC-CH01-01 Chassis Chassis 933% 94 M 6 3
Desarrollo 78 78 5.3 Decisión de almacenaje 5.3.1 Sistemas de almacenaje Almacén Caótico Un almacén caótico es un sistema en el que los productos se almacenan en cualquier ubicación disponible dentro del almacén, sin seguir un orden predefinido. La ubicación de cada artículo se registra en un sistema de gestión de almacenes (WMS), que permite rastrear y recuperar los productos cuando se necesitan. Ventajas: • Optimización del espacio: Permite maximizar el uso del espacio, ya que cualquier hueco disponible puede ser utilizado para almacenar productos. • Flexibilidad: Es fácil agregar o reorganizar productos sin necesidad de reorganizar todo el almacén. • Velocidad en la entrada de productos: Los productos pueden ser almacenados rápidamente sin necesidad de buscar una ubicación específica. Desventajas: • Dependencia de la tecnología: Sin un sistema de gestión eficaz, encontrar productos puede ser complicado o imposible. • Curva de aprendizaje: Los trabajadores deben estar capacitados para utilizar el sistema de gestión. • Menos intuitivo: Puede ser menos comprensible para quienes no están familiarizados con el sistema. Almacén Organizado En un almacén organizado, cada producto tiene una ubicación fija predefinida basada en criterios como el tipo de producto, tamaño, frecuencia de uso, etc. La organización es sistemática y sigue un patrón lógico. Ventajas: • Facilidad de acceso: Los productos están en ubicaciones fijas, lo que facilita su localización sin necesidad de sistemas complejos. • Menos dependencia tecnológica: No requiere un sistema sofisticado para rastrear ubicaciones, ya que estas son fijas y conocidas. • Mayor previsibilidad: Es más fácil para nuevos empleados aprender la disposición del almacén. Desventajas: • Uso ineficiente del espacio: Puede no aprovechar de manera óptima todo el espacio disponible, ya que algunas ubicaciones podrían quedar vacías. • Rigidez: Es menos flexible ante cambios en la gama de productos o volúmenes de inventario, ya que reordenar el almacén puede ser laborioso. • Mayor tiempo en la entrada de productos: Se necesita más tiempo para colocar los productos en su ubicación específica. Resumen: • Almacén Caótico: Maximiza el espacio y es flexible, pero depende mucho de la tecnología. • Almacén Organizado: Es intuitivo y menos dependiente de la tecnología, pero puede ser menos eficiente en términos de espacio y flexibilidad.
79 5.3.2 Caso personal Hemos visto cuales son las principales estrategias de almacenaje más utilizadas, la pregunta es, cuál es la que más conviene según nuestra situación. Desde un primer momento, el equipo siempre ha preferido un almacén organizado, empezar un proyecto pretendiendo emplear un almacén de tipo caótico sin contar con la tecnología adecuada es algo atrevido. La manera más tradicional y sencilla de hacerlo es reservando espacio predeterminado para cada tipo de pieza, es la solución más fácil, intuitiva, y si se hace bien, puede ser muy eficiente pese a que el almacén no esté optimizado al 100%. Por tanto siempre se ha pretendido llevar a cabo un almacenamiento organizado, el problema al que me enfrenté fue que para poder reservar espacios, es necesario saber cuánto espacio se necesita reservar para cada pieza, las estimaciones que hice con las medidas de las piezas no son más que una medida relativa y provisional para hacer una estimación, pero la realidad es que hasta que las piezas no fueran llegando y supiéramos cuánto ocupa cada una, cómo se va a almacenar, etc., no se podría presentar un almacén objetivo, donde cada referencia tuviera una posición asignada. Además, el vehículo sigue sufriendo cambios, se prueban distintos frenos, distintas luces… el BOM no es estático y de cara a buscar una posición para cada pieza, es realmente complejo dado que todo está en constante cambio. Dicho esto, no hubo otra que intentar fijar al máximo el BOM, reservar espacio de más para las piezas, y asumir que esta no sería la solución definitiva, recordemos que un almacén de estas características no puede estar controlado por un Excel creado por una única persona (que en este caso soy yo), pero debía aceptar el reto y buscar la mejor solución hasta que dispusiera de mejores herramientas. Decidido el sistema organizado como solución de almacenaje, tocaba decidir qué criterio de organización se iba a seguir, entre los principales candidatos se encontraban: - Organización por sistemas: Figura 50: Captura Almacén | Organización por sistemas El almacén se organiza según los distintos sistemas: chasis, ejes delantero y trasero, sistema de frenos… Esta organización va muy acorde con el almacenamiento organizado, es muy intuitiva y para los mozos de almacén será más fácil encontrar las piezas que necesiten. El problema que puede haber que será el común dado el sistema de almacenamiento escogido, y es que si se subdimensiona alguno de los sistemas, y se necesita más espacio, tendrá que almacenarse en un zona
Desarrollo 86 86 mientras que no se dispone de la carretilla adecuada para llegar a los niveles más altos con comodidad, ni del personal necesario para no tener que depender siempre de un operario que puede estar ocupado con otra tarea. Sin embargo, al romper con el aparente orden de las piezas, no se llevó a cabo esta solución. 5.4.5 Expansión y ajuste de los datos Una operación que se repite con dos de los DataFrames con los que se va a trabajar, es realizar una expansión de los datos. df_datos es el dataframe que contiene la lista de referencias que se van a almacenar, con el nº de huecos que ocupa cada referencia, el sistema al que pertenece, el tacto, el tipo de caja, si necesita estar en el nivel A... Se creará un dataframe llamado df_expandido que tendrá por cada referencia de df_datos, n filas, siendo n el nº de huecos de palet que necesitará cada referencia. Figura 55: Código py | Expansión datos La asignación de los palets en cada posición se realizará con el uso de un bucle a través del dataframe df_expandido, por eso es importante que cada iteración represente un palet nuevo. Este dataframe tendrá tantas filas como palets haya que almacenar en el almacén. 5.4.5.1 Expansión de las piezas prioritarias id_prior = [] for index, row in df_datosPrior.iterrows(): id_ordenado = row['ID ORDENADO'] cant_huecos_usados = row['Cant Huecos Usados'] datos_expandidos = [row[col] for col in df_datosPrior.columns] id_prior.extend([datos_expandidos] * cant_huecos_usados) df_expandidoPrior = pd.DataFrame(id_prior, columns=df_datos.columns) Código 3: Expansión piezas prioritarias • Iteración sobre las filas: Se recorre cada fila del DataFrame de piezas prioritarias (df_datosPrior). • Expansión: Se crea una nueva lista (id_prior) que contiene múltiples copias de cada fila, tantas como "huecos" (espacios de almacenamiento) necesita la pieza. • Conversión a DataFrame: Finalmente, esta lista expandida se convierte de nuevo en un DataFrame (df_expandidoPrior). Este proceso asegura que las piezas prioritarias, que ocupan más de un hueco en el almacén, se
87 representen correctamente en los datos. 5.4.6 Asignación de piezas al almacén El siguiente paso es asignar las piezas al almacén, teniendo en cuenta las prioridades establecidas. 5.4.6.1 Asignación de piezas prioritarias Como se ha mencionado con anterioridad, primero se almacenarán aquellas piezas que aparezcan en la lista de piezas prioritarias. En caso de que no haya ninguna pieza almacenada este proceso se omite. La secuencia es sencilla, el programa busca la primera referencia que necesite almacenar más palets pero que ya haya almacenado alguno. El programa entrara en un bucle interno para cada referencia a almacenar. # t: recorre la lista de referencias con prioridad # j: recorre el almacén # z: recorre la sección de la lista de referencias por almacenar expandida correspondiente a la referencia "t" que estamos almacenando # k: recorre el almacén a partir de la posición "j" buscando una ubicación en el nivel "A" # recorremos la lista de referencias prioritarias for t in range(0, len(df_datosPrior)): # si dicha referencia no tiene ningún palet por almacenar pasamos a la siguiente referencia if df_datosPrior.at[t,'Cant Huecos Usados'] == 0: continue # en el almacén, nos situamos en la ubicación inmediatamente posterior a la referencia que tenemos que almacenar j = df_estant[df_estant['PART ID'] == df_datosPrior.at[t,'ID ORDENADO']].index.max() #empezamos a partir de la primera pieza que se asignó # bucle que empieza donde empiece la referencia que vamos a almacenar y que tiene como longitud el nº de palets que haya que almacenar de dicha referencia for z in range(df_expandidoPrior[df_expandidoPrior['ID ORDENADO'] == df_datosPrior.at[t,'ID ORDENADO']].index.min(),df_datosPrior.at[t,'Cant Huecos Usados']): # # si dicha ubicación está ocupada, pasamos a la siguiente while pd.notnull(df_estant.at[j, 'PART ID']): j+=1 # si hemos llegado al final del almacén, falta espacio, salimos del bucle if j == len(df_estant): print('\Falta espacio') break #si se han rellenado todos los huecos # si la referencia que queremos almacenar necesita estar en el nivel 'A', a partir de la posición "j" buscamos aquella que esté en el nivel "A" if df_expandidoPrior.loc[z,'Nivel A']==1: for k in range(j,len(df_estant)): # la ubicación está en el nivel "A" y vacía
Desarrollo 88 88 if df_estant.at[k,'NIVEL'] == 'A' and pd.isnull(df_estant.at[k, 'PART ID']): # asignamos en dicha ubicación la información del palet almacenado df_estant.at[k, 'PART ID'] = df_expandidoPrior.loc[z, 'ID ORDENADO'] df_estant.at[k, 'Tacto'] = df_expandidoPrior.loc[z, 'Tacto'] df_estant.at[k, 'Tipo Caja'] = df_expandidoPrior.loc[z, 'Tipo Caja'] df_estant.at[k,'PREF A'] = df_expandidoPrior.loc[z,'Nivel A'] ult_nivela = df_estant.loc[j, 'NIVEL'] ult_tactoa = df_estant.loc[k, 'Tacto'] df_expandidoPrior.loc[z,'ASIGNADA']=1 break else: # si la referencia que queremos almacenar no necesita estar en el nivel "A", asignamos en dicha ubicación la información del palet almacenado df_estant.at[j, 'PART ID'] = df_expandidoPrior.loc[z, 'ID ORDENADO'] df_estant.at[j, 'Tacto'] = df_expandidoPrior.loc[z, 'Tacto'] df_estant.at[j, 'Tipo Caja'] = df_expandidoPrior.loc[z, 'Tipo Caja'] df_estant.at[j,'PREF A'] = df_expandidoPrior.loc[z,'Nivel A'] ult_nivela = df_estant.loc[j, 'NIVEL'] ult_tactoa = df_estant.loc[j, 'Tacto'] df_expandidoPrior.loc[index,'ASIGNADA']=1 Código 4: Almacenamiento de piezas prioritarias 5.4.6.2 Asignación del resto de piezas Una vez almacenadas las referencias prioritarias, se procede a almacenar el resto de referencias de la lista df_datos, el modo de almacenaje es idéntico, se va recorriendo la lista df_expandido que contiene desglosados todos los palets que hay que apilar, se asigna una ubicación libre (anteriormente se ha reordenado el dataframe del almacén df_estant para tener en cuenta la ponderación de cada ubicación). Al inicio de cada iteración, la variable que apunta a la ubicación escogida se resetea a 0 y se vuelve a asignar la primera que esté libre. # recorremos la lista que recoge todos los palets a almacenar ordenados según el criterio decidido en fases anteriores. for j in range(1, len(df_expandido)): i=0 # aumentamos el índice que apunta a la próxima ubicación en la que se almacenará una pieza hasta que se encuentre en una ubicación libre while pd.notnull(df_estant.at[i, 'PART ID']): i+=1 # si el índice coincide con el final del almacén nos hemos quedado sin espacio, salimos del bucle if i == len(df_estant): print('\Falta espacio') break #si se han rellenado todos los huecos
89 # asignación si se necesita buscar una posición en el nivel "A" if df_expandido.loc[j,'Nivel A']==1: for k in range(i,len(df_estant)): if df_estant.at[k,'NIVEL'] == 'A' and pd.isnull(df_estant.at[k, 'PART ID']): df_estant.at[k, 'PART ID'] = df_expandido.loc[j, 'ID ORDENADO'] df_estant.at[k, 'Tacto'] = df_expandido.loc[j, 'Tacto'] df_estant.at[k, 'Tipo Caja'] = df_expandido.loc[j, 'Tipo Caja'] df_estant.at[k,'PREF A'] = df_expandido.loc[j,'Nivel A'] ult_nivela = df_estant.loc[i, 'NIVEL'] ult_tactoa = df_estant.loc[k, 'Tacto'] df_expandido.loc[j,'ASIGNADA']=1 break else: # asignación si no importa el nivel df_estant.at[i, 'PART ID'] = df_expandido.loc[j, 'ID ORDENADO'] df_estant.at[i, 'Tacto'] = df_expandido.loc[j, 'Tacto'] df_estant.at[i, 'Tipo Caja'] = df_expandido.loc[j, 'Tipo Caja'] df_estant.at[i,'PREF A'] = df_expandido.loc[j,'Nivel A'] ult_nivela = df_estant.loc[i, 'NIVEL'] ult_tactoa = df_estant.loc[i, 'Tacto'] df_expandido.loc[index,'ASIGNADA']=1 Código 5: Almacenamiento de piezas 5.4.7 Exportación del archivo de salida Finalmente, después de asignar todas las piezas posibles al almacén, el resultado se guarda en un archivo Excel para su revisión o uso futuro. r2 = input("Nombre del archivo: ") df_estant.sort_values(by='ORDEN').to_excel(str(r2)+".xlsx", index=False) df_estant.to_excel("result_almacen.xlsx", index=False) Código 6: Exportación del archivo • Guardado del DataFrame: El DataFrame que contiene la disposición final del almacén (df_estant) se guarda en un archivo Excel. Además, el código incluye cálculos para determinar el número total de piezas, cuántas han sido asignadas, y cuántas aún necesitan ser almacenadas: #Calcular el número de piezas asignadas piezas_asignadas= df_estant['PART ID'].count()-celdas_especiales # Actualizar el número de piezas sin asignar piezas_sin_asignar = total_piezas - piezas_asignadas Código 7: Cálculo de espacios libres • Piezas asignadas: Se calcula el número de piezas que fueron asignadas exitosamente.
Desarrollo 90 90 • Piezas sin asignar: Se calcula cuántas piezas no pudieron ser asignadas debido a la falta de espacio o restricciones de nivel. 5.4.8 Conclusión Con este código conseguimos obtener diferentes soluciones de almacenaje de almacenaje de manera relativamente sencilla, la solución se presenta en una tabla de Excel que si bien es más que suficiente para indicar donde debe colocarse cada referencia, es muy poco visual e interactiva. Es por ello por lo que el siguiente paso sería llevar a cabo una representación gráfica del almacén de manera que pudiera verse representada la distribución escogida para el almacenaje de las piezas en el almacén. 5.5 GUI Almacenes En mis esfuerzos por intentar llevar a cabo un software de control de almacén, me vi en la obligación de crear una interfaz que representara el almacén, y no solamente que aparecieran los nombres de las piezas en cada posición si no que el mapa tuviera dinamismo y fuera interactivo. Mi objetivo era que desde esta interfaz se pudiera visualizar las piezas que en cada ubicación estaban almacenadas, así como toda la información referente a cada palet: - Nombre - Familia de pieza a la que pertenece - Tipo de caja en la que se almacena - Descripción de la pieza - Nº piezas / caja - Nº cajas / palet Toda esta información reflejaría las características de cada referencia, en base a la teoría, es decir, cuando de una referencia se mostrará el dato del número de piezas por caja, no se referiría al número de piezas que se han almacenado en las cajas de ese palet de manera real, sino la propuesta que se ha realizado para esa referencia. Si todas las propuestas se cumplieran entonces sí hay una coincidencia exacta entre la realidad y la teoría, esto desafortunadamente no sería así pues a la hora de la verdad existen cambios e irregularidades. No significa que esto sea un fracaso, simplemente debemos poder contemplar que esto pueda ocurrir. Es por ello que decidí crear otra vista del almacén, recordemos la primera serviría como guía para lo que se supone que debía ser el almacén cuando estuviera completo. Esta segunda vista del almacén representaría el almacén actual, seríamos nosotros desde nuestra pestaña de entradas y salidas que veremos posteriormente los que iríamos rellenando el almacén. Se mostraría entonces nueva información, esta vez a cerca del estado real de las piezas, ocupación de cada palet, inventario de cada referencia… De esta manera podríamos tener un control preciso de lo que realmente estuviera ocurriendo en el almacén independientemente de lo que previamente se tuviera planeado, sin olvidar que debíamos converger a la solución objetivo. 5.5.1 ¿Por qué crear una GUI en Excel? En este pequeño punto me tomaré unas líneas para explicar por qué decidí crear la interfaz en Excel. Excel no es el entorno idóneo para hacer representaciones gráficas, tiene muy poca plasticidad en lo que ha diseño se refiere, entonces, cuáles son estos motivos? - Mi principal objetivo era poder extraer todas las características posibles de cada pieza, esto podría
91 hacerlo desde el BOM, que recordemos almacena todas las características. La función BUSCARV() en Excel se utiliza para buscar un valor específico en la primera columna de una tabla o rango y devolver un valor en la misma fila desde otra columna dentro de ese rango. Figura 56: Función BUSCARV() o ‘valor_buscado’: El valor que deseas buscar en la primera columna del rango. o ‘rango’: El rango de celdas en el que se realizará la búsqueda. o ‘índice_columna’: El número de la columna (dentro del rango) desde la cual se devolverá el valor correspondiente. o ‘ordenado’: (Opcional) Un valor lógico que indica si la búsqueda debe ser exacta o aproximada. Si es VERDADERO o se omite, se realiza una búsqueda aproximada. Si es FALSO, se realiza una búsqueda exacta. Se muestra a continuación un pequeño ejemplo para entender el funcionamiento de esta función, dado que ha sido la más utilizada para la creación de la interfaz. Figura 57: Ejemplo BUSCARV() En este ejemplo se ve la tabla azul que es la fuente de información, donde vamos a ir a buscar la información. En el campo verde donde aparece ‘Volante’ es donde escribimos de qué pieza queremos extraer la información de la cantidad, accedemos a ese dato porque en la barra de fórmulas hemos indicado que queremos extraer los datos de la columna 2 de la tabla. En este caso podemos aprovechar la ventaja de que las celdas sean dinámicas, es decir, si nosotros modificamos la fuente de datos y ahora la cantidad de volantes es 33, también se actualizará en el campo de búsqueda. - Pese a que Excel no tiene muchas herramientas de diseño dado que las celdas hay que respetarlas y no es conveniente combinar celdas de cara al tratamiento masivo de datos, contamos con la ventaja de que el almacén tiene una estructura matricial y por tanto podemos aprovechar esta condición para representarlo en una hoja de Excel. - El hecho de poder trabajar siempre con la misma herramienta facilita mucho trabajo, una vez entendido el funcionamiento de la función BUSCARV() se pueden hacer cosas muy interesantes con ella y merece la pena no involucrarse con otra herramienta que implicaría que el resto del equipo tuviera que aprender también. Además, y este es uno de los grandes motivos, esta solución es provisional, no se pretende que la empresa continue con una GUI en Excel para llevar a cabo el control
Desarrollo 92 92 de su almacén. Sin menospreciar en absoluto mi trabajo, que creo que aporta una solución bastante sólida al problema principal, una gran empresa como esta debe trabajar con las más avanzadas tecnologías y aprovechar que existen softwares ya integrados que proporcionan todas estas funcionalidades y muchas más. Por tanto, no iba a emplear mi tiempo en buscar otras aplicaciones con las que realizar una GUI más sólida si posteriormente se iba a trabajar con un software externo. 5.5.2 Creación de la GUI Figura 58: Panel principal GUI Almacén Se presenta aqui la interfaz principal de la GUI, en esta hoja de Excel se puede ver representado el almacén del vehículo BioCargo. La interfaz tiene algunas funcionalidades que se presentan a continuación: 1. ¿Qué quieres ver?: Este es un desplegable que permite seleccionar qué característica de la pieza se desea visualizar. Figura 59: ¿Qué quieres ver? | GUI almacén
93 Figura 60: Car. Tipo de caja | GUI almacén Figura 61: Car. Uds almacén | GUI almacén Figura 62: Car. Tacto | GUI almacén
Desarrollo 94 94 2. Elige configuración: Este es un desplegable que sirve para seleccionar el almacén que queremos ver, podemos almacenar tantos almacenes como queramos, lo más normal será tener el almacén objetivo y el almacén actual. Figura 63: Panel configuración | GUI almacén Figura 64: Almacén Actual | GUI almacén Representa de manera fiel como se encuentra el almacén realmente. Figura 65: Almacén objetivo | GUI almacén Representa el almacén ideal, cómo debería quedar el almacén si estuviera en su máxima ocupación.
95 3. Mapa almacén Figura 66: Sección mapa almacén | GUI almacén Se muestra aquí una sección del mapa del almacén, la visualización de este se ha diseñado de manera que sea lo más intuitiva posible, a continuación se explica la leyenda del mapa, estos iconos sirven para ambos almacenes, tanto el objetivo como el actual: Figura 67: Leyenda iconos almacén | GUI almacén A continuación se presentan algunos iconos que se utilizan en el almacén actual:
Desarrollo 102 102 Figura 77: POS TEÓRICA vs POS | EyS - ID (Alm): Si se quiere almacenar una referencia que directamente no tiene asignada una posición en el almacén, pero que forma parte de un lote de piezas que tiene un representante que sí tiene asignada una ubicación, aparecerá en este campo el nombre del ID que representa el lote en el que se encuentra la pieza que queremos almacenar. - ID: Es el campo principal, del cual dependen muchos otros, en este campo se introduce el ID de la pieza que se quiere almacenar. - NAME: En este campo aparecerá el nombre común de la pieza, para no tener que andar buscando qué pieza es cada ID. Figura 78: ID + Nombre | EyS - POS2: Sirve para poder utilizar la tabla como fuente de información más adelante en el uso de BUSCARV(), no tiene importancia para el usuario. - UDS: Otro de los campos importantes, aquí se debe introducir el número de piezas que se van a registrar en ese movimiento, deberá introducirse un numero positivo si es una entrada en el almacén, y un número negativo si es una salida del almacén - UDS ALM y UDS PROD: Estos dos campos muestran el número de piezas de la referencia que estemos almacenando que hay en el almacén y en producción. - TIPO CAJA: El campo muestra el tipo de caja en el que se supone que debe ir la pieza almacenada. - UDS/CAJA TEOR: este campo da información acerca del número de piezas que se ha estimado que caben en la caja asignada. - UDS/CAJA: este campo debe rellenarlo el usuario con el número de piezas que se han introducido realmente en cada caja en dicha entrada de movimiento, de esta manera el usuario no está limitado por las estimaciones sino que les sirven como ayuda. - Nº CAJAS: a modo informativo, se muestra el dato de cuantas cajas se han introducido o extraído del almacén en ese registro en cuestión. - NOTA: Permite al usuario añadir alguna nota acerca del registro. - UB ORIGEN: El usuario debe seleccionar entre varias opciones para guardar el origen del lote que se quiere almacenar, los orígenes más comunes serán: Entrada, en caso de que llegue un nuevo lote de fuera. Almacén, cuando se quiera sacar una pieza del almacén, y Producción / Reparación cuando se devuelva una pieza al almacén. La opción “Reserva espacio” la utilizaremos cuando queramos reservar un espacio pero no haya una entrada o salida real de piezas. - UB DESTINO: El usuario deberá seleccionar el destino, “Almacén” cuando se ingrese un nuevo lote de piezas, “Producción” cuando se lleve del almacén a la línea…
103 - ESTADO: Este campo almacena el estado del registro, es importante de cara a la información que puede aportar a la hora de rellenar el almacén base para una nueva asignación de ubicaciones. Figura 79: Estados | EyS Merece aquí la pena mencionar la existencia de 2 hojas del archivo de Excel: 1. Almacén actual: con los registros que se van realizando en la tabla de EyS, se va rellenando el almacén actual, en esta tabla se han incluido los campos de “ESTADO” y “UDS ALM”. El campo “ESTADO” sirve para poder darle formato a la ubicación en la que se encuentre la pieza según el estado de esta. Si el estado es “Almacenado”, tendrá el formato original, si es “Reserva Espacio” aparecerá con transparencia y si es “Se moverá” aparecerá con un tachado en rojo tal y como se explicó en puntos anteriores. El campo “UDS ALM” sirve para que si una ubicación en la que había un palet con x referencia, se ha quedado vacía porque todas las piezas de dicho palet han sido llevadas a producción, quede de alguna manera registrado y ya no aparezca en el almacén actual.
Desarrollo 104 104 Es con la tabla de EyS como se va rellenando esta tabla del almacén actual. 2. Almacén vacío: esta tabla será la que se introduzca como entrada a la hora de correr el algoritmo de asignación de ubicaciones. La diferencia entre esta tabla y la del almacén actual, es que las ubicaciones donde el estado de la pieza fuera “Se moverá”, aparecerán en blanco para que puedan ser consideradas por el algoritmo a la hora de asignar las ubicaciones de las piezas. Figura 80: Almacén actual vs Almacén vacío Como se puede ver en la figura, mientras que en el “almacén actual” la posición R17A1 está ocupada por una pieza aunque tenga el estado de “Se moverá” (dado que queremos que aparezca representada en el mapa), esa misma posición se encuentra libre en el “almacén vacío” dado que queremos que así esté de cara a una posible reasignación de ubicaciones. 5.6.3 Funcionamiento del registro de entradas y salidas. A continuación, se describe el funcionamiento de la tabla de registros de entradas y salidas, que desempeña un papel fundamental en la gestión del almacén, actuando como el cerebro de este sistema, aunque depende del resto de las hojas para funcionar de manera óptima.
105 En esta hoja, tal y como se ha mencionado antes, se indican claramente las celdas en las que se debe introducir información. En la parte superior, se dispone de un buscador que permite localizar piezas por su nombre, mostrando el ID correspondiente y la posición donde se encuentran almacenadas otras piezas con el mismo ID. Este buscado es útil para no tener que buscar las piezas por el ID que puede ser menos intuitivo. Figura 81: Buscador de piezas por nombre Una de las herramientas más útiles de la tabla es la función de filtros incorporada en Excel, que se utiliza con frecuencia para revisar el historial de entradas y salidas de una pieza específica. Estos filtros permiten filtrar por nombre, posición o ID de la pieza. Para registrar un nuevo movimiento, se debe ingresar el ID de la pieza en cuestión. Automáticamente, se rellenarán los campos asociados a ese ID. Antes de proceder a registrar una nueva entrada, es recomendable convertir en valores las celdas correspondientes a las columnas de "uds alm" y "uds prod" de todos los registros anteriores. Este proceso está explicado con mayor detalle en los comentarios de la hoja de “Actualización de EyS” Figura 82: Uds alm y uds prod | Tabla EyS Después de introducir el ID, es necesario ingresar el número de piezas que se van a introducir o extraer y, en las últimas columnas, seleccionar el tipo de movimiento que se va a realizar: - Entrada de piezas: Si ha llegado un lote de piezas que se va a almacenar, se debe seleccionar "EntradaSalida-Almacenado". Es fundamental especificar en qué posición se almacenarán las piezas, de lo contrario, el campo de "POS" aparecerá en rojo. Figura 83: Registro erróneo Vs registro correcto BC-FA05-00 RUEDA DELANTERA R18A1
Desarrollo 106 106 Figura 84: Almacenar lote de piezas en ub deseada Figura 85: Almacenar lote de piezas en ub provisional - Salida de piezas: Si se desea extraer un número determinado de piezas, se debe ingresar la cantidad de piezas a extraer en negativo (por ejemplo, -25) y, en las últimas columnas, seleccionar "Almacén - Producción - Línea". Es recomendable también indicar la posición de la que se están extrayendo las piezas. Figura 86: Extraer lote de piezas 5.6.4 Tabla auxiliar: Actualización EyS En el ejemplo, se han introducido 33 ruedas traseras en el almacén en la posición R9A1, como se puede observar, antes de este movimiento había 91 ruedas traseras en el almacén y 2 en producción. Figura 87: Inventario al momento del registro Las celdas UDS ALM y UDS PROD están vinculadas a los campos correspondientes de unidades de almacén y producción de cada pieza en una hoja de tablas dinámicas que reúnen estos datos.
107 Figura 88: Actualización EyS Las tablas dinámicas en Excel sirven para tratar los datos de una fuente de datos estática, aquí se puede jugar con ellos, visualizarlos de diferentes maneras filtrando por distintas categorías. Aprovechando que a cada registro se le asigna una ubicación de origen y destino, en estas tablas podemos filtrar todos los movimientos de las distintas piezas: - En la primera tabla la suma de unidades de piezas de los movimientos Entrada → Almacén - En la segunda tabla la suma de unidades de piezas de los movimientos que tenían como destino Producción - En la tercera tabla la suma de unidades de piezas de los movimientos que tenían como destino Almacén pero que no provenían de Entrada. Esta tabla realiza sumas de las unidades que se han ido introduciendo y extrayendo en los distintos movimientos, por ello, cada vez que se realiza un nuevo registro, es necesario actualizar manualmente dichas tablas. La función de estos dos campos en la hoja de entradas y salidas es proporcionar al usuario cuántas piezas de aquella que esté introduciendo hay en almacén y en producción. Imaginemos que estamos en el registro número 252, en ese momento hay en almacén 91 ruedas traseras y en producción 2. En dicho registro, introducimos 33 ruedas más que se almacenan. Figura 89: Registro 252 antes de introducir nuevo lote Actualizamos las tablas dinámicas para que se actualicen los datos, la situación queda así: Figura 90: Registro 252 tras introducir lote de 33 piezas Aparentemente puede que no se aprecie ningún problema, pero mi intención al introducir estos dos campos es que dejaran constancia de la situación de cada pieza en el momento del registro. Excel no tiene la opción de copiar un valor en un instante determinado, sino que es fiel a la celda a la que se vincule, es por ello que
Desarrollo 108 108 hay que hacer un pequeño proceso manual para conseguir esta funcionalidad de poder grabar la situación de la pieza en el momento de cada registro. Por si no ha quedado claro, la situación ideal sería la siguiente: Figura 91: Registro correcto Queremos que en el registro 252 aparezca la situación de la rueda trasera antes de introducir 33 piezas, y que sea en el registro 253 (cuando volvemos a introducir ruedas traseras) cuando aparezca reflejado el movimiento efectuado en el registro anterior. Para conseguir esto en Excel, lo único que debemos hacer antes de ingresar un nuevo registro, es convertir en valores las celdas correspondientes a los campos UDS ALM y UDS PROD de los registros anteriores. De esta manera sellamos los valores que tuvieran antes de un nuevo registro. Figura 92: Detalle "Pegar como valores" Este tipo de problemas no lo encontraremos en herramientas diseñadas para trabajar con bases de datos como Filemaker, pero como se ha mencionado con anterioridad, es la solución que se ha encontrado de manera provisional. Una vez completado el registro, la pieza aparecerá en el mapa del almacén, y su estado quedará actualizado en el BOM, se muestra a continuación una captura de este resultado:
109 Figura 93: Efectos de un nuevo registro
Presentación de resultados 110 110 6 PRESENTACIÓN DE RESULTADOS En este capítulo, se resumirán las decisiones tomadas y se justificará nuevamente la elección de estas con ánimo de ofrecer una visión general de por qué el proyecto nos ha llevado a esta solución. 6.1 Uso de Excel y Python como herramientas principales. El almacén por gestionar está dedicado al vehículo Scoobic BioCargo, desde mi llegada a la empresa tuve claro que el vehículo era el protagonista y que entre mis objetivos estaba encontrar una solución de almacenaje totalmente personalizada para las piezas de este vehículo. El BOM (Bill of Materials) de la BioCargo forma parte de un archivo Excel, esta herramienta es muy versátil y mi interés por extraer características de las piezas del vehículo me llevo a realizar en Excel un análisis de necesidades de cada pieza de cara al almacenaje de estas. Mi habilidad en el manejo de tablas dinámicas me permitió realizar numerosas clasificaciones de las piezas que me aportaban información acerca de ocupación de cada pieza, pesos de estas, frecuencia con la que saldrían a línea… Lo que comenzó con un estudio del vehículo para encontrar una solución, se convirtió en un proceso de creación de la propia solución en esta herramienta, Excel. Todo el trabajo que había estado realizando y dada la necesidad de una solución temprana y efectiva, cuando quise darme cuenta de las carencias que este programa tenía para poder gestionar más cómodamente el BOM, el control de inventarios, etc., ya había creado una solución que estaba implementada en la empresa, con la que el resto de trabajadores se estaba familiarizando y sobre todo, está cumpliendo con las necesidades operativas básicas. Valoré seriamente empezar a trabajar con Filemaker para elaborar un BOM más seguro y escalable, así como poder implementar en esta herramienta un control de inventarios más sólido y con más funcionalidades, pero el potencial de la empresa y los flujos de producción que se prevén que existan requieren el uso obligado de herramientas ya creadas y testadas, totalmente especializadas para la gestión integral de un almacén automatizado, no iba a centrar mis esfuerzos en mudar la solución a un software un poco más idóneo, si en pocos meses tomará el control del almacén un software a la altura de las necesidades operativas de la empresa. Por otra parte, dados mis conocimientos en Python, y mi pasión por la automatización de procesos, utilicé esta herramienta para simular un asignador de ubicaciones profesional y poder dotar así de cierta robustez y riqueza a la solución que estaba implementando. 6.2 Desarrollo de una GUI en Excel para visualizar el control del almacén. La necesidad de proporcionar una solución rápida y efectiva fue la que una vez más me llevó a trabajar con las herramientas que dominaba esta vez para la creación de la GUI, como explico en puntos anteriores, el propósito principal de la GUI era poder acercar la gestión de almacenaje al resto de trabajadores. Representar gráficamente la solución encontrada, me ayudó para localizar errores de asignación de mi algoritmo en Python, ha sido muy útil para la búsqueda de piezas en el almacén y ha permitido al resto del equipo poder tener contacto con la solución. La creación de la GUI ha sido algo totalmente orgánico, es una funcionalidad que se requiere y una vez creada, se hace impensable pensar que la gestión del almacén sea posible sin ella. La estructura matricial de las celdas Excel y la funcion BUSCARV() me permitieron transformar tablas llenas de datos en un almacén interactivo, intuitivo y accesible para el usuario. Una GUI convierte procesos complejos en acciones intuitivas y accesibles para los usuarios. Sin una interfaz clara y amigable, la interacción con el sistema sería similar a operar en la oscuridad, donde solo los expertos pueden navegar. La GUI permite que los empleados, independientemente de su nivel técnico, interactúen de manera eficiente con el sistema, reduciendo errores y tiempo de formación.
111 6.3 Almacenaje de piezas en cajas normalizadas, cajas “S”, “M” y “L”. En mi proceso de gestión del almacén, he estado informándome a cerca de como las empresas almacenan su material en los almacenes. Es lógico pensar que tener que cambiar de recipiente cada tipo de pieza para almacenarlo en cajas específicas pueda alejarse de la eficiencia en algunos casos. De hecho, muchas empresas almacenan sus materiales tal y como se lo envían sus proveedores. Para poder justificar esta decisión, es necesario tener en cuenta varios factores: - El Scoobic BioCargo será el primer vehículo de la empresa que se ensamblará desde cero, en los primeros meses de trabajo, se operará a demanda y por lotes de fabricación. Esto quiere decir por el momento no podemos permitirnos ser demasiado exigentes con nuestros proveedores con los requisitos de embalaje, debemos decidir primero nosotros cuáles son estas necesidades y trabajar con grandes volúmenes de producción para poder exigir. En ocasiones ocurre que un mismo proveedor nos proporciona distintas piezas, si el lote es de 8 vehículos, no podemos exigirle al proveedor que no nos envíe todas las piezas en un mismo palet. Es por ello que decidimos realizar nosotros ese trabajo de organización de las piezas, al menos en los primeros meses de trabajo. - A veces, no podemos asegurar el perfecto estado de embalaje de según qué piezas, muchas de ellas traen un embalaje no apto para la optimización de un almacén, recordemos que en el almacén nuestra prioridad es el aprovechamiento máximo del espacio. Existen piezas como vigas o barras que por necesidades de transporte vienen en grandes contenedores, pero de cara al almacenaje en nuestras instalaciones estarán en estanterías cantiléver (especializadas para objetos largos y voluminosos). Si almacenáramos estas piezas tal y como vienen, perderíamos mucho espacio. - La salida de nuestro almacén no es un producto terminado, sino que es una alimentación para una línea de ensamblaje, en esta línea, existen alimentadores que permiten a los trabajadores operar cómodamente con las piezas necesarias facilitando así la efectividad de producción. Otro de los motivos por los que se optó por un almacenaje normalizado fue para facilitar el proceso de alimentación a la línea. El motivo por el cual se ha estado trabajando concretamente con estos tres tipos de cajas fue que desde un principio disponíamos de muchas de ellas en el almacén, y decidimos buscar una solución que permitiera aprovechar este gran número de cajas que ya existían. Estas medidas permitieron además que la mayoría de piezas encajara correctamente en alguna de las opciones, por lo que además de ser la opción más económica, también era perfectamente práctica. Las limitaciones de estas tres opciones se suplieron añadiendo algunas medidas más, así como la creación personalizada de útiles para las piezas más especiales. 6.4 Implementación de estanterías convencionales paletizadas y limitación del nivel superior. En la fabricación de un vehículo de estas dimensiones, hay un rango muy amplio en el tamaño de las piezas. La mayoría de estas piezas son de tamaño medio o grande y permiten su almacenamiento en palets, esta solución es además la más económica y versátil. Nuestra situación personal es la de un almacén que necesita dar soporte a un gran número de referencias, pero que a su vez necesita abarcar una gran flujo de materiales. Se
Anexos 118 118 8 ANEXOS 8.1 Sistema de gestión de almacén y producción En este anexo se describen los procesos de coordinación y optimización de procesos Logísticos en la producción del vehículo BioCargo. Este es un documento que elaboré de cara a la visita de un cliente. Introducción Scoobic se complace en presentar el proceso detallado para la gestión integral del almacén de la línea 1, dedicado exclusivamente a los componentes del vehículo BioCargo. Este documento detalla cómo se llevarán a cabo los procesos desde la recepción del material hasta el aprovisionamiento de la línea de producción, asegurando una operación eficiente y alineada con los estándares de calidad y trazabilidad exigidos. Recepción del Material El proceso comienza con el depósito del material en la playa de recepción designada en la fábrica de Scoobic. Un operario, equipado con tecnología avanzada como pistolas escáner y tabletas, registra cada pedido previsto en el sistema SGA. Esto garantiza un registro preciso del material recibido, asegurando que cada componente esté asociado correctamente a su pedido correspondiente y al responsable de la recepción. Posteriormente, la información registrada se envía al administrador del almacén, quien verifica meticulosamente que el pedido recibido coincida exactamente con las especificaciones solicitadas y que las cantidades sean correctas. Una vez verificado el pedido, se procede a imprimir etiquetas detalladas que incluyen información crítica como la posición de almacenamiento, el tipo de caja para desembalaje y el número exacto de piezas por caja. Asignación de Posición dentro del Almacén Cada componente, una vez verificado y etiquetado, es asignado a una ubicación específica dentro del almacén de la línea 1 utilizando el sistema SGA. Esta asignación se realiza para optimizar la eficiencia operativa y facilitar la rápida localización y extracción de los componentes requeridos por la línea de producción.
119 Desembalaje y Chequeo del Buen Estado del Material Los operarios capacitados proceden entonces al desembalaje de los componentes, asegurándose de que cada uno esté en perfectas condiciones antes de su almacenamiento definitivo. Este proceso incluye una inspección detallada para detectar posibles daños o defectos, garantizando que solo material de alta calidad se integre al proceso de producción. Una vez desembalado el material y almacenado en su caja correspondiente, se le pegará la etiqueta que corresponda que contendrá información relevante de dicha pieza.
Anexos 120 120 Almacenamiento Una vez desembalados y verificados, los componentes son transportados cuidadosamente desde la playa de almacenamiento hasta su ubicación designada dentro del almacén. Cada movimiento se registra en tiempo real en el sistema SGA, lo que asegura una actualización precisa del inventario y facilita la gestión eficiente del stock disponible. Proceso: • Identificación del operario: El operario se identifica con su tarjeta. • Escaneo de etiquetas: El operario escanea la etiqueta del material y la posición asignada. • Transporte interno: El material se transporta desde la playa de almacenamiento a su posición asignada en el almacén. • Almacenamiento: Se coloca el material en su ubicación designada y se actualiza el registro en el SGA.
121 Extracción de Material para Aprovisionamiento de la Línea Cuando la línea de producción requiere material específico, los operarios utilizan el sistema SGA para localizar y extraer los componentes necesarios de manera precisa y eficiente. Cada extracción se registra inmediatamente en el sistema, asegurando que el stock disponible refleje siempre las necesidades operativas actuales. Al igual que en el proceso de almacenaje, el operario deberá identificarse, registrar con el escáner la referencia que va a extraer, y registrar con el escáner la posición de la que va a extraer dicha referencia, el sistema dará ok si todos los pasos son correctos, en caso de que el operario intentara extraer una referencia y escaneara otra posición, el sistema reportaría la incidencia y el operario debería realizar la operación correcta. Integración del Sistema de Gestión de Almacenes con el Software de Control de Producción La integración completa del SGA con el software de control de producción permite una comunicación fluida entre el almacenamiento y la producción. Esto garantiza la trazabilidad completa de los componentes, optimiza los procesos de montaje y asegura una gestión de inventario en tiempo real, esencial para mantener los altos estándares de eficiencia operativa. Proceso: Instalación del software: El software de control de producción será instalado en cada pantalla o Tablet que utilicen los operarios. Identificación del operario: Antes de iniciar cada módulo de trabajo, los operarios se identificarán en el sistema para comenzar las tareas asignadas. Guía paso a paso: El software proporcionará instrucciones detalladas sobre los procesos de montaje, facilitando una ejecución precisa y eficiente. Registro de montaje: Cada vez que se monte una pieza, el operario registrará la acción en el software, asegurando un seguimiento exhaustivo del proceso. Trazabilidad de bastidor: Para las piezas que requieran trazabilidad, los operarios escanearán el bastidor utilizando una pistola escáner o introducirán el número correspondiente por teclado, garantizando una trazabilidad completa desde el inicio hasta el producto final. Control de tiempos: El sistema registrará automáticamente los tiempos de montaje y el avance de la producción, proporcionando datos precisos para la gestión de recursos y planificación de la producción. Control de stock: El software actualizará el stock en la línea de producción en tiempo real y generará automáticamente una lista de aprovisionamiento cuando los niveles de stock alcancen el mínimo
Anexos 122 122 preestablecido. El aprovisionamiento de material a la línea se programará preferentemente al inicio de cada jornada laboral, optimizando así los recursos disponibles. Medidas de Seguridad y Mejora Continua En Scoobic, la seguridad y la mejora continua son pilares fundamentales de nuestras operaciones. Implementamos estrictos protocolos de seguridad para garantizar un entorno de trabajo seguro y protegido para todos nuestros empleados. Esto incluye el uso obligatorio de equipos de protección personal (EPP) adecuados en todas las áreas de trabajo, así como la verificación constante y el mantenimiento de las condiciones seguras en el entorno laboral. Además, nos comprometemos con la mejora continua mediante la revisión periódica de nuestros procesos y procedimientos. Utilizamos datos recopilados por nuestro sistema SGA y software de control de producción para realizar análisis detallados de desempeño y eficiencia. Basándonos en estos análisis, implementamos mejoras que pueden incluir actualizaciones de software, ajustes en los procedimientos operativos o capacitación adicional para nuestro talentoso equipo de trabajo. Estrategias de Gestión Integral La integración efectiva del SGA con nuestro software de control de producción nos permite mantener una coordinación sin fisuras entre el almacenamiento y la producción. Esta conexión en tiempo real asegura que cualquier movimiento de material dentro de nuestras instalaciones se refleje instantáneamente en nuestro sistema, proporcionando datos precisos y actualizados sobre el inventario disponible y las necesidades de producción. Conclusión Con estos procesos detallados y medidas implementadas, Scoobic está preparado para optimizar aún más la gestión de su almacén de la línea 1 dedicado a los componentes del vehículo BioCargo. Estamos comprometidos a mantener los más altos estándares de calidad, eficiencia operativa y seguridad en todas nuestras operaciones. Nuestro enfoque en la innovación y la sostenibilidad continúa guiándonos hacia el éxito en el mercado de vehículos eléctricos comerciales, contribuyendo activamente a un futuro más limpio y responsable en la movilidad urbana y comercial.
123 9 BIBLIOGRAFÍA [1] FACULTAD DE INGENIERÍA. (n.d.). Formato de investigación. Repositorio UPN. https://repositorio.upn.edu.pe/bitstream/handle/11537/25752/Formato%20de%20investigaci%C3%B3n.pdf ?sequence=1 [2] Instituto Tecnológico de Toluca. (n.d.). Temas 3.1: Logística y cadena de suministro. Studocu. https://www.studocu.com/es-mx/document/instituto-tecnologico-de-toluca/logistica-y-cadenade-suministro/temas-31-logistica-y-cadena-de-suministro/37466943 [3] SAP. (n.d.). ¿Qué es un sistema de gestión de almacenes (WMS)? https://www.sap.com/latinamerica/products/scm/extended-warehouse-management/what-isa-wms.html [4] Directivos y Gerentes. (n.d.). Entrevista a Scoobic. https://directivosygerentes.es/directivosygerentes/entrevistas-directivosygerentes/entrevistascoobic [5] Mecalux. (en..). Estanterías convencionales para palets. https://www.mecalux.es/estanterias-industriales/estanterias-convencionales-palets [6] Slimstock. (n.d.). Lista de materiales (BOM): qué es y cómo hacerla. https://www.slimstock.com/es/blog/lista-de-materiales-bom/ Scoobic. (n.d.). Scoobic. https://scoobic.com/