Introducción: por qué se sigue apagando incendios aunque “la programación esté terminada”
En muchos talleres de fabricación aditiva, el calendario parece completo: cada equipo tiene pedidos asignados cada día, horas de inicio y fechas de entrega comprometidas. Sin embargo, el equipo sigue apagando incendios a diario: los pedidos urgentes se colocan al principio, una máquina permanece inactiva mientras otra acumula seis órdenes de trabajo y las fechas prometidas se retrasan una y otra vez. El problema normalmente no es la falta de esfuerzo de los planificadores, sino que el programa se basa en el supuesto de “capacidad infinita”: solo responde a “qué orden debe procesarse primero”, pero no a “si, considerando cambios de configuración, posprocesado, inspección y reprocesos, esta máquina realmente puede aceptar otra orden”.
La programación de capacidad finita (Finite Capacity Scheduling, FCS) es un método de ingeniería que transforma la programación de una “lista de secuencias” en una “tabla de carga”. Incorpora como restricciones el tiempo real de ocupación de cada operación, el calendario disponible de los equipos, la estructura de turnos del personal, las limitaciones de moldes y utillajes, y el estado de disponibilidad completa de los materiales, para generar un plan ejecutable y verificable.
I. Diferencias entre capacidad infinita y capacidad finita
La programación de capacidad infinita distribuye la cadena de operaciones de un pedido sobre una línea de tiempo y solo valida la secuencia lógica entre operaciones consecutivas; no verifica si un recurso está asignado simultáneamente a más de una tarea. Por ello, la fecha calculada suele ser una “fecha teórica más temprana de finalización”, casi imposible de cumplir en un taller real.
La programación de capacidad finita, en cambio, vincula cada operación a un recurso específico —equipo, estación de trabajo, operario o utillaje— y acumula la carga de ese recurso en una misma ventana temporal. Cuando la carga acumulada supera la capacidad disponible, el motor de programación debe decidir: reprogramar, cambiar de equipo, subcontratar o renegociar la fecha de entrega con ventas. Este mecanismo de “tener que tomar una decisión” es precisamente lo que falta en la programación de capacidad infinita.
En los talleres de impresión 3D, esta diferencia se amplifica. La ocupación de un equipo metálico LPBF abarca mucho más que la impresión: extendido de polvo y purga de atmósfera, proceso de impresión, desempolvado y retirada de piezas, eliminación de soportes, tratamiento térmico, corte por hilo, granallado e inspección. Cada etapa utiliza recursos distintos y tiene duraciones muy diferentes. Programar únicamente la impresión equivale a excluir más del 70% de la carga real del modelo.
II. Crear un modelo de tiempos por operación: de la estimación empírica al cálculo verificable
La base de la programación de capacidad finita son los tiempos estándar por operación. Se recomienda establecerlos con los siguientes criterios:
1. Tiempo de impresión.No debe estimarse de forma aproximada como “número de piezas × tiempo por pieza”. El tiempo real = preparación del extendido de polvo + tiempo de escaneado entre capas + enfriamiento de la plataforma + retirada y desempolvado de piezas. El tiempo de escaneado puede estimarse a partir de la salida del software de laminado, mientras que los otros tres componentes deben basarse en promedios medidos por modelo de máquina. En un equipo metálico típico de cuatro láseres, las actividades no asociadas directamente a la impresión suelen representar entre el 25% y el 40% del tiempo total de ocupación por lote.
2. Tiempo de posprocesado.El tratamiento térmico debe calcularse por ciclo de horno, no por pieza: varias piezas pueden cargarse en un mismo horno, aunque están limitadas por el volumen de carga y la curva de proceso. El corte por hilo, el granallado y la inspección deben calcularse por pieza. La clave es establecer un parámetro de “capacidad por ciclo de horno”; de lo contrario, la programación tratará cada pieza como si ocupara un horno completo.
3. Tiempo de cambio de configuración.El cambio de material, de rasqueta, de parámetros de soporte o una nueva calibración forman parte del cambio de configuración. En mediciones reales, un cambio de polvo en un equipo metálico —incluidos el tamizado, la limpieza de la máquina y la purga de atmósfera— suele requerir de 2 a 4 horas; el cambio de bobina de material en equipos de polímeros suele tardar entre 30 y 60 minutos. Si la programación no modela estos cambios, subestimará sistemáticamente la carga.
4. Tiempo probabilístico de reproceso y rechazo.Añada a cada operación un tiempo esperado de reproceso basado en el rendimiento histórico; por ejemplo, con un rendimiento de fabricación del 95%, el tiempo esperado de reproceso = tiempo por pieza × 5%. No se trata de una estimación pesimista, sino de incorporar hechos estadísticos conocidos al plan.
III. Cálculo de carga de capacidad: determinar antes de programar si todavía cabe trabajo
Una vez definidos los tiempos por operación, puede calcularse la carga. Las fórmulas principales son sencillas:
Carga de la operación (horas) = Σ (tiempo estándar de cada orden en la operación + tiempo de cambio de configuración + tiempo esperado de reproceso)
Capacidad disponible del recurso (horas) = horas de calendario × disponibilidad operativa × factor de turnos
Tasa de carga = carga de la operación ÷ capacidad disponible del recurso
Como criterio práctico: una tasa de carga superior al 100% exige reprogramación o redistribución; una tasa sostenida entre el 85% y el 95% indica que el equipo es un cuello de botella y carece de margen, por lo que cualquier anomalía se convertirá directamente en un retraso; una tasa inferior al 60% requiere revisar si las reglas de programación son demasiado conservadoras o si existe un desequilibrio en la estructura de pedidos.
La disponibilidad operativa no debe estimarse intuitivamente. Se recomienda utilizar los datos reales de los últimos tres meses: horas disponibles ÷ horas de calendario, descontando mantenimiento planificado, paradas no planificadas, espera de materiales y espera de inspección. Muchos talleres creen tener una disponibilidad del 90%, pero las mediciones muestran solo un 72%; este único parámetro puede explicar gran parte de las desviaciones de entrega.
IV. Gantt por operación y gestión de buffers
El resultado de la programación de capacidad finita debe ser un diagrama de Gantt por operación: el eje horizontal representa el tiempo; cada fila, un recurso —equipo, estación o persona—; y cada bloque de color, una operación. La longitud del bloque debe corresponder al tiempo calculado, no a una “duración ideal”. De este modo, el cuello de botella resulta evidente: el recurso con bloques continuos y con operaciones posteriores esperando constantemente es la restricción que debe gestionarse prioritariamente.
Sobre el Gantt deben establecerse buffers. Se recomienda utilizar dos niveles: el buffer de entrega se sitúa al final del pedido para absorber el impacto de las variaciones operativas sobre la fecha comprometida, mientras que el buffer del cuello de botella se coloca antes de la operación restrictiva para evitar que esta se quede sin material o trabajo. El porcentaje de consumo del buffer es uno de los indicadores de alerta más eficaces: cuando el buffer de entrega supera el 50% de consumo y el avance físico no alcanza el 40%, el pedido debe marcarse como de riesgo y comunicarse proactivamente al cliente, en lugar de descubrirlo tres días antes del envío.
V. Faltantes de material y pedidos urgentes: las dos fuentes más comunes de distorsión de la programación
Faltantes de material.La programación asume que los materiales están completos, pero un lote de polvo sin inspeccionar, una placa base que no ha llegado o una cola de espera en el tratamiento térmico subcontratado pueden impedir que una orden aparentemente lista pueda iniciarse realmente. La solución es añadir una validación previa de “estado de disponibilidad completa” a cada orden: el lote de polvo debe contar con informe de inspección, la placa base debe estar en inventario, el utillaje debe estar disponible y la ventana de subcontratación debe estar confirmada. Solo cuando se cumplan las cuatro condiciones, la orden podrá entrar en el grupo programable. La lista de faltantes debe actualizarse diariamente de forma continua, no descubrirse el mismo día de inicio.
Pedidos urgentes.Colocar un pedido urgente al principio es, en esencia, un óptimo local que evita las reglas de programación. La práctica correcta no es prohibir las inserciones, sino asignarles un coste: toda inserción debe evaluar explícitamente su impacto sobre las fechas de entrega de las órdenes ya en proceso —cuántas se ven afectadas y cuántos días se retrasan— y consumir de forma explícita el buffer del cuello de botella. El motor de programación debe poder generar una “comparación antes y después de la inserción”, para que quienes toman decisiones elijan conociendo el coste, en lugar de permitir que el personal de planta compita intuitivamente por los equipos.
Además, debe definirse un periodo de congelación del plan. Por ejemplo, puede congelarse la secuencia de las órdenes ya iniciadas durante las próximas 48 horas; cualquier cambio dentro de ese periodo deberá pasar por aprobación. Sin un periodo de congelación, el calendario siempre estará en un estado de “recién programado y ya alterado”, y el cálculo de carga perderá su significado.
VI. Cerrar el ciclo con indicadores: OTD, cumplimiento del plan y desviación de programación
Completar la programación no equivale a completar la gestión. Se recomienda realizar un seguimiento y una revisión semanal de tres indicadores:
1. Entrega a tiempo (OTD): se calcula según la fecha comprometida del pedido, distinguiendo entre causas del cliente y causas internas; solo deben evaluarse los retrasos provocados por causas internas.
2. Cumplimiento del plan: número de operaciones realmente terminadas ÷ número de operaciones planificadas como terminadas, agrupado por recurso. Este indicador refleja directamente la precisión del modelo de tiempos.
3. Desviación de programación: distribución de las diferencias entre el tiempo real y el tiempo estándar. Si una operación muestra de forma sostenida una desviación positiva superior al 20%, debe revisarse el tiempo estándar en vez de seguir presionando al personal de planta.
Los tres indicadores deben analizarse conjuntamente: un OTD bajo con alto cumplimiento del plan indica que el modelo de tiempos es demasiado optimista o que las fechas comprometidas son demasiado ajustadas; un cumplimiento del plan bajo con un OTD todavía aceptable indica que la planta está sosteniendo el rendimiento mediante horas extra e inserciones urgentes, acumulando riesgos.
Conclusión
La programación de capacidad finita no es un proyecto que produzca resultados solo por comprar un software. En esencia, exige que el taller traduzca la “experiencia” en “parámetros”: tiempos por operación, disponibilidad operativa de los equipos, tiempos de cambio de configuración, capacidad por ciclo de horno, condiciones previas de disponibilidad completa y estrategia de buffers. Al principio, estos parámetros inevitablemente serán imprecisos, pero con la retroalimentación del cumplimiento del plan y las desviaciones de programación, pueden converger a una precisión útil en tres meses.
Para una plataforma de gestión de ciclo de vida completo, desde el diseño hasta la entrega física, como lantu3D, el valor de un calendario no reside en lo lleno que esté, sino en si puede verificarse, si permite asignar responsabilidades y si puede mejorarse continuamente. Cuando la programación deja de ser una lista de secuencias y se convierte en un documento de ingeniería con carga, buffers y retroalimentación de desviaciones, la fecha de entrega pasa realmente de ser una “promesa” a un “resultado calculable”.
Envíe un modelo, plano, imagen o notas por escrito. Los ingenieros revisarán el material, el proceso, el acabado y la entrega según el uso real.
