CONTROL DE PRODUCCION I Profesora: MYRIAM LEONOR NIÑO LOPEZ
Tema 13: Programación de operaciones
Gestión del taller Actividades orientadas a programar, controlar y evaluar las operaciones de producción a muy corto plazo, para lograr el cumplimiento del PMP con la capacidad disponible y con la mayor eficiencia posible.
Funciones básica de la gestión del taller Evaluación y control de los pedidos a fabricar del PMP. Establecer prioridades entre los pedidos, ordenándolos y asignándolos a cada centro de trabajo. (Programación de operaciones) Rastrear la evolución de los pedidos en curso Controlar el desarrollo de las operaciones en los CT. Controlar la capacidad de cada CT. Proporcionar retroalimentación al Sistema de Planificación y Control de Capacidad.
Planificación de la producción a muy corto plazo Proceso de revisión y autorización de pedidos Se comprueba si puede emitirse un pedido en función de: Disponibilidad de materiales existentes Disponibilidad de capacidad en el centro de trabajo correspondiente Confección del pedido: indicando item a fabricar, cantidad, ruta, materiales. El pedido pasa a considerarse en curso de fabricación
2. Programación de operaciones Asignación de carga a los talleres: Asignación de los pedidos a cada centro de trabajo. Secuenciación: Establecimiento de la prioridad de paso de los pedidos en los diferentes centros de trabajo para cumplir las fechas de entrega con la menor cantidad de inventarios y recursos Programación detallada: Determinación de los momentos de comienzo y fin de las actividades en cada centro de trabajo, así como las operaciones de cada pedido para la secuenciación realizada.
3. Control del proceso de producción Identificar desviaciones y realizar acciones correctivas
Programación de Operaciones Etapa de la Planificación de la Producción que tiene como objetivo elaborar un calendario indicando las fechas en que deben realizarse las operaciones correspondientes a cada pedido, de forma que se cumplan las fechas de entrega planificadas. ¿Qué pedidos deben hacerse en cada centro de trabajo? ¿En qué orden deben realizarse? ¿Cuáles son las fechas de comienzo y terminación de cada trabajo?
PROGRAMACION DE OPERACIONES Morton y Pentico (1993) afirman: “programar es el proceso de organizar, elegir y dar tiempos al uso de recursos para llevar a cabo todas las actividades necesarias, para producir las salidas deseadas en los tiempos deseados, satisfaciendo a la vez un gran número de restricciones de tiempo y relaciones entre las actividades y los recursos.”
Tipos de procesos productivos Procesos por proyecto : Uno o pocos productos con un largo período de fabricación. Procesos intermitentes : Lotes de una amplia variedad de productos, se trabajan bajo pedidos, los equipos son versátiles.
Configuración en línea : Lotes de productos técnicamente homogéneos usando las mismas instalaciones, las máquinas están dispuestas en línea. Configuración continua : Se emplean las mismas instalaciones para producir el mismo producto. La operación de cada máquina siempre es la misma.
Programación finita Programa con detalle cada recurso, a partir del tiempo de preparación de la máquina y el tiempo de carga total para cada pedido. En esencia, el sistema determina con exactitud que hará cada recurso en cada momento de la jornada laboral.
Programación infinita Significa que el trabajo es asignado a un centro de trabajo con base en lo que se irá necesitando con el tiempo. No considera directamente si la capacidad de los recursos necesarios para realizar el trabajo es suficiente, ni la secuencia real de las tareas que realiza cada uno de los recursos del centro de trabajo en cuestión.
Programación hacia adelante Se entiende como la situación donde el sistema toma un pedido y después programa cada una de las operaciones que será realizada en un tiempo futuro. Este tipo de sistema indicaría la fecha más próxima en que se puede terminar un pedido. Los trabajos se realizan bajo pedido del cliente. El programa puede cumplirse incluso si ello significa no cumplir la fecha de entrega. A menudo provoca una acumulación de inventario de trabajo en curso. B E Hoy Fecha de entrega
Programación hacia atrás Inicia con la fecha de entrega, programando primero la última operación. Las etapas del trabajo se programan, de una en una, en orden inverso. Esta programación indicaría cuando se debe iniciar un pedido para que esté terminado en una fecha específica. Se utiliza en muchos entornos de fabricación, así como en entornos de servicios tales como servir un banquete o programar una operación de cirugía. B E Hoy Fecha de entrega
Objetivos de la programación a corto plazo Minimizar el tiempo de finalización. Maximizar la utilización (lo que hace efectivo el uso del personal y del equipamiento). Minimizar el inventario del trabajo en curso (WIP) (mantiene los niveles de inventario bajos). Minimizar el tiempo de espera de los clientes.
Programación en procesos intermitentes Secuenciación. Reglas de Prioridad. Programación de n pedidos en una máquina Programación de n pedidos en dos máquinas Programación de n pedidos en tres máquinas Programación de n pedidos en m máquinas
Secuenciación. Reglas de Prioridad FCFS (first come, first served) SPT (shortest processing time) DD (due date) SRT (Shortest remaining time)
Regla de prioridad FCFS (Fisrt-come, first –served) : Los pedidos se ejecutan en el orden en que llegan al centro de trabajo. SOT (Shortest operating time) : Primero se ejecuta la tarea que tenga el tiempo de terminación más corto, luego el segundo más corto, etc.
DD ( Due date) : Se realiza en primer lugar aquel pedido cuya fecha de entrega está más próxima, cualquiera que sea el tiempo de proceso que le reste. “Primero lo más urgente”. SRT (Shortest remaining time) : Se ejecuta primero aquel pedido al que le quede menos tiempo hasta su fecha de entrega planificada.
Conceptos relacionados: Tiempo de flujo: Tiempo que un pedido permanece en un taller. Tiempo de finalización (Makespan): Tiempo necesario para terminar un conjunto de pedidos. Tiempo de flujo total: Sumatoria de los tiempos de flujo de cada pedido. Tiempo medio de flujo (Flow-time mean): Tiempo de flujo total / nº pedidos
N trabajos en una máquina Determinar la secuencia óptima de procesar n trabajo en una máquina. Todas las secuencias tienen el mismo makespan. Minimizar el flow time mean es el criterio a satisfacer. Representemos los tiempos de proceso de los trabajos i como pi (i = 1,n). La secuencia que minimiza el criterio es aquella en la que los trabajos se ordenan del menor tiempo al mayor. Ésta secuencia también minimiza el tiempo promedio de espera y la tardanza promedio (mean lateness).
Programación de N trabajos en una máquina Ejemplo: En una empresa han llegado n pedidos, los cuales deben ser procesados en una máquina. Los tiempos de proceso y las fechas comprometidas para cada pedido se dan en la siguiente tabla. Determinar la secuencia que debe seguirse para ejecutar los trabajos, usando las siguientes reglas de prioridad: FCFS, SPT, DD, STR. Para cada regla determinar tiempo de flujo total, tiempo medio de flujo y tiempo medio de retraso.
Tiempo de proceso (días) Fecha comprometida de entrega Trabajos (En orden de llegada) Tiempo de proceso (días) Fecha comprometida de entrega (días a partir de hoy) A 3 5 B 4 6 C 2 7 D 9 E 1
Secuencia de los trabajos Fecha comprometida de entrega Regla FCFS Secuencia de los trabajos Tiempo de proceso (días) pi Fecha comprometida de entrega (días a partir de hoy) Tiempo de flujo A 3 5 0 + 3 = 3 B 4 6 3 + 4 = 7 C 2 7 7 + 2 = 9 D 9 9 + 6 = 15 E 1 15 + 1 = 16
Tiempo total de flujo = 3 + 7 + 9 + 15 + 16 = 50 días Tiempo medio de flujo = 50 / 5 = 10 días Promedio de retraso = (0 + 1 + 2 + 6 + 14) /5 = 4.6 días
Tiempo de proceso (días) Fecha comprometida de entrega Trabajos (En orden de llegada) Tiempo de proceso (días) Fecha comprometida de entrega (días a partir de hoy) A 3 5 B 4 6 C 2 7 D 9 E 1
Secuencia de los trabajos Fecha comprometida de entrega Regla SOT Secuencia de los trabajos Tiempo de proceso (días) pi Fecha comprometida de entrega (días a partir de hoy) Tiempo de flujo E 1 2 0 + 1 = 1 C 7 1 + 2 = 3 A 3 5 3 + 3 = 6 B 4 6 6 + 4 = 10 D 9 10 + 6 = 16
“La regla SOT produce la solución óptima para el caso n /1” Tiempo total de flujo = 1 + 3 + 6 + 10 + 16 = 36 días Tiempo medio de flujo = 36 / 5 = 7.2 días Promedio de retraso = (0 + 0 + 1 + 4 + 7) /5 = 2.4 días “La regla SOT produce la solución óptima para el caso n /1”
Tiempo de proceso (días) Fecha comprometida de entrega Trabajos (En orden de llegada) Tiempo de proceso (días) Fecha comprometida de entrega (días a partir de hoy) A 3 5 B 4 6 C 2 7 D 9 E 1
Secuencia de los trabajos Fecha comprometida de entrega Regla DD Secuencia de los trabajos Tiempo de proceso (días) pi Fecha comprometida de entrega (días a partir de hoy) Tiempo de flujo E 1 2 0 + 1 = 1 A 3 5 1 + 3 = 4 B 4 6 4 + 4 = 8 C 7 8 + 2 = 10 D 9 10 + 6 = 16
Tiempo total de flujo = 1 + 4 + 8 + 10 + 16 = 39 días Tiempo medio de flujo = 39 / 5 = 7.8 días Promedio de retraso = (0 + 0 + 2 + 3 + 7) /5 = 2.4 días
Tiempo de proceso (días) Fecha comprometida de entrega Trabajos (En orden de llegada) Tiempo de proceso (días) Fecha comprometida de entrega (días a partir de hoy) A 3 5 B 4 6 C 2 7 D 9 E 1
Secuencia de los trabajos Fecha comprometida de entrega Regla SRT Secuencia de los trabajos Tiempo de proceso (días) pi Fecha comprometida de entrega (días a partir de hoy) Tiempo de flujo E 1 2 0 + 1 = 1 A 3 5 1 + 3 = 4 B 4 6 4 + 4 = 8 D 9 8 + 6 = 14 C 7 14 + 2 = 16
Tiempo total de flujo = 1 + 4 + 8 + 14 + 16 = 43 días Tiempo medio de flujo = 43 / 5 = 8.6 días Promedio de retraso = (0 + 0 + 2 + 5 + 9) /5 = 3.2 días
N trabajos en una máquina - Ponderado Minimizar el promedio ponderado del tiempo de flujo. Trabajo Tiempo de proceso (días) pi Ponderación wi Pi / wi 1 10 5 2.0 2 6 0.6 3 1.0 4 4.0 0.67 8 1.6 La secuencia óptima es 2 – 5 – 3 – 6 – 1 - 4
Programación de N trabajos en dos máquinas Los n trabajos se procesan en 2 máquinas con el mismo órden. El criterio es el de minimizar el makespan. El procedimiento a utilizar es el de la Regla de Johnson.
Programación de N trabajos con rutas iguales en dos máquinas Regla de Johnson Elaborar una lista del tiempo que lleva cada pedido en ambas máquinas. Ubicar el menor tiempo de operación y el pedido correspondiente Si el menor tiempo está en la primera máquina,ese pedido será el primero en realizarse. Si está en la segunda, el pedido se hára en último lugar Repetir 2 y 3 hasta que se complete el programa
La secuencia óptima es 2 – 4 – 5 – 3 – 1 Ejemplo: Se quieren programar cinco pedidos en dos máquinas. Los tiempos de operación en cada máquina son: Pedido Tiempo en máquina 1 Tiempo en máquina 2 1 4 3 2 5 6 La secuencia óptima es 2 – 4 – 5 – 3 – 1
Diagrama de Gantt de la programación 5 10 15 20 25 Máq 1 Máq 2 2 4 3 1 21 17 Makespan
N trabajos con rutas diferentes en dos máquinas Usar algoritmo de Jackson. Formar 4 conjuntos de trabajos: {A} = Los procesados solamente en la máquina 1. {B} = Los procesados en máquina 2 solamente. {AB} = Los procesados primero en máquina 1 y luego en la 2. {BA} = Los procesados primero en máquina 2 y luego en la 1. Secuenciar los trabajos de {AB} y {BA}, por separado, con la Regla de Johnson.
“El Algoritmo de Jackson no prueba la optimalidad del procedimiento” Defina secuencias arbitrarias para los trabajos {A} y {B}. Combine las secuencias de la siguiente manera. Máquina 1: {AB} antes de {A} antes de {BA}. Máquina 2: {BA} antes de {B} antes de {AB}. “El Algoritmo de Jackson no prueba la optimalidad del procedimiento”
Ejemplo: Trabajo 1 2 3 4 5 6 7 8 9 10 Ruta BA AB B A pi1 11 13 pi2
Solución: Secuencia Máquina A: 2 – 10 – 6 – 5 – 9 – 3 – 8 – 1 Secuencia Máquina B: 9 – 3 – 8 – 1 – 4 – 7 – 2 – 10 -6 Makespan: 68
Programación de N trabajos con rutas iguales en tres máquinas Regla de Johnson Ampliada. Condiciones para obtener la solución óptima: El tiempo de proceso más corto en la máquina 1 es >= tiempo más largo en la máquina 2. ó El tiempo de proceso más corto en la máquina 3 es >= tiempo más largo en la máquina 2 El procedimiento proporciona una “buena solución factible” aún cuando no se cumplan las condiciones.
Procedimiento: Si todos los trabajos tienen la misma secuencia de proceso y la máquina 2 es dominada completamente por la máquina 1 ó 3, se aplica el siguiente procedimiento: Se forman 2 máquinas dummy, 1´y 2´, con tiempos de proceso: pi1´ = pi1 + pi2 y pi2´ = pi2 + pi3. Se resuelve el caso de las dos máquinas dummy utilizando la Regla de Johnson
Ejemplo: Secuenciar los siguientes trabajos: Trabajos Máquina 1 8 2 4 5 3 6 7
Secuencia óptima: 2 – 1 – 4 - 3 Trabajo Máquina 1’ Máquina 2’ 1 10 6 2 9 3 7 4 5 Secuencia óptima: 2 – 1 – 4 - 3
Diagrama de Gantt de la solución: Makespan
Programación de N trabajos en M máquinas No existe un método eficiente que proporcione una solución exacta. Se utilizan métodos heurísticos tales como las Reglas de Despacho. Éstas son reglas que determinan qué trabajo procesar al quedar éste disponible de manera secuencial en el tiempo, en lugar de suponer que todos los trabajos están disponibles. Se maneja el concepto de prioridad en los trabajos.
Secuenciación Dinámica de Trabajos Trabajos llegan a procesarse al azar durante un intervalo de tiempo. Su secuencia se determina mediante el uso de reglas de despacho que proporcionan prioridades a los mismos. Las reglas se derivan a través de análisis de líneas de espera, experimentación y simulación. La regla de secuenciación y despacho mas importante es la del tiempo de proceso mas corto (SPT). Otras reglas se derivan del SPT , así como del tamaño de las líneas de espera y la fecha prometida a los clientes.
Otras Reglas de Despacho Basadas en tiempo de proceso: Menor Trabajo Remanente (LWKR): Considera la suma de los tiempos de proceso para todas las operaciones por realizarse en el trabajo. Trabajo Total (TWK): Considera la suma de los tiempos de proceso de todas las operaciones del trabajo. Menor Cantidad de Operaciones por Realizarse (FOPR): Considera el número de operaciones a realizarse en el trabajo.
Otras reglas de despacho Basadas en Fechas de Entrega: Fecha Prometida (DDATE): La prioridad se asigna en base a la fecha prometida. Tiempo de Holgura (SLACK): La prioridad se asigna en función del tiempo que falta para la fecha prometida menos el tiempo de proceso faltante. Holgura/ Operación Faltante (S/ROP): La prioridad se determina por el cociente entre el SLACK y el número de operaciones faltantes.
Programación en sistemas de configuración en línea SITUACIÓN 1: Las unidades pasan una a una por cada máquina. Programación secuenciación en una máquina Reglas de prioridad SITUACIÓN 2: Se procesan todas las unidades del lote en la máquina 1, luego se procesa todo el lote en la máquina 2 y así sucesivamente. Programación secuenciación en m máquinas
Regla del ratio crítico Para cada trabajo se calcula el ratio crítico: RC = (fecha de entrega – fecha de comienzo) tiempo requerido en días RC pequeños representan trabajos urgentes RC >1 representan trabajos no cruciales
Control de las actividades en planta La programación de las operaciones implica otras actividades además de la secuenciación, tales como, mantener informaciòn sobre: Trabajo en curso Situación de los pedidos Producción real Medidas de productividad del personal y las máquinas Determinar el cumplimiento de los programas
Herramientas de control 1. Lista de ejecución de pedidos. Ejemplo: Fecha de comienzo Pedido No. Descripción Tiempo de Ejecución 201 203 205 206 15131 15143 15171 15312 Ejes Varillas Mangos 10,4 6,5 4,6 5,2
2. Informes de excepción: Proporcionan información al supervisor para manejar problemas especiales. Ejemplo Informes de demora: Componente No. Fecha programada Nueva fecha Causa del retraso Acción 17125 13044 17653 2/07 11/07 7/07 28/07 13/07 Rotura de junta Rotura del soporte Agujeros de las piezas no alineados Mant volverá el día 6 Nuevo comienzo del lote Ing. enviará un nuevo de herramientas
3. Informe de control de entradas / salidas: Se usan para determinar la relación entre la carga de trabajo y la capacidad. Ejemplo:Centro de trabajo 0162 Semana 505 506 507 Entrada prevista 210 Entrada real 110 150 140 Desviación -100 -60 -70 Salida prevista Salida real 120 160 -90 -50
4. Informes de la situación: Ofrecen resúmenes del rendimiento de la operación y a menudo incluyen: Número y porcentaje de trabajos terminados a tiempo Retrasos en trabajos aún no terminados Volúmen de salidas
PLEM aplicada al problema de programación de operaciones El problema de la Programación de Operaciones puede ser formulado como un problema de Programación Lineal Entera Mixta del tipo combinatorio, que se caracteriza por tener un número grande de soluciones factibles, generadas por los diferentes órdenes en que se pueden organizar un conjunto de operaciones.
La connotación combinatoria de las soluciones posibles, es imposible de explorar, en la mayoría de los casos en forma exhaustiva. Ejemplo: Suponga la programación de 10 piezas (n) en 4 máquinas (m), en cada pieza debe realizarse una operación en cada máquina. En principio el número de programas posible es: (n!)m = (10!)4 = 1.7 x 1026
Términos utilizados en la programación de operaciones Trabajo: Es una unidad de producto o un lote de unidades idénticas, que debe ser procesado en determinadas máquinas. Algunos términos sinónimos pueden ser tarea, lote de trabajo u orden del taller. Máquina: Es un recurso capaz de desarrollar determinado proceso. Otros términos empleados son instalación o centro de trabajo.
Operación: Es una tarea elemental que se desarrolla en un trabajo por una máquina particular. Para especificar una operación se indica el trabajo al que pertenece y la máquina en la cual se desarrolla. Otro término puede ser actividad. Tiempo de proceso: Es el tiempo que se requiere para realizar una operación en una máquina particular. Puede incluir el tiempo de preparación de la máquina (setup) y el tiempo de transporte para trasladar un trabajo de una máquina a otra (run-time).
Ruta: Es la sucesión de operaciones necesarias en los diferentes centros de máquina para la elaboración de un trabajo. La ruta se diseña con base en los requerimientos tecnológicos y establece las relaciones de precedencia de las operaciones.
Hipótesis generalmente aceptadas en la programación de operaciones Las operaciones requeridas por un trabajo tienen que realizarse en un solo tipo de máquina del taller. Cuando una operación ha comenzado debe terminarse antes de iniciar otra en la misma máquina, no se admiten interrupciones. No se pueden solapar dos operaciones de la misma pieza (en la misma máquina o en máquinas distintas). No hay montajes ni particiones de lote. Se utilizan tiempos determinísticos. El tiempo de proceso de las operaciones es independiente de la secuencia.
Cada máquina esta continuamente disponible, durante el periodo de tiempo analizado, sin interrupciones como averías o mantenimiento. Cada máquina puede tratar una sola operación a la vez. Los tiempos de transporte y de preparación de la máquina se consideran despreciables o parte del tiempo de proceso. No existen cancelaciones de trabajos.
Ejemplo: M11 M21 M31 M32 Recursos Preparación 10 30 20 A5 A2 A4 V3 M5 Demanda semanal 60 40 O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 A B C D Tomado del artículo “Modelling setup times, process batches and transfer batches using activity network logic” de Eric L. Demeulemeester y Willy S. Herroelen y publicado en la Revista European Journal of Operational Research 89 (1996) páginas 355-365.
El Problema de Programación del Taller de Trabajo, presentado anteriormente, puede ser modelizado por medio de la Programación Entera Mixta. Este problema trata de la fabricación de lotes de trabajo, por lo general pequeños, de productos muy diferentes, los cuales tienen distinta secuencia de paso por las máquinas o centros de trabajo.
El problema consiste en determinar el orden o secuencia de los lotes para cada una de las máquinas, respetando las rutas y las capacidades disponibles, de tal forma que se optimice una medida de eficacia determinada (por ejemplo: El instante de salida de la última pieza del Taller (Makespan)).
El modelo para este tipo de problema se define básicamente a través de dos clases de restricciones: Restricciones de secuencia Restricciones de interferencia
Restricciones de secuencia Esta restricción es necesaria para garantizar que las operaciones se realizan en el orden tecnológico que establece la ruta.
Restricciones de Secuencia Tipo I Es la secuencia entre dos operaciones que se ejecutan en máquinas de las cuales solo se dispone de una unidad de cada una. Mk Ml
X : Variable tiempo de inicio de la operación i: Trabajo j: Operación precedente d: Operación siguiente k: Máquina donde se ejecuta la operación precedente l: Máquina donde se ejecuta la operación siguiente TT: Parámetro tiempo de inicio más temprano posible para la operación siguiente.
Ejemplo: M11 M21 M31 M32 Recursos Preparación 10 30 20 A5 A2 A4 V3 M5 Demanda semanal 60 40 O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 A B C D Tomado del artículo “Modelling setup times, process batches and transfer batches using activity network logic” de Eric L. Demeulemeester y Willy S. Herroelen y publicado en la Revista European Journal of Operational Research 89 (1996) páginas 355-365.
Restricciones de Secuencia Tipo II Es la secuencia entre dos operaciones, la operación precedente se ejecuta en una máquina de la que hay disponibles dos unidades y por consiguiente se debe elegir donde desarrollar la operación. La operación siguiente se realiza en una máquina de la que solo se tiene una unidad. Mk1 Ml Mk2
X : Variable tiempo de inicio de la operación i: Trabajo X : Variable tiempo de inicio de la operación i: Trabajo j: Operación precedente d: Operación siguiente k1: Máquina donde es posible ejecutar la operación precedente
k2: Máquina donde es posible ejecutar la operación precedente l: Máquina donde se ejecuta la operación siguiente Y: Variable binaria que si vale 1 señala que la operación se ejecuta en esa máquina y si vale 0 en la otra TT: Parámetro tiempo de inicio más temprano posible para la operación siguiente M: Número suficientemente grande para permitir que solo una de las desigualdades sea activa. Si la variable binaria Y(i,j,k1) = 1, la primera ecuación es activa y la segunda es redundante. La tercera expresión se formula para garantizar que solo se utiliza una de las dos unidades disponibles de la máquina.
Ejemplo: M11 M21 M31 M32 Recursos Preparación 10 30 20 A5 A2 A4 V3 M5 Demanda semanal 60 40 O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 A B C D Tomado del artículo “Modelling setup times, process batches and transfer batches using activity network logic” de Eric L. Demeulemeester y Willy S. Herroelen y publicado en la Revista European Journal of Operational Research 89 (1996) páginas 355-365.
Restricciones de Secuencia Tipo III Es la secuencia entre dos operaciones, la operación precedente se ejecuta en una máquina de la que se tiene una sola unidad y la operación siguiente en una máquina de la cual se dispone de dos unidades y por consiguiente se debe elegir una para desarrollar la operación. Mk Ml2 Ml1
X : Variable tiempo de inicio de la operación i: Trabajo X : Variable tiempo de inicio de la operación i: Trabajo j: Operación precedente d: Operación siguiente k: Máquina donde se ejecuta la operación precedente
l1: Máquina donde es posible ejecutar la operación siguiente Y: Variable binaria que si vale 1 señala que la operación se ejecuta en esa máquina y si vale 0 en la otra TT: Parámetro tiempo de inicio más temprano posible para la operación siguiente M: Número suficientemente grande para permitir que solo una de las desigualdades sea activa.
Ejemplo: M11 M21 M31 M32 Recursos Preparación 10 30 20 A5 A2 A4 V3 M5 Demanda semanal 60 40 O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 A B C D Tomado del artículo “Modelling setup times, process batches and transfer batches using activity network logic” de Eric L. Demeulemeester y Willy S. Herroelen y publicado en la Revista European Journal of Operational Research 89 (1996) páginas 355-365.
Restricciones de Interferencia Esta restricción se formula para evitar que dos operaciones se programen para utilizar simultáneamente una misma máquina.
Restricciones de Interferencia Tipo I Este tipo de restricción se formula en aquellos casos en donde sólo se tiene una unidad de la máquina. Existen ligaduras disyuntivas entre dos trabajos cualquiera i, r en una máquina que se pueden representar por las siguientes desigualdades: O bien
X : Variable tiempo de inicio de la operación i: Trabajo r: Trabajo j: Operación d: Operación k: Máquina donde se realiza las operaciones j , d. PL: Tiempo de proceso de lote
Este tipo de ligadura se trata mediante un modelo lineal con una variable binaria Z(i,j,r,d,k), que vale 1 sí el trabajo (i,j) precede al trabajo (r, d) en la máquina k, no necesariamente de forma inmediata y cero en caso contrario. En consecuencia se deben formular las siguientes restricciones:
Ejemplo: M11 M21 M31 M32 Recursos Preparación 10 30 20 A5 A2 A4 V3 M5 Demanda semanal 60 40 O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 A B C D Tomado del artículo “Modelling setup times, process batches and transfer batches using activity network logic” de Eric L. Demeulemeester y Willy S. Herroelen y publicado en la Revista European Journal of Operational Research 89 (1996) páginas 355-365.
Restricciones de Interferencia Tipo II Este tipo de restricción se refiere a aquellos casos en donde se disponen de dos unidades o más de una misma máquina. Para formular las restricciones de interferencia es necesario verificar que efectivamente las operaciones se desarrollan en la misma unidad. Para esto se necesita una variable binaria W(i,j,r,d,k) que vale uno si efectivamente las operaciones se ejecutan en la misma unidad de un tipo de máquina y cero en caso contrario.
Y(i,j,k1) = 1 Y(r,d,k1) = 1 W(i,j,r,d,k1) = 1 La condición lógica: Y(i,j,k1) = 1 Y(r,d,k1) = 1 W(i,j,r,d,k1) = 1 Se representa por medio de las siguientes restricciones:
La formulación de las restricciones de interferencia depende del valor que tome la variable binaria W(i,j,r,d,k), en cada caso. Esta situación se plantea a través de las siguientes restricciones:
U: Variable binaria para indicar si la restricción se satisface V: Variable binaria para indicar si la restricción se satisface M: Número suficientemente grande para forzar a que una restricción sea activa A: Número suficientemente pequeño B: Valor de tolerancia pequeño a partir del cual se considera que la restricción se rompe.
Adicionalmente, a las restricciones anteriores, es necesario formular dos restricciones más para las variables binarias, que garantizan que solo serán activas un par de las cuatro restricciones de interferencia planteadas anteriormente.
Ejemplo: M11 M21 M31 M32 Recursos Preparación 10 30 20 A5 A2 A4 V3 M5 Demanda semanal 60 40 O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 A B C D Tomado del artículo “Modelling setup times, process batches and transfer batches using activity network logic” de Eric L. Demeulemeester y Willy S. Herroelen y publicado en la Revista European Journal of Operational Research 89 (1996) páginas 355-365.
Medida de Eficacia Como inicialmente se señaló, en este caso se utilizará como medida de eficacia a optimizar la del Instante de salida de la última pieza del Taller (Makespan). Para esta medida, es necesario formular para la última operación de cada trabajo, una restricción que se modifica dependiendo de sí existe una sola unidad o varias de la máquina donde la operación se desarrolla.
Cuando solo se dispone de una unidad de la máquina, la restricción que se debe formular es la siguiente: T: Variable que representa la terminación del proceso z: Ultima operación de un trabajo
Ejemplo: M11 M21 M31 M32 Recursos Preparación 10 30 20 A5 A2 A4 V3 M5 Demanda semanal 60 40 O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 A B C D Tomado del artículo “Modelling setup times, process batches and transfer batches using activity network logic” de Eric L. Demeulemeester y Willy S. Herroelen y publicado en la Revista European Journal of Operational Research 89 (1996) páginas 355-365.
En el caso de que se disponga de dos o más unidades, es necesario formular la siguiente restricción para cada unidad de máquina: La función objetivo es minimizar la variable T.
Ejemplo: M11 M21 M31 M32 Recursos Preparación 10 30 20 A5 A2 A4 V3 M5 Demanda semanal 60 40 O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 A B C D Tomado del artículo “Modelling setup times, process batches and transfer batches using activity network logic” de Eric L. Demeulemeester y Willy S. Herroelen y publicado en la Revista European Journal of Operational Research 89 (1996) páginas 355-365.
MODEL STATISTICS BLOCKS OF EQUATIONS 17 BLOCKS OF VARIABLES 7 NON ZERO ELEMENTS 388 SINGLE EQUATIONS 140 SINGLE VARIABLES 65 DISCRETE VARIABLES 50
Solución Optima:
Diagrama de Gantt de la solución óptima:
Resolución de los problemas enteros por el método del Branch & Bound En un problema con enteros existe un número finito de soluciones posibles (no todas son factibles) que pueden representarse mediante un diagrama de árbol. No hace falta enumerar todas las soluciones posibles si se pueden eliminar “ramas dominadas”. Una rama puede eliminarse si puede demostrarse que no contiene una solución factible que sea mejor que una ya obtenida.
Pasos en el método de Branch & Bound 1. Comenzar: resolver el problema como si fuera un problema ordinario de PL (relajación de enteros). La solución obtenida se toma como cota máxima y base para el procedimiento de búsqueda de una solución factible. 2. Ramificar: a partir de la solución de PL designar una variable como entera y seleccionar, a partir de los posibles valores enteros que pueda tomar, una rama para investigarla.
3. Limitar: encontrar un límite para el problema definido por la rama seleccionada. El límite está dado por el valor de la mejor solución factible de enteros encontrada hasta el momento, y domina a todos los otros posibles resultados de una rama.
4. Comparar: comparar la solución obtenida en la rama con el límite de referencia vigente. Si el valor de la solución es menor que el límite vigente, se elimina de consideración toda la nueva rama. Se continúa con las ramas que no hayan sido evaluadas aún. Si el valor de la solución es mejor que el límite vigente y si la solución es entera (factible), entonces se convierte en el nuevo límite de referencia. Se examinan las ramas que aún no se han considerado en relación al nuevo límite. Si el valor de la solución es mayor que el límite vigente, pero la solución no es entera (factible) deben explorarse las ramificaciones de nivel inferior en la misma rama.
5. Terminar: quedarse con la mejor solución factible obtenida una vez examinadas todas las ramificaciones.