96 387 70 69

Optimizar la producción

Linea Montaje

Optimizar la programación de la producción

La programación de la producción se define como la asignación de recursos a operaciones a lo largo del tiempo. Bien, esta es la definición que encontraremos en la mayoría de libros y artículos de secuenciación pero, ¿qué significa esto?.
En este artículo veremos en detalle en que consiste la programación de la producción y por qué es tan importante realizarla de forma optimizada.

Programación de la producción

Para realizar la programación de la producción se toman como punto de partida las órdenes de fabricación (OFs) generadas en la planificación. Estas órdenes a su vez constan de una serie de operaciones que se deben ejecutar en un orden preestablecido. Por ejemplo, si se genera una orden para producir 100 azulejos implica que hay que realizar una serie de operaciones para llevarla a cabo.
etapas-producción

Para realizar cada una de estas operaciones habrá una serie de recursos disponibles, que son las máquinas y los operarios.
Con esto hemos presentado los elementos que intervienen en la programación de la producción (operaciones y recursos) ahora falta relacionarlos. Para ello hay que tomar dos decisiones:
1ª. Elegir que recurso asignar a cada operación, es decir, asignar una máquina a cada operación.
2º. Determinar que secuencia se va a seguir, esto es, decidir la posición que ocupará cada operación en la máquina.
Si por ejemplo tenemos varias prensas y se han generado diversas órdenes que requieren de una operación de prensado, hay que determinar en qué prensa se realizarán y en qué orden se ejecutarán las operaciones.

¿Por qué es importante optimizar la programación de la producción?

Hemos visto que para realizar la programación de la producción hay que tomar dos decisiones. Estas decisiones se podrían tomar asignando directamente las órdenes como nos vayan llegando, sin seguir ningún criterio de optimización. Sin embargo, aplicando la optimización se pueden conseguir mejoras enormes en la productividad de la planta. Veamos un pequeño ejemplo de cómo puede llegar a mejorar la programación si se optimiza.
En el siguiente ejemplo tenemos 5 órdenes de fabricación con 4 operaciones cada una. Por simplificar, consideraremos que solo tenemos 4 máquinas, así cada operación tiene ya asignada directamente una máquina y solo hay que decidir la secuencia de las operaciones en cada máquina.
Si no aplicamos la optimización, sino que ponemos las operaciones en un orden cualquiera podemos obtener una programación como la siguiente:

Notar que están coloreadas igual las operaciones de la misma OF y que una operación no puede empezar hasta que termine la que la precede en la OF. Desde que empieza la primera operación hasta que se finaliza la última de estás 5 OFs se necesitan 9 horas y 40 minutos, esto se conoce como Makespan y es el objetivo a optimizar más habitual en los problemas de secuenciación.

Vamos a ver como mejora si lo optimizamos:

En este caso, con una secuencia óptima, tan solo se necesitan 4 horas y 33 minutos, menos de la mitad. Y esto es un ejemplo tremendamente sencillo, imaginemos lo que se puede conseguir aplicándolo en casos reales con decenas de máquinas y centenares de OFs para programar. Además, en la práctica no solo aumenta el tamaño del problema, sino que también hay que considerar todas las restricciones propias de un sistema productivo, como son los set-ups de las máquinas, fechas de entrega y disponibilidad, recursos limitados, almacenamientos intermedios, …

En definitiva, de hacer la programación de cualquier forma a hacerla optimizada la diferencia puede ser abismal y esta es una ventaja que no se puede pasar por alto.

¿Cómo realizar la programación de la producción de forma optimizada?

Si después de leer hasta aquí y ver lo importante que es, alguien se ha animado a coger un lápiz y un papel y ponerse a hacerlo a mano, mejor que descarte la idea.
Con esto no quiero decir que dude de la capacidad de nadie, pero es que es muy difícil. Para hacernos una idea vamos a ver cuán difícil es el problema anterior, el del ejemplo con 4 máquinas y 5 OFs.
El número de posibles soluciones es (n!)m = (5!)4 = 207.360.000
No creo que ya nadie se anime a probar entre más de 207 millones de posibles soluciones y mucho menos si vamos a un tamaño de problema real donde este número aumenta considerablemente.
Por tanto, no queda otra que recurrir a la informática. Alguien con conocimientos de programación y de optimización podría decantarse por desarrollar su propio algoritmo. En este caso recomiendo optar por algoritmos heurísticos o metaheurísticos, ya que con los exactos el tiempo de cómputo se dispara hasta ser inviable su aplicación práctica. Aun así, sería una tarea ardua, ya que no solo se trata de desarrollar un algoritmo para resolverlo. También hay que integrarlo con los sistemas existentes en la empresa (MRP, ERP) y una aplicación que te permita visualizar e interpretar la solución obtenida. Porque, ¿de qué te sirve una buena solución, si resulta un infierno poder entenderla?
Así que, salvo en contados casos, lo más recomendable es optar por alguna herramienta de programación de la producción ya existente y ponerse en manos de expertos que faciliten este complicado proceso de integración y obtención de resultados.

Conclusión

Hemos visto en que consiste la programación de la producción y los enormes beneficios que se pueden obtener si se realiza aplicando la optimización.
Hoy en día, donde todas las empresas luchan por ser cada vez más competitivas, es, cuanto menos, poco razonable dejar al azar una tarea tan importante como la programación de la producción, sobre todo cuando están de sobra probadas las mejoras que se pueden obtener optimizándola.
Por último, no hay que olvidar que desarrollar e implantar un sistema de optimización de la producción se trata de un proceso tremendamente complicado. Lo que hace que la mayoría de empresas no puedan llevarlo a cabo por ellas mismas o les supongan tantas complicaciones que sea mejor adquirir herramientas ya existentes y ponerse en manos de expertos que les faciliten el proceso.