Optimización de la Producción. Restricciones

La programación de la producción consiste en asignar recursos a operaciones a lo largo del tiempo y hacerlo de forma optimizada es buscar que esa asignación sea la mejor posible atendiendo a unos objetivos (maximizar productividad, minimizar lead time, …).
Sin embargo, no podemos hacer cualquier asignación, sino que estamos sujetos a una serie de restricciones, las restricciones de cada sistema productivo.
A continuación vamos a enumerar y clasificar estas restricciones ilustrándolas con algunos ejemplos. Naturalmente no podemos enumerar todas, ya que cada planta de producción tiene sus particularidades y en consecuencia restricciones distintas, por lo que nos quedaremos con las más habituales y que son comunes en multitud de sectores.
Restricciones sobre el tiempo entre operaciones
Se define el tiempo de espera entre operaciones como el tiempo que transcurre entre una operación y su sucesora en la orden de fabricación. Siendo las restricciones sobre el tiempo de espera determinantes para la programación de la producción en numerosas industrias. Por ejemplo, en el sector cerámico donde se trabaja a altas temperaturas es muy habitual que tras la etapa de horneado se requiera un tiempo de espera mínimo para enfriar el producto. Por otro lado, en industrias como la del automóvil o la de los microchips donde se aplican productos químicos es esencial que no se sobrepase un tiempo de espera máximo entre operaciones para así evitar el deterioro del producto.
Notar que ambos casos, aunque parezcan similares, son totalmente diferentes de cara a la optimización. Mientras un tiempo de espera mínimo simplemente puede provocar que el tiempo productivo se amplíe, el tiempo de espera máximo puede generar soluciones infactibles, ya que si la siguiente máquina siguiente está ocupada es posible que se llegue a un punto desde el que ya no haya manera de cumplir la restricción y haya que reconstruir, al menos parcialmente, la solución (con la dificultad que esto implica).
Figura 1: Secuencia óptima sin tiempos de espera
En esta secuencia óptima sin tiempos de espera la T4 (en amarillo) empieza en la esmaltadora 14 minutos después de finalizar en la prensa. Si aplicamos un tiempo de espera mínimo de por ejemplo 20 minutos no sería necesario cambiar las posiciones de las operaciones, simplemente habría que retrasar en 6 minutos más su fecha de inicio.
Ahora bien, supongamos que el tiempo de espera máximo es de 10 minutos. En este caso no podemos adelantar directamente su inicio 4 minutos, porque la máquina está ocupada con la T1 y habrá que reconstruir la solución ya que esta es infactible.
Restricciones sobre las máquinas
Es muy habitual que en una planta se apliquen unas restricciones particulares sobre algunas máquinas. Las más importantes son aquellas enfocadas en limitar el tiempo ocioso algunas máquinas, esto es, restringir a que en una máquina el tiempo que esté parada sea menor de n minutos. Por ejemplo, en sectores como el del calzado donde a veces se cobra según lo que se produce no se podrá dejar ocioso a un operario más de un tiempo determinado ya que esto afectaría a su salario, independientemente de que la solución global pudiera ser mejor.
Cuando esta restricción se lleva al extremo, n=0, implica que la máquina no pueda parar. En el sector cerámico es una restricción que siempre se impone en los hornos debido a que el enorme coste que supone arrancarlos y que estén en funcionamiento haga impensable que puedan parar.
Figura 2: Algunas etapas de la producción de cerámica
En el caso del ejemplo hay que realizar toda la programación sujeta a que el horno no pare, incluida la de la prensa y la esmaltadora que son las que le van a suministrar trabajo al horno. Esto implicará que en algunos casos haya que desestimar secuencias que en principio proporcionarían mayor productividad.
Restricciones de almacenamiento intermedio
Cuando se termina una operación en una máquina lo normal es que no pase directamente a la siguiente, sino que requiera de un almacenamiento intermedio entre máquinas. Este almacenamiento, dependiendo de la planta y del tipo de producto puede llegar a ser muy limitante e incluso condicionar por completo la programación. Distinguiremos dos tipos de almacenamiento intermedio:
Almacenamiento fijo o buffers:
A la salida de una o varias máquinas puede haber un sitio delimitado para depositar las piezas que se van finalizando y estarán allí hasta que empiece su operación sucesora. Este espacio de cara a la programación de la producción se considera fijo y en caso de que sea muy limitante, una mala gestión puede llegar a provocar la parada de una línea de producción.
Almacenamiento móvil o boxes:
En algunas plantas como las del sector cerámico nos encontramos con que utilizan un almacenamiento móvil que consiste en una serie de boxes o vagonetas que van moviendo por la planta dependiendo de las necesidades.
La ventaja de este tipo de almacenamiento es que da mucha más flexibilidad, pero es importante controlarla bien para que no se vuelva caótico.
Recursos limitados
El termino recursos lo usamos de forma muy general para referirnos a todo aquello que se necesita para llevar a cabo una operación. Podemos distinguir dos grandes grupos, los operarios y los utillajes.
Operarios
En muchas ocasiones cada máquina tiene asignado un operario y entonces se considera que este recurso es ilimitado y no afecta a la programación. Sin embargo, hay veces que no es así, y lo que posibilita que se pueda realizar la operación es que ese técnico esté asignado a esa máquina. Por tanto previamente a la asignación de la operación habrá que comprobar que sea posible la del operario.
Utillajes
Para algunas máquinas es el utillaje (moldes, filtros, …) lo que la habilita para hacer algún tipo de operaciones. Además, si este recurso es compartido, implica realizar otro nivel de asignación para decidir en cada momento que máquina estará habilitada para realizar cada tipo de operaciones.
¿Cómo afectan las restricciones a la solución?
Después de enumerar las restricciones nos preguntamos cuál será el efecto de estas en la programación. Pues bien, dependerá totalmente de la situación. Habrá casos en los que el efecto sea escaso y habrá otros en los que llegará incluso a provocar que no exista ninguna solución posible que cumpla todas las restricciones.
Entonces … ¿Qué hacemos?
Lo primero que tenemos que pensar es si realmente estamos ante una restricción o un objetivo. Por ejemplo, si planteamos una programación en la que el tiempo ocioso sea cero para todas las máquinas muy probablemente no encontraremos ninguna solución y si lo hacemos estará excesivamente condicionada por esa restricción. Para estos casos, lo mejor es considerarlo como un objetivo, de este modo buscaremos que el tiempo ocioso sea lo menor posible, cero idealmente, pero si es mayor seguiremos teniendo una solución.
Una vez hecho el primer ejercicio, veremos que hay restricciones que no podemos quitar, por ejemplo, las de almacenamiento intermedio. Para estos casos, si la restricción resulta demasiado limitante nos podemos plantear utilizar un software que nos permita simular la planta, un gemelo digital, y así ver el impacto que tendría modificar el layout de planta y si nos resultaría beneficioso.
Conclusión
La programación de la producción está sujeta a numerosas restricciones que dependerán del sistema productivo, siendo algunas de ellas tremendamente limitantes.
Nuestra recomendación es tratar de evitarlas en la medida que sea posible remplazándolas por objetivos y en caso de que no sea posible y condicionen en exceso la solución plantearse el uso de software especializado para simular producción para poder valorar si interesa hacer algún cambio en el diseño de la planta que permita obtener mejores resultados.