La programación es el proceso de organizar, controlar y optimizar el trabajo y las cargas de trabajo en un proceso de producción o proceso de fabricación. La programación se utiliza para asignar recursos de planta y maquinaria, planificar recursos humanos, planificar procesos de producción y comprar materiales.
Es una herramienta importante para la fabricación y la ingeniería , donde puede tener un gran impacto en la productividad de un proceso. En la fabricación, el propósito de la programación es minimizar el tiempo y los costos de producción, al decirle a una instalación de producción cuándo hacer, con qué personal y en qué equipo. La programación de la producción tiene como objetivo maximizar la eficiencia de la operación y reducir los costos.
En algunas situaciones, la programación puede involucrar atributos aleatorios, como tiempos de procesamiento aleatorios, fechas de vencimiento aleatorias, pesos aleatorios y averías estocásticas de la máquina. En este caso, los problemas de programación se denominan " programación estocástica ".
Descripción general
La programación es el proceso de organizar, controlar y optimizar el trabajo y las cargas de trabajo en un proceso de producción. Las empresas utilizan la programación hacia atrás y hacia adelante para asignar los recursos de la planta y la maquinaria, planificar los recursos humanos, planificar los procesos de producción y comprar materiales.
- La programación anticipada consiste en planificar las tareas desde la fecha en que los recursos están disponibles para determinar la fecha de envío o la fecha de vencimiento.
- La programación hacia atrás consiste en planificar las tareas desde la fecha de vencimiento o la fecha de caducidad requerida para determinar la fecha de inicio y / o cualquier cambio en la capacidad requerido.
Los beneficios de la programación de la producción incluyen:
- Reducción de cambio de proceso
- Reducción de inventario, nivelación
- Esfuerzo de programación reducido
- Mayor eficiencia de producción
- Nivelación de la carga de trabajo
- Cotizaciones precisas de fechas de entrega
- Información en tiempo real
Las herramientas de programación de producción superan en gran medida a los métodos de programación manual más antiguos. Estos proporcionan al programador de producción potentes interfaces gráficas que se pueden utilizar para optimizar visualmente las cargas de trabajo en tiempo real en varias etapas de producción, y el reconocimiento de patrones permite que el software cree automáticamente oportunidades de programación que podrían no ser evidentes sin esta vista de los datos. Por ejemplo, una aerolínea podría desear minimizar el número de puertas de aeropuerto requeridas para su aeronave, con el fin de reducir costos, y el software de programación puede permitir a los planificadores ver cómo se puede hacer esto, analizando los horarios, el uso de la aeronave o la flujo de pasajeros.
Conceptos clave en la programación
Un carácter clave de la programación es la productividad, la relación entre la cantidad de insumos y la cantidad de salida. Los conceptos clave aquí son:
- Insumos: Los insumos son la planta, la mano de obra, los materiales, las herramientas, la energía y un medio ambiente limpio.
- Salidas: Las salidas son los productos producidos en fábricas, ya sea para otras fábricas o para el comprador final. La medida en que se produce un producto dentro de una fábrica se rige por el costo de transacción .
- Salida dentro de la fábrica: La salida de cualquier área de trabajo dentro de la fábrica es una entrada para la siguiente área de trabajo en esa fábrica de acuerdo con el proceso de fabricación. Por ejemplo, la salida de corte es una entrada a la sala de plegado.
- Salida para la próxima fábrica: a modo de ejemplo, la salida de una fábrica de papel es una entrada para una fábrica de impresión. La producción de una planta petroquímica es un insumo para una planta de asfalto, una fábrica de cosméticos y una fábrica de plásticos.
- Salida para el comprador final: la producción de la fábrica llega al consumidor a través de una empresa de servicios, como un minorista o una empresa de pavimentación de asfalto.
- Asignación de recursos: la asignación de recursos consiste en asignar insumos para producir productos. El objetivo es maximizar la producción con insumos dados o minimizar la cantidad de insumos para producir el producto requerido.
Programación de algoritmos
La programación de la producción puede requerir una cantidad significativa de potencia informática si hay una gran cantidad de tareas. Por lo tanto, se utiliza una variedad de algoritmos de atajo ( heurística ) (también conocidos como reglas de despacho ):
- Algoritmos estocásticos: problema económico de programación de lotes y cantidad de producción económica
- Algoritmos heurísticos: heurística de programación de fecha de vencimiento modificada y heurística de cuello de botella de cambio
Programación de producción por lotes
Fondo
La programación de la producción por lotes es la práctica de planificación y programación de los procesos de fabricación por lotes. Consulte Producción por lotes . Aunque la programación puede aplicarse a procesos tradicionalmente continuos como el refinado, [1] [2] es especialmente importante para procesos discontinuos como los de ingredientes activos farmacéuticos, procesos biotecnológicos y muchos procesos químicos especializados. [3] [4] La programación de la producción por lotes comparte algunos conceptos y técnicas con la programación de capacidad finita que se ha aplicado a muchos problemas de fabricación. [5] Los problemas específicos de la programación de los procesos de fabricación por lotes han generado un interés industrial y académico considerable.
Programación en el entorno de procesamiento por lotes
Un proceso por lotes se puede describir en términos de una receta que comprende una lista de materiales e instrucciones de funcionamiento que describen cómo hacer el producto. [6] El estándar de control de procesos por lotes ISA S88 [7] proporciona un marco para describir una receta de proceso por lotes. El estándar proporciona una jerarquía de procedimientos para una receta. Una receta puede organizarse en una serie de procedimientos unitarios o pasos principales. Los procedimientos unitarios se organizan en operaciones, y las operaciones se pueden organizar en fases.
La siguiente receta de libro de texto [8] ilustra la organización.
- Cargue y mezcle los materiales A y B en un reactor calentado, caliente a 80 ° C y reaccione durante 4 horas para formar C.
- Transfiera al tanque de mezcla, agregue el solvente D, mezcle 1 hora. El sólido C precipita.
- Centrifugue durante 2 horas para separar C.
- Secar en un secador de bandeja durante 1 hora.
Una organización de procedimiento simplificada al estilo S88 de la receta podría aparecer de la siguiente manera:
- Procedimiento de unidad 1: Reacción
- Operación 1: Carga A y B (0,5 horas)
- Operación 2: Mezclar / Calentar (1 hora)
- Operación 3: mantener a 80 ° C durante 4 horas
- Operación 4: Bombear la solución a través del enfriador hasta el tanque de mezcla (0,5 horas)
- Operación 5: Limpiar (1 hora)
- Procedimiento unitario 2: Mezcla de precipitación
- Operación 1: Recibir solución del reactor
- Operación 2: Agregue solvente, D (0.5 horas)
- Operación 3: licuar durante 2 horas
- Operación 4: Bomba para centrifugar durante 2 horas
- Operación 5: limpieza (1 hora)
- Procedimiento unitario 3: Centrifugación
- Operación 1: Centrifugar la solución durante 2 horas
- Operación 2: Limpiar
- Procedimiento de unidad 4: Tote
- Operación 1: recibir material de la centrífuga
- Operación 2: Cargar secador (15 min)
- Procedimiento de la unidad 5: Secar
- Operación 1: Carga
- Operación 2: Seco (1 hora)
Tenga en cuenta que la organización aquí está destinada a capturar todo el proceso de programación. Una receta para fines de control de procesos puede tener un alcance más limitado.
La mayoría de las limitaciones y restricciones descritas por Pinedo [9] son aplicables en el procesamiento por lotes. Las diversas operaciones de una receta están sujetas a restricciones de tiempo o precedencia que describen cuándo comienzan o terminan entre sí. Además, debido a que los materiales pueden ser perecederos o inestables, la espera entre operaciones sucesivas puede ser limitada o imposible. Las duraciones de las operaciones pueden ser fijas o pueden depender de las duraciones de otras operaciones.
Además del equipo de proceso, las actividades de proceso por lotes pueden requerir mano de obra, materiales, servicios públicos y equipo adicional.
Análisis de tiempo de ciclo
En algunos casos simples, un análisis de la receta puede revelar la tasa de producción máxima y la unidad de limitación de la tasa. En el ejemplo de proceso anterior, si se van a producir varios lotes o lotes del Producto C, es útil calcular el tiempo mínimo entre inicios de lotes consecutivos (tiempo de ciclo). Si se permite que un lote comience antes del final del lote anterior, el tiempo de ciclo mínimo viene dado por la siguiente relación: [10]
Donde CT min es el tiempo de ciclo más corto posible para un proceso con M procedimientos unitarios y τ j es la duración total del j-ésimo procedimiento unitario. El procedimiento unitario con la duración máxima a veces se denomina cuello de botella. Esta relación se aplica cuando cada procedimiento unitario tiene una única unidad de equipo dedicada.
Si hay unidades de equipo redundantes disponibles para al menos un procedimiento unitario, el tiempo de ciclo mínimo se convierte en:
Donde N j es el número de equipos redundantes para el procedimiento unitario j.
Si el equipo se reutiliza dentro de un proceso, el tiempo de ciclo mínimo se vuelve más dependiente de los detalles particulares del proceso. Por ejemplo, si el procedimiento de secado en el ejemplo actual se reemplaza con otra reacción en el reactor, el tiempo de ciclo mínimo depende de la política operativa y de las duraciones relativas de otros procedimientos. En los casos siguientes, un aumento en el tiempo de espera en el contenedor puede disminuir el tiempo de ciclo mínimo promedio.
Visualización
Se utilizan varios gráficos para ayudar a los programadores a administrar visualmente los horarios y las restricciones. El diagrama de Gantt es una pantalla que muestra actividades en un gráfico de barras horizontales en el que las barras representan el tiempo de la actividad. A continuación se muestra un ejemplo de un diagrama de Gantt para el proceso en el ejemplo descrito anteriormente.
Otro gráfico de tiempo, que a veces también se denomina gráfico de Gantt [11], muestra el tiempo durante el cual los recursos clave, por ejemplo, el equipo, están ocupados. Las figuras anteriores muestran este diagrama de Gantt de estilo de ocupación.
Los recursos que se consumen en función de la tasa, por ejemplo, energía eléctrica, vapor o mano de obra, generalmente se muestran como gráficos de tasa de consumo frente a tiempo.
Métodos algorítmicos
Cuando las situaciones de programación se vuelven más complicadas, por ejemplo, cuando dos o más procesos comparten recursos, puede resultar difícil encontrar la mejor programación. Varios problemas de programación comunes, incluidas las variaciones del ejemplo descrito anteriormente, pertenecen a una clase de problemas que se vuelven muy difíciles de resolver a medida que aumenta su tamaño (número de procedimientos y operaciones). [12]
Se ha aplicado una amplia variedad de algoritmos y enfoques a la programación de procesos por lotes. Los primeros métodos, que se implementaron en algunos sistemas MRP, asumían una capacidad infinita y dependían solo del tiempo del lote. Dichos métodos no contabilizaron ningún recurso y producirían programas inviables. [13]
Los métodos de programación matemática implican formular el problema de programación como un problema de optimización donde algún objetivo, por ejemplo, la duración total, debe minimizarse (o maximizarse) sujeto a una serie de restricciones que generalmente se establecen como un conjunto de desigualdades e igualdades. El objetivo y las restricciones pueden involucrar variables cero o una (enteras), así como relaciones no lineales. Se aplica un solucionador apropiado para el problema resultante de programación lineal o no lineal de enteros mixtos (MILP / MINLP). Teóricamente, el enfoque está garantizado para encontrar una solución óptima, si existe. La desventaja es que el algoritmo de resolución puede llevar una cantidad de tiempo excesiva. Los profesionales pueden utilizar simplificaciones específicas de problemas en la formulación para obtener soluciones más rápidas sin eliminar los componentes críticos del modelo de programación. [14]
La programación de restricciones es un enfoque similar, excepto que el problema se formula solo como un conjunto de restricciones y el objetivo es llegar rápidamente a una solución factible. Con este método son posibles múltiples soluciones. [15] [16]
El modelado basado en agentes describe el proceso por lotes y construye un cronograma factible bajo varias restricciones. [17] Al combinarlo con la programación de enteros mixtos o los métodos de optimización basados en simulaciones, este enfoque podría lograr un buen equilibrio entre la eficiencia de la solución y el rendimiento del programa. [18]
Ver también
Referencias
- ^ Marcus V. Magalhaes y Nilay Shah, "Programación de petróleo crudo", Fundamentos de operaciones asistidas por computadora (FOCAPO) 2003, pp 323-325.
- ^ Zhenya Jia y Marianthi Ierapetritou, "Programación eficiente a corto plazo de la operación de la refinería basada en una formulación de tiempo continuo", Fundamentos de las operaciones asistidas por computadora (FOCAPO) 2003, págs. 327-330
- ^ Toumi, A., Jurgens, C., Jungo, C., MAier, BA, Papavasileiou, V. y Petrides, D., " Diseño y optimización de una instalación biofarmacéutica a gran escala utilizando herramientas de programación y simulación de procesos ", Farmacéutica Engineering (la revista ISPE) 2010, vol 30, no 2, pp 1-9.
- ^ Papavasileiou, V., Koulouris, A., Siletti, C. y Petrides, D., " Optimizar la fabricación de productos farmacéuticos con herramientas de programación de producción y simulación de procesos ", Investigación y diseño de ingeniería química (publicación IChemE) 2007, vol 87 , págs. 1086-1097
- ^ Michael Pinedo, Teoría de programación, algoritmos y sistemas , Prentice Hall, 2002, pp 1-6.
- ^ TF Edgar, CL Smith, FG Shinskey, GW Gassman, PJ Schafbuch, TJ McAvoy, DE Seborg, Control de procesos, Manual del ingeniero químico de Perry, R. Perry y DW Green eds., McGraw Hill, 1997, p 8-41.
- ^ Charlotta Johnsson, S88 para principiantes, Foro mundial por lotes, 2004.
- ^ LT Biegler, IE Grossman y AW Westerberg, Métodos sistemáticos de diseño de procesos químicos, Prentice Hall, 1999 p181.
- ^ M. Pinedo, 2002, págs. 14-22.
- ^ Biegler y col. 1999, p187
- ^ M. Pinedo, 2002, p430
- ^ M. Pinedo, 2002, p28
- ^ G. Plenert y G / Kirchmier, 2000, pp38-41
- ^ C.Méndez, J. Cerda, I. Grossman, I. Harjunkoski, M. Fahl, Revisión del estado del arte de los métodos de optimización para la programación a corto plazo de procesos por lotes, computadoras e ingeniería química , 30 (2006), pp 913- 946
- ^ I. Lustig, Progreso en programación lineal y entera y aparición de programación de restricciones , Fundamentos de operaciones asistidas por computadora (FOCAPO) 2003, 133-151
- ^ L. Zeballos y GP Henning, Un enfoque de programación de restricciones para el problema de programación de lotes de múltiples etapas , Fundamentos de operaciones asistidas por computadora (FOCAPO), 2003, 343-346
- ^ Chu, Yunfei; Tú, Fengqi; Wassick, John M. (2014). "Método híbrido que integra el modelado basado en agentes y la búsqueda de árboles heurísticos para la programación de procesos por lotes complejos" . Computación e Ingeniería Química . 60 : 277-296. doi : 10.1016 / j.compchemeng.2013.09.004 .
- ^ Chu, Yunfei; Wassick, John M .; Tú, Fengqi (2013). "Método de programación eficiente de procesos por lotes complejos con estructura de red general a través de modelado basado en agentes" . Revista AIChE . 59 (8): 2884–2906. doi : 10.1002 / aic.14101 .
Otras lecturas
- Blazewicz, J., Ecker, KH, Pesch, E., Schmidt, G. und J. Weglarz, Programación de procesos informáticos y de fabricación, Berlín (Springer) 2001, ISBN 3-540-41931-4
- Herrmann, Jeffrey W., editor, 2006, Handbook of Production Scheduling, Springer, Nueva York.
- McKay, KN y Wiers, VCS, 2004, Practical Production Control: a Survival Guide for Planners and Schedulers, J. Ross Publishing, Boca Raton, Florida. Coeditado con APICS.
- Pinedo, Michael L. 2005. Planificación y programación en manufactura y servicios, Springer, Nueva York.
- Conway, Richard W., Maxwell, William L., Miller, Louis W., Teoría de la programación , Publicaciones de Dover, junio de 2003, ISBN 978-0486428178