Resolviendo la complejidad de la planificación en un proceso muy sencillo

Scheduling complexity (no bold)

Resolviendo la complejidad de la planificación

Por Milos Milenkovic, Investigador Postdoctoral en el Programa Internacional de Logística MIT-Zaragoza

Read English version

 

Algunos procesos de fabricación pueden parecer engañosamente sencillos. Pongamos como ejemplo la preparación de premezclas para la nutrición animal. Se añaden los ingredientes a la mezcla, se baten y se embolsa el resultado. En resumen, ése sería el proceso en sí mismo.

Ahora bien, resulta que optimizar el tamaño de lote correcto, planificar y secuenciar los pedidos de clientes de un modo sencillo y directo, excede las capacidades de las mentes más experimentadas. Por ello, un fabricante líder de premezclas de nutrición animal pidió asesoramiento a ZLC.

Las premezclas son combinaciones de micronutrientes como vitaminas y minerales que se añaden a la alimentación de ganado y aves para promover la conversión más eficiente de alimentos en productos comercializables garantizando los estándares de salud de los animales. Estos productos se sirven en fórmulas diferentes para adaptarse a las necesidades de cada especie y raza animal, el régimen de crianza y los objetivos comerciales del ganadero.

La demanda de carne y productos lácteos (y, por ende, de alimentación animal) está en auge en China, India y cualquier otro país donde estén creciendo los ingresos y el desarrollo urbanístico. Este auge conlleva una subida del precio de piensos naturales como la soja.

Por ello, esa conversión eficiente se convierte en un imperativo para los ganaderos, mientras los fabricantes de piensos deben hacer todo lo que puedan para optimizar su capacidad de producción y reducir los costes totales.

Es más fácil decirlo que hacerlo – hay muchas variables y limitaciones que se irán aclarando conforme revisemos el proceso de producción.

Un pedido de un cliente normalmente genera varios pedidos de producción – diferentes fórmulas, distintos tamaños de bolsa y si la cantidad requerida excede la capacidad de carga del mezclador. (A la inversa, un único lote de producción debería satisfacer los requerimientos de varios pedidos de clientes.).

El planificador de producción revisa la disponibilidad de materias primas, la fecha de entrega del pedido y asigna la demanda de producción al calendario de pedidos.

Ello desencadena dos procesos. Un operador imprime etiquetas para los sacos de producto (con una capacidad entre 1 y 500 kg) con detalles de su formulación, número de lote, fecha de fabricación y así sucesivamente. Mientras tanto comienza el proceso de producción principal. Los ingredientes para cada lote se pesan y consolidan – los pesajes varían desde “grandes dosis” para embalajes a granel, “dosis medias” de cantidades concretas extraídas de envases a granel y dosis de precisión, que requieren cantidades muy pequeñas y precisas de ingredientes activos. (Aumentar esas dosis lejos de ser beneficioso podría ser perjudicial , además de aumentar costes de fabricación). Los ingredientes ya consolidados se cargan en un mezclador.

Ahí es donde comienza la complejidad. Hay un conjunto de unidades mezcladas de distintos tipos (horizontal o vertical) y aún más importante, capacidades (aunque todas tengan la misma duración de ciclo, 1 hora). La producción requiere 24 horas, en 3 turnos de 8 horas.

Sin duda, en aras de maximizar el aprovechamiento de los tamaños de los lotes, éstos deberían acercarse lo más posible a la capacidad máxima del mezclador (por ejemplo, no preparar un pedido de 10 kgs en una máquina con una capacidad de 500kgs que en la práctica tampoco realizaría la mezcla de manera óptima).

De la misma manera, el tamaño del lote requiere equiparar a números enteros de sacos en los que se tiene que envasar, así como no infrapesar los sacos que requieren un rellenado posterior, ni excederse en una mezcla que no cumpla los requerimientos del pedido.

A éstas, habría que añadir otras limitaciones – algunos mezcladores pueden ser manejados por un operario, mientras que otros requieren la intervención de dos, añadiendo un límite de cuántos trabajadores pueden estar atendiendo un mezclador en un momento dado.

De manera adicional, hay que tener en cuenta si lotes sucesivos son “incompatibles”, es decir, la contaminación cruzada está estrictamente prohibida y los mezcladores deben ser minuciosamente limpiados al finalizar la fabricación de cada lote. Esta tarea la puede acarrear un operario de manera manual con cepillos y aire comprimido, o alguna máquina añadiendo sustancia limpiadora – la penalización en tiempo es parecida pero los costes varían mucho entre sí. A éstos habría que tener en cuenta otros costes como carga, etc.

Y como en cualquier tarea programada y secuenciada, el tiempo es oro. Algunos pedidos tienen rígidas fechas de entrega que no se pueden modificar. Otros pedidos pueden tener entregas flexibles – variando con algún coste extra o de penalización. Por el contrario, producir antes de fecha no es una ventaja – se incrementan los costes de almacenaje y el riesgo de deterioro del producto en tienda.

Por ello, podemos deducir que programar y secuenciar no es una tarea sencilla – de hecho, nuestro modelo del sistema contiene no menos de 15 conjuntos distintos de restricciones, sin contar la limpieza. Esta complejidad no se puede optimizar por métodos manuales y seguramente no en los plazos disponibles. Los métodos manuales no resuelven simultáneamente ni la configuración de los tamaños de lotes y su secuenciado, ni las limitaciones de recursos de mano de obra.

Nuestra solución fue modelar el sistema usando Programación Lineal de Enteros Mixtos (MILP) – y utilizarlo para escribir el software de un programador de producción PPOptimizer-Premix  – desarrollado en C# usando software de programación Visual Studio, y pensando en todo momento en las necesidades del usuario final.

Por practicidad preferimos abordar el problema de maquinaria usando post-procesos heurísticos. El modelo captura y el programa procesa las capacidades mínimas y máximas requeridas, costes de estructura, operacionales y de limpieza, así como los recursos humanos requeridos y su disponibilidad.

De este modo genera simultáneamente los tamaños de lotes, los planifica y asigna recursos humanos. El punto de entrada a la herramienta es el pedido del cliente y la salida desde el Sistema ERP Corporativo. El modelo permite la mezcla y la división de pedidos de producción, y el usuario puede modificar parámetros como el número de máquinas activas, sus capacidades y la mano de obra disponible. El tiempo de ejecución del programa se limitó a 10 minutos.

Testamos el optimizador/planificador en 5 casos reales, por ejemplo, las planificaciones que los métodos manuales hubieran derivado, con un rango de 20 a 50 pedidos, desde 50.000 a 100.000 kg de producto, con una perspectiva de 1 a 3 días, que es un plazo habitual de planificación a corto plazo.

Los resultados fueron muy satisfactorios. En un caso se planificaron un grupo de 23 pedidos, que incluían 45 productos distintos de 13 familias de productos distintos, conformando un total de 45 toneladas de producción.

Mientras los métodos manuales consiguieron un aprovechamiento de utilización del 39%, el optimizador elevó ese porcentaje al 76%. No se pudieron realizar comparativas de costes, debido a la falta de estimaciones detalladas de costes en el escenario operativo actual, pero se podría considerar que tienen un claro potencial de ser significativos.

Existe todavía margen de mejora: automatizar la entrada de datos desde el ERP y aprovechar la salida del optimizador como entrada para otras decisiones de planificación, como inventario de materias primas o capacidad de almacenamiento de productos terminados.

En realidad, este enfoque no es exactamente pionero, aunque apenas existan evidencias documentadas de su uso en escenarios industriales comparables. Por citar alguna – pintura, especialidades químicas o producción de alimentos – son algunos de los escenarios que vienen a la mente y se podría aplicar a campos mucho más amplios donde un sistema de producción aparentemente simple, casi básico, conlleve complejidades inesperadas.

Para más información contacte a Milos Milenkovic en [email protected]