Full text
ADVERTIMENT. L'accés als continguts d'aquesta tesi doctoral i la seva utilització ha de respectar els drets de la persona autora. Pot ser utilitzada per a consulta o estudi personal, així com en activitats o materials d'investigació i docència en els termes establerts a l'art. 32 del Text Refós de la Llei de Propietat Intel·lectual (RDL 1/1996). Per altres utilitzacions es requereix l'autorització prèvia i expressa de la persona autora. En qualsevol cas, en la utilització dels seus continguts caldrà indicar de forma clara el nom i cognoms de la persona autora i el títol de la tesi doctoral. No s'autoritza la seva reproducció o altres formes d'explotació efectuades amb finalitats de lucre ni la seva comunicació pública des d'un lloc aliè al servei TDX. Tampoc s'autoritza la presentació del seu contingut en una finestra o marc aliè a TDX (framing). Aquesta reserva de drets afecta tant als continguts de la tesi com als seus resums i índexs. ADVERTENCIA. El acceso a los contenidos de esta tesis doctoral y su utilización debe respetar los derechos de la persona autora. Puede ser utilizada para consulta o estudio personal, así como en actividades o materiales de investigación y docencia en los términos establecidos en el art. 32 del Texto Refundido de la Ley de Propiedad Intelectual (RDL 1/1996). Para otros usos se requiere la autorización previa y expresa de la persona autora. En cualquier caso, en la utilización de sus contenidos se deberá indicar de forma clara el nombre y apellidos de la persona autora y el título de la tesis doctoral. No se autoriza su reproducción u otras formas de explotación efectuadas con fines lucrativos ni su comunicación pública desde un sitio ajeno al servicio TDR. Tampoco se autoriza la presentación de su contenido en una ventana o marco ajeno a TDR (framing). Esta reserva de derechos afecta tanto al contenido de la tesis como a sus resúmenes e índices. WARNING. Access to the contents of this doctoral thesis and its use must respect the rights of the author. It can be used for reference or private study, as well as research and learning activities or materials in the terms established by the 32nd article of the Spanish Consolidated Copyright Act (RDL 1/1996). Express and previous authorization of the author is required for any other uses. In any case, when using its content, full name of the author and title of the thesis must be clearly indicated. Reproduction or other forms of for profit use or public communication from outside TDX service is not allowed. Presentation of its content in a window or frame external to TDX (framing) is not authorized either. These rights affect both the content of the thesis and its abstracts and indexes.
UNIVERSITAT POLITÈCNICA DE CATALUNYA Departament d’Organització d’Empreses TESIS DOCTORAL PROCEDIMIENTOS DE SECUENCIACIÓN Y PROGRAMACIÓN EN UN SISTEMA PRODUCTIVO DE ESTACIONES EN SERIE CON TRANSPORTADORES ASÍNCRONOS DE MATERIAL PRESENTADA POR: Manuel Mateo Doll DIRIGIDA POR: Dr. Ramón Companys Pascual BARCELONA, marzo de 2001
La presente Tesis Doctoral ha sido desarrollada en el marco del Proyecto de la Comisión Interministerial de Ciencia y Tecnología (CICYT) denominado “Secuenciación de unidades no homogéneas”, referencia TAP98-0494.
A Manel i Cecília, els meus pares, i a Lluís, la meva família.
AGRADECIMIENTOS En este punto, en que este trabajo llega a su culminación, quiero agradecer el apoyo y la dedicación que ciertas personas me han prestado durante el proceso de elaboración de esta Tesis Doctoral. En primer lugar, el agradecimiento comienza por mi Director de tesis, Ramón Companys, del cual espero no tan sólo haber aprendido a investigar, analizar y sintetizar, sino también otras actitudes del terreno humano. A continuación, debo mencionar a los profesores Joaquín Bautista, FranciscoCruz Lario y Mª Àngels Gil, que han realizado una valoración crítica positiva del trabajo, lo cual me ha permitido perfeccionarlo. Por otro lado, quiero recordar al numeroso grupo de profesores del Departament d’Organització d’Empreses y del Institut d’Organització i Control de Sistemes Industrials, de los cuales he recibido apoyo y empuje suficientes para finalizar esta Tesis. No obstante, el personal académico nunca es autosuficiente y debe recurrir al personal de administración y servicios y a los becarios de investigación de ambas unidades estructurales. A ellos, mi gratitud por las gestiones de unos y por las sugerencias y trabajo de los otros. En representación de todos los becarios y proyectistas, citaré a Víctor Leal por su colaboración como semilla de parte de esta Tesis. Una de las satisfacciones alcanzadas a lo largo del desarrollo de la Tesis ha sido conocer y trabajar con profesores de la Escuela Técnica Superior de Ingeniería Industrial de Barcelona, expertos en diferentes ámbitos. Entre ellos, se encuentran los profesores Josep Bordonau, del Departament d’Enginyeria Electrònica, Francesc Planas, del Departament de Matemàtica Aplicada y Moisès Graells, del Departament d’Enginyeria Química, a los que agradezco compartir sus conocimientos conmigo. Asimismo, quiero agradecer la actitud de las personas de servicios públicos, como la biblioteca de la citada Escuela, y de instituciones publicas, como el CIDEM (Centre d’Innovació i Desenvolupament Empresarial) de la Generalitat de Catalunya. Finalmente, es obligado mencionar a las personas que me permitieron observar la problemática analizada en la industria real: básicamente, a Carlos Vivas, que propició fortuitamente mi contacto con ELBASA, y a Teodoro de Mas, su Director General, que me facilitó la información contenida en el capítulo 9. A todos, gracias.
i TABLA DE CONTENIDOS 1. INTRODUCCIÓN: MARCO DEL TRABAJO ______________________________ 1 1.1. La producción y sus decisiones ________________________________________ 1 1.1.1. Definición de producción ________________________________________________ 1 1.1.2. Definición de logística __________________________________________________ 2 1.1.3. Relación entre producción y logística _______________________________________ 3 1.1.4. La Dirección de Operaciones _____________________________________________ 4 1.1.5. Decisiones de la Dirección de Operaciones __________________________________ 5 1.2. La programación de operaciones ______________________________________ 7 1.3. La secuenciación de operaciones _______________________________________ 9 1.4. Métodos de resolución para problemas de programación _________________ 11 1.5. Hipótesis de partida y resultados esperados ____________________________ 12 2. EL PROBLEMA DE PROGRAMACIÓN DEL PUENTE-GRÚA _____________ 13 2.1. Una visión general del problema _____________________________________ 13 2.1.1. El problema HSP (Hoist Scheduling Problem) _______________________________ 13 2.1.2. Los dos niveles de movilidad del puente grúa _______________________________ 13 2.1.3. Los procesos químicos _________________________________________________ 14 2.1.4. Líneas únicamente dedicadas a un producto _________________________________ 15 2.2. Características del proceso productivo de referencia _____________________ 15 2.3. Clasificación de variantes en este tipo de problema ______________________ 17 2.3.1. Los tanques __________________________________________________________ 18 Ejemplo 1 __________________________________________________________ 18 Ejemplo 2 __________________________________________________________ 21 2.3.2. Los objetos (o contenedores de objetos) ____________________________________ 23 Ejemplo 3 __________________________________________________________ 23 2.3.3. Los elementos de automatización _________________________________________ 24 Ejemplo 4 __________________________________________________________ 25 2.3.4. La distribución en planta del sistema ______________________________________ 26 Ejemplo 5 __________________________________________________________ 27 Ejemplo 6 __________________________________________________________ 28 2.3.5. Resumen y notación ___________________________________________________ 29 2.4. Estado del arte del Problema de Programación del Puente-grúa ___________ 30 2.4.1. Aproximación estática o planificativa ______________________________________ 30 2.4.2. Aproximación dinámica o resolutiva ______________________________________ 36 3. MÉTODOS DE RESOLUCIÓN DEL PROBLEMA DE PROGRAMACIÓN DEL PUENTE-GRÚA ___________________________________________________ 41 3.1. Aportaciones iniciales en el problema Hoist Scheduling Problem __________ 41 3.1.1. Resolución mediante programación matemática _____________________________ 41 3.1.2. Resolución mediante procedimientos arborescentes ___________________________ 45 3.1.3. Resolución mediante procedimientos heurísticos y simulación __________________ 51 3.1.4. Evaluación de la complejidad del problema tratado ___________________________ 55
ii 3.2. Desarrollos posteriores en la evolución del problema ____________________ 55 3.2.1. Resolución del caso de múltiples grúas ____________________________________ 55 3.2.2. La Programación Lógica con Restricciones _________________________________ 59 3.2.3. Los grafos como soporte de modelos ______________________________________ 64 3.2.4. Cotas del problema HSP para el caso cíclico ________________________________ 69 3.2.5. Observación final _____________________________________________________ 71 4. ESTUDIO SOBRE LA VARIANTE MONOBAÑO, MONOFUNCIÓN, MONOGRÚA. ALGORITMOS BÁSICOS __________________________________ 73 4.1. Hipótesis de la variante _____________________________________________ 73 4.2. Determinación de una secuencia cíclica ________________________________ 73 4.3. Programa lineal PL(H) asociado a una secuencia cíclica H ________________ 76 4.3.1. Parámetros del problema y secuencia propuesta ______________________________ 76 4.3.2. Variables a determinar en el problema _____________________________________ 77 4.3.3. Restricciones del problema ______________________________________________ 77 4.3.4. Objetivo del problema __________________________________________________ 79 4.3.5. Ejemplo ilustrativo 4.1 _________________________________________________ 79 4.4. Determinación del vector T mediante un grafo asociado al problema: el grafo secuencial _____________________________________________________ 82 4.4.1. Elementos del grafo ___________________________________________________ 83 4.4.2. Proceso de resolución __________________________________________________ 84 4.4.3. Ejemplo de secuencia factible ____________________________________________ 87 4.4.4. Ejemplo de secuencia infactible __________________________________________ 90 4.5. Procedimientos de resolución arborescente (branch and bound) ___________ 94 4.5.1. Bases de un procedimiento branch and bound _______________________________ 94 4.5.2. Aspectos a concretar en un procedimiento branch and bound ___________________ 94 4.5.3. Estrategias de construcción del árbol ______________________________________ 95 4.6. Branch and bound mediante tiempos __________________________________ 96 4.6.1. Caracterización de los vértices del árbol ____________________________________ 96 4.6.2. Procedimiento de separación ____________________________________________ 97 4.6.3. Procedimiento de acotación _____________________________________________ 97 4.6.4. Elección del vértice de exploración inmediata _______________________________ 98 4.6.5. Algoritmo branch and bound mediante tiempos _____________________________ 98 4.6.6. Ejemplo de aplicación de un branch and bound mediante tiempos (BBt) _________ 100 4.7. Branch and bound mediante baños ___________________________________ 102 4.7.1. Caracterización de los vértices del árbol ___________________________________ 102 4.7.2. Procedimiento de separación. ___________________________________________ 102 4.7.3. Procedimiento de acotación ____________________________________________ 103 4.7.4. Elección del vértice de exploración inmediata ______________________________ 103 4.7.5. Algoritmo de branch and bound mediante tanques __________________________ 103 4.7.6. Ejemplo de aplicación de un branch and bound mediante baños (BBb) __________ 105 4.8. Comparación entre ambos procedimientos de exploración _______________ 107 5. RESOLUCIÓN BASADA EN EL GRAFO CON TIEMPO DE CICLO ACOTADO ___________________________________________________________ 109 5.1. Introducción al uso del grafo con Tiempo de Ciclo Acotado ______________ 109
iii 5.2. Determinación de variables mediante un grafo con Tiempo de Ciclo Acotado _____________________________________________________________ 110 5.2.1. Algoritmos estándares para resolver problemas de optimización combinatoria _____ 110 5.2.2. Esquema del algoritmo para el uso del grafo con Tiempo de Ciclo Acotado _______ 111 5.2.3. Particularidades en la resolución de un grafo asociado a una secuencia H ________ 112 5.2.4. Esquema del algoritmo de resolución basado en el grafo con Tiempo de Ciclo Acotado _________________________________________________________________ 114 5.3. Generación de un grafo con Tiempo de Ciclo Acotado, asociado a una secuencia H _________________________________________________________ 116 5.3.1. Adaptación de los parámetros y datos para una secuencia H ___________________ 116 5.3.2. Tabulación de los cuatro vectores de datos _________________________________ 117 5.3.3. Equivalencia entre los cuatros vectores y las restricciones originales ____________ 119 5.3.4. Descripción de los elementos de un grafo con Tiempo de Ciclo Acotado _________ 119 5.3.5. Construcción del grafo con Tiempo de Ciclo Acotado asociado a una secuencia ___ 120 5.4. Resolución de una secuencia H mediante un grafo con Tiempo de Ciclo Acotado: Primera prueba, de infactibilidad _______________________________ 123 5.4.1. Cálculo de cotas inferiores para el tiempo de ciclo, asociado a una secuencia H ____ 123 5.4.2. Cálculo de cotas superiores para el tiempo de ciclo, asociado a una secuencia H ___ 126 5.4.3. Análisis conjunto de cotas inferiores y superiores sobre el tiempo de ciclo, asociado a una secuencia H _________________________________________________________ 129 5.4.4. Ejemplo ilustrativo 5.1 ________________________________________________ 130 5.4.5. Ejemplo de cálculo de cotas del tiempo de ciclo para una secuencia H ___________ 130 5.5. Resolución de una secuencia H evaluando un grafo con Tiempo de Ciclo Acotado: Segunda prueba, de factibilidad ________________________________ 132 5.5.1. Características de un grafo con Tiempo de Ciclo Acotado _____________________ 132 5.5.2. Estudio de la relación entre el rango de exploración y el tiempo de ciclo de una secuencia ________________________________________________________________ 135 5.6. Propiedades topológicas de un grafo con Tiempo de Ciclo Acotado aplicables en la determinación del tiempo de ciclo óptimo ___________________ 138 5.6.1. Problema de minimización del tiempo de ciclo _____________________________ 138 5.6.2. Grafo G asociado al problema anterior ____________________________________ 138 5.6.3. Propiedades del grafo G _______________________________________________ 139 5.6.4. Del grafo G a un esquema matricial ______________________________________ 140 5.6.5. Puntos dobles en la aplicación Φ I,1 _______________________________________ 142 Ejemplo 1 _________________________________________________________ 144 5.6.6. Determinación de puntos dobles en la aplicación Φ I,1 ________________________ 145 Ejemplo 2 _________________________________________________________ 147 5.6.7. Oscilación de período p entorno puntos dobles de la aplicación Φ I,1 _____________ 149 5.6.8. Núcleo conceptual de la aplicación Φ I y su reducida Φ I,1 ______________________ 151 5.7. Aplicación práctica de la Segunda prueba, de factibilidad sobre un grafo de Tiempo de Ciclo Acotado ____________________________________________ 152 5.7.1. Ejemplo de secuencia no factible (caso 1) _________________________________ 152 5.7.2. Ejemplo de secuencia factible con KminH = LBH (caso 2) _____________________ 155 5.7.3. Ejemplo de secuencia factible con KminH > LBH (caso 3) _____________________ 158 5.8. Esquema del branch and bound mediante baños con grafos de Tiempo de Ciclo Acotado ________________________________________________________ 162 5.8.1. Descripción de la acción principal y las acciones secundarias __________________ 162 5.8.2. Obtención de cotas en el grafo con Tiempo de Ciclo Acotado __________________ 163
iv 5.9. Ejemplo completo: branch and bound mediante baños con grafos de Tiempo de Ciclo Acotado ______________________________________________ 165 6. PROCEDIMIENTO HEURÍSTICO DE RESOLUCIÓN BASADO EN LA GENERACIÓN DE SECUENCIAS, EVALUADAS MEDIANTE EL GRAFO CON TIEMPO DE CICLO ACOTADO ___________________________________ 171 6.1. Introducción a los procedimientos heurísticos _________________________ 171 6.2. Exploración guiada de nuevas secuencias a evaluar _____________________ 172 6.2.1. Número máximo de piezas en el sistema durante un ciclo _____________________ 172 6.2.2. Características básicas del algoritmo heurístico: piezas y operaciones en un ciclo __ 172 6.3. Ejemplo ilustrativo ________________________________________________ 175 6.3.1. Descripción del problema 6.1 ___________________________________________ 175 6.3.2. Número máximo de piezas a inicio de ciclo ________________________________ 175 6.3.3. Cuatro piezas a inicio de ciclo (n=4) _____________________________________ 176 6.3.4. Tres piezas a inicio de ciclo (n=3) _______________________________________ 179 6.3.5. Dos piezas a inicio de ciclo (n=2) ________________________________________ 182 6.4. Algoritmo general de aplicación del procedimiento heurístico ____________ 185 7. EXPERIENCIA COMPUTACIONAL Y ANÁLISIS DE RESULTADOS _____ 187 7.1. Presentación y objetivos del capítulo _________________________________ 187 7.2. Descripción de la experiencia computacional básica de validación _________ 187 7.2.1. Clasificación de ventanas temporales _____________________________________ 188 7.2.2. Tipos de velocidades de grúa ___________________________________________ 188 7.2.3. Experiencia computacional básica _______________________________________ 189 7.3. Determinación de las soluciones óptimas para la experiencia computacional básica ______________________________________________________________ 190 7.3.1. Variables ___________________________________________________________ 191 7.3.2. Reformulación de las restricciones _______________________________________ 191 7.3.3. Función objetivo _____________________________________________________ 192 7.3.4. Ejemplo: el problema 11406 ____________________________________________ 193 7.3.5. Ventana Temporal Media y Trabajos Durante Permanencia ___________________ 197 7.4. Aplicación de un algoritmo arborescente sobre el grafo Secuencial ________ 199 7.4.1. Características de los algoritmos de exploración sobre el grafo Secuencial ________ 199 7.4.2. Resultados de la experiencia computacional básica utilizando el grafo Secuencial __ 200 7.5. Aplicación del algoritmo branch and bound sobre el grafo de Tiempo de Ciclo Acotado ________________________________________________________ 203 7.6. Aplicación del algoritmo heurístico sobre el grafo de Tiempo de Ciclo Acotado _____________________________________________________________ 206 7.7. Experiencia computacional ampliada ________________________________ 208 7.8. El Algoritmo Combinado __________________________________________ 209 7.8.1. Descripción del Algoritmo Combinado (AC) _______________________________ 209 7.8.2. Evaluación del algoritmo sobre la experiencia computacional básica ____________ 210 7.8.3. Descripción de la variante del Algoritmo Combinado (AC’) ___________________ 212 7.8.4. Evaluación del algoritmo sobre la experiencia computacional ampliada __________ 213
Capítulo 1. Introducción: marco del trabajo 4 La figura 1.1 representa un esquema genérico del sistema, que se centra en el flujo de materiales desde el proveedor hasta el cliente. Dicho flujo se inicia en los proveedores, que aportan la materia prima y los materiales de procedencia exterior, y a través de la fase de aprovisionamiento se dirigen hacia el sistema productivo. Esta materia, previamente almacenada en forma de stock, se convierte en componentes y piezas que alimentan el stock correspondiente a través de diversas transformaciones, que se denomina fabricación. Puede existir aprovisionamiento directo de aquellos componentes precisos para la fase posterior de transformación, pero no elaborados en la fase fabricación por los proveedores. Esta nueva transformación, denominada montaje, permite convertir de componentes a productos terminados, que alimentan su correspondiente stock. Los productos terminados constituyen la última fase de transformación física en el sistema productivo y constituyen bienes que solicitan los clientes. El flujo de materiales se prolonga desde el sistema productivo hasta los clientes, que puede constar de una distribución más o menos compleja. La Dirección de Operaciones se interesa por todos los elementos operativos (transportes, almacenajes, fabricaciones y montajes) del sistema logístico comprendidos desde la adquisición de las materias primas y los materiales de procedencia exterior hasta la entrega de los productos terminados a los clientes. Existen tres posibles enfoques al considerar la problemática de las operaciones: • el enfoque de flujo de materiales a través del sistema, • el enfoque de conjunto de actividades u operaciones de proceso que transforman los productos al ser realizadas simultánea o sucesivamente, • el enfoque de utilización de la capacidad limitada de los recursos productivos y de distribución del sistema. La dirección de operaciones debe tener en cuenta estos tres enfoques, altamente correlacionados, realizando una gestión simultánea del flujo de materiales, de las actividades de proceso y de la capacidad de los recursos, llegando a un equilibrio adecuado entre los tres aspectos. 1.1.4. La Dirección de Operaciones En el conjunto de las decisiones tomadas en el sector productivo, se consideran los tres niveles clásicos de decisión en la empresa, inspirados en conceptos de Dervitsiotis (1981) y de Buffa y Sarin (1992): - El nivel estratégico de la empresa. - El nivel táctico, con las decisiones de gestión, que en el ámbito productivo pueden agruparse en decisiones de Diseño de los Sistemas Productivos (a medio y largo plazo) y decisiones de Dirección de Operaciones (a medio y corto plazo). - El nivel operativo, del día a día, con las decisiones propias del control del sistema.
Capítulo 1. Introducción: marco del trabajo 5 Entre las decisiones de Diseño de los Sistemas Productivos, según Buffa y Sarin (1992), cabe citar: • la previsión y planificación a largo plazo, • la selección de equipos y procesos, • el diseño productivo de los elementos a fabricar, • el diseño de tareas y medida del trabajo, • la localización del sistema productivo, • la distribución en planta. La Dirección de Operaciones en el marco de la producción implica el estudio de las decisiones relacionadas con el diseño, control y logística de los sistemas productivos “operativos”. A pesar que habitualmente en los sistemas de manufactura la gestión de las operaciones merece un interés prioritario, también puede contemplarse en otros tipos de sistemas, como los que proporcionan servicios o información. 1.1.5. Decisiones de la Dirección de Operaciones La Dirección de Operaciones supone llevar a cabo la gestión periódica de aquellos procesos de transformación que permiten lograr los objetivos de la organización. Entre algunas de las acciones o decisiones específicas que se consideran en la Dirección de las operaciones de los sistemas productivos, cabe citar como más importantes la planificación de la producción, el cálculo de necesidades, la programación de la producción, y como feedback o retroalimentación para decisiones futuras, el seguimiento y control. No obstante, la Dirección de Operaciones debe velar por la sincronización de todos los elementos operativos que intervienen en la parte del sistema logístico comprendido entre la recepción de materias primas o componentes procedentes de proveedores hasta la entrega de los productos acabados a los clientes. La problemática tratada por la Dirección de Operaciones debe considerar simultáneamente tres puntos de vista: 1. el flujo de materiales que recorre el sistema productivo, 2. el conjunto de actividades, operaciones o tareas necesarias para realizar completamente la transformación de las materias primas en productos acabados, 3. la utilización de la capacidad limitada de los recursos productivos del sistema. La gestión de las decisiones de Dirección de operaciones suele plantearse a diferentes niveles, como describen Bautista y Companys (2000), lo que permite una jerarquía de objetivos y facilita su seguimiento y control a la hora de ponerlas en práctica. Un modelo de referencia bastante útil establece tres niveles jerárquicos de toma de decisiones (figura 1.2): la planificación de operaciones, el cálculo de necesidades y la programación de operaciones.
Capítulo 1. Introducción: marco del trabajo 6 Figura 1.2. Niveles de decisión en dirección de operaciones (Bautista y Companys, 2000). La planificación de operaciones tiene como objetivo realizar la distribución de los recursos productivos, en principio escasos o limitados, entre todas aquellas actividades productivas que compiten por ellos, para poder cumplir con los objetivos estratégicos marcados por la empresa al sistema productivo. El resultado se materializa en un Plan Maestro o Director de Producción, que indica la cantidad de producción de cada uno de los artículos del plan maestro en los intervalos temporales del horizonte de planificación. Previamente, durante su elaboración se ha considerado la información comercial de las ventas previstas y la política estratégica marcada por la dirección así como las disponibilidades de los recursos críticos. Normalmente se toma un horizonte de un año, dividido en meses, con una frecuencia de actualización mensual, para adoptar las oportunas decisiones con la debida antelación a las circunstancias que deberán afrontar. Las limitaciones de los recursos obligan a la adaptación entre oferta de producción y demanda comercial, que puede verse realizada mediante la constitución de stocks de productos en períodos valle de demanda o la aportación de capacidad productiva adicional. La producción usando tecnología tradicional alcanza una plena eficiencia cuando los productos de gran demanda se fabrican en producción continua o en grandes lotes. Las nuevas tecnologías intentan convertir los sistemas en suficientemente flexibles para romper esta tendencia y adaptar la fabricación a cada uno de los diversos productos a fabricar.
Capítulo 1. Introducción: marco del trabajo 7 La planificación de operaciones se realiza básicamente a dos niveles. El primero conduce a la obtención de un Plan Maestro Global o Agregado de producción, que agrupa los productos en familias en todos los intervalos de un horizonte medio (un año dividido en doce meses). El segundo, de horizonte menor (típicamente unos cuatro meses) y de división más fina, en intervalos típicamente de semanas, desagrupa las familias en clases más reducidas (Plan Maestro Detallado) para disponer de la carga de las líneas de producción. El cálculo de necesidades, a partir de las cantidades de productos terminados a fabricar en cada intervalo de tiempo, debe establecer las órdenes de aprovisionamiento y fabricación, ambos grupos sincronizados adecuadamente para el funcionamiento eficiente del sistema productivo. El cálculo de las necesidades se efectúa básicamente aplicando la explosión de los productos terminados del plan maestro en los materiales y operaciones necesarios para fabricarlos. En el cálculo de necesidades de recursos de fabricación, el desajuste entre la necesidad y la disponibilidad comporta la reubicación temporal de órdenes de producción o la modificación del plan maestro. Una de las técnicas más usadas se conoce como MRP (Material Requirements Planning). El horizonte que abarca un cálculo de necesidades no supera, en general, los cuatro meses. Finalmente, la programación de operaciones debe elaborar un programa que indique cada operación en que se descomponen las órdenes de producción, en qué recurso se va a realizar y durante qué período de tiempo. Al situarse en un nivel más concreto de detalle, debe trabajar con los valores reales de tasas de producción y, mediante el seguimiento y control, comprobar que estos valores se mantienen. Como se observará en esta tesis, el problema de la programación de algunos sistemas productivos puede adquirir gran complejidad, lo que puede verse superado considerando un cierto sobre-equipamiento o una jerarquía de asignaciones. El horizonte se reduce a unos pocos días, sus intervalos en horas, y la actualización se realiza con frecuencia diaria. La función de lanzamiento supone la generación de la documentación necesaria del programa para que se pueda llevar a cabo. Otras tareas complementarias en la dirección de operaciones, que controlan la evolución del sistema productivo, para evaluar sus cambios son la fiabilidad y mantenimiento del sistema productivo, la gestión de la calidad, o el control de costes y de la mano de obra. Finalmente, siempre es necesario combinar el conocimiento teórico sobre cómo funciona un sistema de planificación y control de la producción con las experiencias reales vividas en tales sistemas. Cuando se trata esta función, muchas veces se enfatiza en la planificación, algo que tiende a ser una muestra estática sobre cómo funciona realmente el sistema. La práctica del control requiere, en cambio, algún mecanismo que simule la ejecución de planes a lo largo del tiempo. A tal efecto, se requiere un conjunto de experiencias de aprendizaje sobre el sistema, que facilitan un control efectivo sobre el sistema. 1.2. La programación de operaciones La programación de operaciones (conocida en inglés como scheduling) es el peldaño principal en la escalera de adquisición de valor por parte del producto. Dentro de la logística de producción, la programación de las tareas suele convertirse en el aspecto más complejo (Mendez y Cespón, 1999). A su vez, y una vez fijado el marco de la logística de
Capítulo 1. Introducción: marco del trabajo 8 producción, el papel desempeñado por los sistemas de planificación y control es fundamental en la mejora de funcionamiento del sistema. Estos sistemas desembocan en las decisiones a un nivel operativo después de haber considerado las decisiones a niveles estratégico y táctico, que conjuntamente forman los tres niveles de decisión en la dirección de operaciones: planificación de operaciones, cálculo de necesidades y programación de operaciones. El nivel operativo es aquél donde claramente queda reflejada la estrecha relación con la ejecución de las actividades, operaciones o tareas, en definitiva con el funcionamiento del sistema. La culminación del proceso de planificación a través de la función de programación de operaciones (scheduling) le reporta un carácter de gran influencia sobre el grado de éxito de la dirección de operaciones. Entre todas las actividades en el ámbito de la gestión diaria de la producción, la labor desarrollada en la programación de la producción puede calificarse, por un lado, como poco valorada y, por otro, relativamente poco desarrollada. Dicha condición puede justificarse por el constante esfuerzo requerido para mejorar el servicio, en términos de plazo de entrega, costes y calidad. Esta función tiene relativamente un escaso desarrollo, en comparación con la planificación por ejemplo, al sumarse dos factores: la complejidad en el manejo de datos y la poca uniformidad entre los diferentes sistemas productivos. Esto resta posibilidades a establecer alguna metodología general que permita aplicar esta función en un gran número de empresas. Los objetivos de la programación de operaciones, pues, son: • a un nivel externo al sistema productivo, proporcionar un producto a un coste razonable, en el plazo de entrega acordado y con el nivel de calidad fijado; • a un nivel interno al sistema productivo, lograr una buena medida de productividad mediante un uso eficiente de los recursos disponibles, considerando los objetivos a nivel externo. Las restricciones o limitaciones por las que se encuentra afectado el sistema productivo pueden ser debidas a: • los recursos disponibles, • la demanda, planteada a partir de las necesidades del mercado, • otros aspectos, como la gestión de los recursos automatizados del sistema productivo. Las medidas de eficiencia que se utilizan para evaluar y comparar los posibles resultados de una programación de tareas se centran frecuentemente en: • los tiempos de entregas de los diferentes productos fabricados, a comparar respecto a las fechas comprometidas de entrega (due dates), • la utilización de los recursos, que se determina a partir de la carga de trabajo (workload) asignada a cada uno de ellos, • la producción en curso (work in process).
Capítulo 1. Introducción: marco del trabajo 9 1.3. La secuenciación de operaciones Las tecnologías de información, basadas en el uso de ordenadores, utilizadas en diversas funciones empresariales, entre ellas la producción, empiezan a formar un conjunto importante de herramientas de gestión. El uso eficiente de dichas herramientas obliga al director de operaciones a familiarizarse con sus puntos básicos y las implicaciones que tienen en el funcionamiento diario. La implantación de estas nuevas tecnologías también varía sustancialmente de las tradicionales, debido al mayor alcance e impacto que implican, no tan sólo en la producción, sino también en el resto de la empresa. Así, en el ámbito productivo cabe destacar, entre otros, las tecnologías de grupo, las máquinas de Control Numérico, el diseño integrado con ordenador y los Sistemas de Fabricación Flexible (FMS, Flexible Manufacturing Systems). Según Widmer (1991), la producción flexible en un sistema productivo implica “que los trabajadores no intervengan directamente sobre la fabricación (...); la programación de la producción se controla mediante un sistema informático”. Los entornos de fabricación automatizada, cada vez más numerosos, presentan ciertos aspectos particulares no hallados en los modelos de planificación y programación desarrollados para sistemas de producción tradicionales. Por ejemplo, los modelos con automatización incluyen habitualmente restricciones sobre la imposibilidad que una máquina realice ciertas operaciones consecutivamente, dentro de los límites impuestos por sus características. Estos modelos válidos para optimizar globalmente el sistema deben sincronizar las actividades u operaciones de los sistemas flexibles de manipulación de material con las operaciones propias del sistema productivo. La complejidad de las situaciones tratadas desemboca en interesantes problemas de optimización combinatoria, uno de los cuales es el que nos ocupa. Algunas características de funcionamiento que se observan en este tipo de sistemas son las siguientes: • Las operaciones son realizadas por máquinas. • Los objetos o útiles son desplazados y manipulados por sistemas automatizados de manipulación de material. • Debe llevarse a cabo un control de las máquinas, las herramientas y los manipuladores de material. En la definición de sistemas de producción flexibles aparece implícita la automatización de ciertas máquinas que son controladas externamente por sistemas informáticos. Se pueden hallar ejemplos de este tipo de sistemas en la industria del metal o bien en la industria electrónica, en la producción de placas de circuitos impresos (PCBs, printed circuit boards). La producción flexible se diferencia de la producción tradicional por su grado de flexibilidad, pero cabe preguntarse qué se entiende exactamente por flexibilidad. Sethi y Sethi (1990) logran definir cincuenta variantes diferentes de flexibilidad, halladas todas en la literatura, de las cuales en Crama (1997) se seleccionan once puntos de vista distintos, y de los cuales se citan aquéllos con mayor relación con el presente trabajo a continuación:
Capítulo 1. Introducción: marco del trabajo 10 • flexibilidad en las máquinas: posibilidad que en las máquinas se realicen varias operaciones sin necesidad de un gran esfuerzo en el cambio entre diferentes operaciones; • flexibilidad en la manipulación de materiales: capacidad de los sistemas de manipulación de materiales para desplazar objetos eficientemente para que estos sigan un proceso adecuado a lo largo de la planta; • flexibilidad en las operaciones: posibilidad para que una pieza sea fabricada de diferentes maneras; • flexibilidad en el proceso: referida a los diversos tipos de objetos que se pueden producir, sin grandes tiempos de lanzamiento; • flexibilidad en las rutas: posibilidad de producir un objeto en un sistema siguiendo diversas rutas alternativas. Los modelos matemáticos en este campo, usados para obtener planes de producción como en el montaje de placas de circuitos (PCBs) en talleres automatizados, obtienen un programa sometido a las limitaciones impuestas por los recursos (scheduling under resource constraints). Para obtener buenos resultados de eficiencia del sistema productivo, no deben ignorarse las restricciones impuestas por la manipulación de materiales (MHSs, material handling systems), cosa que no ocurre en la mayoría de modelos de programación tradicionales, donde se considera el tiempo de transporte prácticamente nulo. Cuando los recursos de manipulación de materiales presentan gran interacción con las estaciones de trabajo, el sistema productivo se ve directamente afectado por las actividades de manipulación. Estas operaciones de manipulación las realizan habitualmente vehículos automatizados (AGVs, AutoGuided Vehicles), robots, grúas o similares. Un modelo general de programación en estas condiciones suele contar con las siguientes características: • Existe una estación de entrada, una estación de salida, m máquinas y k manipuladores idénticos. • Todas las piezas están disponibles inicialmente en la estación de entrada y deben terminar en la estación de salida. • Cada máquina sólo puede procesar una pieza a la vez, con una duración de la operación p(i,j), es decir, tiempo de proceso de la pieza i en la máquina j. • El manipulador carga las piezas, las descarga y las transporta de máquina a máquina. • Cada manipulador sólo puede manipular una única pieza a la vez, siendo d(j,l) el tiempo de movimiento desde la máquina j a la máquina l. • El objetivo de la programación es elaborar programas simultáneos para las piezas y los manipuladores optimizando alguna medida arbitraria (el tiempo total, el tiempo de ciclo, ...).
Capítulo 1. Introducción: marco del trabajo 11 • El modelo puede completarse con restricciones adicionales, como precedencias, fechas de entrega, importancia o pesos de las piezas, etc., incluyendo además posibles restricciones sobre los manipuladores. Crama (1997) cita dos grupos de problemas representativos en la programación de flujo regular con múltiples máquinas (flow-shop multiserver): los problemas de programación en células robotizadas y los problemas de programación de transportadores o grúas, en cuyo ámbito se centra el presente trabajo. 1.4. Métodos de resolución para problemas de programación Los problemas de programación de la producción, en el marco de los sistemas de fabricación altamente automatizados, pertenecen al grupo de problemas de optimización combinatoria. En general, se trata de problemas NP-completos, según la clasificación de Garey y Johnson (1979). Como se explicará en el capítulo 3, Lei y Wang (1989a) demostraron que el problema básico y central de esta tesis se engloba en el grupo de problemas NP-completos. Para obtener una programación de operaciones según los requerimientos del problema, procesar adecuadamente una variedad de productos u operaciones en un conjunto de recursos, existen diversos métodos de resolución: • En algunos casos, se puede alcanzar una solución óptima al problema planteado, mediante un procedimiento de optimización, tal como la programación lineal, si bien otras técnicas alternativas pueden garantizar los resultados óptimos. • Cuando la realidad no presenta tal linealidad o la complejidad del problema es mayor, y el número de posibles soluciones no se puede evaluar en un corto espacio de tiempo, se recurre a otras técnicas de exploración de entornos para obtener un resultado satisfactorio. Como se observa, el conjunto de métodos propuestos parten de la optimización clásica, recurriendo por sus propiedades, o bien a la programación lineal, o bien a otras técnicas, como la teoría de grafos, la programación dinámica o la simulación si es necesaria. Ambas posibilidades cuentan con ventajas e inconvenientes en su explotación a las diversas situaciones posibles. Otra opción, las técnicas propias de la optimización combinatoria son menos laboriosas, y gracias a las prestaciones informáticas, ofrecen resultados suficientemente válidos. Por último, se dispone de los llamados sistemas expertos. Estas herramientas aplicadas a la programación de la producción también pueden considerarse adecuadas desde un punto de vista teórico, aunque se puede resaltar dos posibles desventajas de tipo práctico: cada sistema productivo suele ser bastante singular, y requieren actualizaciones en caso de cambios físicos en el sistema productivo.
Capítulo 1. Introducción: marco del trabajo 12 En definitiva, cualquiera de las opciones planteadas conlleva modelizar los sistemas productivos para resolver o analizar sus problemas, mediante el uso de un paquete informático, que sirva como sistema de ayuda o de planificación a la producción. 1.5. Hipótesis de partida y resultados esperados El presente estudio va a tratar el problema de programación de grúas o transportadores que indicaba Crama (1997), clasificado en su variante más simple en el grupo de problemas combinatorios NP-completos según Garey y Johnson (1979). Partiendo de aportaciones previas, se pretende encontrar nuevos procedimientos para hallar programaciones factibles y garantizar soluciones óptimas a ejemplares complejos en tiempos menores que los necesarios para los procedimientos conocidos hasta el momento. Las hipótesis en que se basará el trabajo son las siguientes: 1. En caso de utilizar conjuntamente algunas de las aportaciones formuladas por diversos autores, los resultados se pueden obtener en menor tiempo de cálculo o en menor número de cálculos. 2. Se pueden aplicar otras técnicas, dentro del ámbito de la organización industrial, distintas a las propuestas en los artículos reseñados. Un nuevo procedimiento propuesto puede girar entorno a la programación dinámica acotada. 3. El desarrollo de algoritmos basados en la exploración de entornos puede mejorar los tiempos invertidos en hallar una solución, o bien en asegurar su grado de optimalidad. 4. El estudio de la mayoría de autores se centra en el caso más básico, con objetos homogéneos, con sus múltiples variantes (uno o más baños, una o más grúas, etc.). La variante de objetos homogéneos debe ser un primer paso al estudio de la variante de objetos heterogéneos. Esto implica que el objetivo ya no sea obtener una programación de movimientos de la grúa o grúas, sino también hallar una ordenación de objetos. Por lo tanto, se trata de secuenciar y programar, sin violar las restricciones impuestas. A diferencia de los resultados ya obtenidos, la tendencia real a la flexibilidad en la producción implica la tendencia progresiva al caso de objetos heterogéneos frente al actualmente general de objetos homogéneos. No obstante, la amplitud del estudio de la producción de objetos homogéneos no ha permitido su extensión a los productos heterogéneos. Un último resultado del trabajo será el aprovechamiento de las conclusiones extraídas de la experiencia computacional en problemas observados en la realidad.
Capítulo 2. El problema de programación del puente-grúa 13 2. EL PROBLEMA DE PROGRAMACIÓN DEL PUENTE-GRÚA 2.1. Una visión general del problema 2.1.1. El problema HSP (Hoist Scheduling Problem) El problema desarrollado en esta tesis, conocido en la literatura como HSP (Hoist Scheduling Problem), consiste en hallar la secuenciación de objetos y la programación de los movimientos necesarios que debe realizar uno o más puentes-grúa, para transportar unos objetos o elementos a lo largo de una línea de producción, compuesta generalmente por un conjunto de tanques. Los puentes-grúa, o bien grúas elevadoras (hoisting machines) son, según la versión inglesa de la Enciclopedia de Ciencia y Tecnología de McGraw–Hill (1997), mecanismos para levantar y bajar materiales con movimientos intermitentes mientras aguantan dichos materiales libremente suspendidos. Se trata de máquinas capaces de recoger una carga de materiales desde una localización y depositarla en otra cualquiera, circunscrita en un área limitada. Por el contrario, las máquinas elevadoras mueven sus cargas sólo en un recorrido vertical, y los monorraíles circulan a lo largo de una cierta ruta horizontal más que sobre un área. Los principales componentes de los puentes-grúa son el mecanismo de las poleas para el levantamiento, la grúa más el cabrestante que realizan los movimientos, y la columna y el bloque de la grúa como elementos estructurales. Las líneas de fabricación para placas de circuitos impresos son un ejemplo de situación real en que se presenta la citada problemática. Las placas (colocadas en contenedores) deben pasar del tanque 0 (también conocido por estación de carga) al tanque en que se realice la primera operación, al tanque en que se realice la segunda operación, y así, hasta el tanque donde tenga lugar la última operación, y finalmente dejarlas en el tanque destinado a descargarlas. Los contenedores, con las placas, se transportan mediante un puente-grúa programable, el cual debe realizar diversas acciones, como: • sacar contenedores de los tanques, • depositar contenedores en los tanques, • transportar contenedores entre tanques, • moverse (sin desplazar ningún contenedor) entre dos tanques, • estarse parado. 2.1.2. Los dos niveles de movilidad del puente grúa Los puentes-grúa que cumplen con esta misión en una línea productiva pueden desplazarse a dos niveles diferentes. En caso de no transportar ninguna carga entre dos baños, el puente-grúa mueve sus abrazaderas a ras de la altura de los tanques, mientras que en caso de transportar alguna carga, los contenedores cuelgan de las abrazaderas del puente-grúa, lo que le obliga a trasladarse a una altura superior que en el caso anterior. Este doble nivel de desplazamiento de la grúa le obliga a realizar las operaciones de levantar la carga hasta una altura suficiente, cuando se encuentra en el tanque donde se recoge un contenedor, y a descender la carga la misma altura, cuando se encuentra en el tanque donde se deposita dicho contenedor.
Capítulo 2. El problema de programación del puente-grúa 20 No obstante, a efectos de funcionamiento de la línea y de programación de la grúa, es mucho más fácil asignar dos tanques consecutivos a un único proceso (figura 2.6). Figura 2.6. Ejemplo 1, con una línea de 6 tanques formando un tanque multi-baño (O3) los tanques 3 y 4. 2. Por otro lado, la segunda clasificación posible sobre los tanques que contienen las reacciones químicas se basa en el número de tratamientos distintos que puedan aplicarse en dicho baño. Este aspecto es habitual en las líneas productivas tratadas en operaciones como los lavados, que pueden ser necesarios después de aplicar un producto químico diferente sobre los objetos. Estas operaciones, a diferencia de lo comentado en la anterior subdivisión, no actúan como cuellos de botella del sistema productivo, sino más bien lo contrario. Así, puede optimizarse el número de baños, y por consiguiente minimizar la longitud de la línea de producción, mediante tanques multi-función. Esto comporta desarrollar diversas operaciones de corta duración, que no sean simultáneas, en un mismo baño. La introducción de tanques multi-función frente a los tanques mono-función implica la posibilidad que la grúa se desplace transportando objetos o contenedores entre distintas operaciones consecutivas en un sentido u otro, mientras que esto no sería necesario en el caso mono-función si los tanques estuvieran perfectamente ordenados según la secuencia de operaciones del proceso. 2.1. Tanques mono-función: Situación de una línea cuando todos los tanques del sistema sólo pueden realizar un tratamiento específico (u operación) sobre los objetos o contenedores. 2.2. Tanques multi-función: Situación de una línea cuando alguno de los tanques del sistema puede realizar más de un tratamiento específico (u operación) sobre los objetos o contenedores, tales que no sean consecutivos. Estación de carga Estación de descarga Tanques de proceso (estaciones de trabajo) 1 2 3 4 5 6
Capítulo 2. El problema de programación del puente-grúa 21 Ejemplo 2 Dado un proceso con 6 operaciones, a realizar en el orden indicado, de las cuales la segunda y quinta operaciones consisten en realizar una misma función, y cuyos tiempos mínimos y máximos de proceso son los siguientes: Operación O1 O2 O3 O4 O5 O6 Tiempo mínimo 70 20 80 125 20 60 Tiempo máximo 120 1000 100 150 1000 120 Tabla 2.2. Datos del ejemplo 2. En la tabla 2.2 se observa que la segunda y la quinta operación tiene unos tiempos mínimo inferiores a los demás. En este caso, el tiempo máximo no es claramente limitativo. Si se considera la posibilidad de una única operación por tanque, tanques mono-función, el sistema estaría formado por los 6 tanques siguientes. Se indica el recorrido de los objetos o contenedores a lo largo de su evolución en la línea. Figura 2.7. Ejemplo 2, con una línea de 6 tanques con tanques mono-función. La definición de tanques multi-función permite pensar en una distribución de 5 tanques a lo largo de la línea. Así, se proponen dos soluciones tales que el tanque multi-función ocupe la posición de una o la otra operación afectadas, es decir, que el tanque multifunción sea el tanque 2 o el tanque 4. Nuevamente, se indica el recorrido de los objetos o contenedores a lo largo de la línea en ambos casos: Estación de carga Estación de descarga Tanques de proceso (estaciones de trabajo) 1 2 3 4 5 6
Capítulo 2. El problema de programación del puente-grúa 22 Figura 2.8. Ejemplo 2, con una línea de 5 tanques con el tanque 2 multi-función (operaciones O2 y O5). Figura 2.9. Ejemplo 2, con una línea de 5 tanques con el tanque 4 multi-función (operaciones O2 y O5). Estación de carga Estación de descarga Tanques de proceso (estaciones de trabajo) 1 (O1) 2 ( O2 , O5 ) 3 (O3) 4 (O4) 5 (O6) Estación de carga Estación de descarga Tanques de proceso (estaciones de trabajo) 1 (O1) 2 (O3) 3 (O4) 4 (O2, O5) 5 (O6)
Capítulo 2. El problema de programación del puente-grúa 23 2.3.2. Los objetos (o contenedores de objetos) Por lo que respeta a las piezas, objetos o contenedores cuyas operaciones deben ser programadas en este proceso, puede tratarse de objetos idénticos o diversos, es decir, con unas necesidades de tiempo de proceso iguales o diferentes entre sí. En este último caso, se tratará de objetos heterogéneos, mientras que si se trata el caso de diferentes unidades de un único tipo de objeto se tratará de objetos homogéneos. 3.1. Objetos heterogéneos: Este tipo de objetos, al circular por la línea de producción presenta diferentes situaciones al programador de la grúa en función de las características temporales de cada uno. Se puede partir de un estado inicial del sistema vacío y finalizar cuando el último objeto o contenedor secuenciado abandona el sistema (caso estático) o secuenciar la entrada de los objetos y reprogramar los movimientos de material en la línea teniendo en cuenta las distintas particularidades (caso dinámico). Por lo tanto, en el caso estático el objetivo se basa en la minimización del instante de finalización de proceso del último objeto secuenciado en la última etapa, y en el caso dinámico en intentar la entrada y la salida de los diversos objetos lo más temprana posible. 3.2. Objetos homogéneos: Este tipo de objetos presenta una problemática que se repite periódicamente a medida que han de entrar nuevos objetos al sistema, y esto le imprime el carácter de programación cíclica. En este caso, el objetivo se centra en hallar una secuencia de operaciones en las diferentes etapas u operaciones, tal que pueda repetirse cíclicamente, es decir, se pretende minimizar el tiempo de ciclo. Ejemplo 3 Dado un proceso con 5 operaciones, a realizar en el orden indicado, se dispone de tres variedades de producto diferentes, cada una de las cuales requiere para cada función unos tiempos de proceso comprendidos entre los valores mínimos y máximos siguientes: Producto/ Operación O1 O2 O3 O4 O5 P1 Tiempo mínimo 40 20 50 25 30 Tiempo máximo 70 50 90 60 50 P2 Tiempo mínimo 30 50 60 40 40 Tiempo máximo 60 90 100 60 80 P3 Tiempo mínimo 50 30 40 60 50 Tiempo máximo 90 60 90 120 70 Tabla 2.3. Datos del ejemplo 3. En caso de plantear la fabricación de todos los tipos de producto conjuntamente en una misma línea de producción, alternando unidades de las tres variantes, la situación corresponde a productos heterogéneos:
Capítulo 2. El problema de programación del puente-grúa 24 Figura 2.10. Ejemplo 3, con tres productos distintos circulando en una misma línea (objetos heterogéneos). En caso de plantear la fabricación de cada uno de los tipos de producto por separado, son necesarias tres líneas de producción dedicadas a productos homogéneos: Figura 2.11. Ejemplo 3, con tres productos distintos en tres línea distintas o en tres períodos claramente diferenciados (objetos homogéneos). 2.3.3. Los elementos de automatización Otro parámetro importante que debe ser considerado en un problema de programación de este tipo es el número de elementos de transporte (llamados puentes-grúa, grúas flotantes o simplemente grúas), con los cuales se efectúa el conjunto de operaciones necesarias de transporte de materiales a lo largo de la línea. En este texto, se ha optado más Estación de car ga Estación de descarga Tan q ues de p roceso ( estaciones de traba j o ) 1 2 3 4 5 Estación de car ga Estación de descarga Tan q ues de p roceso ( estaciones de traba j o ) 1 2 3 4 5
Capítulo 2. El problema de programación del puente-grúa 25 frecuentemente por el uso de la palabra grúa, considerando que expresa las propiedades definidas más claramente en las demás acepciones. Así, para estos elementos de transporte se puede establecer básicamente la siguiente división. 4.1. Una única grúa (mono-grúa), que utiliza un carril horizontal para desplazarse a menor altura cuando circula en vacío y a mayor altura cuando lo hace transportando un objeto o contenedor. 4.2. Más de una grúa (multi-grúa), es decir, diversas grúas utilizan un único carril horizontal para desplazarse a menor altura cuando circula en vacío y a mayor altura cuando lo hace con carga, lo que exige, además de la consideración de los tiempos de ventanas temporales y de transporte, una coordinación de movimientos y posiciones simultáneas de las grúas. Ejemplo 4 Dado un proceso con 8 operaciones, a realizar en el orden indicado, y cuyos tiempos mínimos y máximos de proceso son los siguientes: Operación O1 O2 O3 O4 O5 O6 O7 O8 Tiempo mínimo 70 60 80 90 70 60 50 80 Tiempo máximo 120 100 100 150 100 120 90 100 Tabla 2.4. Datos del ejemplo 4. A partir de los datos en la tabla 2.4 se puede plantear que el transporte de los objetos entre las diferentes operaciones lo realice una única grúa o diversas. Si se considera el uso de una única grúa en la línea, ésta debe ocuparse del sistema completo formado por los 8 tanques, lo cual se muestra en la figura 2.12. Figura 2.12. Ejemplo 4, con una grúa para las 9 operaciones de transporte (caso mono-grúa). Estación de car ga Estación de descar ga 1 2 3 4 5 6 7 8
Capítulo 2. El problema de programación del puente-grúa 26 La posibilidad de usar más de una grúa obliga a una asignación de cada una a un conjunto de tanques. Si por ejemplo, se decide optar por dos grúas (figura 2.13), debe utilizarse un tanque como baño pivote, en el cual la grúa 1 deposita un objeto que recoge posteriormente la grúa 2. En este caso, a partir del análisis de los datos sobre tiempos mínimos y máximos de estancia de los objetos en los baños, se ha asigna el baño pivote al tanque 4 (ya que en él se alcanza la mitad de la suma de todos los tiempos mínimos y máximos). Figura 2.13. Ejemplo 4, con dos grúas que se reparten las 9 operaciones de transporte (caso multi-grúa). 2.3.4. La distribución en planta del sistema Un último parámetro a considerar, que puede facilitar o mantener el grado de complejidad de las situaciones de este tipo de líneas, hace referencia a la distribución en planta (layout). Por un lado, es importante la disposición de los tanques en los cuales tienen lugar las diversas etapas del proceso, así como la posición de las estaciones o lugares de carga (entrada de los objetos al sistema) y descarga (salida de los objetos al sistema). Así, en función de la disposición de los tanques donde se realizan dichas etapas, se pueden considerar básicamente de dos situaciones: 5.1. Distribución uniforme: Los tanques están dispuestos en fila y de manera equidistante entre tanques contiguos, con lo cual una grúa tarda el mismo tiempo en desplazarse en vacío o con carga entre cualquier pareja de tanques consecutivos. 5.2. Distribución no uniforme: Los tanques están dispuestos en fila, pero no de manera equidistante entre tanques contiguos, con lo cual una grúa puede tardar más o menos mismo tiempo en desplazarse en vacío o con carga entre cualquier pareja de tanques consecutivos. Estación de car g aEstación de descar g a 1 2 3 4 5 6 7 8 Baño pivote
Capítulo 2. El problema de programación del puente-grúa 27 Ejemplo 5 Dado un sistema con 5 operaciones, cada una de las cuales realizada en un baño, éstos pueden estar dispuestos uniformemente a lo largo de la línea (figura 2.14) o irregularmente (figura 2.15). Esta variación se refleja en los tiempos necesarios para el desplazamiento de las grúas. Figura 2.14. Ejemplo 5, con distribución uniforme entre los baños y las estaciones de carga y descarga (3 metros de distancia). Figura 2.15. Ejemplo 5, con distribución no uniforme entre los baños y las estaciones de carga y descarga (2, 3 y 5 metros de distancia). 0 (carga) 6 (descarga) 1 2 3 4 5 3 3 3 3 3 3 (m) 0 (carga) 6 (descarga) 1 2 3 4 5 5 2 2 3 3 3 (m)
Capítulo 2. El problema de programación del puente-grúa 28 Mientras, en función de la posición de las estaciones donde se realizan las etapas de carga y descarga, se pueden considerar dos situaciones: 6.1. Agrupación entrada-salida: La estación de carga (operación 0) actúa también como estación de descarga (operación m+1). Cualquier movimiento de la grúa para tomar nuevos trabajos o dejar los ya finalizados tiene idéntica duración. 6.2. Separación entrada-salida: La estación de carga (operación 0) ocupa una posición diferente en la distribución de la línea de la estación de descarga (operación m+1). Ejemplo 6 Para comparar ambas posibilidades, se muestra una línea de 5 tanques con agrupación de entrada y salida de objetos de la línea, en la estación 0 a la izquierda de la línea (figura 2.16), y con ambas operaciones separadas, entrada en la estación 0 a la izquierda de la línea y salida en la estación 6 a la derecha de la línea (figura 2.17). Figura 2.16. Ejemplo 6, con agrupación de entrada-salida en una línea de 5 tanques. Figura 2.17. Ejemplo 6, con separación de entrada (estación 0)-salida (estación 6) en una línea de 5 tanques. 0 (carga/descarga) 1 2 3 4 5 0 (carga) 6 (descarga) 1 2 3 4 5
Capítulo 2. El problema de programación del puente-grúa 29 2.3.5. Resumen y notación A partir de las subdivisiones definidas en los apartados precedentes, se puede esquematizar la clasificación de una instancia de problema tal como se muestra en la tabla 2.5. Elemento Característica Valores Notación Tanques Baños por operación Mono-baño 1B Multi-baño +B Operaciones por baño Mono-función 1F Multi-función +F Objetos Tipos de objetos Objetos homogéneos 1 Objetos heterogéneos n Elementos automatizados Número de grúas Una grúa 1 Más de una grúa p Disposición física Layout operaciones Distribución uniforme U Distribución no uniforme V Carga respecto descarga Agrupación carga-descarga ∩ Separación carga-descarga ∪ Tabla 2.5. Clasificación de los problemas. Para simplificar al tratar los modelos a las diferentes situaciones posibles se propone la siguiente notación: [ baños / objetos / grúa / layout ] formado por 6 valores: [ a,b /c/d/e,f ] Así, por ejemplo, el problema básico más considerado en la literatura tomaría una de las cuatro siguientes notaciones, en función de la disposición de los baños: 1B,1F/1/1/U,∪ 1B,1F/1/1/U,∩ 1B,1F/1/1/V,∪ 1B,1F/1/1/V,∩
Capítulo 2. El problema de programación del puente-grúa 36 Dengiz y Akbay (2000) plantean dos modelos de simulación para investigar los efectos de las técnicas de aprovisionamiento de materiales en una línea de fabricación de PCBs. Este artículo, si bien no directamente relacionado con la visión planteada del tipo de sistema productivo tratado, muestra la alternativa tecnológica de la fabricación en una línea de montaje que prescinde de transportadores o grúas, frente a la más extendida hasta este momento para fabricar los productos electrónicos citados. Finalmente, cabe citar las aportaciones elaboradas durante estos últimos años en la misma Escuela de Ingenieros Industriales de Barcelona, a través de los proyectos finales de carrera realizados y de los documentos de investigación publicados. Fernández (1995) introduce la resolución mediante grafo, técnica en aquellos momentos novedosa, para el caso mono-baño, mono-función, una sola grúa y objetos homogéneos. Nasarre (1996), partiendo de la experiencia anterior, aplica la resolución mediante grafo al caso mono-baño, mono-función, una sola grúa y objetos heterogéneos. Baena, Bautista y Mateo (1998) proponen la aplicación de técnicas de exploración de entornos en el caso de determinación de secuencia de movimientos en líneas con objetos homogéneos y, por tanto, en la búsqueda de una programación cíclica. Leal, Bautista y Mateo (1998), por otro lado, perfeccionan la resolución mediante grafo para dicho caso. Mur (1999) propone un procedimiento heurístico para el caso de objetos heterogéneos con la posibilidad de diferentes rutas de los productos, partiendo de las indicaciones de Yih (1994). Aranda y Serra (1999) aplican técnicas de exploración de entornos a la búsqueda del programa óptimo de temporización de operaciones en el caso de objetos heterogéneos, con una sola grúa en el caso de estaciones mono-baño y mono-función. Larrubia y Mengual (2000) proponen un procedimiento heurístico, basado en la resolución mediante grafos planteada por Fernández (1995), para la resolución del caso de más de más de una grúa en un sistema con objetos homogéneos y tanques mono-baño y mono-función. Así, se establecen comparativas que permiten indicar cuándo es conveniente instalar una o más grúas. 2.4.2. Aproximación dinámica o resolutiva Desde este punto de vista, la grúa se controla mediante reglas heurísticas que determinan las fechas de entrada de los sucesivos productos, o lotes de productos, y con ellas se establece el orden de movimientos de las grúas. En la década de los ochenta, cuatro aplicaciones en industrias francesas utilizaron versiones adaptadas de estas reglas a sus condiciones particulares, aunque ninguna basada en modelos teóricos muy precisos. Su objetivo principal es obtener un alto nivel de productividad y también que los productos fabricados en sus cadenas de producción tengan la mayor calidad posible (cumpliendo las condiciones de ventanas temporales en los baños).
Capítulo 2. El problema de programación del puente-grúa 37 Derid (1978) explica su experiencia en la empresa CITEC, con dos cadenas de electrólisis automáticas y con grúas programables para un cierto número de operaciones. Gross et al. (1981) relatan su experiencia al diseñar para la empresa Sarel una cadena automática flexible de múltiples grúas, en que se permite tratar hasta 19 contenedores por hora, oscilando el tiempo de tratamiento global entre una y dos horas. En este caso, las grúas son independientes entre sí y están destinadas a diferentes zonas prefijadas. Cannard (1988) describe la aplicación de Focal Informatique para Frappaz Imasa, donde las líneas de baños cuentan con diversas grúas pilotadas por autómatas programables, que actúan sobre cubetas del tipo multi-baño y mono-función. Ricci y Brousson (1989) cuentan su experiencia en Sleti el Delta Electronique, en donde una cadena de producción contiene cuatro líneas, 100 cubetas, 6 grúas y 3 puestos de transferencia, para la cual debe determinarse una secuencia a corto plazo que incluya un lote de productos a tratar. Thesen y Lei (1990) realizaron un sistema experto de secuenciación para aplicaciones multi-producto y multi-grúas, para hallar la secuencia de movimientos de una grúa en un entorno cambiante. Para ello, previamente deben realizarse simulaciones que identifiquen buenas reglas en la toma de decisiones, en función del estado del sistema, y construir una base del conocimiento. La efectividad de las reglas propuestas fue comprobada en un contexto real bajo cambios de fabricación y averías, lo que supuso un incremento de productividad en cerca de un 10%. El problema tratado se basa en la demanda de n diferentes tipos de productos, que llegan en lotes, cuya demanda puede variar y cada uno de los cuales sigue una ruta establecida. La línea se compone de m tanques donde no se permiten esperas del material entre dos tanques, algunos tanques pueden estar repetidos (multi-tanque) y se conocen las distribuciones de tasas de avería de los tanques (concentraciones químicas fuera de las tolerancias permitidas) y su reparación. Finalmente, p grúas idénticas trabajan de manera independiente, comparten un carril único sin poderse cruzar, se pueden estropear según una distribución conocida y, en dicho caso, son apartadas de la línea de trabajo. Un sistema de programación experto requiere adquirir conocimientos del sistema: identificando reglas de decisión prometedoras, identificando parámetros, usando la simulación para identificar las mejores reglas para diferentes condiciones y estableciendo los criterios de selección de reglas. Los autores determinaron cinco parámetros: número de tanques y de grúas disponibles en un instante de tiempo, tiempo de movimiento de grúa entre dos tanques consecutivos, el tiempo de proceso en un tanque y el perfil de consumo de recursos. Para unas condiciones determinadas, se muestra como ejemplo que estos parámetros conducen a una selección entre dos reglas: la partición de la línea por grúas y la prioridad modificada de la grúa más cercana. Lamothe, Correge y Delmas (1995) plantean el problema de programación del transportador dinámico (Dynamic Hoist Scheduling Problem), para un contexto productivo en tiempo real con multi-producto, en el cual los objetos llegan a la estación de carga aleatoriamente. Así, dado el estado de la línea y los productos en la estación de carga, se debe reprogramar los movimientos de la grúa. Se utiliza un procedimiento de branch and bound primero en profundidad. Siguiendo el esquema planteado por Baptiste (1992) en
Capítulo 2. El problema de programación del puente-grúa 38 cada nodo se evalúa una restricción disyuntiva entre dos operaciones que compitan por un mismo recurso. A partir de la evaluación de una función de coste calculada en cada nodo, como el número de conflictos o disyuntivas, se introduce el backtracking dinámico cuando alguna restricción hace inconsistente el sistema de inecuaciones planteado. Comparado con otras heurísticas, conduce a mejoras de hasta un 20% e incluso puede proporcionar soluciones buenas para el caso cíclico sin imponer que se halle el tiempo de ciclo. Fleury et al. (1996a) proponen un nuevo método llamado Triple Coupling (triple combinación), para resolver algunos problemas industriales, como el problema HSP. El método que maneja las restricciones propias del sistema productivo, se basa en la conjunción de tres componentes: algoritmos estocásticos (propios de la investigación operativa), un modelo de simulación (como puente hacia su aplicabilidad) y un modelo multi-agente (propio de la inteligencia artificial). Estos tres elementos integrados responden a la estructura jerárquica de un sistema productivo: el subsistema lógico, el subsistema físico y el subsistema decisional. Para determinar la planificación a la entrada de la línea, se utilizan dos tipos de algoritmos: algoritmos del canguro y algoritmos de descenso estocástico. El resultado proporcionado se compone de la programación de entradas a la línea y de la conducción de la grúa. Se facilitan dos ejemplos donde se detalla el posible incremento de producción en la línea, acompañado, no obstante, de incrementos en la violación de las restricciones de tiempo máximo en los tanques. La misma metodología, válida para todo tipo de sistemas productivos, se encuentra descrita desde otro punto de vista en Goujon, Lacome y Traore (1996a). En Fleury et al. (1996b) se aplica la metodología Triple Coupling, anteriormente presentada por los mismos autores, al Hoist Scheduling Problem (mediante algoritmos estocásticos para programar tareas a la entrada del sistema, un modelo de simulación para evaluar el criterio a minimizar y un método multi-agente para manejar la grúa). Se aplica sobre los datos de una línea de producción real, con una sola grúa y diferentes secuencias de tratamientos. El modelo propuesto, que contiene los tres componentes ya presentados, asocia una prioridad a cada contenedor en la línea, y cuando la grúa debe mover algún contenedor, se escoge el de mayor prioridad. La prioridad establece que se traten antes tanques llenos que vacíos y seguidamente, que se eviten interrupciones en la línea. En Goujon et al. (1996b) se muestra un modelo de simulación, escrito en Pascal, para una línea compuesta por una serie de tanques y una grúa. La simulación sobre una representación gráfica del sistema cuenta con cuatro funciones principales (inicializar, modificar, resolver y consultar el resultado), y permite a un industrial que pruebe diferentes hipótesis de funcionamiento para su propio sistema. Se propone dos métodos para resolver el problema. En el primer método, el algoritmo garantiza el cumplimiento de todas las restricciones de ventana y se calcula la fecha de entrada en la línea para cada objeto tal que minimice el tiempo de producción. Se trata de una algoritmo greedy, en que la grúa se desplaza a recoger contenedores según el orden en que estos lo necesitan, y en caso de empate, se decanta por aquél con menor margen en la ventana temporal en que se halle. En el segundo método, en una primera fase se determina la mejor secuencia de entrada para los productos al sistema mediante un algoritmo estocástico de descenso (o recocido simulado con temperatura nula) o un algoritmo del canguro (para superar soluciones perores). Como continuación, en la segunda fase, se proponen dos tipos de algoritmos (sin y con posibles violaciones de los anchos de ventanas temporales) donde cada producto en la línea tienen una prioridad.
Capítulo 2. El problema de programación del puente-grúa 39 En la tabla 2.6, inspirada en Fleury et al. (1996b), se resume las técnicas utilizadas y los artículos en que se aplican. Algunos de ellos, básicos para los capítulos posteriores, se amplían en el capítulo 3. Técnica de resolución Artículo Branch and bound Shapiro, Nuttle (1988) Matsuo, Shang, Sullivan (1991) Armstrong, Lei, Gu (1994) Chen, Chu, Proth (1995) Constraint Logic Programming Baptiste, Legeard, Varnier (1992) Varnier, Grunder, Baptiste (1995) Controlador programable (dinámica) Gross et al. (1981) Heurísticas Lei, Wang (1991) Yih (1994) Programación Lineal (dinámica) Bracker, Chapman (1985) Programación Lineal Entera Mixta Phillips, Unger (1976) Sistema basado en reglas Yih (1990) Sistema experto (reactiva) Thesen, Lei (1990) Teoría de grafos Lieberman, Turksen (1982) Matsuo, Shang, Sullivan (1991) Chen, Chu, Proth (1995) Fernández (1995) Tabla 2.6. Métodos de resolución vs. autores que los utilizan. Inspirada en A Hoist Scheduling Problem, containing a fixed number of carriers, solved with an opportunistic aproach. Fleury et al. (1996b)
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 41 3. MÉTODOS DE RESOLUCIÓN DEL PROBLEMA DE PROGRAMACIÓN DEL PUENTE-GRÚA En el presente capítulo se detallan algunas de las aportaciones más relevantes en el problema Hoist Scheduling Problem, como complemento a la descripción reseñada en el anterior capítulo y como base a los procedimientos propuestos en capítulos siguientes. En el primer apartado, se señalan artículos de los principales precursores sobre el tema, escritos en las décadas de los setenta y de los ochenta. Dichos autores han utilizado técnicas usuales de la investigación operativa (programación lineal entera y mixta, procedimientos de ramificación y acotación conocidos como branch and bound o simulación), además de justificar que este problema se halla en el conjunto de problemas NP-completos de optimización combinatoria. En el segundo apartado, se presenta algunos de los artículos más significativos sobre el tema en la posterior evolución vivida en la década de los noventa. Se han seleccionado como documentos representativos de esta época los referentes al análisis de las líneas con múltiples grúas, a la introducción de la propagación lógica con restricciones conocida como Constraint Logic Programming, a la nueva visión del problema a través de la teoría de grafos y a la enorme complejidad y dificultad que presenta la programación de los sistemas productivos reales que responden a las características de este trabajo 3.1. Aportaciones iniciales en el problema Hoist Scheduling Problem 3.1.1. Resolución mediante programación matemática Phillips y Unger (1976) proponen la resolución del problema básico (1B,1F/1/1/V,∪), presentado en el capítulo anterior, partiendo de un modelo basado en la programación lineal entera y mixta. Dicho modelo es válido para una sola grúa, baños mono-producto más un lugar de carga y descarga (o baño ficticio). Las operaciones en dos ciclos distintos se consideran idénticas, lo que obliga a que los objetos en los contenedores estén exactamente dispuestos en el sistema tanto al inicio como al final de dicho ciclo, que corresponde con el inicio del siguiente. Esto implica que durante cada ciclo de movimientos de grúa, y para cada tanque, tenga que depositarse un contenedor y sacarse un contenedor, aunque no obligatoriamente estas dos acciones en el citado orden. Esto conlleva la posibilidad de dos situaciones diferentes: • si un tanque está vacío al inicio del ciclo, durante el ciclo debe depositarse un contenedor y, posteriormente, debe sacarse el mismo contenedor del tanque; • si un tanque está lleno al inicio del ciclo, durante el ciclo debe extraerse el contenedor y, posteriormente, debe introducirse otro contenedor en el tanque.
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 42 Constantes e índices: m Número de tanques de la línea de producción. i Índice referente a la posición de un tanque en la línea (i=1,...,m), estación de carga (i=0) o estación de descarga (i=m+1). i’ Índice auxiliar referente a la posición de un tanque en la línea (i’=0,1,...,m+1). j Índice auxiliar referente a la posición de un tanque en la línea (j=0,1,...,m+1). Parámetros: a(i) Tiempo mínimo que un contenedor debe permanecer en el tanque i. (i=0,1,...,m) b(i) Tiempo máximo que un contenedor puede permanecer en el tanque i. (i=0,1,...,m) e(i,i’) Tiempo de movimiento de la grúa vacía desde tanque i hasta tanque i’. 1 (i=0,...,m+1; j=0,...,m+1) f(i,i+1) Tiempo de transporte de la grúa cargada con un contenedor desde el tanque i hasta el tanque siguiente i+1. Más simplificado: f(i). 2 (i=0,1,...,m) Variables: t(i) = instante relativo en que se extrae un contenedor del tanque i (i=0,1,...,m). 3 tmax = instante en que se extrae el último contenedor en un ciclo, forzada por el conjunto de restricciones a ser el máximo de los instantes t(i). y(i,j) = variables binarias, para toda pareja de tanques i,j (i=0,1,...,m+1; j=0,1,...,m+1; i≠j), forzadas por las restricciones: • valen 1 si t(i)>t(j), es decir, cuando se extrae el contenedor del tanque j antes que el contenedor del tanque i en la secuencia de acciones del puente-grúa en un ciclo; 1 Los tiempos de movimiento de la grúa vacía cumplen dos propiedades: 1. e(i,i) = 0 2. e(i,i’) = e(i’,i) 2 Cuando la grúa se mueve vacía entre tanques, no necesita subir ni bajar para desplazarse a mayor altura. Por tanto: f(i,i+1) > e(i,i+1) 3 t(0) = 0. Las m restantes variables t(i) se definen como variables reales, aunque puede darse una solución con t(i) enteras si a(i), b(i) y e(i,i’) son todas enteras.
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 43 • valen 0 si t(i)<t(j), es decir, cuando se extrae el contenedor del tanque j después que el contenedor del tanque i en la secuencia de acciones del puente-grúa en un ciclo. z(i) = variables binarias de cada tanque i, una de las cuales vale 1, que forzada por las restricciones indica el último tanque visitado por la grúa en sus actividades de ciclo, y el resto valen 0. 4(4) (i=0,1,...,m) Notación del programa matemático Función objetivo: La función objetivo, que minimiza la duración del ciclo, es la suma de tres términos: • el instante en que la grúa extrae el último contenedor de un tanque durante un ciclo, • el tiempo de transporte del contenedor hasta que se deposita en el siguiente tanque, • el tiempo de movimiento de la grúa vacía entre la posición de colocación del último contenedor y la posición inicial de la grúa para el siguiente ciclo (tanque 0). [] }z(i)·1,0)e(i1)if(i,tmax{ m 1i MIN ∑ = ++++ (3.1) Restricciones de cota (grupo 1) En este grupo, deben definirse 2m+1 restricciones que fuerzan a que tmax valga el máximo de los m valores t(i), cotas inferiores (restricciones del tipo 3.2), y el mínimo de los m valores t(i), corregidos como cotas superiores por un valor muy elevado M (restricciones del tipo 3.3): tmax ≥ t(i) i = 1, ..., m (3.2) tmax ≤ t(i) - [ z(i) - 1] · M i = 1, ..., m (3.3) 1z(i) m 1i = ∑ = (3.4) La restricción (3.3) indica que sólo un tanque puede ser el último en el orden de extracción. Restricciones de grúa (grupo 2) En este conjunto de restricciones, son necesarias m·(m-1) restricciones, para asegurar que las variables binarias y(i,j), con i, j tales que i > j, están definidas correctamente: y(i,j) = 1 si t(i) > t(j) y(i,j) = 0 si t(i) < t(j) 4 z(i)=1 si y sólo si t(i)=tmax
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 44 Estas restricciones se imponen para que el puente-grúa disponga de suficiente tiempo de movimiento para desplazarse, tanto en el caso de ir vacío como lleno. t(j) - t(i) ≥ f(i,i+1) + e(i+1,j) - y(i,j)·M i > j (3.5) t(i) - t(j) ≥ f(j,j+1) + a(j+1) + [y(i,j) - 1]·M i = j+1 (3.6) t(i) - t(j) ≥ f(j,j+1) + e(j+1,i) + [y(i,j) - 1]·M i > j+1 (3.7) La relación entre los dos movimientos de la grúa asociados a las variables t(i) y t(j) pueden ser de dos tipos diferentes: • t(i) > t(j): un contenedor se extrae antes del tanque j que del tanque i (el tanque j precede al tanque i en la secuencia de movimientos de la grúa en un ciclo). Para el caso i = j+1, la restricción (3.6) asegura que el tiempo entre la extracción del tanque j y la extracción del tanque inmediatamente siguiente j+1, el tanque i, debe ser suficiente para transportar el contenedor entre j y j+1, f(j,j+1), más el mínimo necesario en el tanque j+1, a(j+1). Para el caso i > j+1, la restricción (3.7) asegura que el tiempo entre la extracción del tanque j y la extracción del tanque i, posterior aunque no el inmediatamente siguiente, debe ser suficiente para transportar el contenedor entre j y j+1, f(j,j+1), más el necesario para moverse la grúa vacía entre el tanque j+1 y el tanque i, e(j+1,i). • t(i) < t(j): el contenedor se extrae después del tanque j que del tanque i (el tanque i precede al tanque j en la secuencia de movimientos de la grúa en un ciclo). Las restricciones (3.6) y (3.7) alcanzan términos independientes negativos, con lo cual no son activas. Entonces, la restricción (3.5) asegura que el tiempo entre la extracción del tanque i y la del tanque j debe ser suficiente para transportar el contenedor entre i e i+1, f(i,i+1), más el necesario para moverse la grúa vacía entre el tanque i+1 y el tanque j, e(i+1,j). Restricciones de baño (grupo 3) En este último grupo de restricciones, 3m restricciones garantizan que el tiempo del contenedor en un tanque determinado está comprendido entre un tiempo mínimo a(i) y un tiempo máximo b(i). Si se considera d el tiempo que transcurre, en un determinado ciclo, desde que se extrae el último contenedor de un tanque hasta el final del ciclo, las expresiones se simplifican notablemente. [ tmax + d + t(i) ] - [ t(i-1) + f(i-1,i) ] ≥ a(i) - y(i,i-1)·M i = 1, ..., m (3.8) [ tmax + d + t(i) ] - [ t(i-1) + f(i-1,i) ] ≤ b(i) + y(i,i-1)·M i = 1, ..., m (3.9)
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 45 t(i) - [ t(i-1) + f(i-1,i) ] ≤ b(i) + [ 1 - y(i,i-1) ]·M i = 1, ..., m (3.10) Con todas estas variables, y partiendo de las variables t(i), puede ya definirse la ruta específica que debe seguir el puente-grúa. Las demás variables colaboran a cumplir las restricciones temporales. Además de estas variables y constantes, es necesaria la referencia de un número suficientemente elevado M. Finalmente, la carga y descarga se efectúa en el tanque 0, con lo cual la notación del tanque m+1 queda adaptada como: f(i,i+1) = f(m,0) i = m (3.11) El modelo permite hallar una solución para casos de 8 a 13 baños en un corto espacio de tiempo, aunque presenta algunos fallos. Los autores proponen una extensión del problema al caso de los baños multi-función. Finalmente, para demostrar la validez del modelo se añade una experiencia computacional (en concreto, un ejemplo con 12 tanques), conocida en la literatura como el “problema de Phillips y Unger”. En este caso: f(i,i+1) = e(i,i+1)+20 5 3.1.2. Resolución mediante procedimientos arborescentes Shapiro y Nuttle (1988), a partir de la tesis doctoral de Shapiro (1985), retoman el problema de Phillips y Unger, excepto que la entrada y la salida de objetos están separadas, en un procedimiento de branch and bound, con resolución de programas lineales, donde se utilizan vectores como indicadores de la secuencia de operaciones. Se describe un modelo asociado a la generación de una programación cíclica de los movimientos de una grúa para obtener la máxima productividad en una instalación de galvanización para PCB (printed circuits boards). El algoritmo propuesto determina un ciclo simple óptimo para un sistema con una única grúa, en un sistema dado (layout, reacciones y velocidad de la grúa) y unos procesos fijados (secuencia de tanques y rangos de los tiempos de remojo). El algoritmo, que puede adoptar distintas configuraciones para carga y descarga y considerar los casos mono-baño y multi-baño, tiene básicamente naturaleza enumerativa e implica resolver secuencias de pequeños subprogramas lineales. Así mismo, se puede generalizar para obtener n-ciclos, aportación novedosa de los autores y que se define como un ciclo donde se introducen n objetos y que se calcula dividiendo la duración total de un ciclo entre el número n de objetos. 5 Los 20 segundos suplementarios para transportar carga se deben a 8,5 segundos para subir el contenedor más 8,5 segundos para bajarlo, más 3 segundos antes de colocar el contenedor en el tanque para amortiguar la oscilación del transporte.
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 46 Modelo matemático Se desarrolla un modelo de programación matemática para hallar un ciclo simple óptimo para una grúa. Para simplificar, se asume que ningún tanque de proceso está duplicado, o sea que cada tanque está asociado a un proceso diferente: caso mono-baño y monofunción. Para un ciclo simple de duración TC (1-ciclo), el tiempo que pasa entre la introducción de dos contenedores sucesivos en el sistema siempre es TC; y durante ese período, sólo un contenedor abandona el sistema. Los 1-ciclos poseen más propiedades que los n-ciclos. Se asume que, a pesar del layout, los tanques se ordenan según su intervención en la secuencia de procesos. Así, la estación 0 es el lugar de carga, los tanques 1 a m son tanques de proceso y la estación m+1 es la de descarga (que, según sea la configuración, puede coincidir o no con la de carga). Según la notación anterior, el movimiento i implicará nuevamente trasladar un contenedor desde el tanque i hasta el tanque i+1. Constantes e índices: m Número de tanques de la línea de producción. p Número de contenedores, objetos o piezas en un ciclo. i Índice referente a la posición de una estación en la línea (i=0,...,m+1). i’ Índice auxiliar de la posición de una estación en la línea (i’=0,...,m+1). j Índice de un cierto contenedor en la línea (j=0,...,p). k Índice auxiliar referente al tanque de la línea que contiene un objeto (k=0,1,...,m). Parámetros: a(i) Tiempo mínimo de proceso de un contenedor en el tanque i. (i=0,1,...,m) b(i) Tiempo máximo de proceso de un contenedor en el tanque i. (i=0,1,...,m) e(i,i’) Tiempo de movimiento de la grúa vacía desde el tanque i hasta el tanque i’. (1) (i=0,...,m+1; j=0,...,m+1) f(i) Tiempo (del movimiento i) de la grúa cargada con un contenedor desde el tanque i hasta el tanque siguiente i+1, incluyendo tiempos para ascender, escurrir, desplazarse y descender. (i=0,1,...,m) L, U Tiempos mínimos requeridos para cargar y descargar las placas en un contenedor. Variables: s(i) = duración de la programación establecida de un contenedor en el tanque i (i=1, …, m). s(0) no se utiliza. s(m+1) = ∞
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 53 la línea. Seguidamente, se comprueba que la solución es factible, es decir, no se presenta ningún tipo de conflicto con los instantes de entrada de todas las piezas programadas. En caso negativo, debería actualizarse el tiempo de entrada en la línea de esta nueva pieza. Para elaborar un programa factible de movimientos de piezas y grúa en la línea, se siguen dos fases de actualización: la primera, con la detección de conflictos de estaciones de trabajo (tipo 1); y la segunda, con la detección de conflictos de grúa (tipos 2 y 3), mediante la utilización de las respectivas tolerancias. Este proceso se repite hasta que no es necesario realizar ningún cambio más en la programación de operaciones. ALGORITMO P1. Incluir los datos de una nueva pieza i disponible en la estación de carga. P2. Inicializar la entrada de la pieza i en la línea: • determinar los instantes de inicio y de finalización de cada operación en cada estación; • determinar los instantes de inicio y de finalización de cada movimiento de grúa. P3. Comprobar si existen conflictos en las estaciones (por cada estación pieza): SI hay conflicto en una estación (dos trabajos simultáneos) Calcular la superposición: MD (minimal delay). Retrasar la entrada del segundo trabajo (+MD). finSI P4. Comprobar conflictos en la grúa: Retraso_total=0 (inicialización del retraso de entrada de una pieza) k=1 (inicialización de operaciones) MIENTRAS queden operaciones de grúa pendientes SI hay conflicto en una operación (k) SI hay margen en anterior actividad de la pieza, usar todo o parte: Retrasar las actividades siguientes. SINO Si margen en actividades de piezas previas, usar todo / parte. finSI Retraso_total = Retraso_total+MD k=k+1 (siguiente operación) finSI finMIENTRAS SI Retraso-total ≠ 0, repetir P4. P5: Actualizar el programa de operaciones de proceso y de grúa. La experimentación se ha basado en una línea compuesta por cinco tanques y una grúa, con las siguientes características: • Cada contenedor tiene dispuestas 15 placas de circuito. • Cada tanque químico del proceso contiene diferentes disoluciones del proceso.
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 54 • Cada tipo de pieza requiere procesos distintos, es decir, tiempos de proceso diferentes y rutas también diferentes. • Los materiales fluyen sólo en una única dirección (de izquierda a derecha). • Cada tanque puede albergar un solo estante. • La simulación empieza cuando el sistema se encuentra vacío y termina cuando 100 trabajos han finalizado completamente su proceso. La medida de eficiencia de la programación es el tiempo total (completion time) para completar los 100 trabajos, cuyo valor será objeto de minimización. Para comparar un algoritmo básico (sin considerar ventanas temporales) con el propuesto (considerándolas), se utiliza un índice de mejora, definido como: Índice = (Tb-T)/Tb (3.28) siendo Tb, el tiempo total del algoritmo básico, y T, el tiempo del algoritmo propuesto. La experiencia computacional cuenta con dos grupos de problemas sobre los cuales se realizó la programación: • El primer experimento genera 4 réplicas para combinaciones de tres velocidades para la grúa con cuatro tamaños de ventanas temporales en los tiempos de proceso. • El segundo experimento genera 4 réplicas para combinaciones de tres velocidades para la grúa, las mismas que en el anterior caso, con ventanas temporales en los tiempos de proceso del mismo tamaño, pero cuatro duraciones medias diferentes. Ambos experimentos muestran interacciones significativas entre la velocidad de movimiento y la varianza de los tiempos de proceso, y también entre la velocidad de movimiento y la media de los tiempos de proceso, siendo en los dos casos pares de factores que afectan al tiempo total (completion time). El algoritmo propuesto permite incorporar condiciones que no estaban plenamente consideradas en anteriores trabajos: • Toda tarea diferente puede requerir rutas y tiempos de proceso asociados a las operaciones de dichas rutas diferentes. Así, se permite saltarse la realización de alguna acción en un tanque de la línea que se recorre • Se considera diferentes posibilidades en el tiempo de movimiento de la grúa y su disponibilidad. • Se incorpora la tolerancia para generar programaciones factibles, como variante a los problemas habituales de flow-shop sin limitación de stocks intermedios. Los resultados experimentales muestran un efecto de interacción entre la velocidad de movimiento de la grúa y la variación de los tiempos de proceso sobre la tasa de mejora. Generalmente, cuando las duraciones varían mucho, la programación está más suelta y es
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 55 más variable. Si estas variaciones son menores, es mucho más difícil que las tareas en espera de entrada en el sistema puedan hacerlo más pronto. Se observa que no se puede hacer nada si las estaciones o la grúa se convierten en un verdadero cuello de botella del sistema. Dado que el algoritmo propuesto permite tratar problemas en un entorno flowshop con tiempos mínimos y máximos como restricciones de ventanas temporales, la propuesta de la autora para el futuro es su aplicación en entornos job-shop, con las mismas restricciones de ventanas temporales. 3.1.4. Evaluación de la complejidad del problema tratado Lei y Wang (1989) demuestran que el CHSP problema de programación cíclico de una grúa es NP-completo. El sistema de producción que toman como referencia es el propuesto por Shapiro y Nuttle (1988), con el lugar de carga y el de descarga separados, a cada lado de los tanques de proceso. Por lo tanto, ningún algoritmo puede garantizar una solución óptima en un tiempo acotado polinomialmente evaluando todas las soluciones posibles para algunas las instancias del problema. Primeramente, se establece que el programa cíclico buscado es un vector con una permutación de los m tanques y que el ciclo se repite indefinidamente. Seguidamente, se define el tiempo de ciclo para dicho programa. El teorema que dice “El problema CHSP es NP-completo” se demuestra con la existencia de un algoritmo no determinístico que resuelve el CSHP en tiempo polinomial, dado que existen como mínimo m! programas cíclicos diferentes para un problema cíclico de m estaciones. Así, el problema HSP se asemeja al TSP, problema del viajante de comercio (simétrico) y dado que se ha demostrado que éste último es NP-completo, el problema cíclico también lo es. De manera análoga, se demuestra el corolario que dice “El problema multi-grúa es NP-completo”.Los autores dejan pendiente la respuesta sobre si un problema de programación p-cíclico es también NP-completo. 3.2. Desarrollos posteriores en la evolución del problema 3.2.1. Resolución del caso de múltiples grúas Lei y Wang (1991) proponen un algoritmo heurístico MCC (Minimum Common Cycle), que sirve para obtener programas cíclicos en caso de disponer de dos grúas en una línea de tanques. Se utiliza una “aproximación zonal” según la cual el sistema se parte en dos conjuntos de estaciones contiguas, donde cada grúa se asigna a uno de ellos. El programa con un común tiempo de ciclo mínimo a ambas grúas se ofrece como la programación buscada, a partir de la partición establecida. Posteriormente, se evalúa una serie de particiones alternativas. La solución final resulta del mejor de los programas generados,. Se toman como base las hipótesis de Phillips y Unger (1976), como carga y descarga separadas, tiempo nulo de carga de objetos y objetos idénticos que visitan todas las estaciones, para determinar la secuencia cíclica de movimientos de las grúas. El problema planteado, Cyclic Two-Hoist Scheduling Problem (C2HSP), se basa en 3 componentes (G,P,T) que define una programa cíclico de movimientos para dos grúas:
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 56 • G es una permutación que ordena m+1 movimientos {0,1,...,m} en la secuencia: <h[0], h[1], ..., h[m]>. • P es una partición que descompone las m+1 estaciones en dos conjuntos, G1 y G2, tal que los movimientos de Gh se asignan a la grúa h (h=1,2). • T es el vector que indica los instantes de tiempo en que un movimiento de G empieza <t[0], t[1], ..., t[m]>. El tiempo de ciclo óptimo TC(G*,P*,T*) será el tiempo para que ambas grúas completen los movimientos que les han sido asignados: TC(G*,P*,T*) = min { TC(G,P,T) | para ∀(G,P,T) factible} (3.29) Bases del algoritmo MCC El algoritmo heurístico MCC para obtener un tiempo de ciclo común a dos grúas en una línea de tanques, que las sincronice, consta de las siguientes etapas: Etapa 1: Se realiza una partición del conjunto de m+1 estaciones en dos conjuntos, mediante un valor V (0≤V≤m+1), y se asigna una grúa a cada uno de ellos: G1(V) = {S0, S1, ..., SV} G2(V) = {SV+1, SV+2, ..., Sm} La estación SV+1 se considera, a la vez, estación de descarga del susbsistema G1(V), ya que descarga un objeto hacia el subsistema G2(V), y estación de carga del subsistema G2(V). Etapa 2: Para cada posible V, se evalúa el tiempo de ciclo para cada uno de ambos subproblemas de secuenciación de grúa, por separado y de forma independiente, mediante algún método de resolución planteado para el caso mono-grúa. Ambos tiempos de ciclo óptimos, TC1(V) y TC2(V), se comparan y mediante un proceso iterativo se alcanza el mínimo tiempo de ciclo común de ambos subsistemas TC*(V). El proceso iterativo de sincronización de ambas grúas consta de las siguientes etapas: • Se determina un valor inicial para TC*(V): TC*(V) = Max { TC1(V), TC2(V) } • Se resuelve el subproblema de menor tiempo de ciclo imponiendo que el nuevo tiempo de ciclo sea mayor o igual que TC*(V). • Si al resolverlo, el tiempo de ciclo óptimo es mayor que TC*(V), este valor sustituye al anterior TC*(V) y el proceso se repite, en esta ocasión, con el otro subproblema. • Dado V, se para cuando ambos subsistemas tienen iguales tiempos de ciclo, TC*(V). • El valor óptimo de V (VMCC) corresponde al tiempo mínimo de cualquier V: TC*(VMCC) = min { TC*(V) | ∀V } • Con VMCC, partición óptima, se unen las dos secuencias de las grúas en una sola, ajustando el comienzo de tiempos de movimientos de la grúa 2 para cumplir la restricción de ventana temporal en la estación VMCC+1.
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 57 Para un sistema con m+1 estaciones y dos grúas, son posibles m!·2(m-1) secuencias: el primer multiplicando supone el número de permutaciones circulares para m+1 estaciones, y el segundo, el número de posibles asignaciones de cada grúa a una estación, siendo m-1 al suponer que el movimiento de extracción de la estación 0 se asigna irremediablemente a la grúa 1, y el de la estación m, a la grúa 2. Con el algoritmo MCC, el número de combinaciones posibles se reduce a un orden O(m·(m-1)!), pues m es el máximo número posible de particiones examinadas y (m-1)! es una cota superior para el número de permutaciones circulares. Cualquier procedimiento propuesto anteriormente por Phillips y Unger (1976), Shapiro y Nuttle (1988) o Lei y Wang (1989a) es válido para resolver los subproblemas de una grúa en su parte de estaciones. Lemas para problemas con más de una grúa Se presentan también cuatro lemas, con propiedades de aceleración del proceso: Lema 1: Para cualquier partición V, el mínimo tiempo de ciclo común es mayor o igual que el máximo de los dos tiempos de ciclo mínimos, correspondientes a los dos subproblemas: TC*(V) ≥ Max { TC1(V), TC2(V) } (3.30) Lema 2: Sea G un subsistema arbitrario de una grúa con m estaciones a su cargo y tiempo de ciclo TCG. Sea Z el susbsistema formado añadiendo una estación adicional m+1 a G. Entonces: TCZ ≥ TCG (3.31) donde TCZ es el tiempo de ciclo óptimo para dicho subsistema Z. Lema 3: Si TC1(V) = TC2(V), entonces: VMCC = V (3.32) Lema 4: Sea V* una partición, con un tiempo de ciclo común TC*(V*) conocido: si TC1(V) > TC*(V*), entonces VMCC < V; si TC2(V) > TC*(V*), entonces VMCC > V. Funcionamiento del algoritmo La partición inicial del algoritmo es Vº=m/2. Siendo TC1(Vº) y TC2(Vº) los tiempos de ciclo óptimos para cada subproblema, y definidas las “particiones izquierda” formadas por Vº, Vº-1, ..., 1 y las “particiones derecha” formadas por Vº, Vº+1, ..., N-1, se prosigue así: si TC2(Vº) > TC1(Vº), se opera con las particiones derecha; si TC1(Vº) > TC2(Vº), se opera con las particiones izquierda. Tanto si se procede en un sentido o en otro, el proceso finaliza al cumplirse una de las condiciones siguientes: llegar al extremo de una de las particiones (V=m-1; V=1), o que
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 58 Max{ TC1(V), TC2(V) } > Min { TC*(V) | ∀V evaluada hasta entonces} siendo el segundo miembro la solución final de dicho algoritmo TC*(VMCC). Algoritmo MCC Vº=m/2 G1(Vº)= {S0, S1, ..., SVº} ; G2(Vº)= {SVº+1, SVº+2, ..., SN} PARA cada grúa (h=1,2) Optimización del tiempo de ciclo para una grúa, con resultado TCh(Vº) SI TC1(Vº) = TC2(Vº) VMCC = Vº ; TC*(VMCC) = TC1(Vº) = TC2(Vº) lema 3 SINO TC*(VMCC) = ∞; V = Vº ; VMCC = Vº SI TC1(V) > TC2(V) paso = -1 primero, la partición izquierda SINO paso = +1 primero, la partición derecha finSI parar = Falso: partición_contraria = Falso MIENTRAS (parar = Falso) Max_inicial = Max { TC1(V), TC2(V) } REPETIR TC*(V) = Max { TC1(V), TC2(V) } TCW(V) = Min { TC1(V), TC2(V) } Optimizar tiempo ciclo (una grúa), añadiendo TCW(V) ≥ TC*(V) HASTA { TCW ≥ TC*(V) } SI TC*(V) < TC*(VMCC) VMCC = V ; TC*(VMCC) = TC*(V) finSI parar=[TC*(VMCC)<Max_inicial { TC1(V), TC2(V)] o [V=1] o [V=N-1] SI [parar = Verdadero] y [partición_contraria = Falso] partición_contraria = Verdadero cambio de partición paso = paso·(-1); V=Vº ; parar = Falso finSI SI [parar = Falso] V=V + paso nueva partición G1(V)= {S0, S1, ..., SV} ; G2(V)= {SV+1, SV+2, ..., SN} PARA cada grúa (h=1,2) Optimizar tiempo ciclo (una grúa); resultado TCh(V) finSI finMIENTRAS finSI El algoritmo MCC presenta la aportación de la partición, es decir, la optimización de problemas de una grúa aporta una cota inferior. Se propone su extensión al caso de más de 2 grúas, con un vector de partición: [V1, V2, ..., VH-1].
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 59 3.2.2. La Programación Lógica con Restricciones Baptiste, Legeard y Varnier (1992) proponen un modelo para el Hoist Scheduling Problem basado en la programación lógica con restricciones o CLP (Constraint Logic Programming), escrito en PROLOG. Se facilitan soluciones óptimas con programas bastante simples de construir y con una eficiencia similar a la conseguida por otros métodos. La mayoría de modelos propuestos hasta entonces se limitaban al modelo más simple (mono-baño, mono-función, un producto, una grúa), encontrando soluciones óptimas en el mundo académico, y por tanto, difíciles de aplicar en casos reales, ya que habían restringido el problema de partida. Las modificaciones necesarias para que el modelo represente casos reales incrementan ampliamente su complejidad de resolución. Esta razón llevó al uso de esta nueva técnica al problema planteado. La elección de CLP se fundamenta en que el problema utiliza simultáneamente la estrategia y la optimización en la resolución, dos fases propias de la programación lógica con restricciones. Los lenguajes CLP, técnica usual en Inteligencia Artificial, tiene como objetivo integrar estrechamente el mecanismo de resolución del lenguaje Prolog con técnicas específicas para resolver restricciones, declaradas a través de dominios. Para tratar las restricciones, Prolog dispone de técnicas eficientes de resolución en esos dominios, para usar listas de ecuaciones o inecuaciones, y la concatenación de listas, cuyo término izquierdo se integra como operador originario. Así, durante el proceso de ejecución del programa, se va modelizando al considerar algunas ecuaciones y al aplazar las restricciones aún no evaluables para tratarse posteriormente. Las principales implementaciones en el mercado son: Prolog, utilizado en el algoritmo de este artículo, sirve para aritmética lineal racional, términos binarios y árboles infinitos, y CHIP, adecuado para dominios finitos, términos binarios y términos racionales lineales. Las principales aplicaciones de sistemas CLP son problemas combinatorios, que requieren modelos con una representación estratégica y una definición de restricciones. Algoritmo El algoritmo propuesto se centra en la programación del ciclo óptimo de líneas de producción con una sola grúa, si bien su extensión al caso multi-grúa es asequible y no modifica la complejidad del problema ni su tiempo de resolución. El sistema sujeto a la programación de la grúa es el presentado en Phillips y Unger (1976), en el primer punto de este capítulo: • Todos los tiempos de remojo de los objetos están acotados entre un valor mínimo y un valor máximo. • Una única grúa debe realizar todos los movimientos de transporte de objetos. • Los tiempos de movimiento de la grúa entre tanques son constantes (y por lo tanto, conocidos a priori). • A continuación, a pesar de la distribución de tanques en la línea o layout, éstos tendrán índices según el orden en la secuencia de procesos. Así, el tanque 0 es de carga; m es de descarga y los transportes se dan entre dos tanques i e i+1 (la disposición física real se incluye implícitamente en la matriz de distancias).
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 60 Una secuencia factible de los movimientos de una grúa será factible si y sólo si se cumplen las siguientes condiciones: 1. Los tiempos de operaciones O(i,k) incluidos entre el mínimo y el máximo. 2. Dos productos diferentes no pueden ocupar un mismo tanque a la vez. 3. Dos movimientos de una grúa no se deben nunca superponer en el tiempo. 4. Hay suficiente tiempo para que la grúa se desplace entre donde se usa por última vez y donde se necesite a continuación. Notación m Número de tanques (los tanques se numeran entre 1 y m), siendo i el tanque de la operación i-ésima. e(i,j) Tiempo de movimiento en vacío entre dos tanques i y j (que incluye aceleración de la grúa, viaje y desaceleración). f(i) Tiempo de transporte de producto entre los tanques i e i+1 (incluye sacar el objeto, dejar secarlo, moverse entre tanques y bajar el objeto hasta el nuevo tanque). a(i) Duración mínima necesaria de la operación del producto k en el tanque i. b(i) Duración máxima admisible para la operación del producto k en el tanque i. O(i,k) Operación de remojo del producto k en el tanque i. o(i) Duración programada de la operación O(i,k). R(i,k) Transporte del producto k entre los tanques i e i+1. TCmin Cota superior del tiempo de ciclo. TCmax Cota inferior del tiempo de ciclo. TC Tiempo de ciclo, a minimizar Variables El problema estará completamente definido por el conjunto de variables t(i) y el tiempo de ciclo TC: t(0) =o(0) ∑=+−+−=+−+= = i 1l m1,...,io(i)1)f(i1)t(io(l)1)f(lt(0)t(i) (3.33) Cuando estas variables tomen valores, definirán segmentos de utilización de la grúa, siendo cada operación de trasvase R(i,k) el intervalo cuando la grúa está ocupada: [ t(i) + k ·TC , t(i) + f(i) + k · TC ] para el producto (k+1) entre los tanques i e i+1.
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 61 Restricciones de tanques (tiempos de remojo) Las restricciones deben reflejar las condiciones 1 y 2 especificadas previamente. De la condición 1, se puede convertir en la doble inecuación generada por los tiempos mínimo y máximo, a(i) ≤ o(i) ≤ b(i). Una propagación de dicha relación acota directamente las variables t(i), considerando que: tmin(i) ≤ t(i) ≤ tmax(i) para i = 1,... ,m. Relacionando todas estas variables, se pueden hallar las cotas inferior y superior para cada instante t(i): [] ∑ = +−= i 1l min a(l)1)f(l(i)t (3.34) [] ∑ = +−= i 1l max b(l)1)f(l(i)t (3.35) Dado que dos productos no pueden permanecer en un mismo tanque a la vez (condición 2), se puede acotar inferiormente el tiempo de ciclo, que debería ser superior a la suma del mayor tiempo de remojo, más el transporte del producto a este tanque más el transporte al siguiente tanque: [] )i(f)i(a)1l(fmaxTC m;ol min ++−= = (3.36) siendo la cota superior del tiempo de ciclo, la extracción del objeto del último tanque más el tiempo de transporte necesario: TCmax = tmin(m) + e(m,0) (3.37) quedando acotado el tiempo de ciclo: TCmin ≤ TC ≤ TCmax. Restricciones de grúa Para satisfacer las condiciones 3 y 4, se deben considerar disyuntivas para la grúa al tener que realizar dos operaciones R(i,ki) y R(j,kj) sobre dos productos diferentes. Como en toda disyuntiva, pueden darse dos situaciones opuestas: 1. Si la operación R(i,ki) precede a R(j,kj), esto obliga a que se cumpla la siguiente restricción: [ t(j) + kj.TC ] – [ t(i) + f(i) + ki.TC ] ≥ e(i+1,j) (3.38) 2. Si la operación R(i,ki) sigue a R(j,kj), se expresa: [ t(i) + ki.TC ] – [ t(j) + f(j) + kj.TC ] ≥ e(j+1,i) (3.39)
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 62 Ambas relaciones sólo sirven en caso que ki≠kj, y si se toma como referencia un objeto 1, como ki=1, los demás objetos (kmax-1) que se encuentran simultáneamente en la línea pasan a ser kj=2,..., kmax (siendo kmax el máximo número de productos que la grúa manipula). Si un programa es factible para dos productos 1 y k, pasados k períodos, el mismo programa será factible para cualquier par de productos elaborados durante el mismo número de períodos, tal como habían mostrado Shapiro y Nuttle (1988). Además, incluso no es necesario comparar el orden de dos operaciones R(i,1) y R(j,k), si j≥i, ya que el transporte con rango i de un producto no puede interferir sobre el transporte con rango j superior del siguiente producto. Algoritmo La estrategia, basada en que existen pocas configuraciones factibles de las secuencias posibles de movimientos de la grúa, se desarrolla en 2 partes: • la primera parte usa la programación lógica con restricciones en Prolog para obtener configuraciones factibles (y las correspondientes cotas para todas las variables); • la segunda parte usa las facilidades en la enumeración de Prolog para encontrar la mejor solución en el conjunto fuertemente restringido de configuraciones factibles anteriores. Para evitar probar todas las configuraciones de tareas de la grúa, se desarrolla una estrategia de resolución heurística basada en una enumeración de valores para los índices i, j y k, introduciendo primero las restricciones más limitativas en el espacio de soluciones. Esta heurística compara los intervalos caracterizados por las fechas más tempranas y más tardías para el inicio de viajes de la grúa, límites de los intervalos expresados por: I(i,1) = [ tmin(i), tmax(i) ] I(j,k) = [ tmin(j)+k.TCmin, tmax(j)+k.TCmax ] El análisis de las diferentes interacciones entre todos los intervalos I(i,1) e I(j,k) puede presentar tres casos distintos: 1. Cuando se produce una intersección vacía o relativamente corta de tiempo entre dos de dichos intervalos: tmin(i) < tmin(j)+k.TCmin (3.40) tmax(i) < tmax(j)+k.TCmax (3.41) tmax(i) - [ tmin(j)+k.TCmin+f(j) ] < e(j+1,i) (3.42) o bien: tmin(i) > tmin(j)+k.TCmin (3.43) tmax(i) > tmax(j)+k.TCmax (3.44) [ tmax(j)+k.TCmax ] – [ tmin(i)+f(i) ] < e(i+1,j) (3.45) En estos casos, el orden de ambas operaciones R(i,1) y R(j,k) está claramente definido. Para la primera configuración, el programa escogerá (3.38), y para la segunda, (3.39).
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 69 la(k) = a finSI pc = comprobar_circuito(k) SI pc = Verdadero parar = sí hay circuito de longitud positiva SINO v(k) = v(o(a)) + l’(a) finSI finPARA finPARA i=i+1 finMIENTRAS La complejidad computacional del algoritmo CTE es, en el peor de los casos, O(n4p2), donde n es el número de tanques más 1 (n=m+1) y p es el número de arcos del grafo G (p=3m+1). 3.2.4. Cotas del problema HSP para el caso cíclico Ng (1996) plantea la posibilidad de tiempos de movimiento con carga entre tanques no constantes, sino variables en el contexto de un programa lineal entero mixto. Se desarrolla un procedimiento del tipo branch and bound para hallar el óptimo. El algoritmo, aplicado sobre una línea cuyo tanque 0 se usa como carga más descarga y sin tanques duplicados (monobaño, monofunción), puede encontrar programas cíclicos óptimos también para casos de otras líneas con diferentes configuraciones en carga y descarga, así como tanques duplicados. Se demuestra que con tiempos de espera de la grúa cargada (waiting times) como variables, el tiempo de ciclo es siempre menor o igual que con el caso de ninguna espera (zero waiting time). Se demuestra como el número de contenedores que pueden estar simultáneamente en la línea depende de las magnitudes relativas a los tiempos mínimo y máximo de remojo, los tiempos de movimiento de grúa y los tiempos de movimiento entre tanques. Así, se determina que el número óptimo de contenedores en una línea (n*) está acotado por: n* ≤ MIN { UB(τ) / UB(TC) + 1, m } (3.74) Dado que el tiempo de cálculo necesario para hallar el óptimo de un problema depende en gran medida del ajuste o bondad de las cotas generadas, se formulan tres cotas inferiores y una cota superior para el tiempo de ciclo óptimo. Para ello, se obtienen expresiones para determinar el conjunto de tanques que debe visitar un contenedor durante un ciclo, dado un número de contenedores en una línea (m). Dichos conjuntos de movimientos consecutivos con carga entre tanques en un mismo ciclo son mútuamente exclusivos y conjuntamente exhaustivos. La primera cota inferior se obtiene al considerar que la grúa debe realizar todos los transportes entre tanques con carga y además debe desplazarse en vacío a otro tanque, con
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 70 carga pendiente de ser trasladada, o bien permanecer en el tanque destino durante el tiempo mínimo establecido. [] ∑ = γ+= m 0i 1i)(f(i)LB (3.75) donde γ(i) = MIN { MINj≠i+1[e(i+1,j)], a(i+1) }. γ(i) es el menor tiempo necesario para que la grúa pueda empezar el siguiente movimiento al de recoger un objeto del tanque i. La segunda cota inferior propuesta aparece de la relajación del programa lineal, dado un número de contenedores y su posición al iniciar el ciclo, cuando no se consideran las variables enteras, es decir, sin considerar que la grúa puede realizar un solo movimiento a la vez. ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ ⎪ ⎭ ⎪ ⎬ ⎫ ⎪ ⎩ ⎪ ⎨ ⎧++−= ∑∑ ++ += + − += = 1j 1 1j 1 V 1Vi 1j 1V 1Vi n1,...,j 2,0)e(Va(i)1)f(i j 1 LB MAX (3.76) donde Vj es el conjunto de tanques desde los cuales se extrae el objeto j-ésimo en la línea al iniciar un ciclo de movimientos de la grúa durante el mismo ciclo. Finalmente, la tercera cota inferior prescinde de la asistencia de la grúa a los movimientos de otros baños que contengan otros contenedores que no sean el que visita ese baño. Esto permite establecer unos tiempos de inicio de movimientos que vienen fijados por los tiempos mínimos de las ventanas temporales: ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡++−+= ∑∑ − += + += − = ++ 1V 1ki 1j V 1ki n1,...,j 3 1j1j ,0)e(Va(i)1)f(it(k)LB MAX (3.77) donde dado )(it −, i∈ {Vj, Vj+1, ..., k} y k∈ {Vj, Vj+1, ..., Vj+1-1}. La cota superior procede del ciclo factible con un solo contenedor tratado por ciclo: [] ∑ + = +−= 1m 1i 1a(i)1)f(iUB (3.78) donde a(m+1) es el tiempo de descarga mínimo (en principio, considerado nulo). La fórmula 3.78 es válida en caso que se concentre en un mismo punto la carga y descarga de los objetos o contenedores. En caso de localizaciones separadas para la carga y la descarga, debe sumarse el tiempo de desplazamiento de la grúa en vacío entre ambas estaciones (de carga y de descarga): [] 1,0)e(mf(m)a(i)1)f(i'UB m 1i 1++++−= ∑ = (3.79)
Capítulo 3. Métodos de resolución del problema de programación del puente-grúa 71 La estrategia de ramificación parte de la enumeración de los valores del número de contenedores y sus posiciones a inicio del ciclo, para establecer posibles secuencias de movimientos entre tanques. En primer lugar, se ramifica en orden creciente del posible número de contenedores y en segundo lugar, en función de las posiciones de cada uno de los contenedores. El árbol se va ramificando en función del contenedor asociado a cada movimiento con carga, es decir, el siguiente nivel de la ramificación contiene tantos vértices como contenedores candidatos a dicho movimiento en la secuencia de movimientos del ciclo de la grúa. Para cada vértice, se plantea un programa lineal con 3m+n+3 restricciones y 2m+2 variables. 3.2.5. Observación final Como observación final antes de plantear la visión propia del problema cabe notar un aspecto que se ha tomado como criterio: la colocación de índices, como es el número de tanque i. Se ha realizado de la siguiente forma: • en las aportaciones de otros autores, hasta este capítulo, entre paréntesis, como por ejemplo a(i); • en las aportaciones propias, a partir del siguiente capítulo como subíndice, como por ejemplo ai.
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 73 4. ESTUDIO SOBRE LA VARIANTE MONOBAÑO, MONOFUNCIÓN, MONOGRÚA. ALGORITMOS BÁSICOS 4.1. Hipótesis de la variante A partir de este capítulo se inicia el estudio del caso caracterizado por tanques monobaño y monofunción, disponiendo de monogrúa. Las hipótesis necesarias para la variante 1B,1F/1/1/U,∪ o bien 1B,1F/1/1/U,∩, indistintas a efectos del modelo a plantear, son las siguientes: 1. El tiempo de proceso para la estancia de un objeto en cada estación debe estar entre los valores de un intervalo dado (entre un valor de tiempo mínimo y otro de tiempo máximo). 2. El transporte de los objetos lo realiza una única grúa, que se desplaza a lo largo de un carril, cuya misión consiste en tomar y dejar los objetos en las diferentes estaciones. 3. Se considera que la operación de transporte no se puede interrumpir. 4. La etapa de carga (que se produce en la considerada estación 0) siempre dispone de objetos preparados al llegar la grúa. 5. Un tanque cualquiera i debe estar vacío cuando vaya a depositarse un objeto por parte de la grúa. 6. Todos los tanques están ordenados en la línea de producción siguiendo las etapas del proceso, lo que implica que en el tanque i se realiza la operación i-ésima. Después de visitar el tanque i, un objeto debe pasar al tanque i+1. 7. Todos los objetos tratados corresponden a un mismo producto, son idénticos y siguen una misma ruta. 4.2. Determinación de una secuencia cíclica Como se demuestra en Shapiro y Nuttle (1988), la resolución de un caso con una sola grúa, monobaño, monofunción y con productos homogéneos (1B,1F/1/1/-) comporta hallar una secuencia cíclica. Así, el objetivo del algoritmo a plantear consiste en minimizar el tiempo de ciclo de un conjunto de órdenes homogéneas que deben pasar por m etapas, con restricciones de ventana, con un tanque asignado para cada una de las cuales, mediante un único puente-grúa o robot transportador. Tal como ya razonan Phillips y Unger (1976), durante un ciclo de movimientos la grúa debe visitar a un tanque para recoger un objeto, bien éste haya sido depositado durante aquel mismo ciclo de movimientos (que empieza con el movimiento de toma de un nuevo objeto de la estación de carga) o en un anterior ciclo de movimientos.
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 74 Al plantear como objetivo describir la ruta de la grúa en la línea de producción, una secuencia cíclica (H,T) se define a partir de dos vectores de m componentes (el primero de los cuales enumera una posible secuencia de visitas de la grúa a los tanques, y el segundo evalúa el instante de recogida de los objetos en las citadas visitas): 1. Una secuencia de operaciones de la grúa, que indica el orden de movimientos: H = <h[0], h[1], ..., h[k], ..., h[m]> 2. Los instantes de tiempo de inicio de cada uno de los movimientos de la secuencia: T = <t[0], t[1], ..., t[k], ..., t[m]> El vector de operaciones H, si bien es una variable del problema, ya que la secuencia de operaciones influye directamente sobre el vector de tiempos T. Sean: hi: movimiento de transporte del objeto de la estación i a la estación siguiente i+1, para 0 ≤ i ≤ m; ti: tiempo de inicio del movimiento hi (entre las estaciones i e i+1), 0 ≤ i ≤ m. Tal como se plantea el problema y la solución a hallar, se trata de repetir continuamente los movimientos en un determinado orden. Así pues, el vector H de la secuencia que describe el recorrido de la grúa es una permutación circular de m+1 estaciones, como también apunta Shapiro y Nuttle (1988). Por ejemplo, para una supuesta línea de producción con 2 estaciones (m=2), con los movimientos de la grúa, tal como se han definido, a las estaciones 0, 2, 1, 0, 2, 1 y así sucesivamente (representado por <0,2,1,0,2,1,0,2,...> o por <h0,h2,h1,h0,h2,h1,h0,h2,...>), las siguientes secuencias se consideran equivalentes: < h0,h2,h1> ≡ <h2,h1,h0> ≡ <h1,h0,h2>. Véase la figura 4.1. En primer lugar, aparece el movimiento h0, consistente en extraer la pieza de la estación 0, seguido de los movimientos h2 y h1, que suponen desplazar la pieza que originalmente estaba en la estación 2 y la que ha sido depositada en la estación 1. Así, al producirse de nuevo el movimiento h0, las condiciones son idénticas a las iniciales. También se observa como, de nuevo, la disposición de las piezas y la grúa (cuyos movimientos se indican con flechas) para los segundos movimientos h2 y h1 coincide con la disposición de las piezas y la grúa de los primeros movimientos citados. Los objetos se representan con bolas verdes depositadas en los baños; los movimientos de la grúa con carga entre dos tanques consecutivos se reflejan con flechas azules y los movimientos de la grúa sin carga entre tanques, con flechas rojas.
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 75 Estación (0) (1) (2) (3) λ λ h0 Î Î Î λ λ Î Î Î λ λ h2 Î Î Î λ λ Í Í Í Í Í λ h1 Î Î Î λ Í Í Í Í Í λ λ h0 Î Î Î λ λ Î Î Î λ λ h2 Î Î Î λ λ Í Í Í Í Í λ h1 Î Î Î λ Í Í Í Í Í λ λ h0 Î Î Î Figura 4.1. Representación gráfica del vector H como una permutación circular. Consideraciones adicionales • Se tomará como referencia de inicio de la secuencia cíclica de movimientos de la grúa el instante en que la grúa recoge un objeto de la estación de carga (estación 0): h[0] = 0 (4.1) t[0] = 0 (4.2) • La notación para el movimiento k-ésimo se describirá de la siguiente manera:
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 76 h[k] = hi (4.3) t[k] = ti (4.4) indica que la operación k-ésima de la grúa se corresponde con aquélla en que se retira un objeto del baño i de la línea de producción. Así, ordenando los instantes del vector T según el índice k, se dispone de éstos en orden creciente: t[0] < t[1] < ... < t[m]. • El tiempo del ciclo de movimientos de la grúa viene determinado por el instante en que la grúa empiece a realizar su movimiento m+1 desde que inició que el ciclo, que debe corresponder con el inicio del primero de los movimientos del siguiente ciclo, es decir: TC(H,T) = t[m+1] (4.5) 4.3. Programa lineal PL(H) asociado a una secuencia cíclica H Al plantear la evaluación de un vector de tiempos T para una secuencia cíclica de movimientos de grúa propuesta, se debe presentar los datos de partidas, las restricciones propias del problema y el objetivo. Dada la linealidad de las restricciones y la función objetivo, se observa que se trata de un programa lineal. 4.3.1. Parámetros del problema y secuencia propuesta Los datos de partida o parámetros del programa lineal para resolver el caso planteado son los siguientes: • Duraciones de la ventana temporal de estancia de los objetos en los tanques: ai, bi i = 1,2, ...,m Se utilizan ai y bi, como notación original de Phillips y Unger (1976), bastante extendida en los demás autores. En general, se dispone de dos vectores A=<a1, ..., am> y B=<b1, ..., bm>. • Tiempos de movimiento de la grúa para desplazarse entre diferentes tanques: ¾ con carga: fi i = 1, 2, ..., m ¾ sin carga: ei,j 0 ≤ i, j ≤ m+1 En este caso, existe menos parecidos entre los diversos autores, algunos con supraíndices, y se ha optado por fi y ei,j como abreviatura de full transport y empty transport. En general, se dispone de un vector F=<f0, f1, ..., fm> y la matriz E, de dimensiones (m+2)·(m+2), si bien es suficiente (m+2)·(m+1) por la propiedad de simetría de los datos, presentada en el capítulo anterior. • Secuencia de movimientos:
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 77 H = <h[0]=h0, h[1], ..., h[m]> Finalmente, como variables a lo largo de la resolución del problema, en función de la secuencia a evaluar, se debe determinar una secuencia de movimientos parcial o completa de la grúa, y se utiliza hi para referirse a los movimientos de la grúa, en inglés hoist movements. 4.3.2. Variables a determinar en el problema Relacionado con este último vector de datos de entrada, la posible secuencia de los movimientos de la grúa, aparece un vector de variables del programa lineal, los instantes de tiempo de inicio de los movimientos, a las cuales debe añadirse el valor del tiempo necesario para adoptar nuevamente la posición como punto de partida de la secuencia de movimientos. • Tiempo de inicio de movimientos: T = <t[0], t[1], ..., t[m]> • Tiempo de ciclo: TC(H,T) = t[m+1] En total, suman m+1 variables, de las cuales m proceden del vector T, pues t[0] queda predeterminado por hipótesis, más la variable del siguiente movimiento m+1, que culmina el ciclo. 4.3.3. Restricciones del problema Al plantear una secuencia de movimientos de grúa, el problema presenta dos grupos de restricciones claramente diferenciadas: las restricciones de tiempo de los tanques y las restricciones de tiempo de la grúa. R1. Restricciones del tiempo de proceso de un objeto en un tanque Este conjunto de limitaciones depende de la secuencia de movimientos de la grúa, del tiempo de movimiento de la grúa con carga entre estaciones y de las restricciones de ventana asociadas a dicho baño. Sea una secuencia de movimientos: H = <h0, ..., hi, hj, ..., h[m]> donde hi, hj, h[m] son tanques cualesquiera, diferentes de 0 y entre sí, que la grúa visitará siguiendo el orden indicado en la secuencia de movimientos establecida. Sea el vector de tiempos asociado a la anterior secuencia: T= <t0, ..., ti, tj,..., t[m]>. Según la notación expuesta, cuando la grúa recoja un objeto del tanque i en el instante ti, la llevará al tanque i+1. A continuación, se dirigirá en vacío al tanque j, donde recoge un objeto en el instante tj, y así sucesivamente. Dentro de este grupo de restricciones, cabe distinguir dos tipos:
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 78 R1.1 (operaciones monociclo): Este tipo de restricción corresponde con la situación que el tanque i no contiene ningún objeto en el instante de inicio del ciclo, es decir, que en un mismo ciclo la grúa visita antes al tanque i-1 que al tanque i. En caso que se cumpla esta condición, la restricción de tanque i asociada toma la siguiente forma: a i ≤ ti – (ti-1 + fi-1) ≤ bi (4.6) Si se analiza la expresión, el término central es la duración del tratamiento en el baño i calculado como el instante de recogida del objeto (ti) menos el instante en que se depositó, obtenido asimismo como el instante de recogida del objeto en el anterior tanque i-1 (ti-1) más el tiempo de traslado entre ambos (fi). Éste debe estar comprendido entre los límites que marcan la restricción de ventana asociada al tanque i (ai, bi). R1.2 (operaciones biciclo): Este tipo de restricción corresponde con la situación que el tanque i contiene un objeto en el instante de inicio del ciclo, es decir, que en un mismo ciclo la grúa visita antes al tanque i que al tanque i-1. En caso de cumplir dicha condición, la restricción de tanque i asociada toma la siguiente forma: a i ≤ ti + TC – (ti-1 + fi-1) ≤ bi (4.7) Analizando la expresión, se observa como para calcular la duración del tratamiento en el baño i en el término central, se debe sumar el tiempo de ciclo (TC) al instante de recogida del objeto en el anterior tanque i-1 (ti-1) más el tiempo de traslado entre ambos (fi), para hallar el instante en que se depositó el objeto restado del instante de recogida del objeto (ti). Nuevamente, esta duración debe estar comprendida entre los límites que marcan la restricción de ventana asociada al tanque i (ai, bi). R2. Restricciones de tiempo de desplazamiento de una grúa Este conjunto de limitaciones, provocadas por los tiempos de viaje de la grúa, dependen de la secuencia de movimientos de la grúa, del tiempo de movimiento de la grúa con y sin carga entre estaciones e indirectamente de las restricciones de ventana en los baños. En definitiva, relacionan la temporalidad para dos movimientos de grúa consecutivos. Sea una secuencia de movimientos: H = <h0, ..., hi, hj, ..., h[m]> y el vector de tiempos asociado a la anterior secuencia: T= <t0, ..., ti, tj,..., t[m]>, tal como fueron definidos. Según la notación y las hipótesis expuestas, cuando la grúa recoja un objeto del tanque i en el instante ti, la llevará al tanque i+1. A continuación, se dirigirá en vacío al tanque j, donde recoge un objeto en el instante tj, y así sucesivamente. R2.1 (movimientos internos de ciclo): Según la notación expuesta, el tiempo entre los instantes ti, cuando la grúa recoja un objeto del tanque i que llevará al tanque i+1,
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 79 hasta que recoja el siguiente objeto del tanque j en el instante tj, debe ser como mínimo: t j ≥ ti + fi + ei+1,j (4.8) La grúa debe tener el tiempo suficiente para recoger el objeto en el tanque i, y efectuar los movimientos de traslado con carga hasta el tanque i+1 (fi) y de traslado en vacío desde el tanque i+1 hasta el tanque j (ei+1,j). R2.2 (movimiento interciclos): La relación entre el último movimiento, [m], en un ciclo y el primero del siguiente incluye el tiempo de ciclo (TC), por pertenecer a dos ciclos diferentes: t 0 + TC = t[m+1] ≥ t[m] + f[m] + el+1,0 (4.9) El número total de restricciones (de los dos tipos) siempre es proporcional a la dimensión del problema m, es decir, al número de tanques de que se compone la línea. Se trata de 2m restricciones de tanque (dos para cada tanque) y de m+1 restricciones de grúa (una para cada movimiento del ciclo). Así pues, en total son necesarias 3m+1 restricciones. 4.3.4. Objetivo del problema La función objetivo del programa lineal, dado que se pretende que para realizar completamente una secuencia de movimientos de la grúa se requiera un tiempo mínimo, ésta debe plantearse como: [MIN] TC(H,T) = t[m+1] si t0 = t[0] = 0 (4.10) 4.3.5. Ejemplo ilustrativo 4.1 El tratamiento de unas piezas en una línea de producción se realiza mediante un proceso que consta de 3 fases. Cada pieza procesada debe permanecer en la estación donde se realice una de las anteriores operaciones durante un tiempo, medido en segundos, comprendido entre un valor mínimo y máximo que se muestran en la siguiente tabla. Operación Lavado Baño de sales Secado Tiempo mínimo 30 40 40 Tiempo máximo 50 60 50 Tabla 4.1. Datos del ejemplo 4.1. Se dispone de una única grúa transportadora que realiza el movimiento de las piezas entre estaciones, además del transporte desde la estación de carga a la estación de lavado y desde la estación de secado a la estación de descarga. El tiempo requerido por la grúa para recoger una pieza en una estación y depositarla en la estación destino es de 10 segundos. En vacío, la grúa se desplaza a una velocidad media de 1 m/s. Todas las estaciones, incluso las de carga y descarga, se encuentran alineadas y equidistan 5 metros.
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 86 Analizar grafo en sentido creciente de tiempo t Vl(0) = tVs(0) + fVs(0) PARA cada movimiento (1 ≤ i ≤ m) Buscar vértice de llegada tal que Vl(j)=Vs(i) tgrua = tVl(i-1)+eVl(i - 1), Vs(i) SI se debe inicializar (iteración 1) tVs(i) = tgrua SINO SI es operación monociclo t Vs(i) = MAX { tgrua, tVl(j) + aVs(i) } SINO (es operación biciclo) t Vs(i) = MAX { tgrua, tVl(j) - tc + aVs(i) } finSI finSI t Vl(i) = tVs(i) + fVs(i) SI tVs(i) ≠ aux(i) cambios = cambios+1 aux(i) = tVs(i) finSI finPARA Analizar grafo en sentido decreciente de tiempo PARA cada movimiento (m ≥ i ≥ 0) Buscar vértice de salida tal que Vs(j)=Vl(i) SI es operación monociclo tVl(i) = MAX { tVs(i), tVs(j) - bVl(i)} SINO (es proceso biciclo) t Vl(i) = MAX { tVs(i), tVs(j) + tc - bVl(i)} finSI t Vs(i) = tVl(i) - fVs(i) SI t Vs(i) ≠ aux(i) cambios = cambios+1 aux(i) = tVs(i) finSI finPARA
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 87 4.4.3. Ejemplo de secuencia factible Utilizando el ejemplo del anterior apartado 4.3.5, y tomando nuevamente como secuencia a evaluar H = <0,2,1,3>, la representación de dicho grafo según el modelo presentado en el apartado 4.4.1 se corresponde con la figura 4.4. En la siguiente figura 4.4 se pueden observar los arcos que conectan el ciclo presente con el ciclo pasado y el ciclo futuro, mientras que en la figura 4.5 dichas relaciones se han adaptado a las relaciones entre vértices del mismo ciclo, ciclo presente, lo que supone depender del valor del último vértice TC. Esto puede suponer interrumpir en algún momento el proceso de convergencia absoluta de obtención de TC, por lo cual se habla de problema relajado. Figura 4.4. Representación del ciclo presente y sus arcos relacionados con los ciclos pasado y futuro para la secuencia H = <0,2,1,3>. 0 VS(0) VS(1) VS(2) VS(3) VS(4)= VS(0) Vl(0) a1 Vl(3) Vl(2) Vl(1) a3 a2 -b3 -b1 -b2 f1 f2 e4,0 e1,2 f0 e3,1 e2,3 f3 TC 0 de Vl(2) del ciclo pasado a VS(1) del ciclo futuro a Vl(2) del ciclo pasado de VS(1) del ciclo futuro 2 4 3 1 2 3 1
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 88 Figura 4.5. Representación del ciclo presente (relajación del problema) para la secuencia H = <0,2,1,3>. Sustituyendo por los parámetros de tiempo del problema, se obtiene la figura 4.6: Figura 4.6. Representación del grafo secuencial para el vector H = <0,2,1,3> del ejemplo. 0 S(0) S(2) S(1) S(3) S(0) S(1) 30 S(4) S(2) S(3) 40 40-TC -50 -50 -60+TC 10 10 20 5 10 10 5 10 TC 0 0 S(0) S(2) S(1) S(3) S(0) S(1) a1 S(4) S(2) S(3) a3 a2 - TC -b3 -b1 -b2 + TC f1 f2 e4,0 e1,2 f0 e3,1 e2,3 f3 TC 0
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 89 Utilizando el método basado en el MCM del grafo reducido del ciclo presente, para los datos de la figura 4.6 implica que en la segunda iteración ya se pueda determinar el tiempo de ciclo TC asociado a la secuencia H = <0,2,1,3>. La primera iteración tiene una función básica de inicialización y permite determinar una cota inicial para el tiempo de ciclo, marcada por los tiempos necesarios de viajes de grúa. Los valores asociados a los vértices, de salida (m+2=5) y de llegada (m+1=4), al aplicar la acción Analizar el grafo en sentido creciente del tiempo en la primera iteración son: vértice VS(0) 0 Vl(0) 1 VS(1) 2 Vl(1) 3 VS(2) 1 Vl(2) 2 VS(3) 3 Vl(3) 4 TC t 0 10 15 25 35 40 50 60 80 Tabla 4.2. Valores de los vértices del grafo secuencial para H=<0,2,1,3> del ejemplo (iteración 1, sentido creciente). Al aplicar la acción Analizar el grafo en sentido decreciente del tiempo, en la primera iteración, los valores asociados a los vértices son: vértice VS(0) 0 Vl(0) 1 VS(1) 2 Vl(1) 3 VS(2) 1 Vl(2) 2 VS(3) 3 Vl(3) 4 TC t 0 10 15 25 35 40 50 60 80 Tabla 4.3. Valores de los vértices del grafo secuencial para H=<0,2,1,3> del ejemplo (iteración 1, sentido decreciente). En la segunda iteración, al incluir las restricciones de tiempo mínimo de ventana en los baños y aplicar la acción Analizar el grafo en sentido creciente del tiempo, los valores asociados a los vértices son: vértice VS(0) 0 Vl(0) 1 VS(1) 2 Vl(1) 3 VS(2) 1 Vl(2) 2 VS(3) 3 Vl(3) 4 TC t 0 10 15 25 40 50 65 75 95 Tabla 4.4. Valores de los vértices del grafo secuencial para H=<0,2,1,3> del ejemplo (iteración 2, sentido creciente). Al aplicar la acción Analizar el grafo en sentido decreciente del tiempo, en la segunda iteración, los valores asociados a los vértices son: vértice VS(0) 0 Vl(0) 1 VS(1) 2 Vl(1) 3 VS(2) 1 Vl(2) 2 VS(3) 3 Vl(3) 4 TC t 0 10 15 25 40 50 65 75 95 Tabla 4.5. Valores de los vértices del grafo secuencial para H=<0,2,1,3> del ejemplo (iteración 2, sentido decreciente). Como no hay cambios en el sentido decreciente de tiempos, tampoco los habrá en la tercera iteración, pues ya se han considerado las restricciones de tiempos mínimos y máximos de la ventana temporal. Esta solución es factible y tiene 95 como tiempo de ciclo.
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 90 H 0-1 1 , 2 2-3 3 , 1 1-2 2 , 3 3-4 4 , 0 0-1 1 , 2 2-3 1 2 3 0 10 20 30 40 50 60 70 80 90 100 110 Figura 4.7. Diagrama de Gantt para movimientos de grúa H (línea doble, transporte con carga y discontinua, transporte sin carga) y la ocupación de los baños 1, 2 y 3 (amarillo, tiempo mínimo; verde, margen de la ventana temporal; rayado, tiempo de ocupación real de baño). No se violan restricciones. 4.4.4. Ejemplo de secuencia infactible La representación de su grafo para evaluar la secuencia H = <0,2,3,1>, según el modelo del apartado 4.4.1 y utilizando el ejemplo del apartado 4.3.5, se corresponde con la figura 4.8. Se observa los arcos que conectan el ciclo presente con el ciclo pasado y el ciclo futuro, mientras en la figura 4.9 dichas relaciones se expresan entre vértices del ciclo presente, lo que supone depender del valor del último vértice TC. Figura 4.8. Representación del ciclo presente y sus arcos relacionados con los ciclos pasado y futuro para la secuencia H = <0,2,3,1>. 0 VS(0) VS(1) VS(2) VS(3) VS(4)= VS(0) Vl(0) a1 Vl(3) Vl(2) Vl(1) a3 a2 -b3 -b1 -b2 f3 f2 e2,0 e1,2 f0 e3,3 e4,1 f1 TC 0 de Vl(3) del ciclo pasado a VS(1) del ciclo futuro a Vl(3) del ciclo pasado de VS(1) del ciclo futuro 2 4 3 1 2 3 1
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 91 Figura 4.9. Representación del ciclo presente (relajación del problema) para la secuencia H = <0,2,3,1>. Sustituyendo por los parámetros de tiempo del problema, se obtiene la figura 4.10. Figura 4.10. Representación del grafo secuencial para el vector H = <0,2,3,1> del ejemplo. 0 S(0) S(2) S(3) S(1) S(0) S(1) a1 S(2) S(4) S(3) a3 a2 - TC -b3 -b1 -b2 + TC f1 f2 e4,0 e1,2 f0 e3,1 e2,3 f3 TC 0 0 S(0) S(2) S(3) S(1) S(0) S(1) 30 S(2) S(4) S(3) 40 40-TC -50 -50 -60+TC 10 10 10 5 10 0 15 10 TC 0
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 92 Al aplicar el método MCM al grafo reducido del ciclo presente, para los datos de la figura 4.10 implica que en el procedimiento no converja en las sucesivas iteraciones y no se puedan determinar ningún tiempo de ciclo TC asociado a la secuencia H = <0,2,3,1>. Esto indica que la secuencia es infactible. Los valores asociados a los vértices al aplicar la acción Analizar el grafo en sentido creciente del tiempo en la primera iteración son: vértice VS(0) 0 Vl(0) 1 VS(1) 2 Vl(1) 3 VS(2) 3 Vl(2) 4 VS(3) 1 Vl(3) 2 TC t 0 10 15 25 25 35 50 60 70 Tabla 4.6. Valores de los vértices del grafo secuencial para H=<0,2,3,1> del ejemplo (iteración 1, sentido creciente). Al aplicar la acción Analizar el grafo en sentido decreciente del tiempo, en la primera iteración, se repiten los valores asociados a los vértices: vértice VS(0) 0 Vl(0) 1 VS(1) 2 Vl(1) 3 VS(2) 3 Vl(2) 4 VS(3) 1 Vl(3) 2 TC t 0 10 15 25 25 35 50 60 70 Tabla 4.7. Valores de los vértices del grafo secuencial para H=<0,2,3,1> del ejemplo (iteración 1, sentido decreciente). En la segunda iteración, al incluir las restricciones de tiempo mínimo de ventana en los baños y aplicar la acción Analizar el grafo en sentido creciente del tiempo, los valores asociados a los vértices son: vértice VS(0) 0 Vl(0) 1 VS(1) 2 Vl(1) 3 VS(2) 3 Vl(2) 4 VS(3) 1 Vl(3) 2 TC t 0 10 15 30 70 80 95 105 115 Tabla 4.8. Valores de los vértices del grafo secuencial para H=<0,2,3,1> del ejemplo (iteración 2, sentido creciente). Al aplicar la acción Analizar el grafo en sentido decreciente del tiempo, en la segunda iteración, ya no se repiten los valores asociados a los vértices, por la ventana temporal del baño 1: vértice VS(0) 0 Vl(0) 1 VS(1) 2 Vl(1) 3 VS(2) 3 Vl(2) 4 VS(3) 1 Vl(3) 2 TC t 35 45 20 30 70 80 95 105 115 Tabla 4.9. Valores de los vértices del grafo secuencial para H=<0,2,3,1> del ejemplo (iteración 2, sentido decreciente). Como hay cambios en el sentido decreciente de tiempos, se debe realizar una tercera iteración, en la cual al aplicar la acción Analizar el grafo en sentido creciente del tiempo se obtienen los valores asociados a los vértices de la tabla siguiente:
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 93 vértice VS(0) 0 Vl(0) 1 VS(1) 2 Vl(1) 3 VS(2) 3 Vl(2) 4 VS(3) 1 Vl(3) 2 TC t 35 45 50 60 100 110 125 135 145 Tabla 4.10. Valores de los vértices del grafo secuencial para H=<0,2,3,1> del ejemplo (iteración 3, sentido creciente). Al aplicar la acción Analizar el grafo en sentido decreciente del tiempo, en la segunda iteración, ya no se repiten los valores asociados a los vértices, por la ventana temporal del baño 1: vértice VS(0) 0 Vl(0) 1 VS(1) 2 Vl(1) 3 VS(2) 3 Vl(2) 4 VS(3) 1 Vl(3) 2 TC t 65 75 50 60 100 110 125 135 145 Tabla 4.11. Valores de los vértices del grafo secuencial para H=<0,2,3,1> del ejemplo (iteración 3, sentido decreciente). Así, dado que cada vez que el valor del vértice de tiempo de ciclo varía, lo cual conlleva un incremento de 30, también lo hace el vértice. Por tanto, esta solución es infactible. H 0-1 1 , 2 2-3 3-4 4 , 1 1-2 2 , 0 1 2 3 0 10 20 30 40 50 60 70 80 90 100 110 Figura 4.11. Diagrama de Gantt para movimientos de grúa H (línea doble, transporte con carga y discontinua, transporte sin carga) y la ocupación de los baños 1, 2 y 3 (amarillo, tiempo mínimo; verde, margen de la ventana temporal; rayado, tiempo de ocupación real de baño). Se incumplen las restricciones de los baños 1 y 2.
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 94 4.5. Procedimientos de resolución arborescente (branch and bound) Para una línea de producción con un número de baños m, y con los datos de partida referentes a la ventana temporal en cada baño y a los tiempos de transporte de la grúa, el objetivo pasa a ser determinar una secuencia de movimientos para la grúa que sea factible, y en dicho caso, hallar de entre todas aquellas factibles la que cumpla: TC*(H*,T*) = Min { TC(H,T) | ∀ (H,T) factible } (4.12) A priori un ejemplar de problema con las características reseñadas plantea m! posibles secuencias de secuencias, lo que implicaría resolver m! programas lineales. Si se utiliza un procedimiento de branch and bound como el propuesto por diversos autores, como Shapiro y Nuttle (1988) y Armstrong, Lei y Gu (1994), que a continuación se plantea, cada uno de dichos programas se corresponderán con una de las hojas de la exploración arborescente. 4.5.1. Bases de un procedimiento branch and bound Un procedimiento branch and bound consiste en una exploración adecuada del conjunto completo de permutaciones inicialmente posibles, aunque quizás algunas no factibles, de los movimientos de un ciclo de movimientos de una grúa. • Dichas permutaciones se distribuyen en bloques, cada uno de los cuales está definido por ciertos movimientos concretos, que pueden o no ocupar unas determinadas posiciones. • Para cada bloque, se determina una cota inferior del valor de TC de las permutaciones incluidas en el mismo. Dicha cota puede ajustarse más cuantas menos permutaciones contenga el bloque. Si sólo contiene una única permutación y la secuencia de movimientos H es factible, la cota coincide con el valor TC de la misma. • Al tener cada bloque diferente cotas posiblemente diferentes, la exploración de algunos bloques parece más prometedora que la de otros. Un bloque se explora dividiéndolo en subbloques y calculando a su vez la cota de los mismos. • En caso de disponer de una solución del problema, ciertos bloques pueden eliminarse de cualquier exploración posterior si su cota es mayor o igual al valor de TC de la solución disponible. 4.5.2. Aspectos a concretar en un procedimiento branch and bound El conjunto de bloques se estructura en forma de árbol, siguiendo la teoría de grafos. Los vértices del árbol son los bloques, siendo la raíz del árbol un bloque que contenga todas las m! permutaciones. Se va a utilizar la palabra vértice, pues según la teoría de grafos expresa el concepto de bloque. Los arcos del árbol corresponden a relaciones de inclusión, en el sentido de la teoría de conjuntos.
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 95 El árbol se va construyendo en el transcurso del algoritmo: cuando un bloque se subdivide, el vértice "padre" queda substituido por tantos vértices "hijos" como sea necesario, que contienen todas sus permutaciones. Los vértices hijos tienen una cota nunca inferior a la del vértice padre. En un instante durante la aplicación del algoritmo, sólo es preciso conservar los vértices pendientes, aquellos que todavía no se han ramificado o subdividido y cuya cota sea inferior al valor de TC de la mejor solución conocida. Para definir un procedimiento branch and bound, es necesario establecer cuatro tipos de informaciones previas a su realización: • La caracterización de cada uno de los vértices en el árbol de exploración. • El proceso de separación de un vértice padre en sus vértices hijos. • El procedimiento de acotación, que indica aptitud en la exploración de un vértice hijo. • La estrategia de búsqueda de la solución en el árbol. 4.5.3. Estrategias de construcción a través del árbol A continuación, se plantean dos tipos de caracterización de la exploración en el árbol. Por un lado, se expone la exploración temporal, que sigue un esquema similar al de los procedimientos de ramificación en problemas de programación como el de flujo regular o flow-shop, propuestos casi simultáneamente por Lomnicki (1965) y Ignall y Schrage (1965). Para llevar a cabo dicha estrategia de construcción del árbol de soluciones, se utilizará el llamado branch and bound mediante tiempos, pues va añadiendo elementos al vector H de movimientos de la grúa según el orden temporal en que deban realizarse. Por tanto, imita los procedimientos de dispatching, en los cuales se simula el orden de toma de decisiones. Por otro lado, se expone la exploración física, que sigue el esquema de aprovechamiento de tiempos muertos para la realización de otras actividades, siguiendo la idea de la asignación de un grupo de máquinas a un operario (en este caso, operaciones de transporte de objetos y grúa, respectivamente). Dicha estrategia de construcción del árbol de soluciones va a ser llamada branch and bound mediante baños, ya que va añadiendo elementos al vector H de movimientos de la grúa suponiendo que físicamente se amplía la línea de producción con un tanques más respecto al nivel inmediatamente anterior.
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 102 4.7. Branch and bound mediante baños 4.7.1. Caracterización de los vértices del árbol El número de niveles de la arborescencia nuevamente coincide con el número de tanques del proceso (m). En este caso, el vértice raíz, que forma el nivel 1, está formado por la secuencia H = <h0, h1>. Dicho vector supone que la grúa sólo visita el primer tanque. Sean nuevamente: I el conjunto de los índices de movimientos fijados, excluyendo el movimiento 0, r el número de elementos de I (r = |I|), π(I) la permutación de los movimientos y U el conjunto de movimientos aún no fijados. Los vértices se etiquetan según una permutación π(I), en que cada vértice queda definido por los movimientos asignados a las primeras r+1 posiciones de la secuencia H y por su orden. El número de vértices, con el mismo I pero con diferentes permutaciones, son r! Uno de dichos vértices contiene todas las permutaciones que mantienen el mismo orden de los componentes de π(I), cuyo número es r+1. Un vértice de nivel r se expresa como P[0][r] = <h[0], h[1], ..., h[r]>, lo que corresponde a una permutación π(I) tal que{h[0]=h0, hj | j=1,2,...,r}. Ejemplo Para un problema con cuatro procesos (m=4) en el nivel 2 existen dos vértices, de los cuales uno es P[0][2] = <h0,h2,h1>, que contiene el siguiente conjunto de soluciones o vértices descendientes: <h0,h3,h2,h1> , <h0,h2,h3,h1> , <h0,h2,h1,h3>. 4.7.2. Procedimiento de separación. Para ramificar un vértice P[0][r] no terminal, se definen r+1 vértices descendientes o hijos al añadir intercaladamente en la permutación π(I) el siguiente movimiento r+1, formando nuevas permutaciones con r+1 movimientos. Al igual que anteriormente, generados y acotados todos los vértices hijos, debe cerrarse el vértice padre. En resumen, partiendo del vértice raíz (P[0][1] = <m[0]=0, m[1]=1>), un vértice de un nivel r+1 se obtiene a partir de P[0][r] = <m[0], m[1], ..., m[r]>, insertando un movimiento hr+1 entre dos movimientos de P[0][r]. Ejemplo Para el problema con cuatro procesos (m=4), P[0][2] = <h0,h2,h1> del nivel 2 tiene tres vértices hijos (r+1): <h0,h2,h1,h3>, <h0,h2,h1,h4>, <h0,h2,h1,h3>.
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 103 4.7.3. Procedimiento de acotación Se utiliza el mismo procedimiento de acotación que el planteado en el branch and bound mediante tiempos, apartado 4.6.3. 4.7.4. Elección del vértice de exploración inmediata Nuevamente, se han estudiado tres opciones de exploración para elegir un vértice: 1. Aquél con menor cota inferior TCinf(P[0][r]), y en caso de empate, mayor nivel del árbol r. 2. Aquél con mayor nivel en el árbol r, y en caso de empate, menor TCinf(P[0][j]). 3. Aquél con mayor nivel en árbol r, y en caso de empate, el que supone una posición más alejada de la estación de carga, lo que maximiza la presencia de objetos simultáneamente en la línea. 4.7.5. Algoritmo de branch and bound mediante baños Se indica seguidamente el algoritmo que enlaza los principios desarrollados en este apartado 4.7. ALGORITMO BRANCH AND BOUND MEDIANTE BAÑOS Leer datos Programar T para vector H que conlleva la cota superior (H,T,TC) Guardar como óptimo provisional (Hbest=H, Tbest=T, TCbest=TC) Inicializar lista de vértices del procedimiento branch and bound Determinar tipo de exploración MIENTRAS Vértices abiertos Seleccionar nuevo vértice a explorar Generar sucesores y evaluarlos Determinar posición del próximo tanque a explorar Purgar la lista si crece demasiado Generar sucesores de la posición seleccionada PARA cada movimiento que no está en H parcial a explorar Buscar posición en la lista de vértices
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 104 Generar nueva secuencia con movimiento 1. Copiar la información del padre 2. Añadir información de exploración 3. Evaluar el grafo construido 4. SI no tiene m movimientos Evaluar la parte de grafo construido Comprobar que sea factible SI es factible Rectificar TC para obtener TCinf Comprobar restricciones biciclo SI TC > TCbest Cerrar vértice finSI SINO (no es factible) Cerrar vértice finSI SINO Evaluar el grafo completo SI es factible SI TC < TCbest Hbest=H, Tbest=T, TCbest=TC Comprobar si se eliminan más vértices finSI SINO (no es factible) Cerrar vértice finSI finSI Añadir información a la lista de vértices finPARA Cerrar vértice padre SI no continuar No Vértices abiertos finSI finMIENTRAS Guardar solución (Hbest, Tbest, TCbest)
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 105 Se trata básicamente de la misma estructura, sólo cambiando que en el branch and bound mediante tiempos se considera el grafo completo al alcanzar los m-1 movimientos, pues el último queda automáticamente determinado. En cambio, en el branch and bound mediante baños, el grafo no es completo hasta situar el último movimiento m, pues éste puede cualquier posición en el vector H. 4.7.6. Ejemplo de aplicación de un branch and bound mediante baños (BBb) Nuevamente con el ejemplo presentado en el apartado 4.3.5, si se utiliza el branch and bound mediante baños, y al considerar el aumento progresivo del número de tanques a cada nivel del árbol, se obtiene el árbol de la figura 4.13. La estrategia utilizada será la número 1 del apartado 4.7.4. Se nombran los vértices alfabéticamente según orden de aparición en el algoritmo. Los vértices explorados se pintan de amarillo, los vértices con secuencias infactibles en gris, los vértices abiertos en el momento de determinar el óptimo en naranja, y el óptimo se resalta en negrita. Se parte del vértice A, vértice raíz H=<0,1>, con un TC=60 y también TCinf=60. A continuación, el vértice A se ramifica en los vértices B y C, los cuales tienen unas cotas de ciclo inferiores, analizados los movimientos aún no fijados, de 75 y 115 respectivamente. En vista del resultado, se ramifica el vértice B por tener la más prometedora de las cotas, dando como descendientes a los vértices D, E y F, el segundo de ellos infactible. En el vértice D se alcanza una secuencia con TC=80, que analizados los demás vértices abiertos resulta ser la secuencia óptima del problema: H*=<0,3,2,1> con TC*=80. En este caso, para hallar el óptimo sólo ha sido necesario evaluar 6 de los 10 vértices.
Figura 4.13. Branch and bound de tanques para el ejemplo ilustrativo 4.1. En amarillo, vértices explorados; en gris, vértices con secuencias infactibles; en naranja, secuencias exploradas y descartadas al hallar el tiempo de ciclo óptimo de 80 (escrito en rojo, parte del grafo no explorado). <0,1> A <0,40> <0,30> 60 <0,2,1> B <0,15,40> <0,0,5> 75 <0,1,2> C <0,40,90> <0,30,40> 115 <0,1,3,2> ∞ <0,3,1,2> <0,25,50,100> <0,5,0,40> 125 <0,1,2,3> <0,40,90,140 > <0,30,40,40> 170 <0,2,1,3> F <0,15,40,65> <0,0,5,10> 95 <0,3,2,1> D <0,20,40,60> <0 , 0 , 0 , 0> 80 <0,2,3,1> E ∞
Capítulo 4. Estudio sobre la variante monobaño, monofunción, monogrúa. Algoritmos básicos 107 4.8. Comparación entre ambos procedimientos de exploración En la tabla siguiente, tabla 4.12, se ofrece de manera esquemática las características propias de cada uno de los métodos arborescentes propuestos en los anteriores apartados: el branch and bound mediante tiempos (BBt) y el branch and bound mediante baños (BBb). BBt (tiempos) BBb (baños) Nivel de raíz 0 0 Elemento de la raíz <h0> <h0,h1> Niveles (activos) del árbol m-1 m-1 Hijos de un vértice de nivel k m-k k+1 Número de vértices de nivel k )!km( !m !k k m − = ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ (k+1)! Tabla 4.12. Comparación de las principales características entre la resolución utilizando branch and bound mediante tiempos y branch and bound mediante baños.
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 109 5. RESOLUCIÓN BASADA EN EL GRAFO CON TIEMPO DE CICLO ACOTADO 5.1. Introducción al uso del grafo con Tiempo de Ciclo Acotado Este capítulo contiene la principal aportación de este trabajo de investigación. Se utiliza como herramienta de resolución del problema una representación en forma de grafo de la variante tratada en el capítulo 4, que será conocido como grafo de Tiempo de Ciclo Acotado. En dicha estructura, se pueden observar un conjunto de propiedades (tales como la obtención de cotas y la resolución de sistemas lineales) que permiten hallar con mayor agilidad la solución óptima a un ejemplar de problema. En la primera parte, se expone un algoritmo tipo que se seguiría en caso de usar un grafo del tipo presentado en el capítulo anterior (por ejemplo, secuencial). No obstante, dadas las restricciones en este tipo de problemas, evaluar una posible secuencia cíclica de movimientos puede llevar a descubrir que sea infactible si se quieren respetar las normas. Por lo tanto, cuanto menor sea el esfuerzo destinado a comprobar este hecho, mayor rendimiento se podrá obtener, al dedicar más esfuerzo a otras secuencias factibles. Así, se establece un esquema (el grafo de Tiempo de Ciclo Acotado), que es función de la secuencia H a evaluar y de la variable del tiempo de ciclo TC. El calificativo de “Tiempo de Ciclo Acotado” se utiliza ya que el sistema de ecuaciones planteado en el grafo queda en función de TC, y analizando algunos de sus circuitos, se puede obtener cotas inferiores y superiores para dicha variable. Si para un valor de TC dado, se logra calcular unos caminos extremos (es decir, calcular los valores de ti i=0,1,...,m con t0=0), se cumple que: • El valor de la variable TC es un tiempo de ciclo factible para dicha secuencia. • Los valores ti del vector T son los instantes relativos de inicio de los movimientos asociados a TC. Una secuencia dada H, representada a través de un grafo, puede también ser infactible (ningún valor de TC conduce a unos valores del vector T que comporten la ciclicidad esperada). Al poder ser factible una secuencia H para algunos de los valores de la variable TC, pero no para todos, dadas las restricciones impuestas, interesa el menor valor de TC entre aquéllos que comporten la factibilidad de un ciclo, lo que supone la máxima productividad. Sea el valor de TC propio asociado a la secuencia aquel valor menor de TC (y si una secuencia es infactible, su valor TC propio es ∝). Así pues, mediante el procedimiento basado en evaluar para diferentes secuencias un grafo de Tiempo de Ciclo Acotado interesa hallar la secuencia H* (con menor valor de TC propio, o sea, TC*).
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 110 5.2. Determinación de variables mediante un grafo con Tiempo de Ciclo Acotado 5.2.1. Algoritmos estándares para resolver problemas de optimización combinatoria En el capítulo anterior, se planteó un tipo de grafo, el grafo secuencial, y aplicó un algoritmo con el objetivo de obtener la mejor entre todas las secuencias de movimientos posibles. En cada grafo creado, no podía determinarse el carácter factible o infactible para una secuencia dada, hasta que dicho grafo asociado no se resolvía. Inmediatamente a continuación, y en caso de ser una secuencia factible, debía comprobarse si mejoraba la solución en curso. La estructura de un algoritmo estándar puede aplicarse en gran número de problemas combinatorios. Si se adapta esta estructura al problema tratado, resuelto mediante grafos, el algoritmo contiene las siguientes acciones básicas (representadas en diagrama de flujos en la figura 5.1): Figura 5.1. Diagrama de flujo en un algoritmo sin división entre análisis y evaluación. SECUENCIA INICIAL Hº GENERAR GRAFO RESOLVER GRAFO FACTIBLE? TC(H,T)<TC*? NUEVA SECUENCIA Hk+1 TC*=TC(H,T) H*=H; T*=T FINAL? FIN NUEVA SECUENCIA Hk+1 SÍ SÍ SÍ NO NO NO
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 111 • Dados unos datos (que incluyen una secuencia H), se genera su grafo asociado (en este caso, el grafo secuencial). • Este grafo se evalúa: se obtienen los valores de la variable TC(H,T) y del vector T. En caso que la secuencia propuesta sea factible, o sea el grafo tenga una solución con un valor de TC finito, dicho valor TC(H,T) se compara con la mejor solución hasta ese momento (TC*, con un tiempo de ciclo mínimo). • En caso que dicha secuencia proporcione un valor de TC(H,T) menor (por tanto, mejor), el tiempo de ciclo TC(H,T) en curso pasa a ser TC*. • Y así, se puede seguir para el número de secuencias que sea necesario, imponiendo algún tipo de limitación como condición de final. De las anteriores acciones, aquélla que consume mayor tiempo es la resolución del grafo asociado a una secuencia de movimientos. Este hecho conlleva, pues, que cuanto más ágil sea el método de resolución aplicado, también lo será más el algoritmo general propuesto. 5.2.2. Esquema del algoritmo para el uso del grafo con Tiempo de Ciclo Acotado Dentro del esquema general de exploración del espacio de soluciones de un problema de este tipo, de carácter combinatorio, en esta ocasión se utiliza un método de tabulación (en cuatro vectores: Gfrom, Gto, Gtime y Gcycle) para describir el grafo asociado a una secuencia H de una instancia de dimensión m. Los componentes de dichos vectores se plantean en la acción Crear grafo de secuencia, dentro de un bucle que analizaría diferentes secuencias posibles, hasta encontrar aquélla que minimice el tiempo de ciclo o finalizar por exceso de iteraciones. En los próximos apartados se comentará cómo se desarrolla la acción Resolver grafo de secuencia, a partir de la información desplegada al crear los vectores y, más adelante, se analizará la exploración del vecindario como alternativa al procedimiento arborescente, en caso de un número elevado de etapas del proceso (m).
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 112 Inicialización de variables (H,T,TC, Gfrom, Gto, Gcycle, Gtime) Lectura de datos de un ejemplar (m,A,B,E,F) Secuencia inicial (H=Hº) iteracion=0 MIENTRAS (no_condición_final (H,T,TC,iteracion)) Crear grafo de secuencia (m, H, Gfrom, Gto, Gcycle, Gtime) Resolver grafo secuencia (m, H, Gfrom, Gto, Gcycle, Gtime, T, TC) Si (TC ≤ TC*) TC*=TC; T*=T; H*=H Explorar vecindario (m, H, T, TC, iteracion) iteracion=iteracion+1 finMIENTRAS Como se puede observar en el algoritmo, previamente al proceso iterativo, es necesario declarar las variables del programa y conocer los datos propios del ejemplar (dimensión del problema m, vectores de ventana temporal A, B, vector de transporte con carga F, y matriz de transporte sin carga E). Asimismo, se definen los cuatro vectores correspondientes a las informaciones sobre la estructura del grafo: origen y destino de los arcos y los valores dependiente e independiente de la variable a minimizar, el tiempo de ciclo. La condición de final del algoritmo permite una mayor o menor exploración del campo de soluciones posibles, y puede estar limitada por un tiempo de ejecución o que se detenga cuando la solución ya no varíe después de un cierto número de iteraciones. Esta condición está estrechamente relacionada con la exploración del vecindario de soluciones realizada en el interior del bucle interactivo. 5.2.3. Particularidades en la resolución de un grafo asociado a una secuencia H La presencia del límite superior para las ventanas temporales en cada estación o baño comporta un aspecto fundamental en el tipo de problemas tratados, el carácter de factibilidad, o su complementario el carácter de infactibilidad, para una secuencia propuesta. No se trata de un caso aislado, sino ocurre frecuentemente en muchas de las posibles secuencias en ciertos ejemplares.
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 119 última fila m+2 almacena los tiempos de desplazamiento sin carga entre la estación de descarga y cualquiera de los m baños. En caso que coincidan en un mismo sitio las estaciones de carga y descarga, la fila m+1 será igual que la fila 0, y por lo tanto, no sería necesario incluir ésta última al coincidir exactamente ambos grupos de elementos. El vector Gcycle para dichas m+1 posiciones, en función de la presencia de TC en dichas restricciones, contiene m veces el valor 0 y, finalmente, la última con valor negativo -1. 5.3.3. Equivalencia entre los cuatros vectores y las restricciones originales Una vez se han almacenado los datos del modelo en el formato de cuatro vectores indicado en el apartado anterior, se pueden generan todas las restricciones del modelo, según las siguientes reglas: Si Gcycle(c) = 0 tGto(c) – tGfrom(c) ≥ Gtime(c) Si Gcycle(c) = 1 tGto(c) – tGfrom(c) ≥ Gtime(c) + TC Si Gcycle(c) = -1 tGto(c) – tGfrom(c) ≥ Gtime(c) – TC Para obtener todas y cada una de las restricciones, la variable contador c debe variar desde 1 hasta 3m+1 (número total de restricciones). 5.3.4. Descripción de los elementos de un grafo con Tiempo de Ciclo Acotado Para describir unívocamente un grafo de este tipo, debe definirse el significado de sus tres elementos principales: V, el conjunto de vértices; A, el conjunto de arcos; y l, los valores de las longitudes de los arcos. Representado el grafo que tenga a los tres en cuenta, se podrá determinar, si una secuencia es factible, hallando el camino máximo entre dos vértices (el vértice referencia y cualquier otro vértice). • Vértices (V): Representan los tanques de los cuales la grúa recoge un objeto (vértices de salida en la anterior notación, o tanques de recogida). Recordemos que existen m+1 vértices de salida, con las etiquetas del número de tanque i (0 ≤ i ≤ m). En el grafo los vértices están ordenados según la secuencia de operaciones que debe recibir el producto (en esta variante, al ser monofunción y monobaño, los vértices están perfectamente ordenados según el número de tanque). • Arcos (A): El número de arcos de un grafo viene determinado por las limitaciones o necesidades temporales, 3m+1 restricciones, por desplazamientos de la grúa o por permanencia de los objetos en los baños: Arcos de operación: Los 2m arcos de este tipo, debidos a ventanas temporales de permanencia de los objetos en los tanques, pueden reflejar tiempos mínimos necesarios ai o tiempos máximos limitativos bi. Este grupo de arcos une vértices adyacentes en el orden gráfico establecido.
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 120 Arcos de movimiento: Los m+1 arcos de este tipo, debidos a los tiempos consumidos por la grúa en desplazamientos, contienen dos partes de tiempo: de carga fi, cuando la grúa se desplaza con algún objeto; y sin carga ei,j, cuando los movimientos de sin desplazamiento de objetos: • Longitudes de los arcos(l): Dichos valores se asocian a los tiempos que transcurren (por desplazamiento de la grúa o por permanencia de los objetos en los baños): De operación monociclo mínimos: para cada restricción 4.6, ai ≤ ti – (ti-1 + fi-1), se define un arco del vértice i-1 al vértice i con longitud ai + fi-1. De operación monociclo máximos: para cada restricción 4.6, ti – (ti-1 + fi-1) ≤ bi, se define un arco del vértice i al vértice i-1 con longitud - bi - fi-1. De operación biciclo mínimos: para cada restricción 4.7, ai ≤ ti – (ti-1 + TC + fi-1), se define un arco del vértice i-1 al vértice i con longitud ai + fi-1 - TC. De operación biciclo máximos: para cada restricción 4.7, ti – (ti-1 + TC + fi-1) ≤ bi, se define un arco vértice i al vértice i-1 con longitud - bi - fi-1 + TC. De movimiento: para cada restricción 4.8, tj ≥ ti + fi + ei+1,j, se define un arco entre los vértices i y j con longitud fi + ei+1,j. De movimiento adicional: para la restricción 4.9, t0 + TC ≥ t[m] + f[m] + e[m]+1,0, se define un arco del vértice [m] al vértice 0 con longitud f[m] + e[m]+1,0 – TC. 5.3.5. Construcción del grafo con Tiempo de Ciclo Acotado asociado a una secuencia Sean los vértices del grafo los baños ordenados según la secuencia de operaciones que debe recibir el producto. Sean las restricciones de operación monociclo (entre un tanque i y el tanque anterior i-1 y viceversa), según las ecuaciones (5.1) y (5.2): t i – ti-1 ≥ ai + fi-1 t i-1 – ti ≥ - bi – fi-1 Sean las restricciones de operación biciclo (entre un tanque i y el tanque anterior i-1 y viceversa), según las ecuaciones (5.3) y (5.4): t i – ti-1 ≥ ai + fi-1 - TC t i-1 – ti ≥ - bi – fi-1 + TC Los arcos que deben representar estas restricciones solamente dependen de las ventanas temporales de los baños (ai, bi), del tiempo de movimiento de la grúa entre los tanques i-1 e i (fi-1) y, si es necesario según la posición del tanque en la secuencia de operaciones de la
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 121 grúa, del tiempo de ciclo (TC). Así, se cierra un ciclo entre las estaciones i-1 e i, formando una cadena de arcos que unen la estación 0 con la estación m. Para representar una secuencia H en el grafo asociado, se indica la correlación entre movimientos consecutivos en una matriz cuadrada origen/destino V, con dimensiones (m+1)*(m+1), donde la posición v(i,j) contiene el valor del arco que sale del vértice i y se dirige al vértice j. Dichos arcos responden a las ecuaciones (5.5) y (5.6). En caso que entre ambos vértices ningún arco esté definido, se guarda el valor ∞. La información necesaria se extrae de las tablas Gfrom, Gto, Gtime y Gcycle. Sea un grafo genérico de m tanques, éste contiene los siguientes parámetros y variables: ai: componente i-ésima del vector A (por definición ai ≥ 0, 1≤ i ≤m), de tiempos mínimos en las restricciones de ventana, necesario en los arcos de tanque, de avance. bi: componente i-ésima del vector B (por definición bi ≥ 0, 1≤ i ≤m), de tiempos máximos en las restricciones de ventana, necesario en los arcos de tanque, de retroceso. vij: valor independiente de las restricciones de grúa, sean de avance o retroceso, cuyo valor es la suma de los tiempos de desplazamiento de ésta con y sin carga (fi + ei+1,j), entre los tanques de origen i y de destino j. kai: coeficiente binario (kai∈{0,1}, 1 ≤ i ≤ m) asociado a la variable del tiempo de ciclo TC, en los arcos de tanque, de avance, que vale 1 cuando se trata de una restricción de operación biciclo. kbi: coeficiente binario (kbi∈{0,1}, 1 ≤ i ≤ m) asociado a la variable del tiempo de ciclo TC, en los arcos de tanque, de retroceso, que vale 1 cuando se trata de una restricción de operación biciclo. En la figura 5.3 se representan los m+1 vértices de un grafo genérico y algunos arcos representativos, que seguidamente serán comentados.
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 122 Figura 5.3. Estructura general de un grafo con Tiempo de Ciclo Acotado. En el anterior grafo (figura 5.3), se observan cuatro tipos de arcos: • Arcos de tanque, de avance (arcos de tanque de avance): son aquellos arcos que se dirigen de un vértice origen con cardinal menor al vértice destino, y que representan a restricciones de tiempo mínimo en los baños, sean monociclo o biciclo. Ejemplos: los arcos que unen los vértices (0,1), (i-1,i), o bien (m-1,m). • Arcos de tanque, de retroceso (arcos de tanque de retroceso): son aquellos arcos que se dirigen de un vértice origen con cardinal mayor al vértice destino, y que representan a restricciones de tiempo máximo en los baños, sean monociclo o biciclo. Ejemplos: los arcos que unen los vértices (1,0), (i,i-1), o bien (m,m-1). • Arcos de grúa, de avance (arcos de grúa de avance): son aquellos arcos que se dirigen de un vértice origen con cardinal menor al vértice destino, y que representan a restricciones de movimiento de la grúa, que son internos de ciclo. Ejemplo: el arco que une los vértices (0,i). • Arcos de grúa, de retroceso (arcos de grúa de retroceso): son aquellos arcos que se dirigen de un vértice origen con cardinal mayor al vértice destino, y que representan a restricciones de movimiento de la grúa, que pueden ser internos de ciclo o interciclos. Ejemplos: los arcos que unen los vértices (m-1,i-1), y también (i-1,0). 1 0 m-1 m a1+f0-ka1TC i-1 i am+fm-1-kamTC ai+fi-1-kaiTC -b1-f0+kb1TC -bi-fi-1+kbiTC -bm-fm-1+kbmTC v0i = f0 + e1,i vi-1,0-TC vm-1,i-1 avance retroceso
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 123 Una vez la estructura de las restricciones del problema queda reflejada en el grafo obtenido, en el siguiente apartado 5.4 se describe las bases que permiten realizar la Primera prueba de infactibilidad y el cálculo de cotas de la duración del ciclo, previo a la aplicación de cualquier tipo de algoritmo. 5.4. Resolución de una secuencia H mediante un grafo con Tiempo de Ciclo Acotado: Primera prueba, de infactibilidad Dado que el objetivo al resolver mediante una estructura de grafo un conjunto de relaciones temporales de precedencia, a partir de una secuencia de operaciones de grúa H, será oportuno obtener el valor de los vértices asociados a inicios de etapas o movimientos. Para ello, se recurre a aquellos algoritmos que en un grafo fuertemente conexo, como el que se ha descrito, permiten determinar el valor de un camino máximo entre dos vértices. Este camino máximo finito entre dos vértices existe si ningún posible circuito toma valor positivo. Por lo tanto, para que una secuencia sea factible el grafo asociado a cualquier circuito, formado por un conjunto de arcos, debe tener valor no positivo. 5.4.1. Cálculo de cotas inferiores para el tiempo de ciclo, asociado a una secuencia H Una primera cota inferior se obtiene uniendo todos los arcos de avance o de retroceso de grúa, ya que determinan el tiempo mínimo que una grúa requiere para realizar sus movimientos de transporte de materiales y de viaje sin carga según la secuencia de movimientos H indicada. Sea el conjunto de arcos de avance y de retroceso de grúa, formado por m arcos que siguen una ecuación del tipo 5.5 y el arco del último movimiento del ciclo que toma la forma de la ecuación del tipo 5.6. Para cumplir la condición: [][] ∑ = ≤−+ m 0k 0kt1kt (5.7) se debe satisfacer la inecuación 5.8. La siguiente cota, llamada L(0), supone una primera cota inferior sobre la variable del tiempo de ciclo, a minimizar: [][ ] () [ ] [ ] [] [] [ ] () [] [ ] ,01mm 1m 0k 1k1,kk,01mm 1m 0k 1k,k efefefvL(0) + − =+++ − =++++=++≥ ∑∑ (5.8) A continuación, se presenta la metodología para determinar, basándose en el grafo presentado en la figura 5.3, la presencia de otras posibles cotas inferiores sobre la misma variable, el tiempo de ciclo TC. En ocasiones, éstas últimas, al combinar restricciones que afectan a los baños y a la grúa pueden resultar más restrictivas. El objetivo del siguiente desarrollo es sistematizar el cálculo de dichas cotas inferiores para el tiempo de ciclo TC.
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 124 Sea un arco de grúa de retroceso, que une el vértice i con el vértice j: t j - ti ≥ fi + ei+1,j = vij (5.9) siendo vij el tiempo mínimo que debe transcurrir entre el inicio de los movimientos de desplazamiento de objetos en los baños i y j. Se trata de un arco que une los vértices i y j tales que j<i, lo cual implica que la pieza trasladada desde el tanque j había entrado en la línea de producción en un ciclo anterior al de la pieza trasladada desde el tanque i. Esto supone que entre los vértices i y j existe algún arco de avance que contenga la variable TC. Se puede encontrar un camino entre el vértice j y el vértice i pasando por los vértices intermedios (j+1, ..., i-1), formado por los arcos de tanque, de avance: t j+1 – tj ≥ aj+1 + fj - kaj+1·TC ... t i – ti-1 ≥ ai + fi-1 - kai·TC Se define wji como la suma de los términos independientes de las i-j ecuaciones anteriores: () ∑ += −−+= i 1js s1ssji TC·kafaw (5.10) Entonces, para encontrar una solución factible en el grafo se debe cumplir que: wji + vij ≤ 0 (5.11)
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 125 En la figura 5.4 se observa el arco de grúa de retroceso, que une el vértice i con el vértice j, y los arcos de tanque de avance, que los unen en sentido contrario. Figura 5.4. Determinación gráfica de cotas mediante un arco de grúa, de retroceso. Sustituyendo los valores de vij y wji en la ecuación 5.11, se llega a la desigualdad: ()()() 0kaTCfavvTC·kafa i 1js s i 1js 1ssijij i 1js s1ss ≤−++=+−+ ∑∑∑ +=+= − += − (5.12) Agrupando los parámetros as y kas, se observa como ambos sumatorios toman, por definición de sus componentes, valores positivos: () 0fav i 1js 1ssij >++ ∑ += − (5.13) () 0ka i 1js s≥ ∑ += (5.14) Despejando la variable TC de la expresión anterior, se obtiene una expresión para la cota inferior L(j), asociada al vértice destino del arco de grúa de retroceso: () () () 0kaTC ka fav L(j) i 1js s i 1js s i 1js 1ssij >⇔≤ ++ =∑ ∑ ∑ += += += − (5.15) ai+fi-1-kaiTC aj+1+fj-kaj+1TC fi + ei+1,j = vij i j j+1 i-1 ...
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 126 Siempre que el sumatorio de la ecuación 5.14 sea positivo (condición necesaria), existirá una cota inferior del tiempo de ciclo TC según la expresión 5.15, donde j es el vértice destino del arco de grúa de retroceso. Entre todos los circuitos formados por un arco de grúa de retroceso más arcos de tanque de avance, el arco de grúa de retroceso que indica el último movimiento de la grúa en el ciclo constituye un caso particular. Dicho arco, con destino el vértice 0, a diferencia de los otros, contiene obligatoriamente la variable TC que está siendo acotada. Por lo tanto, ya no es necesaria la condición de no nulidad del sumatorio de coeficientes asociados a TC. Así, la expresión anterior (5.15) toma en este caso la siguiente forma: () () TC ka1 fav 1)L(m i 1s s i 1s 1ssi0 ≤ + ++ =+ ∑ ∑ = =− (5.16) Esta última ecuación 5.16 garantiza que siempre se puede encontrar una cota inferior de la variable TC, como mínimo, dado que el denominador tendrá un valor siempre positivo, de como mínimo la unidad. En resumen, como conclusión de las anteriores observaciones, se puede determinar una cota inferior del tiempo de ciclo TC tomando el máximo de todas las expresiones 5.8, 5.15 y 5.16: LBH = max { L(0), L(j), L(m+1) } (5.17) ∀L(j) tal que ∃ circuito de arcos “tanque de avance + grúa de retroceso” con destino en el vértice j 5.4.2. Cálculo de cotas superiores para el tiempo de ciclo, asociado a una secuencia H En este caso, se plantea el objetivo del siguiente desarrollo como el cálculo de cotas superiores para el tiempo de ciclo TC, siguiendo un esquema parecido a la obtención de cotas inferiores para la variable TC. No obstante, siempre existe una cota superior U(0) que se obtiene al suponer la secuencia de movimientos trivial, de trasladar los objetos uno a uno desde la estación de carga 0 hasta la estación de descarga m+1 (fórmula 3.79). U(0) es una cota superior del tiempo de ciclo para cualquier secuencia de movimientos factible, sin importar qué secuencia asociadas a un grafo vaya a evaluarse. Sea un arco de grúa de avance, que une el vértice i con el vértice j: t j - ti ≥ fi + ei+1,j = vij (5.18) siendo nuevamente vij el tiempo mínimo que debe transcurrir entre el inicio de los movimientos de desplazamiento de objetos en los baños i y j.
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 127 Se trata de un arco que une dos vértices i y j tales que i<j, lo cual implica que la pieza trasladada desde el tanque j puede haber entrado en la línea de producción en un mismo ciclo o en uno anterior al de la pieza trasladada desde el tanque i. Esto implica que entre los vértices i y j puede existe algún arco de avance que contenga la variable TC. Se puede encontrar un camino entre el vértice j y el vértice i pasando por los vértices intermedios (j-1, ..., i+1), formado por los arcos de tanque de retroceso: t j-1 – tj ≥ - bj - fj-1 + kbj·TC ... t i – ti+1 ≥ - bi+1 - fi + kbi+1·TC Se define wji como la suma de los términos independientes de las i-j ecuaciones anteriores: () ∑ − =−+−−= 1i js s1ssji TC·kbfbw (5.19) Al igual que en la ocasión anterior, se debe cumplir (como se observa en la figura 5.5): wji + vij ≤ 0 (5.20) Sustituyendo los valores de vij y wji en la ecuación 5.20, se llega a la desigualdad: ()()() 0kbTCfbvvTC·kbfb 1i js s 1i js 1ssijij 1i js s1ss ≤++−=++−− ∑∑∑ − = − =− − =− (5.21) Figura 5.5. Determinación gráfica de cotas mediante un arco de grúa, de avance. -bj-fj-1+kbj·TC -bi+1-fi+kbi+1·TC fi + ei+1,j = vij j i i+1 j-1 ...
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 128 En este caso, agrupando los parámetros bs y kbs, se observa como sólo el segundo sumatorio toma, por definición de sus componentes, valores no negativos: () 0kb 1i js s≥ ∑ − = (5.22) Despejando la variable TC de la expresión anterior se obtiene una expresión para la cota superior U(j), asociada al vértice destino del arco de grúa de avance: () () () 0kbTC kb fbv U(j) 1i js s 1i js s 1i js 1ssij >⇔≥ ++− =∑ ∑ ∑− = − = − =− (5.23) El numerador de la expresión anterior (5.23) contiene una diferencia de valores, que según sean las secuencias evaluadas mediante el grafo puede resultar positiva, nula o negativa. El denominador, al estar formado por la suma de términos binarios, sólo puede ser nulo o negativo. Casuística: 1. Si la suma de todos los coeficientes kbs (denominador) es nula ⇒ El vértice j no proporciona ninguna U(j), cota superior sobre el tiempo de ciclo de la secuencia propuesta, según la operación de transporte que se inicia sobre el tanque j. 2. Si la suma de todos los coeficientes kbs (denominador) es positiva y el numerador es positivo ⇒ U(j) > 0 ⇒ U(j) ≥ TC (cota superior sobre el tiempo de ciclo de la secuencia propuesta, según la operación de transporte iniciada sobre el tanque j). 3. La expresión no tiene sentido, ni se puede cumplir, si la suma de todos los coeficientes kbs (denominador) es positiva y el numerador es negativo, U(j) ≤ 0. De lo anterior, se deduce si se cumplen las condiciones sobre los parámetros del sistema, que permitan lograr la segunda situación, se pueden hallar cotas superiores para el tiempo de ciclo TC. Entre todos aquellos circuitos formados por un arco de grúa de avance más arcos de tanque de retroceso que permiten hallar valores U(j) posibles, la cota superior del tiempo de ciclo asociado a una secuencia se calcula como la más restrictiva entre la cota superior trivial y las halladas mediante las expresiones 5.23: UBH = min { U(0), U(j) } (5.24) ∀U(j) tal que ∃ circuito de arcos “tanque de retroceso + grúa de avance” con destino en el vértice j
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 135 5.5.2. Estudio de la relación entre el rango de exploración y el tiempo de ciclo de una secuencia Dada una instancia de problema, una cota superior de cualquier secuencia se obtiene como la suma de los tiempos de desplazamiento de la grúa con carga entre baños más los tiempos de tratamiento mínimos permitidos en los baños, lo que equivale a que un solo objeto se encuentre en la línea. Dada una secuencia H de movimientos de la grúa, si se asigna a TCH valores comprendidos entre 0 y una dicha cota superior insuperable, la evaluación de los caminos máximos entre el vértice 0 y los demás vértices en el grafo puede comportar para una secuencia propuesta tres casos posibles: Caso 1 (figura 5.8). Cuando no existe ningún valor de TCH positivo que comporte un valor finito para los m caminos máximos en el grafo. La secuencia es infactible. Caso 2 (figura 5.9). Cuando se observan claramente, según el valor de la variable TCH, tres tramos con diferente comportamiento: el primero, desde que la variable TCH vale desde 0 hasta KminH-1, cuando los valores de los caminos máximos en el grafo tienden a infinito; el segundo, desde que la variable TCH vale KminH hasta que vale KmaxH, los valores de los caminos son finitos y crecen proporcionalmente a la variable TCH; y el último, cuyos valores de caminos máximos en el grafo vuelven a valer infinito si el valor de TCH es igual o superior a KmaxH+1. Existen dos posibles variantes, en las cuales siempre la cota inferior de TCH, LBH, es igual al límite inferior del rango de factibilidad: que la cota superior de TCH hallada en la Primera prueba, de infactibilidad, UBH, coincida con el límite superior de factibilidad KmaxH (caso 2) o que sea superior (caso 2'). Caso 3 (figura 5.10). Cuando se observan nuevamente, según el valor de la variable TCH, los mismos tres tramos del caso 2: el primero, desde que la variable TCH vale desde 0 hasta KminH-1, con valores de los caminos máximos en el grafo que tienden a infinito; el segundo, desde que la variable TCH vale KminH hasta valer KmaxH, los valores de los caminos son finitos y crecen proporcionalmente a la variable TC; y el último, cuyos valores de caminos máximos en el grafo vuelven a valer infinito si el valor de TCH es superior a KmaxH. En este caso, para las dos posibles variantes la cota inferior de TCH, LBH, siempre es menor que el límite inferior del rango de factibilidad. En la primera variante, la cota superior de TCH hallada en la Primera prueba, de infactibilidad, UBH, coincide con el límite superior de factibilidad KmaxH (caso 3), mientras que en la segunda, UBH es superior a KmaxH (caso 3').
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 136 Rango exploración Rango factibilidad TC*H Caso 1 [LBH,UBH] ∅ ∞ Caso 2 [LBH,UBH] LBH=KminH UBH=KmaxH [LBH=KminH, UBH=KmaxH] LBH=KminH Caso 2' [LBH,UBH] LBH=KminH UBH>KmaxH [LBH=KminH, KmaxH] LBH=KminH Caso 3 [LBH,UBH] LBH<KminH UBH=KmaxH [KminH, UBH=KmaxH] KminH Caso 3' [LBH,UBH] LBH<KminH UBH>KmaxH [KminH, KmaxH] KminH Tabla 5.3. Relación entre el rango de exploración determinado por la Primera prueba, de infactibilidad, el rango de valores para los cuales una secuencia es factible y el tiempo de ciclo TC*H para dicha secuencia. Figura 5.8. Exploración en el caso 1 según las cotas de la Primera prueba, de infactibilidad. TC factible TC explorado ∞ rango de exploración UBH LBH
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 137 Figura 5.9. Exploración en el caso 2 según las cotas de la Primera prueba, de infactibilidad. Figura 5.10. Exploración en el caso 3 según las cotas de la Primera prueba, de infactibilidad. En los casos 2 y 3, la solución buscada es el valor KminH (valor finito mínimo de TCH para que la secuencia pueda ser factible). No obstante, en el caso 3, se dispone de una cota inferior, menor que dicho valor KminH, lo que comporta tener que pasar de este valor del tiempo de ciclo que supone que la secuencia sea infactible hasta el valor KminH. TC factible TC explorado ∞ rango de exploración UBH=KmaxH LBH=KminH KmaxH KminH (= TC*) TC factible TC explorado ∞ rango de ex p loración UB H =Kmax H LB H Kmin H Kmax H KminH ( = TC* ) exploración realizada exploración r ealizada
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 138 Si se dispone de una cota inferior y de una cota superior, LBH y UBH respectivamente, únicamente será necesario recorrer los posibles valores de TCH comprendidos entre ambos puntos, para determinar si la secuencia es factible o no, pudiendo evitar la evaluación de cualquier valor situado más allá de los extremos del tramo generado por las cotas, a su izquierda y derecha de. En la práctica, se debe explorar en principio desde el valor LBH hasta el valor UBH y parar en el momento en que exista un camino finito entre el vértice 0 y los demás vértices, si bien algunas características del grafo planteadas a continuación pueden acelerar la resolución mediante el grafo. 5.6. Propiedades topológicas de un grafo con Tiempo de Ciclo Acotado aplicables en la determinación del tiempo de ciclo óptimo 5.6.1. Problema de minimización del tiempo de ciclo Sea el problema de optimización, visto en el apartado 4.3, definido como: [MIN] TC (5.25) s.a. tGto(j) – tGfrom(j) ≥ Gtime(j) + Gcycle(j) ·TC j=1, ..., 3m+1 (5.26) t i ≥ 0 i=0, ..., m (5.27) TC ≥ 0 (5.28) Gfrom, Gto ∈ {0, 1, ..., m}; Gtime ∈ Ζ (positivo o negativo); Gcycle ∈ {-1,0,1} En el anterior grupo de 3m+1 restricciones pueden distinguirse dos conjuntos diferenciados por el correspondiente valor de Gcycle: en caso que Gcycle = 0, entonces el término independiente bj no depende de TC; en caso contrario, bj depende linealmente de TC. En general, podemos escribir que: bj(TC) = bGfrom(j),Gto(j)(TC) = Gtime(j) + Gcycle(j) ·TC (5.29) 5.6.2. Grafo G asociado al problema anterior Las 3m+1 restricciones del problema sugieren la búsqueda del camino máximo en un grafo G con las siguientes características: • A cada variable del problema ti (i=0, ..., m), excepto la variable de tiempo de ciclo TC, se le asocia un vértice v(i). • Entre los vértices v(tGfrom) y v(tGto), se asocia un arco e[v(tGfrom),v(tGto)] con valor bj(TC). En la búsqueda de caminos máximos, este arco conduce nuevamente a la restricción: tGto ≥ tGfrom + bj (TC) (5.30)
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 139 5.6.3. Propiedades del grafo G Como propiedades del grafo G, puede establecerse que: P1. El grafo G tiene m+1 vértices: v(0), v(1), ..., v(m). P2. Los vértices v(0) y v(m) del grafo G tienen dos arcos incidentes: un arco de tanque y un arco de grúa, según el apartado 5.3.5. P3. Los demás vértices, [v(1), ..., v(m-1)], del grafo G tienen tres arcos incidentes: dos arcos de tanque y un arco de grúa, según el apartado 5.3.5. P4. El grafo G tiene 3m+1 arcos, que reflejan las 3m+1 restricciones del problema. P5. En función del valor asignado a la variable TC, el grafo G puede tener caminos extremos, o sea máximos, acotados o no tenerlos. Definición 1 Un grafo G es coherente con TC=C, y lo representaremos como Coh[TC=C], si para toda pareja de vértices [v(i), v(j)] existe un camino máximo. En estas condiciones, existen algoritmos, como el algoritmo de Ford, que permiten calcular el camino extremo entre parejas de vértices en el grafo G, o bien detectar que el grafo no es coherente. La coherencia en el problema planteado es equivalente para una estructura de grafo orientado, como es el grafo G, a que todos los circuitos de dicho grafo tengan valor no positivo. Proposición 1 En el grafo G existen 3m-1·22 subgrafos Gl, formados por un conjunto de arcos que incidan en cada uno de los m+1 vértices del grafo. Demostración Trivial a partir de las propiedades P2 y P3. Para determinar el intervalo de los valores de la variable TC que conduzcan a un grafo coherente Coh[TC], pueden calcularse unas cotas inferior y superior de dicha variable, a partir del citado grafo, que limiten la búsqueda del valor de TC mínimo que comporta un grafo coherente. Dichas cotas consideran restricciones de grúa y restricciones de tanque a la vez, dado que el problema planteado intenta coordinar los movimientos de la grúa sobre las ventanas temporales de los baños. Proposición 2 Una cota inferior de TC se puede calcular mediante una selección de arcos del grafo G, que forman un circuito, de los cuales como mínimo uno de ellos tiene la longitud función de TC.
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 140 Demostración Sea el último arco de grúa de un ciclo e[v(i),v(0)] con valor bi,0(TC). Existe siempre uno o más arcos de tanque e[v(0),v(1)], ..., e[v(i-1),v(i)] hasta cerrar un circuito en el grafo G orientado. Sumando todos sus valores al del arco inicial, y obligando a que dicho circuito tenga valor no positivo, se obtiene una expresión del tipo de 5.12, que conduce a una cota inferior. Proposición 3 Una cota superior de TC se puede calcular mediante una selección de arcos del grafo G, que forman un circuito, de los cuales como mínimo uno de ellos tiene la longitud función de TC. Demostración Sea un arco de grúa e[v(i),v(j)] con j>i+1 y valor bi,j. Si existe una serie de arcos de tanque e[v(j),v(j-1)],..., e[v(i+1),v(i)] hasta cerrar un circuito en el grafo G orientado, tal que uno de ellos dependa de la variable TC. Sumando los valores de todos esos arcos y forzando al circuito a tener valor no positivo, se obtiene una expresión del tipo de 5.21. 5.6.4. Del grafo G a un esquema matricial Definición 2 Sea un vector X formado por componentes asociados a los vértices del grafo G. Sea una transformación Φ I de un vector X en otro vector Y (de idénticas características a X) tales que X,Y∈ℜm+1, consistente en aplicar: yi = MAX k(i) { bj,ik(i) + xj k(i) } i =0, ..., m (5.31) con bj,ik(i) número entero (positivo o negativo, que puede depender de TC), bj,ik(i)(TC); i,j∈{0,1, ..., m}; k(i)∈{1,2} si i=0,m; k(i)∈{1,2,3} si i=1,2,...,m-1. Para cada componente i del vector Y, el parámetro k(i) puede tomar como mínimo 2 valores y como máximo 3 valores (en concreto, para sus componentes primero y último, 2 valores, y en el resto, 3 valores). Proposición 4 A todo grafo G puede asociarse una transformación Φ I. En nuestro caso, el grafo G recibe el nombre de Grafo con Tiempo de Ciclo Acotado, dado que pueden hallarse cotas sobre el valor de TC, proposiciones 2 y 3 anteriores, que facilitan la convergencia del procedimiento de determinación de caminos máximos en él.
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 141 Proposición 5 La transformación Φ I divide el espacio ℜm+1 en zonas según las restricciones activas en cada vértice i. El número máximo de zonas es 3m-1·22, en este caso. A cada zona l corresponde una transformación reducida Φ I,l, a la cual puede asociarse también un subgrafo Gl. A cada vértice de dicho subgrafo incide un arco y sólo uno. Demostración Según la proposición 4, existe un grafo G asociado a la transformación Φ I. Para cada vértice i del grafo, existirá un valor k(i) tal que yi = bj,ik(i) + xj k(i). Dicha expresión refleja la restricción activa en el vértice i. Además, según las propiedades P2 y P3 del grafo G, existirá siempre una restricción activa para cada vértice, por lo menos. En la frontera entre dos zonas, existen dos restricciones activas en un cierto vértice i. La transformación reducida Φ I,l incluye una selección de m+1 valores k(0), k(1), ..., k(m). De manera equivalente, en el subgrafo Gl, existen m+1 arcos que inciden en los vértices 0,1,...,m, respectivamente. Proposición 6 En un subgrafo Gl existe como mínimo un circuito, aunque alguno de los arcos del subgrafo puede no formar parte de un circuito. Demostración Sea un vértice j cualquiera del subgrafo Gl. Según la proposición 5, sólo incide un arco e[v(i),v(j)] en dicho vértice. El vértice origen de dicho arco se corresponde con el vértice i. Tómese ahora el vértice i como vértice destino. Dado que el número de vértices de dicho subgrafo Gl es finito, después de realizar la anterior operación durante k iteraciones, el vértice origen en la iteración k+1-ésima coincidirá con alguno de los k vértices origen ya visitados. Sea el conjunto de vértices origen, en orden inverso al visitado, que finalice en la iteración en que se visitó por primera vez al vértice repetido. Entonces, se dispone de un circuito recorrido en sentido contrario a la orientación de sus arcos. Si el vértice repetido es el primero, el circuito pasa por todos los vértices. Si no lo es, entonces queda una parte de arcos del grafo fuera del circuito. Si quedaran vértices por visitar, esto implica que o bien se forma otro circuito o bien se visitará nuevamente algún vértice del circuito ya formado. Definición 3 Si X∈ℜm+1 se encuentra en el interior de una zona l, esta transformación reducida Φ I,1 es equivalente a una transformación lineal del tipo: Y = B + A·X (5.32) donde cada una de las filas corresponde a la restricción activa incidente para cada vértice.
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 142 La matriz A tiene las siguientes características: • es una matriz cuadrada de dimensión m+1; • los valores ai,j=1 indican que el arco entre los vértices j e i actúa como una restricción activa; por consiguiente, los demás valores de una fila i tienen valor ai,j=0; • es una matriz estocástica, pues en cada fila todos los valores son nulos, excepto uno y sólo uno que vale 1: ∑ = = m 0j j,i 1a i=0,...,m (5.33) El vector B está formado por los valores bj,ik(i) de las restricciones activas, algunos de cuyos componentes dependen linealmente del valor de la variable TC. 5.6.5. Puntos dobles en la aplicación Φ I,1 Definición 4 La transformación Φ I,1 tiene un punto doble Xº, por lo menos, si se cumple que: Xº= Φ I,1 (Xº) (5.34) En nuestro caso, los puntos dobles forman parte de la solución buscada, ya que indican que tras recorrer los m+1 vértices del subgrafo Gl los valores se repetirán cíclicamente tras un período de tiempo TC. No obstante, la existencia de puntos dobles depende de los valores bj,ik(i), o de manera equivalente en el grafo G, la inexistencia de circuitos de valor positivo, Σ bj,i,k(i) ≤ 0, en subgrafos Gl. Por lo tanto, al existencia de puntos dobles depende del valor asignado a la variable TC. Si existe el punto doble Xº, en forma matricial: Xº = B + A·Xº (5.35) lo cual es equivalente a resolver un sistema de ecuaciones lineales tal que: (I-A) · X = B (5.36) donde I-A es una matriz cuyos valores no nulos dependen de las restricciones activas del grafo Gl, de las cuales todas o algunas determinan un circuito en dicho grafo; el vector B depende del valor de la variable TC, como ya se ha descrito anteriormente; y el vector X equivale al vector T de tiempos en el problema original. Para que se cumpla la expresión 5.36, el subgrafo tiene que ser coherente Coh[TC=C]. Lema 1 Si existe un punto doble Xº de la transformación Φ I,l, existen también infinitos puntos dobles, cuyos componentes están todos desplazados una misma distancia k respecto al punto doble Xº.
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 143 Es decir, si Xº es punto doble, también lo es cualquier vector tal que: ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ += 1 ... 1 1 k 01 XX (5.37) Demostración Sea el vector unidad 1. Dado que la matriz A es estocástica: A·1 = 1 (5.38) Aplicando el vector X1, que ha sido definido en 5.37, en la expresión 5.32 y restándola de la expresión 5.34, se obtiene: (I-A) · k ·1 = A' · k · 1 = 0 (5.39) La expresión (5.39) se verifica dado que: ∑ = = m 0j j,i 0'a i=0,...,m (5.40) En el fondo, es una consecuencia del teorema de Rouché-Frobenius, que indica que la solución general de un sistema de ecuaciones completo es igual a una solución particular (fijando xº0=0) más la solución general de un sistema homogéneo (en este caso, el vector unidad 1). La convención utilizada en el problema de tomar como referente el instante de recogida del objeto de la estación de carga (baño 0), comporta que en caso de existir punto doble, se determine el punto doble Xº tal que xº0=0 (en el problema original, t0=0). Según el Lema 1, en caso que exista el punto doble Xº existen infinitas soluciones. El sistema de ecuaciones lineales de 5.32 es compatible indeterminado, lo que según el teorema de Roché-Frobenius implica que: rango(I-A) = rango(I-A| B) (5.41) rango(I-A| B) ≤ m (5.42) Este resultado es coherente con la topología del grafo Gl, que refleja la transformación Φ I,l, donde existe como mínimo un circuito. La presencia de este circuito evita que el rango de la matriz I-A sea m+1, y supone que la matriz A tenga un determinante nulo. Lema 2 Los valores propios de la matriz A son o bien raíces enteras de 1 o bien 0. Demostración Cada circuito se corresponde a un valor propio 1 (el grado de multiplicidad del valor propio 1 es igual al número de circuitos en el grafo).
Capítulo 5. Resolución basada en el grafo con Tiempo de Ciclo Acotado 144 Cada vértice que no pertenece a un circuito se corresponde a un valor propio 0 (el grado de multiplicidad del valor propio 0 es igual al número de vértices “descolgados” en ramas, es decir, que no pertenecen a ningún circuito). La ecuación característica de la matriz A es: (1-λa) (1-λb) ... (1-λg) λh = 0 (5.43) donde a es el número de arcos del primer circuito considerado, b lo es del segundo circuito, g lo es del último y h es el número de vértices descolgados en ramas. Ejemplo 1 Sea el grafo de la figura 5.11, con 5 vértices, de los cuales tres forman un circuito. Figura 5.11. Ejemplo del grafo Gl asociado a una transformación Φ I,l. Entonces, según la ecuación 5.35, la matriz A es: ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 01000 00010 00010 00001 00100 A siendo su ecuación característica: (1-λ3) λ2 = 0 Cada rama de vértices descolgados introduce una columna de valores nulos. Esto facilita que en el desarrollo se vayan generando columnas de ceros en los otros vértices de la rama, uno a uno. Teorema 1 Si existe un punto doble Xº de Φ I,l, todos los circuitos en el grafo Gl tienen valor nulo. 15 4 0 1 3 2 40 50 30 25-TC
Capítulo 10. Conclusiones y líneas futuras de investigación 250 Los algoritmos planteados también se han aplicado a un problema real, como la fabricación de placas de circuitos impresos (Printed Circuit Boards), si bien los sistemas reales suelen corresponder a variantes bastante complejas en la clasificación de este tipo de problemas. 10.2.2. Variantes del problema basadas en el grafo con Tiempo de Ciclo Acotado El aprovechamiento de las propiedades de las cotas sobre el tiempo de ciclo, en los grafos con Tiempo de Ciclo Acotado, permite pensar en el desarrollo eficiente de algoritmos para otras variantes, como el caso de los n-ciclos, cuando en un ciclo entran y salen del sistema n objetos o productos, en lugar de uno solo. De manera similar, la información de las cotas se supone que puede ser válida para los casos multi-baño o multi-función, los cuales son más fáciles de encontrar en sistemas productivos reales. 10.2.3. Resolución simultánea de los ejemplares directo e inverso A lo largo del presente trabajo, en el capítulo 9, se ha planteado la conveniencia de utilizar la resolución sobre el ejemplar directo o sobre el ejemplar inverso, asociado a un cierto ejemplar de problema. La posibilidad de resolver ambos ejemplares a la vez puede comportar importantes mejoras en la eficiencia de los algoritmos, como se demuestra en Companys, Bautista y Mateo (2000). Esto daría lugar a un procedimiento de tipo pendular, una vez determinadas las propiedades en la resolución de ambos ejemplares y cómo intercambiar dicha información. 10.2.4. Estudio del caso con objetos heterogéneos Un vasto campo, pendiente de un estudio detallado, es el problema en una línea con objetos heterogéneos. La variante con objetos heterogéneos, trasladados por una sola grúa, con un número finito de piezas y cierta cantidad de unidades por cada tipo, en el caso mono-baño (capacidad para un solo objeto) y mono-función, da lugar a secuencias finitas. En dicho caso, el objetivo se centra en hallar una ordenación de objetos y de movimientos de grúas, e intentar la reducción al máximo del tiempo total de proceso sin violar las restricciones propias del problema (de tiempos en los tanques y de movimientos de la grúa). 10.2.5. Otros problemas de ingeniería posiblemente relacionados con HSP Finalmente, se ha recabado bibliografía en problemas que podrían relacionarse con el tema tratado, encontrando algunas situaciones de temática parecida en el campo de la ingeniería química. Éste es el caso de las plantas de proceso por lotes sin tuberías, Pipeless Batch Plants, tratado por González y Realff (1998a) y (1998b), unas plantas químicas de producción que evitan la presencia de tuberías basándose en el transporte de los tanques que contienen los productos en curso de fabricación. Su relación aún no está perfectamente definida, lo que implica que deban analizarse con más extensión en las posibles analogías.
Referencias bibliográficas 251 REFERENCIAS BIBLIOGRAFÍA BÁSICA Armstrong, R.; Lei, L.; Gu, S. (1994). A bounding scheme for deriving the minimal cycle time of a single-transporter N-stage process with time-window constraints, European Journal of Operational Research 78 (1994), pp. 130-140. Baena, V.M.; Bautista, J.; Mateo, M. (1998). Aplicación de los algoritmos genéticos a la resolución del Hoist Scheduling Problem. Documento Interno de Trabajo (D.I.T.) 98/32, Departamento Organitzación Empresas, Universitat Politècnica Catalunya. Baptiste, P.; Legeard, B.; Manier, M.-A.; Varnier, C. (1993). Optimization with constraint logic programming: the hoist scheduling problem solved with various solvers. Proceedings of the 8th International Conference on Applications of Artificial Intelligence in Enginnering, pp. 599-614. Baptiste, P.; Legeard, B.; Varnier, C. (1992). Hoist scheduling problem: an approach based on constraints logic programming. IEEE International Conference on Robotics and Automation, vol. 2, pp. 1139-1144. Bautista, J.; Companys, R. (2000). Logística y dirección de operaciones. Una visión sobre su evolución convergente. Manutención y almacenaje 347, pp. 60-70. Buffa, E.S.; Sarin, R.K. (1992). Administración de la producción y de las operaciones. 8ª edición. Mexico: Limusa. Chase, R.B.; Aquilano, N.J. (1994). Dirección y administración de la producción y de las operaciones. Traducción de la 6ª edición. Addison Wesley Iberoamericana. Chen, H.; Chu, C.; Proth, J.-M. (1995). Cyclic hoist scheduling based on graph theory. IEEE 0-7803-2535-4/95, pp. 451-459. Chen, H.; Chu, C.; Proth, J.-M. (1998). Cyclic scheduling of a hoist with time window constraints. IEEE Transactions on Robotics and Automation, vol. 14, nº 1, pp. 144-152. Cheng, C.-C.; Smith, S.F. (1995). A constraint-posting framework for scheduling under complex constraints. Proceedings 1995 INRIA/IEEE Symposium on Emerging Technologies and Factory Automation ETFA’95, vol. 1, pp. 269-280. Collart, S.; Denat J.-P. (1998). P-time Petri nets and the Hoist Scheduling Problem, IEEE 0-7803-4778-1/98, pp. 558-563. Companys, R. (2000). Programación dinámica. Barcelona: CPDA. Companys, R.; Bautista, J.; Mateo M. (2000). Los algoritmos EXAPENTA (Exploración Arborescente Pendular con transformación y Acotación). 1er Workshop de Organización Industrial, pp. 399-404. Bilbao: Escuela Superior Ingenieros.
Referencias bibliográficas 252 Companys, R.; Corominas, A. (1993). Organización de la Producción I: Diseño de sistemas productivos I. Barcelona: Edicions UPC. Companys, R.; Corominas, A. (1995). Organización de la Producción II: Dirección de Operaciones I. Barcelona: Edicions UPC. Crama, Y. (1997). Combinatorial optimization models for production scheduling in automated manufacturing systems. European Journal of Operational Research 99, pp. 136-153. Dengiz, B.; Akbay, K.S. (2000). Computer simulation of a PCB production line: metamodeling approach, International Journal of Production Economics, vol. 63, nº 2, pp. 195-205. Dervitsiotis, K.N. (1981). Operations Management. McGraw-Hill. Domínguez Machuca, J.A.; Alvárez Gil, M.J.; García González, S.; Domínguez Machuca, M.A.; Ruiz Jiménez, A. (1995). Dirección de operaciones: aspectos estratégicos en la producción y los servicios. Madrid: McGraw-Hill. Fernández, R. (1995). Métodos para hallar el tiempo de ciclo mínimo en un proceso de N etapas con un robot transportador y restricciones ventana. Proyecto Final de Carrera, ETS Enginyers Industrials Barcelona. Universitat Politècnica Catalunya. Fleury, G.; Goujon, J.-Y.; Gourgand, M.; Lacomme, P. (1996a). Multi-agents approach for manufacturing systems optimization. PAAM 96. Proceedings of the First International Conference on the Practical Application of Intelligent Agents and Multi-Agent Technology, pp. 225-244. Fleury, G.; Goujon, J.-Y.; Gourgand, M.; Lacomme, P. (1996b). A hoist sceduling problem, containing a fixed number of carriers, solved with an opportunistic approach. Symposium on Discrete Events and Manufacturing Systems. CESA'96 IMACS Multiconference. Computational Engineering in Systems Applications, pp. 473-478. Fogarty, D. W.; Hoffmann, T. R. (1983). Production and Inventory Management. SouthWestern Publishing Co. Garey, M.R.; Johnson, D.S. (1979). Computers and Intractibility: A Guide to the Theory of NP-Completeness. New York: W.H. Freeman and Compagny. González, R.; Realff, M.J. (1998). Operation of pipeless batch plants – I. MILP schedules. Computers Chemical Engineering, vol. 22, nº 7-8, pp. 841-855. González, R.; Realff, M.J. (1998). Operation of pipeless batch plants – II. Vessel dispatch rules. Computers Chemical Engineering, vol. 22, nº 7-8, pp. 857-866. Goujon, J.-Y.; Lacomme, P; Norre, S.; Traore, M. K. (1996). Computerized industrial surface tretament line control: resolution of a Hoist Scheduling Problem. ESS96. Simulation in Industry: 8th European Simulation Symposium, pp. 377-382.
Referencias bibliográficas 253 Goujon, J.-Y.; Lacomme, P; Traore, M. K. (1996). A multi-agent simulation methodology for manufacturing systems. ESM96. Modelling and Simulation, pp. 183-187. Ignall, E.; Schrage, L. (1965). Application of the Branch and Bound Technique to Some Flow Shop Scheduling Problems", Operational Research 13 (4), pp. 400-412. Lamothe, J.; Correge, M.; Delmas, J. (1995). A dynamic heuristic for the real time hoist scheduling problem. IEEE 0-7803-2535-4/95, pp. 161-168. Larrubia, A.; Mengual, A. (2000). Estudio de la programación de tareas en una línea de producción con múltiples grúas para trasladar piezas homogéneas. Proyecto Final de Carrera, ETS Enginyeria Industrial Barcelona. Universitat Politècnica Catalunya. Leal, V.; Bautista, J.; Mateo, M. (1998). Hoist Scheduling Problem: problema de secuenciación de movimientos con N tanques y una grúa transportadora. Documento Interno de Trabajo (D.I.T.) 98/33, Departamento Organitzación Empresas, Universitat Politècnica Catalunya. Lei L.; Wang, T.-J. (1989a). A proof: the cyclic hoist scheduling problem is NP-complete. Working paper #89-0016. Rutgers University. Lei, L.; Wang T.-J. (1991). The minimum common-cycle algorithm for cyclic scheduling of two material handling hoists with time window constraints. Management Science, vol. 37, nº 12, pp. 1629-1639. Lieberman, R.W.; Turksen, I.B. (1981). Crane Scheduling Problerms. AIIE Transactions, vol. 13, nº 4. Lieberman, R.W.; Turksen, I.B. (1982). Two-operation Crane Scheduling Problerms. AIIE Transactions, vol. 14, nº 4. Lomnicki, Z.A. (1965). A “branch-and-bound” algorithm for the exact solution of the three-machine scheduling problem, Operational Research Quart., vol. 16, nº 1. Manier, M.A.; Baptiste, P. (1994). État de l’art: ordonnancement de robots de manutention en galvanoplastie, APII, vol. 28, nº 1/1994. Matsuo, H.; Shang, J.S.; Sullivan, R.S. (1991). A Crane Scheduling Problem in a Computer-Integrates Manufacturing environment, Management Science, vol 37, nº 5, pp. 587-606. Méndez, G.; Cespón, R. (1999). Logística de producción: El “scheduling” como eslabón esencial. Manutención y almacenaje 336, pp. 51-54. Ng, W.C. (1996). A branch and bound algorithm for hoist scheduling of a circuit board production line. The International Journal of Flexible Manufacturing Systems, vol. 8, pp. 45-65. Phillips, L.W.; Unger, P.S. (1976). Mathematical programming solution of a hoist scheduling program. AIIE Transactions, vol. 8, nº 2, pp. 219-225.
Referencias bibliográficas 254 Shapiro, G.W.; Nuttle, H.W. (1988). Hoist Scheduling for a PCB electroplating facility, IEE Transactions, vol. 20, nº 2 (junio 1988), pp. 157-167. Sethi, A. K.; Sethi, S.P. (1994). Flexibility in manufacturing: A survey. The International Journal of Flexible Manufacturing Systems 2, pp. 289-328. Song, W.; Storch, R.L.; Zabinsky, Z.B. (1995). An example for scheduling a chemical processing tank line, IEEE 0-7803-2535-4/95, pp. 475-482. Thesen, A.; Lei, L. (1990). An expert scheduling system for material handling hoists. Journal of Manufacturing System, vol. 9, nº 3, pp. 247-252. Varnier, C.; Grunder, O.; Baptiste, P. (1995). Improving the productivity of electroplating lines by changing the layout of the tanks, IEEE 0-7803-2535-4/95. pp. 441-450. Varnier, C.; Bachelu, A.; Baptiste, P. (1997). Resolution of the cyclic multi-hoists scheduling problem with overlapping partitions, INFOR, vol. 35, nº 4, pp. 309-324. Vollmann, T.E.; Berry, W.L.; Whybark, D.C. (1995). Sistemas de Planificación y Control de la Fabricación. 4ª edición. Irwin. Widmer, M. (1991). Modèles mathématiques pour une gestion efficace des ateliers flexibles. Paris: Presses Polytechniques et Universitaires Romandes. Yih, Y. (1994). An algorithm for hoist scheduling problems, International Journal of Production Research, vol. 32, nº 3, pp. 501-516. BIBLIOGRAFÍA ADICIONAL Aranda, S.; Serra, A. (1999). Resolución del problema del robot transportador en un proceso con N etapas y restricciones temporales (Hoist Scheduling Problem) mediante un procedimiento de búsqueda tabú. Proyecto Final de Carrera, ETS Enginyeria Industrial Barcelona. Universitat Politècnica Catalunya. Baptiste, P.; Grunder, O.; Chappe, D. (1995). A branch and bound procedure for the optimal layout of a satured production line fed with a single hoist. International Conference on Industrial Engineering and Production Management, vol. 1, p. 372-381. Bracker, W.E.; Chapman, W. (1985). Optimization of a programable hoist using linear programming. Printed Circuit Fabrication, vol. 8 (febrero 1985), pp. 39-42. Cannard, J.-A. (1988). La flexibilité par l’ordonnancement appliqué. Revue d’automatique et de productivité appliquées, vol. 1, nº 3, pp. 15-19. Derid, J. (1978). CITEC (Circuits imprimés): des bains chimiques assurés par palans programmés. Manutention, vol. 7, nº 4, pp. 10-15.
Referencias bibliográficas 255 Gross, Pison, Koechlin (1981). Conduite par automates programmables d’une chaîne flexible de galvanoplastie sur matière plastique, Technique Moderne, vol. 73, nº 11-12, pp. 51-55. Lei, L.; Wang T.-J. (1989b). On the optimal cyclic schedules of single hoist electroplating processes. Working paper #89-0006, Rutgers University. Liu, R.; McGreavy, C. (1996). A framework for operations strategy of Pipeless Batch Plants. Computers Chemical Engineering, vol. 20 Suppl., pp. S1161-S1166. Magee, J. F. (1968). Industrial logistics. McGraw Hill. Mur (1999). Estudio de la programación de un robot transportador en un proceso con N etapas, con múltiples tanques por etapa y restricciones temporales. Proyecto Final de Carrera, ETS Enginyeria Industrial Barcelona. Universitat Politècnica Catalunya. Nasarre, R. (1996). Métodos para hallar el tiempo de ciclo mínimo en un proceso de N etapas con un robot transportador, restricciones ventana y órdenes no homogéneas. Proyecto Final de Carrera, ETS Enginyers Industrials Barcelona. Universitat Politècnica Catalunya. Ricci, J.J.; Brousson, P. (1989). Chaîne automatisée de traitement de surface –Progiciel de pilotage et d’ordonnancement pour chaîne de galvanoplastie, Galvano-OrganoTraitements de Surface/593, pp. 217-218. Shapiro, G.W. (1985). Hoist Scheduling for a PCB electroplating facility. Thesis for the Degree of Master Science (Program in Operations Research), Graduate Faculty of North Carolina State University. Thesen, A., Lei, L. (1986). “An expert system for scheduling robots in a Flexible Electroplating System with Dynamically Changing Workloads”, Proc. Second Flexible Manufacturing Systems: Operations Research Models and Applications. Stecke and Suri (eds.). Varnier, C. (1995). Extensions du Hoist Scheduling Problem cyclique - Resolution basée sur un traitement des contraintes disjonctives en Programmation Logique avec Contraintes. Thesis of the Franche-Comté university.
261 ANEXO 1 Ejemplares de la experiencia computacional básica (de 5 a 10 baños) Estructura de los datos: código a i b i 1 a1 b 1 2 a2 b 2 3 a3 b 3 4 a4 b 4 5 a5 b 5 f i i=0,...,m e i,i+1 i=0,...,m
Anexo 1 262 SERIE 1 10105 10205 10305 10405 10505 10605 10705 10805 10905 11005 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 25 55 46 107 50 117 50 114 55 123 58 130 77 184 22 53 20 47 66 162 2 34 78 51 115 57 134 80 184 57 138 59 132 57 142 62 141 49 121 41 98 3 79 182 79 194 51 117 60 145 43 104 78 175 67 160 26 59 22 54 74 171 4 48 111 24 52 44 96 80 191 67 151 76 183 45 105 77 189 68 167 35 85 5 25 55 35 87 54 131 28 67 62 143 49 117 27 65 40 93 67 148 23 52 f=12 f=10 f=13 f=12 f=10 f=10 f=12 f=7 f=15 f=15 e= 8 e= 7 e= 9 e= 8 e= 7 e= 7 e= 8 e=5 e=10 e=10 11106 11206 11306 11406 11506 11606 11706 11806 11906 12006 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 60 134 71 158 32 78 50 114 53 124 30 70 30 70 22 54 31 74 63 153 2 63 147 21 49 45 102 46 103 24 56 48 119 59 144 79 184 29 65 49 120 3 80 199 57 130 29 69 40 89 22 48 70 155 44 108 36 83 56 137 62 155 4 71 161 31 68 20 45 53 128 72 163 45 105 45 109 25 60 71 160 59 133 5 62 145 29 68 75 177 26 61 36 87 24 57 24 57 55 137 49 117 31 76 6 72 161 29 64 34 77 54 125 69 163 72 170 32 76 63 147 72 167 26 62 f=12 f=15 f=15 f= 7 f=15 f= 9 f= 9 f=9 f= 9 f= 7 e= 8 e=10 e=10 e= 5 e=10 e= 6 e= 6 e=6 e= 6 e= 5 12107 12207 12307 12407 12507 12607 12707 12807 12907 13007 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 43 95 77 184 71 168 20 49 74 171 53 131 21 49 68 161 26 62 75 173 2 69 153 43 105 72 160 77 177 57 139 33 75 28 66 79 181 65 149 67 156 3 20 47 71 166 61 135 41 91 56 132 24 56 61 136 37 86 61 148 80 183 4 69 157 45 102 68 159 29 71 70 165 54 125 46 102 46 111 56 134 65 152 5 26 60 32 77 37 84 38 86 55 128 31 72 28 69 28 63 41 92 45 99 6 29 64 35 84 78 178 63 141 65 145 70 159 24 56 55 127 52 130 71 169 7 47 105 51 116 25 58 25 61 33 80 30 72 72 169 35 78 31 71 75 184 f=13 f= 7 f= 9 f= 9 f=13 f=13 f=15 f=9 f= 9 f=10 e= 9 e= 5 e= 6 e= 6 e= 9 e= 9 e=10 e=6 e= 6 e= 7 13108 13208 13308 13408 13508 13608 13708 13808 13908 14008 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 76 177 44 104 75 170 67 150 69 151 53 120 45 112 60 142 36 87 73 168 2 49 108 49 117 30 72 40 94 63 142 75 183 64 142 67 147 33 78 66 148 3 56 125 61 145 24 56 75 166 46 109 65 156 47 110 53 125 35 85 75 178 4 65 157 76 188 36 87 28 63 76 187 52 117 76 187 32 80 37 91 41 100 5 60 137 46 103 51 112 46 107 73 168 33 81 30 70 35 86 38 86 61 150 6 31 74 29 71 50 112 52 126 50 120 24 53 29 67 29 68 41 100 22 53 7 50 114 71 159 23 51 36 85 29 69 36 86 24 53 45 108 46 107 66 146 8 22 54 62 136 77 171 63 156 52 116 75 171 77 178 26 64 40 93 45 110 f=10 f=10 f=10 f=12 f=10 f=12 f=10 f=7 f= 7 f=10 e= 7 e= 7 e= 7 e= 8 e= 7 e= 8 e= 7 e=5 e= 5 e= 7 14109 14209 14309 14409 14509 14609 14709 14809 14909 15009 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 50 124 39 97 71 169 42 100 43 104 49 114 61 138 52 128 77 188 37 91 2 33 78 67 152 51 121 66 152 34 83 41 95 55 136 68 170 35 84 24 58 3 67 162 41 92 72 169 36 87 62 146 58 133 53 126 43 101 49 111 57 127 4 21 49 39 88 39 88 21 50 32 77 42 93 54 131 57 133 78 186 78 183 5 30 68 30 66 25 60 29 68 68 170 66 162 21 50 32 72 62 151 29 65 6 23 54 47 108 52 122 32 74 74 178 30 73 23 50 40 90 29 63 55 134 7 26 64 32 76 57 127 68 168 66 158 63 142 29 68 66 159 68 161 76 183 8 33 75 71 174 44 104 60 146 42 93 58 142 34 85 53 129 76 186 22 50 9 64 159 78 194 57 136 36 85 56 130 32 79 75 177 30 73 39 95 22 54 f= 9 f=13 f=10 f=13 f=12 f=13 f=12 f=10 f= 7 f=10 e= 6 e= 9 e= 7 e= 9 e= 8 e= 9 e= 8 e=7 e= 5 e= 7 15110 15210 15310 15410 15510 15610 15710 15810 15910 16010 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 65 161 43 99 35 78 29 65 73 167 22 52 70 156 58 129 42 98 44 109 2 65 153 74 183 36 85 47 104 45 104 75 171 76 177 41 93 58 127 73 170 3 48 116 67 148 66 155 39 91 40 88 21 46 23 52 73 163 36 82 35 87 4 76 186 51 118 61 150 58 144 34 75 36 88 26 65 37 89 70 170 44 105 5 42 105 55 125 29 65 44 97 62 140 37 84 69 161 68 162 22 55 66 157 6 60 140 55 135 35 82 57 141 33 73 49 114 43 95 43 95 46 112 35 77 7 28 69 36 79 45 100 70 168 33 76 54 131 76 169 66 156 71 158 72 171 8 42 94 75 165 76 188 33 73 50 120 45 109 69 171 51 117 44 108 52 122 9 38 87 62 144 37 89 68 168 41 97 38 91 76 174 37 85 72 173 71 169 10 65 149 76 180 46 104 43 96 46 110 70 167 59 133 21 46 21 47 58 142 f=13 f=10 f=10 f= 9 f= 9 f=13 f= 7 f=15 f= 9 f= 9 e= 9 e= 7 e= 7 e= 6 e= 6 e= 9 e= 5 e=10 e= 6 e= 6
Anexo 1 263 SERIE 2 20105 20205 20305 20405 20505 20605 20705 20805 20905 21005 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 28 67 65 158 43 98 32 72 71 167 77 170 63 144 68 149 68 167 68 152 2 40 95 42 101 61 143 70 168 63 146 49 111 63 146 23 54 39 95 54 120 3 26 59 31 69 75 167 31 75 49 109 78 182 37 88 29 65 69 165 38 84 4 29 66 70 160 35 79 20 50 45 109 76 186 30 70 74 183 51 122 64 159 5 43 106 56 127 68 160 28 67 58 141 69 161 53 124 66 160 45 110 70 159 f=20 f=16 f=10 f=12 f=16 f=14 f=16 f=14 f=14 f=20 e=10 e= 8 e= 5 e= 6 e= 8 e= 7 e= 8 e=7 e= 7 e=10 21106 21206 21306 21406 21506 21606 21706 21806 21906 22006 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 39 93 52 128 33 77 27 63 47 114 26 57 73 172 70 155 73 161 52 117 2 65 155 29 69 32 74 50 122 42 95 65 146 65 152 56 140 63 151 65 156 3 78 171 33 80 44 98 68 154 47 106 66 147 50 115 62 139 44 101 50 124 4 69 152 46 107 23 57 32 71 72 168 64 143 79 186 43 102 35 84 64 142 5 24 59 67 156 53 122 72 163 74 181 37 85 37 83 34 81 61 144 41 93 6 35 79 71 170 56 134 77 172 57 140 60 136 74 173 79 173 69 167 55 134 f=18 f=16 f=14 f=14 f=18 f=18 f=18 f=16 f=14 f=18 e= 9 e= 8 e= 7 e= 7 e= 9 e= 9 e= 9 e=8 e= 7 e= 9 22107 22207 22307 22407 22507 22607 22707 22807 22907 23007 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 45 108 65 144 55 134 62 144 22 49 74 168 57 136 50 119 47 107 77 172 2 67 160 57 138 59 147 57 137 51 114 35 79 62 147 58 131 58 130 78 183 3 75 187 39 90 43 106 34 79 72 167 71 177 46 106 28 66 67 161 27 61 4 69 156 59 141 37 89 54 127 77 185 54 118 38 91 50 124 35 84 65 154 5 37 87 65 160 36 88 78 191 63 142 61 140 62 139 56 138 40 100 66 161 6 49 116 24 58 73 177 30 67 65 145 37 81 42 97 32 74 80 178 79 193 7 58 141 44 110 20 48 80 182 42 94 52 122 39 93 60 140 51 121 52 120 f=10 f=20 f=16 f=18 f=18 f=10 f=12 f=14 f=18 f=18 e= 5 e=10 e= 8 e= 9 e= 9 e= 5 e= 6 e=7 e= 9 e= 9 23108 23208 23308 23408 23508 23608 23708 23808 23908 24008 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 47 108 24 59 64 150 70 166 43 98 61 146 43 99 25 58 41 101 61 139 2 39 95 50 121 29 65 39 96 75 173 26 64 21 47 24 52 32 79 21 49 3 69 160 37 88 27 64 63 152 71 173 73 174 34 83 77 190 64 145 60 135 4 74 162 37 86 42 97 59 139 75 169 61 149 66 162 40 99 74 180 24 54 5 58 142 79 193 60 137 22 49 40 99 20 47 67 162 41 98 50 111 60 137 6 28 61 22 50 52 122 42 100 73 166 20 49 47 111 52 118 40 89 61 148 7 59 143 35 85 53 131 58 136 33 81 33 73 73 168 68 151 21 50 26 64 8 58 142 32 71 26 62 50 117 38 84 42 92 21 50 20 47 69 166 41 98 f=16 f=16 f=20 f=16 f=20 f=12 f=12 f=12 f=12 f=10 e= 8 e= 8 e=10 e= 8 e=10 e= 6 e= 6 e=6 e= 6 e= 5 24109 24209 24309 24409 24509 24609 24709 24809 24909 25009 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 45 111 71 171 44 102 24 57 64 159 65 154 60 136 48 115 76 180 26 63 2 24 56 48 110 62 141 51 126 28 61 55 126 59 136 53 117 71 163 43 105 3 50 122 76 174 30 71 74 172 25 56 31 68 76 189 30 68 25 60 70 160 4 31 68 47 109 33 74 32 75 40 97 34 80 32 70 30 72 24 54 78 173 5 69 171 69 159 76 180 61 135 32 80 21 52 48 110 31 75 66 151 53 122 6 56 130 35 78 45 100 47 109 32 78 35 78 42 102 63 145 53 121 33 82 7 30 73 69 163 32 73 24 58 53 116 76 189 65 148 31 73 56 129 31 75 8 54 121 44 107 72 178 52 122 26 60 44 105 64 154 60 139 69 154 30 71 9 26 61 40 90 49 115 79 185 50 124 51 123 24 53 24 57 47 105 58 135 f=12 f=12 f=16 f=16 f=14 f=16 f=12 f=10 f=20 f=16 e= 6 e= 6 e= 8 e= 8 e= 7 e= 8 e= 6 e=5 e=10 e= 8 25110 25210 25310 25410 25510 25610 25710 25810 25910 26010 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 53 117 57 134 50 111 23 54 67 159 61 151 24 57 46 105 23 56 48 114 2 22 54 79 179 32 72 80 182 60 138 61 136 69 167 21 49 79 178 50 112 3 61 136 24 57 40 88 30 71 37 88 34 76 30 72 72 164 21 46 40 89 4 79 182 80 177 47 111 66 164 77 173 35 81 77 189 54 130 63 154 79 196 5 53 130 39 96 29 71 45 100 73 174 57 136 55 128 38 92 59 139 49 111 6 50 113 22 49 74 164 33 72 21 48 44 106 72 171 39 93 25 55 58 135 7 33 78 63 139 40 94 26 61 31 77 44 98 46 105 79 196 51 113 65 149 8 39 97 68 159 73 161 24 59 43 97 73 182 79 194 79 193 48 111 45 111 9 55 136 20 46 80 183 36 85 22 52 74 166 60 138 39 95 27 62 38 85 10 55 121 55 125 50 117 27 66 67 155 38 87 76 174 67 149 48 119 57 133 f=10 f=16 f=10 f=18 f=20 f=12 f=18 f=18 f=10 f=14 e= 5 e= 8 e= 5 e= 9 e=10 e= 6 e= 9 e=9 e= 5 e= 7
Anexo 1 264 SERIE 3 30105 30205 30305 30405 30505 30605 30705 30805 30905 31005 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 63 157 40 92 35 81 54 128 47 105 69 151 78 186 40 89 58 128 77 180 2 70 161 62 148 80 187 42 94 66 161 67 158 65 152 63 155 76 185 21 47 3 80 199 47 116 38 94 47 113 73 174 49 118 68 156 34 84 64 156 58 129 4 73 174 66 159 58 130 32 77 26 61 55 126 33 79 73 171 48 118 42 102 5 74 185 67 157 45 111 70 166 32 80 22 54 58 141 33 78 72 172 34 78 f=27 f=18 f=15 f=27 f=21 f=27 f=21 f=18 f=24 f=21 e= 9 e= 6 e= 5 e= 9 e= 7 e= 9 e= 7 e=6 e= 8 e= 7 31106 31206 31306 31406 31506 31606 31706 31806 31906 32006 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 68 159 39 86 36 85 66 156 21 46 21 50 50 119 24 52 59 138 28 65 2 47 116 59 136 68 167 52 119 47 105 20 46 75 165 56 128 26 61 62 146 3 68 149 52 126 30 68 54 120 45 107 38 84 72 165 68 165 44 101 71 161 4 35 81 39 88 52 130 75 182 77 183 21 49 54 119 59 135 30 67 78 180 5 26 61 77 170 70 157 45 99 37 83 59 130 76 181 37 88 28 65 58 144 6 23 55 68 160 40 91 30 71 21 48 28 63 46 106 36 90 38 92 60 146 f=24 f=15 f=21 f=30 f=24 f=21 f=21 f=18 f=21 f=18 e= 8 e= 5 e= 7 e=10 e= 8 e= 7 e= 7 e=6 e= 7 e= 6 32107 32207 32307 32407 32507 32607 32707 32807 32907 33007 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 60 143 68 149 63 142 69 167 31 74 68 168 48 106 60 133 70 159 79 187 2 27 62 51 123 37 91 45 107 52 115 39 85 37 92 45 105 31 75 73 181 3 38 92 37 91 68 162 46 113 74 172 58 131 72 166 67 163 27 60 26 58 4 74 162 34 83 22 52 56 140 50 114 32 73 54 123 24 60 76 170 61 138 5 20 47 37 91 32 73 70 163 30 68 27 66 64 151 72 170 47 107 51 122 6 23 51 45 112 66 156 61 142 43 103 27 66 58 131 72 168 30 69 29 63 7 31 73 35 79 50 121 60 144 21 51 44 110 69 170 36 83 53 123 73 174 f=24 f=27 f=30 f=15 f=27 f=21 f=15 f=24 f=24 f=15 e= 8 e= 9 e=10 e= 5 e= 9 e= 7 e= 5 e=8 e= 8 e= 5 33108 33208 33308 33408 33508 33608 33708 33808 33908 34008 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 42 103 63 152 38 88 75 166 41 95 62 140 28 65 52 122 20 48 41 98 2 79 178 42 99 47 105 71 169 52 125 67 166 49 112 39 89 46 103 78 185 3 44 98 40 95 29 66 57 125 52 114 74 172 37 84 63 144 47 105 48 110 4 27 67 37 83 42 97 22 55 48 118 70 172 41 100 74 175 36 88 70 157 5 65 148 68 164 57 135 25 57 22 51 54 132 50 117 46 106 21 51 41 91 6 52 125 47 104 33 79 55 133 77 185 53 130 54 121 55 132 41 95 75 177 7 77 190 36 83 30 70 63 150 80 185 76 173 78 178 68 155 72 171 49 120 8 30 69 72 165 35 84 57 128 66 156 71 168 74 168 67 147 38 94 35 84 f=24 f=18 f=18 f=18 f=27 f=24 f=24 f=18 f=24 f=15 e= 8 e= 6 e= 6 e= 6 e= 9 e= 8 e= 8 e=6 e= 8 e= 5 34109 34209 34309 34409 34509 34609 34709 34809 34909 35009 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 39 89 62 136 22 50 28 64 34 84 31 71 24 52 69 168 68 163 56 133 2 46 111 28 68 68 167 45 110 34 77 26 61 34 83 52 129 63 148 74 169 3 40 96 27 66 62 155 53 127 67 160 63 152 38 85 21 47 33 74 65 145 4 46 112 61 141 75 171 73 166 62 144 27 66 70 165 27 66 77 184 62 138 5 74 170 63 139 41 98 70 156 78 185 39 92 69 168 35 81 58 142 72 164 6 53 121 40 97 47 108 78 195 66 147 55 126 42 97 79 194 45 111 23 57 7 28 68 71 158 36 86 28 63 56 124 65 149 75 175 62 153 76 185 77 183 8 73 165 30 72 39 87 79 185 56 125 70 171 64 152 62 152 49 117 54 119 9 72 166 79 175 68 156 21 48 39 96 59 137 64 142 74 171 40 90 77 187 f=18 f=30 f=27 f=18 f=21 f=21 f=15 f=21 f=15 f=24 e= 6 e=10 e= 9 e= 6 e= 7 e= 7 e= 5 e=7 e= 5 e= 8 35110 35210 35310 35410 35510 35610 35710 35810 35910 36010 a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i a i b i 1 75 170 39 91 65 153 25 61 21 51 58 144 75 186 75 167 60 146 51 112 2 69 171 70 162 52 121 62 140 62 143 32 80 25 62 26 58 23 56 49 114 3 42 99 49 116 65 146 23 54 58 142 35 79 52 125 61 139 43 106 72 164 4 26 63 70 164 73 177 45 103 55 132 78 194 43 105 33 80 79 178 74 177 5 59 136 28 61 24 58 43 96 29 66 70 161 78 186 60 138 34 75 24 57 6 68 153 77 183 38 91 35 82 39 87 40 99 20 48 43 104 68 155 48 115 7 59 136 60 132 43 98 21 52 77 179 78 194 59 134 60 147 56 129 80 197 8 21 46 45 100 74 185 78 172 63 140 56 124 31 68 44 98 32 79 60 134 9 23 56 73 177 26 58 50 115 63 147 25 58 72 172 59 130 68 151 73 181 10 65 149 76 180 46 104 43 96 46 110 70 167 59 133 21 46 21 47 58 142 f=18 f=18 f=21 f=18 f=27 f=21 f=21 f=24 f=18 f=18 e= 6 e= 6 e= 7 e= 6 e= 9 e= 7 e= 7 e=8 e= 6 e= 6
271 ANEXO 2 Resultados (por series) de las variables tiempo de ciclo y vector de instantes de tiempo T para los 540 ejemplares de la experiencia computacional básica. Estructura de los datos: código m TC t(1) t(2) t(3) t(4) t(5) t(6) t(7) t(8) t(9) t(10) código ejemplar nº baños tiempo de ciclo óptimo valores del vector T para un tiempo de ciclo óptimo
Anexo 2 272 SERIE 1 código m TC t(1) t(2) t(3) t(4) t(5) t(6) t(7) t(8) t(9) t(10) 10105 5 214 37 85 57 117 1540000 0 10205 5 185 89 17 106 140 410000 0 10305 5 240 129 200 89 160 490000 0 10405 5 198 62 34 118 90 1380000 0 10505 5 158 103 17 120 65 410000 0 10605 5 172 69 141 86 31 1030000 0 10705 5 195 131 20 151 40 790000 0 10805 5 123 60 12 72 33 840000 0 10905 5 252 35 115 152 70 1770000 0 11005 5 348 148 204 293 45 830000 0 11106 6 220 120 20 140 40 160 60000 0 11206 6 413 86 122 194 240 284 328000 0 11306 6 410 47 107 151 186 276 325000 0 11406 6 137 98 14 110 33 66 45000 0 11506 6 451 68 107 144 231 282 366000 0 11606 6 171 39 144 123 60 96 75000 0 11706 6 189 63 15 117 30 90 138000 0 11806 6 162 45 15 60 123 102 81000 0 11906 6 194 75 113 21 128 36 143000 0 12006 6 144 127 56 17 100 29 78000 0 12107 7 479 56 138 171 253 292 334 394 0 0 0 12207 7 166 149 78 17 122 29 100 41 0 0 0 12307 7 208 160 33 175 48 94 63 109 0 0 0 12407 7 200 29 173 44 92 140 65 113 0 0 0 12507 7 371 89 178 322 40 129 218 264 0 0 0 12607 7 471 66 112 149 216 260 343 386 0 0 0 12707 7 480 36 79 155 216 259 298 385 0 0 0 12807 7 216 87 189 21 108 156 42 129 0 0 0 12907 7 232 48 122 21 137 187 81 158 0 0 0 13007 7 220 103 17 120 34 137 51 154 0 0 0 13108 8 330 171 240 24 132 202 271 55 87 0 0 13208 8 378 69 184 267 31 100 139 222 305 0 0 13308 8 407 137 177 211 294 355 45 78 249 0 0 13408 8 569 144 196 283 323 381 445 493 68 0 0 13508 8 323 147 292 25 171 254 49 88 202 0 0 13608 8 416 80 260 372 36 116 152 200 312 0 0 13708 8 368 69 143 257 31 100 174 208 295 0 0 13808 8 225 94 12 72 111 188 34 128 161 0 0 13908 8 238 81 162 211 22 103 184 39 120 0 0 14008 8 374 83 191 336 31 114 146 229 284 0 0 14109 9 479 120 162 238 268 307 339 374 416 57 0 14209 9 664 52 132 186 238 281 341 386 470 561 0 14309 9 475 97 194 291 388 423 45 142 239 336 0 14409 9 610 55 134 183 217 259 304 385 458 507 0 14509 9 677 55 101 175 219 299 385 463 517 585 0 14609 9 659 62 116 187 242 321 364 440 511 556 0 14709 9 605 73 140 205 271 304 339 380 426 513 0 14809 9 482 97 175 258 388 430 45 213 296 336 0 14909 9 248 195 12 99 212 33 72 153 50 131 0 15009 9 436 97 131 198 345 384 45 229 261 293 0 15110 10 771 78 156 217 306 361 434 475 530 581 659 15210 10 532 53 189 286 383 480 91 137 234 331 428 15310 10 653 45 91 167 238 277 322 377 463 510 566 15410 10 653 38 94 142 209 262 328 407 449 526 578 15510 10 486 120 204 288 372 33 75 159 243 327 411 15610 10 689 35 123 157 206 256 318 385 443 494 577 15710 10 268 131 246 17 50 153 214 67 170 79 182 15810 10 770 73 129 217 269 352 410 491 557 609 645 15910 10 448 84 168 252 372 403 39 123 207 291 321 16010 10 456 53 137 181 253 333 405 92 214 294 366
Anexo 2 273 SERIE 2 código m TC t(1) t(2) t(3) t(4) t(5) t(6) t(7) t(8) t(9) t(10) 20105 5 346 48 108 154 203 266000 0 0 20205 5 224 112 184 32 144 56000 0 0 20305 5 140 60 40 20 105 85000 0 0 20405 5 182 44 18 62 94 134000 0 0 20505 5 224 136 24 96 168 56000 0 0 20605 5 182 119 21 140 77 49000 0 0 20705 5 224 136 24 96 168 56000 0 0 20805 5 196 98 161 28 126 49000 0 0 20905 5 201 82 166 103 35 124000 0 0 21005 5 280 140 230 40 180 70000 0 0 21106 6 499 57 140 236 323 365 418 0 0 0 0 21206 6 293 128 173 245 40 205 64 0 0 0 0 21306 6 287 47 124 201 238 82 159 0 0 0 0 21406 6 245 63 161 28 91 189 112 0 0 0 0 21506 6 351 99 198 297 45 144 243 0 0 0 0 21606 6 342 44 189 288 80 135 234 0 0 0 0 21706 6 331 187 286 36 133 232 72 0 0 0 0 21806 6 286 158 246 38 110 198 70 0 0 0 0 21906 6 231 119 21 84 147 49 168 0 0 0 0 22006 6 351 99 198 297 45 144 243 0 0 0 0 22107 7 180 85 15 100 30 115 45 130 0 0 0 22207 7 593 85 162 221 300 385 429 493 0 0 0 22307 7 403 148 296 355 40 92 196 232 0 0 0 22407 7 577 153 228 280 352 448 496 72 0 0 0 22507 7 400 40 139 238 337 85 184 283 0 0 0 22607 7 217 147 15 162 65 177 40 102 0 0 0 22707 7 256 148 18 76 172 42 100 196 0 0 0 22807 7 322 126 203 280 35 161 238 63 0 0 0 22907 7 429 99 198 375 45 144 243 312 0 0 0 23007 7 504 117 313 358 441 54 171 241 0 0 0 23108 8 648 63 118 203 293 367 411 486 560 0 0 23208 8 532 40 106 159 212 307 345 396 444 0 0 23308 8 623 84 133 180 242 322 394 467 513 0 0 23408 8 619 86 141 220 295 333 391 465 531 0 0 23508 8 718 63 158 249 344 404 497 550 608 0 0 23608 8 498 73 111 196 269 301 333 378 432 0 0 23708 8 344 79 112 178 302 37 142 227 260 0 0 23808 8 412 37 73 189 241 294 358 109 141 0 0 23908 8 342 66 132 240 30 96 162 195 276 0 0 24008 8 307 71 102 172 227 36 127 197 252 0 0 24109 9 386 78 114 180 246 36 144 210 276 314 0 24209 9 435 83 161 249 327 36 119 200 285 363 0 24309 9 683 60 138 184 233 325 386 434 522 587 0 24409 9 684 40 107 197 245 322 385 425 493 588 0 24509 9 560 78 120 159 213 259 305 372 412 476 0 24609 9 652 81 152 199 249 286 337 429 489 556 0 24709 9 446 138 228 360 404 36 90 180 270 306 0 24809 9 360 75 150 190 255 320 35 110 220 285 0 24909 9 787 96 187 232 276 362 435 511 600 667 0 25009 9 662 42 101 187 281 350 399 446 492 566 0 25110 10 347 100 132 222 25 152 242 297 50 177 267 25210 10 771 73 168 208 304 359 397 476 560 596 667 25310 10 357 100 142 232 322 30 167 257 50 187 277 25410 10 687 41 139 187 271 334 385 429 471 525 570 25510 10 828 87 167 224 321 414 455 506 569 611 698 25610 10 494 90 180 226 312 446 42 132 262 348 398 25710 10 885 42 129 177 272 345 435 499 596 674 768 25810 10 831 64 103 193 265 321 378 475 572 629 714 25910 10 405 33 122 153 226 295 360 68 184 256 325 26010 10 571 105 169 260 410 515 49 211 302 354 459
Anexo 2 274 SERIE 3 código m TC t(1) t(2) t(3) t(4) t(5) t(6) t(7) t(8) t(9) t(10) 30105 5 314 161 260 53 206 890000 0 30205 5 192 90 24 114 48 1380000 0 30305 5 160 75 20 95 40 1150000 0 30405 5 409 135 204 278 337 630000 0 30505 5 262 77 164 35 112 1990000 0 30605 5 310 99 256 45 144 1930000 0 30705 5 250 159 28 117 194 630000 0 30805 5 192 90 24 114 48 1380000 0 30905 5 284 136 236 40 176 720000 0 31005 5 323 153 195 274 42 970000 0 31106 6 491 92 163 255 314 364 411000 0 31206 6 207 92 20 112 167 52 137000 0 31306 6 350 91 250 301 42 133 194000 0 31406 6 602 96 178 262 367 442 502000 0 31506 6 472 45 116 185 286 347 392000 0 31606 6 383 42 83 142 184 264 313000 0 31706 6 294 105 252 133 210 49 168000 0 31806 6 284 42 116 242 72 146 200000 0 31906 6 421 80 127 192 243 292 351000 0 32006 6 266 66 146 30 218 102 182000 0 32107 7 529 84 135 197 295 339 386 441 0 0 0 32207 7 595 95 173 237 298 362 434 496 0 0 0 32307 7 658 93 160 258 310 372 468 548 0 0 0 32407 7 236 121 206 31 146 51 166 71 0 0 0 32507 7 589 58 137 238 315 372 442 490 0 0 0 32607 7 519 89 149 228 281 329 377 442 0 0 0 32707 7 260 95 190 25 120 215 50 145 0 0 0 32807 7 473 120 189 361 409 56 237 297 0 0 0 32907 7 590 94 149 200 300 371 425 502 0 0 0 33007 7 250 145 20 75 170 45 100 195 0 0 0 33108 8 628 66 264 332 383 472 548 130 184 0 0 33208 8 392 170 260 350 36 122 212 302 72 0 0 33308 8 527 56 121 168 228 303 354 402 455 0 0 33408 8 443 102 204 306 346 389 48 150 252 0 0 33508 8 603 68 203 338 473 522 131 266 401 0 0 33608 8 544 120 240 360 480 56 176 296 416 0 0 33708 8 601 52 188 249 369 443 521 116 305 0 0 33808 8 410 90 180 270 362 42 132 222 312 0 0 33908 8 609 44 114 185 245 290 355 451 513 0 0 34008 8 289 103 259 33 128 184 58 153 209 0 0 34109 9 606 57 171 229 331 423 494 540 111 277 0 34209 9 861 92 150 207 298 391 461 562 622 731 0 34309 9 818 49 144 233 335 403 477 540 606 701 0 34409 9 461 46 109 187 278 407 145 223 320 359 0 34509 9 580 105 160 335 440 49 202 279 384 489 0 34609 9 715 52 99 183 231 291 367 453 544 624 0 34709 9 344 39 134 229 64 159 254 89 184 279 0 34809 9 700 147 294 336 384 440 540 623 70 217 0 34909 9 424 83 174 249 384 35 118 209 284 339 0 35009 9 880 80 178 267 353 449 496 597 675 776 0 35110 10 737 93 180 240 284 361 447 524 563 604 653 35210 10 559 102 204 306 459 505 48 150 252 354 399 35310 10 825 86 159 245 339 384 443 507 602 649 727 35410 10 693 43 123 164 227 288 341 380 476 544 609 35510 10 934 48 137 222 304 360 426 530 620 710 808 35610 10 856 79 132 188 287 378 439 538 615 661 758 35710 10 804 96 142 215 279 378 419 499 551 644 706 35810 10 866 99 149 234 291 375 442 526 594 677 754 35910 10 752 78 119 180 277 329 415 489 539 625 668 36010 10 571 102 204 306 475 517 48 150 252 354 415
Anexo 2 275 SERIE 4 código m TC t(1) t(2) t(3) t(4) t(5) t(6) t(7) t(8) t(9) t(10) 40105 5 138 117 96 75 54 33000 0 0 40205 5 194 166 20 84 122 48000 0 0 40305 5 230 105 25 130 50 155000 0 0 40405 5 138 117 96 75 54 33000 0 0 40505 5 254 64 25 89 134 179000 0 0 40605 5 144 120 17 89 65 41000 0 0 40705 5 184 84 20 104 40 124000 0 0 40805 5 214 183 22 143 44 103000 0 0 40905 5 155 131 17 100 34 69000 0 0 41005 5 138 117 96 48 27 63000 0 0 41106 6 211 142 17 111 166 41 73 0 0 0 0 41206 6 266 177 22 137 208 53 88 0 0 0 0 41306 6 244 213 22 93 164 53 124 0 0 0 0 41406 6 316 89 178 267 40 129 218 0 0 0 0 41506 6 287 49 84 155 229 115 186 0 0 0 0 41606 6 221 64 185 28 92 141 112 0 0 0 0 41706 6 165 144 69 21 84 36 99 0 0 0 0 41806 6 160 139 118 97 27 70 47 0 0 0 0 41906 6 211 30 116 173 54 140 71 0 0 0 0 42006 6 236 208 108 172 36 136 56 0 0 0 0 42107 7 204 117 15 90 138 36 153 51 0 0 0 42207 7 282 100 246 28 128 48 148 186 0 0 0 42307 7 423 65 165 317 358 110 210 252 0 0 0 42407 7 204 87 15 102 165 117 42 132 0 0 0 42507 7 288 116 252 28 144 208 56 172 0 0 0 42607 7 249 149 17 211 34 180 51 90 0 0 0 42707 7 220 38 189 55 127 72 144 89 0 0 0 42807 7 431 73 210 376 108 155 255 311 0 0 0 42907 7 304 64 160 28 180 244 108 208 0 0 0 43007 7 361 36 125 214 303 76 165 254 0 0 0 43108 8 370 83 124 193 262 38 155 224 297 0 0 43208 8 537 192 317 442 479 49 125 250 375 0 0 43308 8 532 38 79 139 211 263 307 342 427 0 0 43408 8 244 102 136 21 151 36 166 51 181 0 0 43508 8 265 124 238 21 145 205 42 73 172 0 0 43608 8 273 33 132 240 105 153 207 72 174 0 0 43708 8 208 39 110 17 176 61 132 73 144 0 0 43808 8 194 33 106 45 118 57 130 69 142 0 0 43908 8 250 139 169 21 184 36 199 51 82 0 0 44008 8 188 171 78 17 90 29 134 41 112 0 0 44109 9 357 75 243 21 216 36 108 140 177 288 0 44209 9 254 152 15 167 30 182 45 197 60 89 0 44309 9 401 69 138 244 31 100 169 199 282 321 0 44409 9 497 44 140 236 332 369 88 184 280 405 0 44509 9 546 107 285 454 488 49 156 218 343 378 0 44609 9 509 137 281 465 37 85 181 221 333 397 0 44709 9 524 111 295 329 366 415 465 52 163 229 0 44809 9 602 73 105 160 194 261 339 425 466 510 0 44909 9 384 84 114 186 258 288 39 147 219 315 0 45009 9 310 180 217 21 147 238 81 253 54 102 0 45110 10 677 82 148 180 226 308 392 429 484 536 577 45210 10 825 39 119 181 258 330 395 451 533 618 700 45310 10 459 191 369 24 153 222 400 55 108 253 296 45410 10 451 37 106 225 406 68 137 180 263 304 347 45510 10 320 103 246 293 22 71 130 177 44 147 194 45610 10 748 67 148 198 258 345 383 438 492 555 636 45710 10 312 191 226 285 22 71 154 253 44 93 122 45810 10 568 112 149 289 334 508 52 193 229 378 448 45910 10 376 177 217 343 27 87 244 304 54 114 271 46010 10 643 37 162 287 335 533 567 95 220 384 466
Anexo 2 276 SERIE 5 código m TC t(1) t(2) t(3) t(4) t(5) t(6) t(7) t(8) t(9) t(10) 50105 5 156 132 78 24 96 42000 0 0 50205 5 294 99 198 240 45 144000 0 0 50305 5 300 90 180 40 130 220000 0 0 50405 5 130 110 65 20 80 35000 0 0 50505 5 270 81 162 36 117 198000 0 0 50605 5 208 96 24 120 48 144000 0 0 50705 5 175 147 21 112 42 76000 0 0 50805 5 156 132 108 84 60 36000 0 0 50905 5 130 110 90 70 50 30000 0 0 51005 5 261 171 30 201 60 101000 0 0 51106 6 217 189 21 84 147 49 112 0 0 0 0 51206 6 408 55 107 199 238 276 327 0 0 0 0 51306 6 406 50 100 140 234 280 325 0 0 0 0 51406 6 319 44 94 175 256 130 211 0 0 0 0 51506 6 174 120 18 138 36 78 54 0 0 0 0 51606 6 186 102 18 120 36 138 54 0 0 0 0 51706 6 155 85 15 100 30 115 45 0 0 0 0 51806 6 297 153 27 108 189 63 216 0 0 0 0 51906 6 382 55 204 280 319 100 141 0 0 0 0 52006 6 206 32 98 170 116 62 134 0 0 0 0 52107 7 216 72 18 90 36 138 114 156 0 0 0 52207 7 266 154 21 175 42 105 203 70 0 0 0 52307 7 317 63 126 28 91 157 192 247 0 0 0 52407 7 374 88 176 326 40 128 216 270 0 0 0 52507 7 180 160 140 70 25 85 40 100 0 0 0 52607 7 266 112 231 133 35 154 56 175 0 0 0 52707 7 442 154 271 388 45 91 208 325 0 0 0 52807 7 499 64 107 186 248 295 341 409 0 0 0 52907 7 349 119 272 307 35 70 161 216 0 0 0 53007 7 525 60 110 158 237 278 368 435 0 0 0 53108 8 541 44 95 150 199 278 346 407 453 0 0 53208 8 297 183 267 26 207 141 225 56 105 0 0 53308 8 301 43 139 265 67 163 229 91 187 0 0 53408 8 472 104 208 312 416 48 152 256 360 0 0 53508 8 301 133 21 154 252 49 182 70 203 0 0 53608 8 385 210 287 28 105 245 322 63 140 0 0 53708 8 530 185 230 401 467 54 113 284 329 0 0 53808 8 384 79 265 342 37 223 300 128 181 0 0 53908 8 364 126 189 322 35 217 280 63 245 0 0 54008 8 616 59 123 184 277 323 381 474 517 0 0 54109 9 384 108 174 264 30 138 288 54 216 312 0 54209 9 288 162 18 180 36 120 204 60 222 78 0 54309 9 601 74 119 164 222 267 344 410 449 493 0 54409 9 366 34 130 288 58 154 312 82 178 234 0 54509 9 271 56 151 20 76 231 91 181 106 196 0 54609 9 542 70 158 366 486 110 198 234 302 422 0 54709 9 350 69 186 24 93 150 296 117 228 260 0 54809 9 393 45 165 231 297 75 195 261 327 105 0 54909 9 457 90 216 415 35 125 167 258 308 352 0 55009 9 258 113 233 28 133 203 48 153 63 168 0 55110 10 762 83 152 200 243 315 376 438 509 601 645 55210 10 553 189 294 399 504 42 133 238 343 448 84 55310 10 825 70 132 204 278 371 453 509 579 630 695 55410 10 750 135 270 468 543 678 63 198 333 387 606 55510 10 445 37 198 249 396 72 149 284 347 107 312 55610 10 744 57 142 191 239 327 412 493 546 587 627 55710 10 586 52 204 267 371 522 100 140 315 419 458 55810 10 607 64 119 223 327 431 535 167 271 375 479 55910 10 437 191 293 401 155 317 42 119 239 347 83 56010 10 591 37 141 217 305 439 85 257 345 383 487
Anexo 2 277 SERIE 6 código m TC t(1) t(2) t(3) t(4) t(5) t(6) t(7) t(8) t(9) t(10) 60105 5 160 75 20 95 40 115000 0 0 60205 5 207 141 24 165 48 93000 0 0 60305 5 160 135 110 55 30 75000 0 0 60405 5 354 117 234 291 54 171000 0 0 60505 5 252 77 154 35 112 189000 0 0 60605 5 238 147 28 105 182 63000 0 0 60705 5 197 54 24 114 84 143000 0 0 60805 5 368 67 112 199 249 296000 0 0 60905 5 170 65 140 85 30 105000 0 0 61005 5 272 104 224 136 48 168000 0 0 61106 6 228 66 36 186 96 150 120 0 0 0 0 61206 6 412 67 166 349 112 211 286 0 0 0 0 61306 6 405 117 171 270 54 216 315 0 0 0 0 61406 6 414 54 114 224 334 164 274 0 0 0 0 61506 6 279 78 156 237 36 114 195 0 0 0 0 61606 6 442 78 195 312 370 132 249 0 0 0 0 61706 6 360 189 36 135 234 81 270 0 0 0 0 61806 6 382 156 222 326 48 92 270 0 0 0 0 61906 6 307 48 125 202 83 160 237 0 0 0 0 62006 6 395 55 143 339 95 183 283 0 0 0 0 62107 7 252 186 24 210 48 138 108 78 0 0 0 62207 7 233 138 20 158 40 98 183 65 0 0 0 62307 7 400 232 32 120 272 72 160 312 0 0 0 62407 7 518 185 320 455 54 113 248 383 0 0 0 62507 7 448 104 208 312 48 152 256 360 0 0 0 62607 7 324 102 240 126 204 270 48 162 0 0 0 62707 7 435 59 163 267 371 107 211 315 0 0 0 62807 7 334 52 130 208 286 88 166 244 0 0 0 62907 7 502 58 193 249 366 421 121 303 0 0 0 63007 7 692 84 189 259 351 428 511 582 0 0 0 63108 8 697 76 171 246 321 405 461 522 601 0 0 63208 8 548 214 276 396 48 92 142 332 452 0 0 63308 8 603 135 270 341 531 63 198 395 459 0 0 63408 8 629 211 413 566 54 139 274 332 485 0 0 63508 8 453 55 184 404 90 135 226 299 341 0 0 63608 8 622 77 145 203 290 359 412 463 526 0 0 63708 8 774 80 160 225 320 418 525 579 666 0 0 63808 8 703 210 262 318 387 442 506 593 100 0 0 63908 8 544 120 240 360 480 56 176 296 416 0 0 64008 8 755 51 148 243 306 388 468 556 635 0 0 64109 9 455 90 180 270 407 42 132 222 312 353 0 64209 9 754 97 180 262 319 384 431 485 589 650 0 64309 9 548 105 210 373 492 49 154 259 310 429 0 64409 9 558 73 221 326 502 115 165 270 375 439 0 64509 9 496 57 182 272 448 93 134 224 314 394 0 64609 9 739 62 140 208 295 346 403 504 559 622 0 64709 9 370 43 87 192 230 285 117 255 310 142 0 64809 9 785 184 269 328 378 482 563 616 689 88 0 64909 9 603 44 89 153 215 266 320 366 454 499 0 65009 9 851 105 153 240 335 420 515 598 668 734 0 65110 10 350 155 210 25 180 235 50 105 260 75 280 65210 10 538 194 308 351 394 484 48 134 248 436 84 65310 10 867 75 166 229 293 362 454 513 561 663 755 65410 10 732 47 100 145 189 265 340 400 457 534 620 65510 10 751 68 111 210 252 323 415 467 514 580 653 65610 10 718 66 151 218 263 316 368 414 462 517 606 65710 10 812 70 151 209 291 340 388 443 543 619 686 65810 10 899 106 168 243 340 423 485 587 638 693 759 65910 10 582 147 261 375 489 528 48 87 201 315 429 66010 10 536 53 235 278 380 482 95 136 175 326 428
Anexo 2 278 SERIE 7 código m TC t(1) t(2) t(3) t(4) t(5) t(6) t(7) t(8) t(9) t(10) 70105 5 126 105 84 21 57 36000 0 0 70205 5 158 134 110 86 62 38000 0 0 70305 5 126 105 84 21 57 36000 0 0 70405 5 168 140 112 28 76 48000 0 0 70505 5 210 175 25 130 95 60000 0 0 70605 5 210 175 25 130 95 60000 0 0 70705 5 154 130 17 99 65 41000 0 0 70805 5 127 106 85 22 58 37000 0 0 70905 5 129 108 18 81 60 39000 0 0 71005 5 211 176 26 131 96 61000 0 0 71106 6 175 120 17 137 34 75 51 0 0 0 0 71206 6 255 220 185 150 45 105 70 0 0 0 0 71306 6 153 132 111 21 84 63 42 0 0 0 0 71406 6 130 113 18 69 30 81 42 0 0 0 0 71506 6 226 195 164 31 124 93 62 0 0 0 0 71606 6 257 62 25 87 192 157 122 0 0 0 0 71706 6 161 140 119 98 27 71 50 0 0 0 0 71806 6 204 176 20 140 76 48 96 0 0 0 0 71906 6 188 160 20 124 40 88 60 0 0 0 0 72006 6 124 107 90 17 68 51 34 0 0 0 0 72107 7 180 159 138 21 111 90 69 48 0 0 0 72207 7 206 182 158 134 31 103 79 55 0 0 0 72307 7 224 196 20 160 40 124 96 68 0 0 0 72407 7 224 196 168 28 132 48 96 68 0 0 0 72507 7 203 179 155 35 124 52 93 69 0 0 0 72607 7 226 198 170 28 134 48 98 70 0 0 0 72707 7 195 171 147 24 116 41 85 61 0 0 0 72807 7 224 196 20 160 40 124 96 68 0 0 0 72907 7 206 182 158 24 127 103 79 55 0 0 0 73007 7 248 217 22 177 146 53 106 75 0 0 0 73108 8 229 174 17 191 34 129 51 98 74 0 0 73208 8 322 222 20 242 40 262 60 96 146 0 0 73308 8 223 199 175 24 144 41 113 89 65 0 0 73408 8 207 186 165 21 84 36 99 51 114 0 0 73508 8 190 169 22 142 37 115 52 88 67 0 0 73608 8 209 185 17 154 34 123 51 92 68 0 0 73708 8 299 64 22 86 241 108 201 170 139 0 0 73808 8 270 239 22 199 44 159 66 119 88 0 0 73908 8 277 213 21 233 41 161 133 105 77 0 0 74008 8 394 41 349 66 194 294 101 139 239 0 0 74109 9 254 41 17 216 65 185 82 154 130 106 0 74209 9 311 247 20 267 40 195 60 159 80 123 0 74309 9 378 343 27 65 288 90 128 188 153 213 0 74409 9 222 201 180 159 27 132 42 105 84 63 0 74509 9 323 34 283 56 243 78 203 100 163 132 0 74609 9 222 201 180 21 153 36 126 105 84 63 0 74709 9 422 105 25 130 50 155 337 180 215 282 0 74809 9 254 230 206 24 175 151 48 120 96 72 0 74909 9 322 49 97 69 270 125 234 145 198 170 0 75009 9 365 330 25 285 250 60 205 85 160 125 0 75110 10 202 185 168 151 22 129 34 107 90 73 56 75210 10 321 297 25 142 42 159 245 66 183 83 200 75310 10 364 192 20 212 40 232 60 252 80 272 100 75410 10 249 228 207 186 27 159 42 132 111 90 69 75510 10 202 185 168 151 22 129 34 107 90 73 56 75610 10 352 50 20 308 78 272 98 148 118 168 212 75710 10 425 390 28 293 335 63 238 88 193 158 123 75810 10 264 243 222 21 195 36 96 162 111 63 129 75910 10 340 309 22 269 44 229 66 189 88 149 118 76010 10 210 193 176 25 154 37 132 115 98 81 64
Anexo 2 279 SERIE 8 código m TC t(1) t(2) t(3) t(4) t(5) t(6) t(7) t(8) t(9) t(10) 80105 5 145 121 97 24 67 43000 0 0 80205 5 208 56 24 160 128 96000 0 0 80305 5 168 140 21 105 77 49000 0 0 80405 5 240 70 30 100 170 130000 0 0 80505 5 234 63 27 180 144 108000 0 0 80605 5 192 160 24 120 88 56000 0 0 80705 5 130 110 90 70 50 30000 0 0 80805 5 120 100 80 20 55 35000 0 0 80905 5 156 132 108 84 60 36000 0 0 81005 5 234 198 162 126 90 54000 0 0 81106 6 261 225 189 36 144 108 72 0 0 0 0 81206 6 186 162 108 24 126 72 48 0 0 0 0 81306 6 232 200 168 32 128 96 64 0 0 0 0 81406 6 203 175 21 140 112 84 56 0 0 0 0 81506 6 203 175 147 28 112 84 56 0 0 0 0 81606 6 261 63 27 90 153 117 180 0 0 0 0 81706 6 170 146 18 116 36 86 54 0 0 0 0 81806 6 261 225 27 135 54 162 81 0 0 0 0 81906 6 248 136 24 160 48 184 72 0 0 0 0 82006 6 261 225 189 36 99 63 126 0 0 0 0 82107 7 180 160 90 20 105 35 120 50 0 0 0 82207 7 273 241 209 72 40 96 153 121 0 0 0 82307 7 170 150 130 20 105 85 65 45 0 0 0 82407 7 244 216 188 28 153 84 56 111 0 0 0 82507 7 268 236 204 32 164 56 124 92 0 0 0 82607 7 224 196 168 28 133 49 98 70 0 0 0 82707 7 204 180 156 24 126 102 78 54 0 0 0 82807 7 170 35 15 50 135 90 70 105 0 0 0 82907 7 224 196 168 28 133 49 98 70 0 0 0 83007 7 242 214 186 28 151 84 56 109 0 0 0 83108 8 200 180 160 140 25 115 90 70 50 0 0 83208 8 300 36 260 60 220 84 180 148 116 0 0 83308 8 338 302 32 257 59 212 176 140 104 0 0 83408 8 277 46 242 67 207 88 172 144 116 0 0 83508 8 358 318 38 268 68 218 98 168 128 0 0 83608 8 296 264 232 32 192 56 152 120 88 0 0 83708 8 336 300 30 93 57 120 228 192 156 0 0 83808 8 195 175 155 27 130 42 105 85 65 0 0 83908 8 372 332 292 40 242 70 142 100 172 0 0 84008 8 257 229 33 194 54 159 75 124 96 0 0 84109 9 331 41 79 289 100 184 121 205 142 226 0 84209 9 251 227 19 197 37 167 143 61 113 89 0 84309 9 338 306 26 266 50 146 74 170 98 194 0 84409 9 363 96 24 120 48 144 291 168 205 243 0 84509 9 475 63 107 415 137 207 167 237 278 325 0 84609 9 252 42 18 216 66 186 84 156 132 108 0 84709 9 381 345 72 36 99 138 273 165 228 192 0 84809 9 257 203 23 221 41 161 59 131 107 83 0 84909 9 251 227 29 197 47 167 65 137 113 89 0 85009 9 390 40 345 67 300 94 134 174 237 201 0 85110 10 272 248 224 26 194 44 164 62 134 110 86 85210 10 238 38 15 208 58 183 73 133 88 148 103 85310 10 235 215 195 175 25 150 40 125 105 85 65 85410 10 510 370 460 40 410 70 140 100 220 180 250 85510 10 270 246 222 24 192 42 162 138 66 108 84 85610 10 317 72 18 90 36 269 114 197 132 167 221 85710 10 234 214 24 189 39 164 144 59 119 99 79 85810 10 531 54 101 171 131 201 341 431 241 381 271 85910 10 329 266 21 287 42 217 63 182 119 91 140 86010 10 415 379 27 66 325 93 280 120 235 147 190
Anexo 2 280 SERIE 9 código m TC t(1) t(2) t(3) t(4) t(5) t(6) t(7) t(8) t(9) t(10) 90105 5 320 50 260 150 100 190000 0 0 90205 5 186 156 126 36 90 60000 0 0 90305 5 240 200 160 40 112 72000 0 0 90405 5 270 225 180 45 126 81000 0 0 90505 5 210 175 28 133 98 63000 0 0 90605 5 210 175 28 133 98 63000 0 0 90705 5 263 223 32 120 167 72000 0 0 90805 5 251 211 171 40 123 83000 0 0 90905 5 160 135 110 85 60 35000 0 0 91005 5 256 216 176 88 48 120000 0 0 91106 6 368 47 260 83 296 119 188 0 0 0 0 91206 6 216 186 156 30 120 90 60 0 0 0 0 91306 6 297 49 249 81 153 113 185 0 0 0 0 91406 6 288 248 32 200 112 72 144 0 0 0 0 91506 6 252 217 182 35 140 105 70 0 0 0 0 91606 6 216 186 24 150 120 90 60 0 0 0 0 91706 6 190 165 140 115 90 65 40 0 0 0 0 91806 6 293 253 37 157 69 189 101 0 0 0 0 91906 6 252 63 28 91 154 119 182 0 0 0 0 92006 6 204 174 24 138 48 102 72 0 0 0 0 92107 7 210 155 20 175 40 115 90 65 0 0 0 92207 7 240 210 180 30 144 54 108 78 0 0 0 92307 7 200 175 150 25 120 45 90 65 0 0 0 92407 7 401 243 293 45 329 81 162 117 0 0 0 92507 7 420 90 40 130 340 230 180 270 0 0 0 92607 7 210 185 160 25 130 105 80 55 0 0 0 92707 7 360 315 36 261 216 81 162 117 0 0 0 92807 7 291 256 39 214 67 172 137 102 0 0 0 92907 7 320 280 240 40 192 72 144 104 0 0 0 93007 7 352 312 272 40 128 216 80 168 0 0 0 93108 8 275 245 24 209 48 173 72 137 96 0 0 93208 8 230 175 20 195 40 135 60 105 80 0 0 93308 8 365 64 28 92 309 214 127 172 253 0 0 93408 8 360 320 39 272 71 224 103 176 136 0 0 93508 8 462 345 36 291 390 81 131 219 174 0 0 93608 8 455 53 134 89 170 230 365 320 275 0 0 93708 8 450 81 36 117 306 153 252 351 198 0 0 93808 8 322 287 252 35 210 63 168 133 98 0 0 93908 8 288 90 24 114 48 234 144 198 168 0 0 94008 8 400 360 176 40 208 72 240 104 272 0 0 94109 9 416 56 368 88 320 120 272 152 224 184 0 94209 9 455 271 32 303 64 335 96 367 128 175 0 94309 9 312 282 252 30 216 54 144 78 168 102 0 94409 9 483 59 429 384 104 330 140 222 176 258 0 94509 9 270 245 20 215 40 145 120 65 170 85 0 94609 9 350 315 28 273 238 63 196 91 154 119 0 94709 9 454 49 400 85 346 121 292 157 238 193 0 94809 9 445 88 141 40 173 373 333 213 285 245 0 94909 9 320 290 32 254 56 110 80 206 176 146 0 95009 9 392 273 28 301 56 329 210 133 98 161 0 95110 10 434 133 392 161 42 189 70 217 322 287 252 95210 10 608 59 284 545 104 329 140 365 464 185 410 95310 10 599 63 113 320 149 356 185 392 491 230 437 95410 10 464 120 32 152 64 392 192 344 224 296 256 95510 10 384 126 24 90 156 54 216 186 276 246 300 95610 10 654 90 40 130 240 564 180 290 357 419 474 95710 10 372 342 24 306 48 138 264 162 228 90 192 95810 10 336 306 24 270 48 234 72 198 168 138 108 95910 10 423 388 70 35 98 332 126 290 154 196 241 96010 10 432 45 108 73 136 369 164 243 320 199 278
Anexo 3 287 BRANCH AND BOUND MEDIANTE TIEMPOS (BBt), SERIE 6 código m ite(1) maxl(1) tc(1) ite(2) maxl(2) tc(2) ite(3) maxl(3) tc(3) TC* 60105 5 8 7 160 7 8 160 20 8 160 160 60205 5 14 7 207 17 14 207 24 8 207 207 60305 5 9 8 160 9 11 160 19 8 160 160 60405 5 17 6 354 17 9 354 18 8 354 354 60505 5 18 6 252 18 12 252 23 8 252 252 60605 5 16 6 238 18 11 238 25 8 238 238 60705 5 20 8 197 18 15 197 23 8 197 197 60805 5 17 5 368 17 8 368 17 7 368 368 60905 5 15 8 170 14 16 170 21 8 170 170 61005 5 19 8 272 21 19 272 23 8 272 272 61106 6 31 10 228 30 21 228 58 12 228 228 61206 6 56 9 412 56 27 412 63 12 412 412 61306 6 36 8 405 35 19 405 40 11 405 405 61406 6 19 9 414 20 12 414 21 10 414 414 61506 6 32 8 279 29 13 279 33 12 279 279 61606 6 38 9 442 38 17 442 39 12 442 442 61706 6 31 7 360 28 16 360 43 12 360 360 61806 6 38 8 382 38 14 382 41 12 382 382 61906 6 45 9 307 43 23 307 52 12 307 307 62006 6 44 8 395 47 20 395 49 11 395 395 62107 7 84 10 252 38 35 252 110 17 252 252 62207 7 90 13 233 88 56 233 134 17 233 233 62307 7 80 10 400 64 29 400 81 16 400 400 62407 7 72 8 518 72 21 518 79 17 518 518 62507 7 98 12 448 99 38 448 110 17 448 448 62607 7 104 12 324 104 40 324 126 17 324 324 62707 7 116 10 435 114 39 435 118 17 435 435 62807 7 122 12 334 117 52 334 126 17 334 334 62907 7 54 10 502 54 18 502 56 16 502 502 63007 7 66 10 692 66 21 692 66 17 692 692 63108 8 143 13 697 143 35 697 143 23 697 697 63208 8 93 10 548 93 20 548 103 22 548 548 63308 8 120 12 603 119 36 603 132 23 603 603 63408 8 153 13 629 153 38 629 166 23 629 629 63508 8 209 12 453 202 61 453 227 23 453 453 63608 8 82 13 622 82 21 622 82 22 622 622 63708 8 137 12 774 137 42 774 137 23 774 774 63808 8 35 11 703 35 10 703 35 14 703 703 63908 8 123 12 544 123 31 544 134 23 544 544 64008 8 79 14 755 79 19 755 79 22 755 755 64109 9 470 17 455 451 133 455 498 30 455 455 64209 9 127 13 754 127 33 754 127 29 754 754 64309 9 230 13 548 229 51 548 251 30 548 548 64409 9 300 15 558 296 76 558 321 30 558 558 64509 9 477 17 496 474 112 496 495 30 496 496 64609 9 105 15 739 105 29 739 105 26 739 739 64709 9 469 16 370 411 138 370 451 29 370 370 64809 9 155 14 785 155 38 785 155 27 785 785 64909 9 64 16 603 64 20 603 64 23 603 603 65009 9 135 11 851 135 27 851 135 24 851 851 65110 10 429 16 350 399 158 350 614 37 350 350 65210 10 321 16 538 310 80 538 336 34 538 538 65310 10 169 18 867 169 33 867 169 36 867 867 65410 10 80 19 732 80 17 732 80 25 732 732 65510 10 223 16 751 223 50 751 223 30 751 751 65610 10 92 20 718 92 21 718 92 30 718 718 65710 10 97 19 812 97 22 812 97 28 812 812 65810 10 97 15 899 97 18 899 97 29 899 899 65910 10 205 14 582 204 37 582 213 35 582 582 66010 10 528 15 536 521 104 536 565 35 536 536
Anexo 3 288 BRANCH AND BOUND MEDIANTE TIEMPOS (BBt), SERIE 7 código m ite(1) maxl(1) tc(1) ite(2) maxl(2) tc(2) ite(3) maxl(3) tc(3) TC* 70105 5 5 7 126 5 7 126 23 8 126 126 70205 5 11 8 158 12 11 158 10 8 172 158 70305 5 6 8 126 6 11 126 19 8 126 126 70405 5 16 7 168 13 20 168 26 8 168 168 70505 5 9 8 210 10 14 210 26 8 210 210 70605 5 9 8 210 10 19 210 25 8 210 210 70705 5 12 8 154 12 11 154 11 8 172 154 70805 5 9 8 127 9 11 127 20 8 127 127 70905 5 11 8 129 13 14 129 27 8 129 129 71005 5 22 8 211 14 22 211 27 8 211 211 71106 6 22 12 175 25 54 175 67 12 175 175 71206 6 27 12 255 29 49 255 76 12 255 255 71306 6 26 12 153 25 43 153 77 12 153 153 71406 6 24 12 130 25 26 130 18 12 172 130 71506 6 28 12 226 22 46 226 71 12 226 226 71606 6 54 12 257 44 61 257 71 12 257 257 71706 6 29 12 161 29 50 161 60 12 165 161 71806 6 52 12 204 26 44 204 88 12 204 204 71906 6 37 10 188 15 32 188 51 12 188 188 72006 6 11 12 124 11 23 124 33 12 124 124 72107 7 44 17 180 36 109 180 144 17 180 180 72207 7 52 17 206 55 132 206 234 17 206 206 72307 7 110 14 224 37 86 224 182 17 224 224 72407 7 43 17 224 27 77 224 199 17 224 224 72507 7 57 17 203 58 146 203 171 17 203 203 72607 7 117 16 226 63 93 226 189 17 226 226 72707 7 88 14 205 53 148 195 149 17 195 195 72807 7 114 14 224 37 90 224 194 17 224 224 72907 7 83 17 206 65 172 206 192 17 206 206 73007 7 157 14 248 43 77 248 238 17 248 248 73108 8 100 23 229 90 196 237 443 23 229 229 73208 8 983 19 322 96 194 477 1048 23 322 322 73308 8 125 20 223 66 193 223 513 23 223 223 73408 8 325 20 207 157 158 207 643 23 207 207 73508 8 121 18 190 48 103 190 317 23 190 190 73608 8 150 17 209 53 150 209 588 23 209 209 73708 8 787 20 299 98 197 299 705 23 299 299 73808 8 141 15 270 61 194 270 362 23 270 270 73908 8 310 21 277 100 195 277 568 23 277 277 74008 8 630 16 394 106 195 587 727 23 394 394 74109 9 649 25 254 104 195 577 1078 30 254 254 74209 9 2078 24 311 108 195 651 2185 30 311 311 74309 9 522 26 378 266 156 378 665 30 378 378 74409 9 449 27 222 94 197 228 1147 30 222 222 74509 9 395 22 323 109 195 680 713 30 323 323 74609 9 304 27 222 112 197 270 2424 30 222 222 74709 9 3034 25 422 102 195 695 3731 30 422 422 74809 9 675 28 254 108 198 319 1689 30 254 254 74909 9 865 22 322 120 194 639 1101 30 322 322 75009 9 550 18 365 112 196 779 1182 30 365 365 75110 10 388 28 202 99 195 292 3263 38 202 202 75210 10 1894 23 321 146 193 611 2795 38 321 321 75310 10 12844 32 364 102 197 692 15149 38 364 364 75410 10 1734 37 249 117 196 302 5502 38 249 249 75510 10 445 38 202 111 197 242 5027 38 202 202 75610 10 3648 31 352 150 193 362 6012 37 352 352 75710 10 2525 27 425 123 197 783 2334 38 425 425 75810 10 2462 30 264 102 194 328 4423 38 264 264 75910 10 3618 25 340 98 197 658 3963 37 340 340 76010 10 1451 36 210 105 194 687 4317 38 210 210
Anexo 3 289 BRANCH AND BOUND MEDIANTE TIEMPOS (BBt), SERIE 8 código m ite(1) maxl(1) tc(1) ite(2) maxl(2) tc(2) ite(3) maxl(3) tc(3) TC* 80105 5 10 8 145 10 11 145 22 8 145 145 80205 5 17 8 208 17 18 208 24 8 208 208 80305 5 14 8 168 10 22 168 23 8 168 168 80405 5 21 8 240 17 19 240 19 8 240 240 80505 5 16 8 234 17 17 234 28 8 234 234 80605 5 17 8 192 15 25 192 27 8 192 192 80705 5 7 8 130 8 11 130 19 8 130 130 80805 5 6 8 120 6 11 120 19 8 120 120 80905 5 14 8 156 12 16 156 19 8 156 156 81005 5 14 8 234 14 11 234 25 8 234 234 81106 6 50 12 261 29 62 261 84 12 261 261 81206 6 33 11 186 30 31 186 57 12 186 186 81306 6 30 12 232 25 46 232 64 12 232 232 81406 6 42 12 203 24 58 203 72 12 203 203 81506 6 22 12 203 22 50 203 63 12 203 203 81606 6 44 10 261 18 30 261 48 12 261 261 81706 6 49 12 170 23 56 170 82 12 170 170 81806 6 55 10 261 27 37 261 64 12 261 261 81906 6 39 12 248 37 26 248 52 12 248 248 82006 6 62 11 261 35 27 261 80 12 261 261 82107 7 52 17 180 45 65 180 104 17 180 180 82207 7 77 13 273 69 119 273 154 17 273 273 82307 7 24 17 170 27 71 170 142 17 170 170 82407 7 154 17 244 122 129 244 244 17 244 244 82507 7 99 17 268 75 124 268 197 17 268 268 82607 7 44 13 224 26 62 224 140 17 224 224 82707 7 47 15 204 43 63 204 148 17 204 204 82807 7 133 16 180 54 137 170 159 17 170 170 82907 7 52 17 224 28 87 224 181 17 224 224 83007 7 168 17 242 113 117 242 266 17 242 242 83108 8 122 23 200 79 196 205 366 23 200 200 83208 8 357 21 300 103 195 316 460 23 300 300 83308 8 337 23 338 98 198 338 817 23 338 338 83408 8 450 23 277 96 195 649 690 23 277 277 83508 8 323 18 358 123 193 358 587 23 358 358 83608 8 304 19 296 129 168 296 443 23 296 296 83708 8 342 21 336 178 125 336 469 23 336 336 83808 8 183 18 195 89 195 202 528 23 195 195 83908 8 332 18 372 91 195 372 662 23 372 372 84008 8 193 17 257 86 195 257 323 23 257 257 84109 9 1056 23 331 116 197 633 1389 29 331 331 84209 9 347 19 251 110 195 253 1043 30 251 251 84309 9 1953 25 338 106 194 690 2793 30 338 338 84409 9 1772 23 363 108 198 633 2089 30 363 363 84509 9 1594 20 475 92 194 477 1814 28 475 475 84609 9 559 25 252 95 195 337 1180 30 252 252 84709 9 255 17 381 171 177 381 568 27 381 381 84809 9 646 21 257 89 197 264 915 30 257 257 84909 9 337 25 251 98 195 264 769 30 252 251 85009 9 696 22 390 127 194 644 1067 30 390 390 85110 10 1080 31 272 118 195 750 2702 38 272 272 85210 10 1781 27 238 105 197 303 3486 38 238 238 85310 10 1725 38 235 122 195 368 5943 38 235 235 85410 10 1120 27 510 124 194 822 1551 34 510 510 85510 10 1021 28 270 109 196 341 4140 38 270 270 85610 10 7412 28 317 112 194 632 9963 38 317 317 85710 10 918 27 234 104 195 282 3039 38 234 234 85810 10 3743 27 531 108 195 803 4135 37 531 531 85910 10 1318 27 329 105 196 355 3652 38 329 329 86010 10 2913 25 415 118 198 780 3250 37 415 415
Anexo 3 290 BRANCH AND BOUND MEDIANTE TIEMPOS (BBt), SERIE 9 código m ite(1) maxl(1) tc(1) ite(2) maxl(2) tc(2) ite(3) maxl(3) tc(3) TC* 90105 5 22 8 320 22 22 320 27 8 320 320 90205 5 12 8 186 12 11 186 23 8 186 186 90305 5 23 8 240 14 21 240 23 8 240 240 90405 5 11 8 270 11 14 270 26 8 270 270 90505 5 18 8 210 10 22 210 25 8 210 210 90605 5 9 8 210 10 22 210 27 8 210 210 90705 5 22 6 263 21 11 263 24 8 263 263 90805 5 18 8 251 17 19 251 25 8 251 251 90905 5 9 8 160 9 11 160 19 8 160 160 91005 5 19 8 256 18 22 256 26 8 256 256 91106 6 87 11 368 90 46 368 90 12 368 368 91206 6 13 11 216 18 37 216 58 12 216 216 91306 6 48 12 297 51 38 297 81 12 297 297 91406 6 54 11 288 34 41 288 74 12 288 288 91506 6 55 12 252 29 41 252 77 12 252 252 91606 6 41 12 216 28 55 216 75 12 216 216 91706 6 29 12 190 30 27 190 53 12 190 190 91806 6 52 11 293 37 59 293 73 12 293 293 91906 6 43 10 252 32 27 252 63 12 252 252 92006 6 19 7 204 11 19 204 48 12 204 204 92107 7 142 16 210 65 97 210 219 17 210 210 92207 7 42 15 240 24 58 240 133 17 240 240 92307 7 116 15 210 32 90 200 157 17 200 200 92407 7 107 12 401 73 59 401 101 17 401 401 92507 7 218 16 420 110 132 420 231 17 420 420 92607 7 104 17 210 47 147 210 161 17 210 210 92707 7 103 13 360 57 101 360 193 17 360 360 92807 7 121 16 291 71 99 291 242 17 291 291 92907 7 70 16 320 67 193 320 183 17 324 320 93007 7 209 15 352 115 70 352 216 17 352 352 93108 8 488 23 275 83 195 276 706 23 275 275 93208 8 166 23 230 73 195 230 405 23 231 230 93308 8 958 19 365 105 194 390 1038 23 365 365 93408 8 543 20 360 108 197 375 687 23 360 360 93508 8 310 16 462 173 195 728 348 23 462 462 93608 8 274 19 455 226 143 455 274 22 455 455 93708 8 622 17 450 117 195 713 730 23 450 450 93808 8 349 22 322 88 194 322 749 23 322 322 93908 8 448 21 288 95 197 611 597 23 288 288 94008 8 618 21 400 113 194 651 770 23 400 400 94109 9 650 24 416 105 196 690 1077 30 416 416 94209 9 2550 24 455 99 195 775 2748 30 455 455 94309 9 1546 28 312 174 193 369 1934 30 312 312 94409 9 1605 27 483 109 195 794 2178 30 483 483 94509 9 1448 28 270 114 194 312 2380 30 270 270 94609 9 382 22 350 106 196 350 619 27 350 350 94709 9 910 21 454 95 197 825 2031 30 454 454 94809 9 1440 26 445 107 196 763 1812 30 445 445 94909 9 1493 23 320 108 195 701 1682 30 320 320 95009 9 1719 25 392 110 194 775 1924 30 392 392 95110 10 3022 28 434 94 196 848 3856 38 434 434 95210 10 4372 32 608 121 195 895 4794 38 608 608 95310 10 3848 28 599 97 195 887 4306 35 599 599 95410 10 2494 28 464 93 194 920 2745 38 464 464 95510 10 2553 27 384 106 194 793 3512 38 384 384 95610 10 6588 26 654 106 194 915 6684 37 654 654 95710 10 3437 24 372 111 196 734 4565 38 372 372 95810 10 1745 31 336 114 196 360 3146 38 336 336 95910 10 3138 29 423 104 196 469 4911 38 423 423 96010 10 2888 32 432 128 193 717 4323 37 432 432
Anexo 3 291 BRANCH AND BOUND MEDIANTE BAÑOS (BBb), SERIE 1 código m ite(1) maxl(1) tc(1) ite(2) maxl(2) tc(2) ite(3) maxl(3) tc(3) TC* 10105 5 15 7 214 18 11 214 23 8 214 214 10205 5 17 7 185 17 9 185 23 8 185 185 10305 5 16 6 240 15 11 240 21 8 240 240 10405 5 14 8 198 13 11 198 24 8 198 198 10505 5 12 8 158 10 10 158 23 8 158 158 10605 5 10 8 172 8 11 172 12 8 172 172 10705 5 13 7 195 16 10 195 24 8 195 195 10805 5 13 7 130 12 8 130 21 8 130 123 10905 5 19 7 252 17 11 252 20 8 252 252 11005 5 20 7 348 20 9 348 20 8 348 348 11106 6 36 12 220 28 37 220 51 12 220 220 11206 6 24 6 413 24 8 413 24 10 413 413 11306 6 34 9 410 34 18 410 34 12 410 410 11406 6 31 9 137 29 16 137 52 12 137 137 11506 6 27 6 451 27 11 451 27 9 451 451 11606 6 51 9 171 32 30 171 54 12 171 171 11706 6 47 9 189 49 27 189 64 12 189 189 11806 6 25 9 162 20 15 162 41 12 162 162 11906 6 52 10 194 51 31 194 64 12 196 194 12006 6 22 11 144 19 20 144 32 12 172 144 12107 7 53 8 479 53 17 479 53 15 479 479 12207 7 53 12 166 51 37 166 103 17 166 166 12307 7 99 13 208 88 45 208 165 17 208 208 12407 7 58 15 200 52 38 200 95 17 200 200 12507 7 106 10 371 96 38 371 112 17 371 371 12607 7 39 7 471 39 12 471 39 13 471 471 12707 7 44 11 480 44 12 480 44 15 480 480 12807 7 76 11 216 51 40 216 81 17 216 216 12907 7 191 13 232 151 71 232 173 17 232 232 13007 7 63 13 220 40 48 220 96 17 220 220 13108 8 173 12 330 159 46 330 205 23 330 330 13208 8 222 13 378 218 57 378 249 23 378 378 13308 8 88 9 407 88 22 407 91 19 407 407 13408 8 117 9 569 117 28 569 117 21 569 569 13508 8 251 13 323 224 73 323 288 23 323 323 13608 8 130 9 416 129 26 416 150 23 416 416 13708 8 148 10 368 147 31 368 167 23 368 368 13808 8 207 13 225 197 61 225 293 23 225 225 13908 8 209 11 238 206 69 238 245 23 238 238 14008 8 201 12 374 193 45 374 222 23 374 374 14109 9 120 9 479 120 22 479 120 27 479 479 14209 9 105 13 664 105 22 664 105 26 664 664 14309 9 265 11 475 260 60 475 276 30 475 475 14409 9 89 12 610 89 21 610 89 24 610 610 14509 9 279 12 677 279 65 677 279 26 677 677 14609 9 115 14 659 115 25 659 115 27 659 659 14709 9 118 9 605 118 20 605 118 27 605 605 14809 9 294 11 482 289 61 482 303 30 482 482 14909 9 479 18 250 479 166 250 687 30 250 248 15009 9 274 11 570 274 55 570 274 25 570 436 15110 10 223 15 771 223 35 771 223 37 771 771 15210 10 630 13 532 606 101 532 645 38 532 532 15310 10 293 13 653 293 51 653 293 34 653 653 15410 10 792 15 653 792 129 653 792 38 653 653 15510 10 317 12 486 316 50 486 333 38 486 486 15610 10 117 16 689 117 23 689 117 30 689 689 15710 10 714 19 268 288 191 719 787 36 268 268 15810 10 141 13 770 141 27 770 141 31 770 770 15910 10 534 13 448 497 91 448 537 36 448 448 16010 10 893 15 456 829 153 456 868 38 456 456
Anexo 3 292 BRANCH AND BOUND MEDIANTE BAÑOS (BBb), SERIE 2 código m ite(1) maxl(1) tc(1) ite(2) maxl(2) tc(2) ite(3) maxl(3) tc(3) TC* 20105 5 14 7 346 14 8 346 14 8 346 346 20205 5 12 7 224 13 9 224 19 8 224 224 20305 5 7 8 140 7 8 140 23 8 140 140 20405 5 16 7 182 16 8 182 22 8 182 182 20505 5 16 7 224 17 11 224 23 8 224 224 20605 5 8 8 182 7 9 182 16 8 182 182 20705 5 16 6 224 16 10 224 23 8 224 224 20805 5 13 7 196 12 10 196 15 8 196 196 20905 5 16 8 201 16 8 201 20 8 201 201 21005 5 13 7 280 14 11 280 20 8 280 280 21106 6 53 9 499 53 20 499 53 12 499 499 21206 6 34 7 293 33 17 293 37 11 293 293 21306 6 37 8 287 36 14 287 37 12 287 287 21406 6 46 8 245 43 22 245 57 12 245 245 21506 6 42 8 351 41 20 351 46 12 351 351 21606 6 43 8 342 45 19 342 52 12 342 342 21706 6 42 10 331 40 17 331 47 12 331 331 21806 6 43 10 286 40 19 286 48 12 286 286 21906 6 26 11 231 28 23 231 45 12 231 231 22006 6 45 8 351 44 19 351 51 12 351 351 22107 7 63 15 180 32 60 180 89 17 180 180 22207 7 59 9 593 59 20 593 59 17 593 593 22307 7 71 8 403 70 22 403 75 17 403 403 22407 7 72 10 577 72 26 577 72 16 577 577 22507 7 95 9 400 80 31 400 91 17 400 400 22607 7 104 12 217 97 47 217 131 17 217 217 22707 7 91 11 256 92 36 256 129 17 256 256 22807 7 71 8 322 70 25 322 81 17 322 322 22907 7 69 9 429 68 25 429 73 17 429 429 23007 7 85 8 504 84 26 504 87 15 504 504 23108 8 130 10 648 130 33 648 130 22 648 648 23208 8 102 12 532 101 25 532 102 23 532 532 23308 8 39 10 623 39 11 623 39 16 623 623 23408 8 95 9 619 95 20 619 95 21 619 619 23508 8 145 12 718 145 33 718 145 23 718 718 23608 8 133 15 498 133 30 498 133 21 498 498 23708 8 179 12 344 172 49 344 188 20 344 344 23808 8 193 11 412 189 51 412 191 20 412 412 23908 8 176 12 342 173 50 342 200 23 342 342 24008 8 183 12 307 177 48 307 196 21 307 307 24109 9 213 12 386 203 53 386 232 27 386 386 24209 9 426 14 435 407 78 435 442 30 435 435 24309 9 125 12 683 125 24 683 125 26 683 683 24409 9 144 16 684 144 29 684 144 29 684 684 24509 9 69 10 560 69 14 560 69 23 560 560 24609 9 74 10 652 74 18 652 74 24 652 652 24709 9 431 13 446 416 109 446 443 30 446 446 24809 9 310 15 360 293 66 360 325 30 360 360 24909 9 84 12 787 84 18 787 84 23 787 787 25009 9 172 14 662 172 32 662 172 29 662 662 25110 10 535 15 347 473 111 347 590 34 347 347 25210 10 174 14 771 174 28 771 174 32 771 771 25310 10 522 16 357 429 116 357 544 36 357 357 25410 10 117 16 687 117 23 687 117 31 687 687 25510 10 124 15 828 124 25 828 124 29 828 828 25610 10 416 13 494 387 78 494 418 36 494 494 25710 10 248 15 885 248 51 885 248 34 885 885 25810 10 166 15 831 166 39 831 166 31 831 831 25910 10 681 15 405 652 127 405 685 35 405 405 26010 10 379 14 571 373 73 571 397 35 571 571
Anexo 3 293 BRANCH AND BOUND MEDIANTE BAÑOS (BBb), SERIE 3 código m ite(1) maxl(1) tc(1) ite(2) maxl(2) tc(2) ite(3) maxl(3) tc(3) TC* 30105 5 20 8 314 17 14 314 22 8 314 314 30205 5 16 8 192 15 14 192 24 8 192 192 30305 5 10 8 160 9 10 160 24 8 160 160 30405 5 17 6 409 17 7 409 17 8 409 409 30505 5 20 7 283 20 11 283 24 8 283 262 30605 5 17 7 310 15 12 310 21 8 310 310 30705 5 17 7 250 17 9 250 23 8 250 250 30805 5 14 7 192 14 14 192 24 8 192 192 30905 5 20 7 284 20 16 284 26 8 284 284 31005 5 18 6 323 18 10 323 19 7 323 323 31106 6 33 7 491 33 11 491 33 12 491 491 31206 6 43 11 207 40 26 207 58 12 207 207 31306 6 46 8 350 45 20 350 49 12 350 350 31406 6 33 7 602 33 12 602 33 12 602 602 31506 6 39 8 472 39 13 472 39 12 472 472 31606 6 27 9 383 27 13 383 27 10 383 383 31706 6 32 8 294 37 25 294 52 12 294 294 31806 6 46 9 284 56 23 284 54 12 284 284 31906 6 27 7 421 27 10 421 27 11 421 421 32006 6 63 10 296 67 40 266 74 12 266 266 32107 7 36 9 529 36 10 529 36 13 529 529 32207 7 43 11 595 43 14 595 43 17 595 595 32307 7 33 9 658 33 10 658 33 13 658 658 32407 7 93 12 236 85 44 236 129 17 236 236 32507 7 44 12 589 44 13 589 44 17 589 589 32607 7 46 10 519 46 12 519 46 17 519 519 32707 7 105 10 260 112 42 260 130 17 260 260 32807 7 67 10 473 65 25 473 70 16 473 473 32907 7 38 8 590 38 11 590 38 13 590 590 33007 7 49 11 250 49 27 250 93 17 250 250 33108 8 114 11 628 113 30 628 114 22 628 628 33208 8 84 10 392 82 24 392 103 23 392 392 33308 8 102 11 527 102 30 527 102 22 527 527 33408 8 123 10 443 118 32 443 126 22 443 443 33508 8 74 12 603 75 26 603 77 20 603 603 33608 8 159 10 544 152 43 544 169 23 544 544 33708 8 72 13 601 72 21 601 72 22 601 601 33808 8 185 11 410 162 47 410 184 23 410 410 33908 8 60 14 609 60 18 609 60 21 609 609 34008 8 229 13 289 209 89 289 288 23 289 289 34109 9 266 14 606 266 52 606 267 30 606 606 34209 9 61 12 861 61 14 861 61 21 861 861 34309 9 126 17 818 126 26 818 126 30 818 818 34409 9 353 14 462 334 83 462 371 30 462 461 34509 9 224 11 580 223 50 580 238 27 580 580 34609 9 127 15 715 127 34 715 127 24 715 715 34709 9 338 14 344 332 111 344 447 30 344 344 34809 9 120 12 700 120 27 700 120 24 700 700 34909 9 609 14 424 579 127 424 623 30 424 424 35009 9 188 13 880 188 38 880 188 29 880 880 35110 10 302 13 737 302 66 737 302 36 737 737 35210 10 416 15 559 386 76 559 434 37 559 559 35310 10 217 13 825 217 43 825 217 35 825 825 35410 10 206 17 693 206 43 693 206 34 693 693 35510 10 118 18 934 118 21 934 118 31 934 934 35610 10 189 12 856 189 35 856 189 31 856 856 35710 10 154 14 804 154 26 804 154 31 804 804 35810 10 104 13 866 104 19 866 104 30 866 866 35910 10 254 14 752 254 42 752 254 33 752 752 36010 10 485 15 571 450 115 571 475 36 571 571
Anexo 3 294 BRANCH AND BOUND MEDIANTE BAÑOS (BBb), SERIE 4 código m ite(1) maxl(1) tc(1) ite(2) maxl(2) tc(2) ite(3) maxl(3) tc(3) TC* 40105 5 7 8 138 7 8 138 18 8 138 138 40205 5 15 6 194 15 9 194 20 8 194 194 40305 5 12 8 230 14 11 230 23 8 230 230 40405 5 9 8 138 9 8 138 20 8 138 138 40505 5 14 5 254 14 7 254 20 8 254 254 40605 5 8 7 144 9 14 144 11 8 172 144 40705 5 14 8 184 12 11 184 21 8 184 184 40805 5 14 6 214 14 13 214 20 8 214 214 40905 5 14 7 155 12 12 155 19 8 155 155 41005 5 10 8 138 10 11 138 24 8 138 138 41106 6 49 11 211 49 33 211 70 12 211 211 41206 6 51 11 266 49 33 266 65 12 266 266 41306 6 28 8 244 17 10 244 31 11 244 244 41406 6 63 11 316 60 26 316 67 12 316 316 41506 6 55 9 287 56 31 287 57 11 287 287 41606 6 27 9 221 23 17 221 42 12 221 221 41706 6 17 11 165 20 21 165 48 12 165 165 41806 6 15 11 160 15 22 160 40 12 160 160 41906 6 54 11 211 62 35 211 60 12 211 211 42006 6 27 9 236 27 17 236 44 12 236 236 42107 7 85 12 204 78 51 204 131 17 204 204 42207 7 83 10 282 82 44 282 115 17 282 282 42307 7 113 11 423 109 47 423 116 17 423 423 42407 7 141 13 204 98 93 204 167 17 204 204 42507 7 60 8 288 66 29 288 94 17 288 288 42607 7 108 13 249 101 56 249 164 17 249 249 42707 7 64 12 220 69 75 220 145 17 220 220 42807 7 108 12 431 107 40 431 122 17 431 431 42907 7 94 11 304 93 39 304 117 17 304 304 43007 7 106 12 361 98 47 361 106 17 361 361 43108 8 166 12 370 162 52 370 169 22 370 370 43208 8 187 11 537 187 47 537 190 22 537 537 43308 8 79 13 532 79 20 532 79 20 532 532 43408 8 279 14 244 265 136 244 323 22 244 244 43508 8 229 15 265 213 93 265 277 22 265 265 43608 8 300 14 273 291 112 273 349 23 273 273 43708 8 448 19 208 213 192 489 508 23 208 208 43808 8 248 16 194 120 193 194 400 23 194 194 43908 8 303 17 250 308 146 250 376 21 250 250 44008 8 234 19 188 103 194 188 564 23 188 188 44109 9 846 18 357 800 184 357 883 30 357 357 44209 9 593 21 254 128 196 665 825 30 254 254 44309 9 383 15 401 373 93 401 409 28 401 401 44409 9 274 13 497 270 68 497 280 29 497 497 44509 9 196 10 546 193 46 546 210 27 546 546 44609 9 279 13 509 279 55 509 304 30 509 509 44709 9 287 14 524 287 63 524 287 27 524 524 44809 9 212 12 602 212 54 602 212 24 602 602 44909 9 387 17 384 381 92 384 395 27 384 384 45009 9 670 17 310 218 192 646 806 28 310 310 45110 10 240 15 677 240 42 677 240 33 677 677 45210 10 295 17 825 295 56 825 295 37 825 825 45310 10 695 17 459 690 176 459 854 37 459 459 45410 10 1424 20 451 247 196 674 1436 37 451 451 45510 10 1255 19 320 377 194 565 1440 38 320 320 45610 10 238 15 748 237 47 748 238 35 748 748 45710 10 731 17 312 683 185 312 786 37 312 312 45810 10 450 15 568 447 86 568 468 32 568 568 45910 10 773 19 376 380 193 677 869 37 376 376 46010 10 382 14 643 369 76 643 382 34 643 643
Anexo 3 295 BRANCH AND BOUND MEDIANTE BAÑOS (BBb), SERIE 5 código m ite(1) maxl(1) tc(1) ite(2) maxl(2) tc(2) ite(3) maxl(3) tc(3) TC* 50105 5 8 7 156 8 10 156 21 8 156 156 50205 5 18 6 294 18 10 294 18 8 294 294 50305 5 22 6 300 22 12 300 24 8 300 300 50405 5 8 8 130 8 8 130 20 8 130 130 50505 5 20 6 270 20 13 270 23 8 270 270 50605 5 23 8 208 13 16 208 22 8 208 208 50705 5 12 7 190 14 14 175 22 8 175 175 50805 5 9 8 156 9 11 156 21 8 156 156 50905 5 6 8 130 6 8 130 18 8 130 130 51005 5 24 7 261 17 14 261 23 8 261 261 51106 6 17 8 217 17 13 217 38 12 217 217 51206 6 35 7 408 35 10 408 35 12 408 408 51306 6 32 8 406 32 14 406 32 11 406 406 51406 6 34 10 319 35 20 319 35 12 319 319 51506 6 29 7 174 19 14 174 38 12 174 174 51606 6 27 11 186 24 34 186 54 12 186 186 51706 6 33 12 155 28 26 155 37 12 172 155 51806 6 27 9 297 27 22 297 39 12 297 297 51906 6 63 10 382 62 23 382 64 12 382 382 52006 6 63 10 206 49 36 206 59 12 206 206 52107 7 83 14 216 72 67 216 170 17 216 216 52207 7 77 12 266 77 51 266 143 17 266 266 52307 7 69 10 317 68 27 317 77 15 317 317 52407 7 102 9 374 100 35 374 110 17 374 374 52507 7 29 15 180 30 26 180 100 17 180 180 52607 7 132 15 266 137 124 266 193 17 266 266 52707 7 85 9 442 85 25 442 91 17 442 442 52807 7 54 8 499 54 16 499 54 15 499 499 52907 7 70 9 349 70 23 349 74 17 349 349 53007 7 56 11 525 56 20 525 56 15 525 525 53108 8 145 12 541 145 47 541 145 23 541 541 53208 8 291 14 297 284 128 297 397 23 297 297 53308 8 359 14 301 338 136 301 398 23 301 301 53408 8 310 13 472 305 98 472 314 23 472 472 53508 8 219 14 301 143 110 301 277 23 301 301 53608 8 280 15 385 276 89 385 309 23 385 385 53708 8 140 11 530 139 39 530 146 20 530 530 53808 8 228 18 384 209 72 384 246 23 384 384 53908 8 188 13 364 177 75 364 214 23 364 364 54008 8 121 14 616 121 34 616 121 22 616 616 54109 9 645 17 384 634 178 384 703 30 384 384 54209 9 384 15 288 184 193 746 704 30 288 288 54309 9 66 14 601 66 16 601 66 23 601 601 54409 9 830 17 366 194 194 619 893 29 366 366 54509 9 1559 22 271 123 194 654 1871 30 271 271 54609 9 331 13 542 330 74 542 351 29 542 542 54709 9 719 16 350 253 193 629 846 30 350 350 54809 9 348 13 393 336 97 393 374 30 393 393 54909 9 669 14 457 641 168 457 692 30 457 457 55009 9 864 19 258 176 194 642 1082 30 258 258 55110 10 120 15 762 120 24 762 120 30 762 762 55210 10 637 15 553 624 112 553 689 38 553 553 55310 10 204 17 825 204 41 825 204 33 825 825 55410 10 536 14 750 535 114 750 543 36 750 750 55510 10 490 15 445 422 119 445 566 38 445 445 55610 10 310 16 744 310 68 744 310 32 744 744 55710 10 559 17 586 543 106 586 599 37 586 586 55810 10 601 15 607 584 124 607 611 36 607 607 55910 10 1466 20 437 161 193 784 1636 37 437 437 56010 10 603 15 591 582 128 591 625 37 591 591
Anexo 3 296 BRANCH AND BOUND MEDIANTE BAÑOS (BBb), SERIE 6 código m ite(1) maxl(1) tc(1) ite(2) maxl(2) tc(2) ite(3) maxl(3) tc(3) TC* 60105 5 8 7 160 7 8 160 20 8 160 160 60205 5 14 7 207 17 14 207 24 8 207 207 60305 5 9 8 160 9 11 160 19 8 160 160 60405 5 17 6 354 17 9 354 18 8 354 354 60505 5 18 6 252 18 12 252 23 8 252 252 60605 5 16 6 238 18 11 238 25 8 238 238 60705 5 20 8 197 18 15 197 23 8 197 197 60805 5 17 5 368 17 8 368 17 7 368 368 60905 5 15 8 170 14 16 170 21 8 170 170 61005 5 19 8 272 21 19 272 23 8 272 272 61106 6 31 10 228 30 21 228 58 12 228 228 61206 6 56 9 412 56 27 412 63 12 412 412 61306 6 36 8 405 35 19 405 40 11 405 405 61406 6 19 9 414 20 12 414 21 10 414 414 61506 6 32 8 279 29 13 279 33 12 279 279 61606 6 38 9 442 38 17 442 39 12 442 442 61706 6 31 7 360 28 16 360 43 12 360 360 61806 6 38 8 382 38 14 382 41 12 382 382 61906 6 45 9 307 43 23 307 52 12 307 307 62006 6 44 8 395 47 20 395 49 11 395 395 62107 7 84 10 252 38 35 252 110 17 252 252 62207 7 90 13 233 88 56 233 134 17 233 233 62307 7 80 10 400 64 29 400 81 16 400 400 62407 7 72 8 518 72 21 518 79 17 518 518 62507 7 98 12 448 99 38 448 110 17 448 448 62607 7 104 12 324 104 40 324 126 17 324 324 62707 7 116 10 435 114 39 435 118 17 435 435 62807 7 122 12 334 117 52 334 126 17 334 334 62907 7 54 10 502 54 18 502 56 16 502 502 63007 7 66 10 692 66 21 692 66 17 692 692 63108 8 143 13 697 143 35 697 143 23 697 697 63208 8 93 10 548 93 20 548 103 22 548 548 63308 8 120 12 603 119 36 603 132 23 603 603 63408 8 153 13 629 153 38 629 166 23 629 629 63508 8 209 12 453 202 61 453 227 23 453 453 63608 8 82 13 622 82 21 622 82 22 622 622 63708 8 137 12 774 137 42 774 137 23 774 774 63808 8 35 11 703 35 10 703 35 14 703 703 63908 8 123 12 544 123 31 544 134 23 544 544 64008 8 79 14 755 79 19 755 79 22 755 755 64109 9 470 17 455 451 133 455 498 30 455 455 64209 9 127 13 754 127 33 754 127 29 754 754 64309 9 230 13 548 229 51 548 251 30 548 548 64409 9 300 15 558 296 76 558 321 30 558 558 64509 9 477 17 496 474 112 496 495 30 496 496 64609 9 105 15 739 105 29 739 105 26 739 739 64709 9 469 16 370 411 138 370 451 29 370 370 64809 9 155 14 785 155 38 785 155 27 785 785 64909 9 64 16 603 64 20 603 64 23 603 603 65009 9 135 11 851 135 27 851 135 24 851 851 65110 10 429 16 350 399 158 350 614 37 350 350 65210 10 321 16 538 310 80 538 336 34 538 538 65310 10 169 18 867 169 33 867 169 36 867 867 65410 10 80 19 732 80 17 732 80 25 732 732 65510 10 223 16 751 223 50 751 223 30 751 751 65610 10 92 20 718 92 21 718 92 30 718 718 65710 10 97 19 812 97 22 812 97 28 812 812 65810 10 97 15 899 97 18 899 97 29 899 899 65910 10 205 14 582 204 37 582 213 35 582 582 66010 10 528 15 536 521 104 536 565 35 536 536
Anexo 4 304 13508 323 0 0 1 10 0 3 24 4 34 0 6 48 7 58 0 7 87 8 97 29 1 146 2 156 0 4 170 5 180 0 8 201 9 211 0 5 253 6 263 14 2 291 3 301 0 13608 416 0 0 1 12 0 4 36 5 48 0 1 80 2 92 0 5 116 6 128 0 6 152 7 164 24 7 200 8 212 36 2 260 3 272 0 8 312 9 324 0 3 372 4 384 0 13708 368 0 0 1 10 0 4 31 5 41 0 1 69 2 79 0 5 100 6 110 0 2 143 3 153 5 6 174 7 184 0 7 208 8 218 24 3 253 4 263 0 8 295 9 305 4 13808 225 0 0 1 7 0 2 12 3 19 0 6 34 7 41 0 3 72 4 79 11 1 94 2 101 0 4 111 5 118 0 7 128 8 135 0 8 161 9 168 26 5 188 6 195 0 13908 238 0 0 1 7 0 3 17 4 24 0 7 39 8 46 0 4 66 5 73 0 1 93 2 100 0 5 115 6 122 0 8 132 9 139 0 2 174 3 181 0 6 196 7 203 0 14008 374 0 0 1 10 0 4 31 5 41 0 1 83 2 93 14 5 114 6 124 0 6 146 7 156 22 2 191 3 201 0 7 229 8 239 0 8 284 9 294 45 3 336 4 346 0 14109 479 0 0 1 9 0 9 57 10 66 0 1 120 2 129 0 2 162 3 171 33 3 238 4 247 67 4 268 5 277 21 5 307 6 316 30 6 339 7 348 23 7 374 8 383 26 8 416 9 425 33 14209 664 0 0 1 13 0 1 52 2 65 39 2 132 3 145 67 3 186 4 199 41 4 238 5 251 39 5 281 6 294 30 6 341 7 354 47 7 386 8 399 32 8 470 9 483 71 9 561 10 574 78 14309 475 0 0 1 10 0 6 45 7 55 0 1 97 2 107 0 7 142 8 152 0 2 194 3 204 0 8 239 9 249 0 3 291 4 301 0 9 336 10 346 0 4 388 5 398 0 5 423 6 433 25 14409 610 0 0 1 13 0 1 55 2 68 42 2 134 3 147 66 3 183 4 196 36 4 217 5 230 21 5 259 6 272 29 6 304 7 317 32 7 385 8 398 68 8 458 9 471 60 9 507 10 520 36 14509 677 0 0 1 12 0 1 55 2 67 43 2 101 3 113 34 3 175 4 187 62 4 219 5 231 32 5 299 6 311 68 6 385 7 397 74 7 463 8 475 66 8 517 9 529 42 9 585 10 597 56 14609 659 0 0 1 13 0 1 62 2 75 49 2 116 3 129 41 3 187 4 200 58 4 242 5 255 42 5 321 6 334 66 6 364 7 377 30 7 440 8 453 63 8 511 9 524 58 9 556 10 569 32 14709 605 0 0 1 12 0 1 73 2 85 61 2 140 3 152 55 3 205 4 217 53 4 271 5 283 54 5 304 6 316 21 6 339 7 351 23 7 380 8 392 29 8 426 9 438 34 9 513 10 525 75 14809 482 0 0 1 10 0 6 45 7 55 0 1 97 2 107 0 2 175 3 185 68 7 213 8 223 0 3 258 4 268 0 8 296 9 306 0 9 336 10 346 30 4 388 5 398 0 5 430 6 440 32
Anexo 4 305 14909 248 0 0 1 7 0 2 12 3 19 0 5 29 6 36 0 8 46 9 53 0 6 68 7 75 0 3 95 4 102 0 9 127 10 134 0 7 149 8 156 0 1 191 2 198 0 4 208 5 215 0 15009 436 0 0 1 10 0 6 45 7 55 0 1 97 2 107 0 2 131 3 141 24 3 198 4 208 57 7 229 8 239 0 8 261 9 271 22 9 293 10 303 22 4 345 5 355 0 5 384 6 394 29 15110 771 0 0 1 13 0 1 78 2 91 65 2 156 3 169 65 3 217 4 230 48 4 306 5 319 76 5 361 6 374 42 6 434 7 447 60 7 475 8 488 28 8 530 9 543 42 9 581 10 594 38 10 659 11 672 65 15210 532 0 0 1 10 0 1 53 2 63 43 6 91 7 101 0 7 137 8 147 36 2 189 3 199 0 8 234 9 244 0 3 286 4 296 0 9 331 10 341 0 4 383 5 393 0 10 428 11 438 0 5 480 6 490 0 15310 653 0 0 1 10 0 1 45 2 55 35 2 91 3 101 36 3 167 4 177 66 4 238 5 248 61 5 277 6 287 29 6 322 7 332 35 7 377 8 387 45 8 463 9 473 76 9 510 10 520 37 10 566 11 576 46 15410 653 0 0 1 9 0 1 38 2 47 29 2 94 3 103 47 3 142 4 151 39 4 209 5 218 58 5 262 6 271 44 6 328 7 337 57 7 407 8 416 70 8 449 9 458 33 9 526 10 535 68 10 578 11 587 43 15510 486 0 0 1 9 0 5 33 6 42 0 6 75 7 84 33 1 120 2 129 0 7 159 8 168 0 2 204 3 213 0 8 243 9 252 0 3 288 4 297 0 9 327 10 336 0 4 372 5 381 0 10 411 11 420 0 15610 689 0 0 1 13 0 1 35 2 48 22 2 123 3 136 75 3 157 4 170 21 4 206 5 219 36 5 256 6 269 37 6 318 7 331 49 7 385 8 398 54 8 443 9 456 45 9 494 10 507 38 10 577 11 590 70 15710 268 0 0 1 7 0 3 17 4 24 0 4 50 5 57 26 7 67 8 74 0 9 79 10 86 0 1 131 2 138 0 5 153 6 160 0 8 170 9 177 0 10 182 11 189 0 6 214 7 221 0 2 246 3 253 0 15810 770 0 0 1 15 0 1 73 2 88 58 2 129 3 144 41 3 217 4 232 73 4 269 5 284 37 5 352 6 367 68 6 410 7 425 43 7 491 8 506 66 8 557 9 572 51 9 609 10 624 37 10 645 11 660 21 15910 448 0 0 1 9 0 6 39 7 48 0 1 84 2 93 0 7 123 8 132 0 2 168 3 177 0 8 207 9 216 0 3 252 4 261 0 9 291 10 300 0 10 321 11 330 21 4 372 5 381 0 5 403 6 412 22 16010 456 0 0 1 9 0 1 53 2 62 44 7 92 8 101 0 2 137 3 146 0 3 181 4 190 35 8 214 9 223 0 4 253 5 262 0 9 294 10 303 8 5 333 6 342 0 10 366 11 375 0 6 405 7 414 0
Anexo 4 306 SERIE 2 (VC/GS) Ejemplar H T H’ T’ W (TC) 20105 346 0 0 1 20 0 1 48 2 68 28 2 108 3 128 40 3 154 4 174 26 4 203 5 223 29 5 266 6 286 43 20205 224 0 0 1 16 0 3 32 4 48 0 5 56 6 72 0 1 112 2 128 0 4 144 5 160 0 2 184 3 200 0 20305 140 0 0 1 10 0 3 20 4 30 0 2 40 3 50 0 1 60 2 70 0 5 85 6 95 0 4 105 5 115 0 20405 182 0 0 1 12 0 2 18 3 30 0 1 44 2 56 2 3 62 4 74 0 4 94 5 106 20 5 134 6 146 28 20505 224 0 0 1 16 0 2 24 3 40 0 5 56 6 72 0 3 96 4 112 0 1 136 2 152 0 4 168 5 184 0 20605 182 0 0 1 14 0 2 21 3 35 0 5 49 6 63 0 4 77 5 91 0 1 119 2 133 0 3 140 4 154 0 20705 224 0 0 1 16 0 2 24 3 40 0 5 56 6 72 0 3 96 4 112 0 1 136 2 152 0 4 168 5 184 0 20805 196 0 0 1 14 0 3 28 4 42 0 5 49 6 63 0 1 98 2 112 0 4 126 5 140 0 2 161 3 175 0 20905 201 0 0 1 14 0 4 35 5 49 0 1 82 2 96 5 3 103 4 117 0 5 124 6 138 0 2 166 3 180 0 21005 280 0 0 1 20 0 2 30 3 50 0 5 70 6 90 0 3 120 4 140 0 1 170 2 190 0 4 210 5 230 0 21106 499 0 0 1 18 0 1 57 2 75 39 2 140 3 158 65 3 236 4 254 78 4 323 5 341 69 5 365 6 383 24 6 418 7 436 35 21206 293 0 0 1 16 0 4 40 5 56 0 6 64 7 80 0 1 128 2 144 0 2 173 3 189 29 5 205 6 221 0 3 245 4 261 0 21306 287 0 0 1 14 0 1 47 2 61 33 5 82 6 96 0 2 124 3 138 0 6 159 7 173 0 3 201 4 215 0 4 238 5 252 23 21406 245 0 0 1 14 0 3 28 4 42 0 1 63 2 77 0 4 91 5 105 0 6 112 7 126 0 2 161 3 175 0 5 189 6 203 0 21506 351 0 0 1 18 0 4 45 5 63 0 1 99 2 117 0 5 144 6 162 0 2 198 3 216 0 6 243 7 261 0 3 297 4 315 0 21606 342 0 0 1 18 0 1 44 2 62 26 4 80 5 98 0 5 135 6 153 37 2 189 3 207 0 6 234 7 252 0 3 288 4 306 0 21706 331 0 0 1 18 0 3 36 4 54 0 6 72 7 90 0 4 133 5 151 16 1 187 2 205 0 5 232 6 250 0 2 286 3 304 0 21806 286 0 0 1 16 0 3 32 4 48 0 6 64 7 80 0 4 104 5 120 0 1 152 2 168 0 5 192 6 208 0 2 240 3 256 0 21906 231 0 0 1 14 0 2 21 3 35 0 5 49 6 63 0 3 84 4 98 0 1 119 2 133 0 4 147 5 161 0 6 168 7 182 0
Anexo 4 307 22006 351 0 0 1 18 0 4 45 5 63 0 1 99 2 117 0 5 144 6 162 0 2 198 3 216 0 6 243 7 261 0 3 297 4 315 0 22107 180 0 0 1 10 0 2 15 3 25 0 4 30 5 40 0 6 45 7 55 0 1 85 2 95 0 3 100 4 110 0 5 115 6 125 0 7 130 8 140 0 22207 593 0 0 1 20 0 1 85 2 105 65 2 162 3 182 57 3 221 4 241 39 4 300 5 320 59 5 385 6 405 65 6 429 7 449 24 7 493 8 513 44 22307 403 0 0 1 16 0 4 40 5 56 0 5 92 6 108 36 1 148 2 164 0 6 196 7 212 0 7 232 8 248 20 2 296 3 312 0 3 355 4 371 43 22407 577 0 0 1 18 0 7 72 8 90 0 1 153 2 171 0 2 228 3 246 57 3 280 4 298 34 4 352 5 370 54 5 448 6 466 78 6 496 7 514 30 22507 400 0 0 1 18 0 1 40 2 58 22 5 85 6 103 0 2 139 3 157 0 6 184 7 202 0 3 238 4 256 0 7 283 8 301 0 4 337 5 355 0 22607 217 0 0 1 10 0 2 15 3 25 0 6 40 7 50 0 4 65 5 75 0 7 102 8 112 17 1 147 2 157 0 3 162 4 172 0 5 177 6 187 0 22707 256 0 0 1 12 0 2 18 3 30 0 5 42 6 54 0 3 76 4 88 4 6 100 7 112 0 1 148 2 160 0 4 172 5 184 0 7 196 8 208 0 22807 322 0 0 1 14 0 4 35 5 49 0 7 63 8 77 0 1 126 2 140 0 5 161 6 175 0 2 203 3 217 0 6 238 7 252 0 3 280 4 294 0 22907 429 0 0 1 18 0 4 45 5 63 0 1 99 2 117 0 5 144 6 162 0 2 198 3 216 0 6 243 7 261 0 7 312 8 330 51 3 375 4 393 0 23007 504 0 0 1 18 0 5 54 6 72 0 1 117 2 135 0 6 171 7 189 0 7 241 8 259 52 2 313 3 331 0 3 358 4 376 27 4 441 5 459 65 23108 648 0 0 1 16 0 1 63 2 79 47 2 118 3 134 39 3 203 4 219 69 4 293 5 309 74 5 367 6 383 58 6 411 7 427 28 7 486 8 502 59 8 560 9 576 58 23208 532 0 0 1 16 0 1 40 2 56 24 2 106 3 122 50 3 159 4 175 37 4 212 5 228 37 5 307 6 323 79 6 345 7 361 22 7 396 8 412 35 8 444 9 460 32 23308 623 0 0 1 20 0 1 84 2 104 64 2 133 3 153 29 3 180 4 200 27 4 242 5 262 42 5 322 6 342 60 6 394 7 414 52 7 467 8 487 53 8 513 9 533 26 23408 619 0 0 1 16 0 1 86 2 102 70 2 141 3 157 39 3 220 4 236 63 4 295 5 311 59 5 333 6 349 22 6 391 7 407 42 7 465 8 481 58 8 531 9 547 50
Anexo 4 308 23508 718 0 0 1 20 0 1 63 2 83 43 2 158 3 178 75 3 249 4 269 71 4 344 5 364 75 5 404 6 424 40 6 497 7 517 73 7 550 8 570 33 8 608 9 628 38 23608 498 0 0 1 12 0 1 73 2 85 61 2 111 3 123 26 3 196 4 208 73 4 269 5 281 61 5 301 6 313 20 6 333 7 345 20 7 378 8 390 33 8 432 9 444 42 23708 344 0 0 1 12 0 5 36 6 48 0 1 78 2 90 0 2 111 3 123 21 6 141 7 153 0 3 177 4 189 0 7 226 8 238 19 8 259 9 271 21 4 301 5 313 0 23808 412 0 0 1 12 0 1 37 2 49 25 2 73 3 85 24 7 109 8 121 0 8 141 9 153 20 3 189 4 201 0 4 241 5 253 40 5 294 6 306 41 6 358 7 370 52 23908 342 0 0 1 12 0 4 30 5 42 0 1 66 2 78 0 5 96 6 108 0 2 132 3 144 0 6 162 7 174 0 7 195 8 207 21 3 237 4 249 0 8 276 9 288 3 24008 307 0 0 1 10 0 5 30 6 40 0 1 71 2 81 6 2 102 3 112 21 6 127 7 137 0 3 172 4 182 15 7 197 8 207 0 4 227 5 237 0 8 252 9 262 0 24109 386 0 0 1 12 0 5 36 6 48 0 1 78 2 90 0 2 114 3 126 24 6 144 7 156 0 3 180 4 192 0 7 210 8 222 0 4 246 5 258 0 8 276 9 288 0 9 314 10 326 26 24209 435 0 0 1 12 0 5 36 6 48 0 1 83 2 95 5 6 119 7 131 0 2 161 3 173 0 7 200 8 212 3 3 249 4 261 7 8 285 9 297 0 4 327 5 339 0 9 363 10 375 0 24309 683 0 0 1 16 0 1 60 2 76 44 2 138 3 154 62 3 184 4 200 30 4 233 5 249 33 5 325 6 341 76 6 386 7 402 45 7 434 8 450 32 8 522 9 538 72 9 587 10 603 49 24409 684 0 0 1 16 0 1 40 2 56 24 2 107 3 123 51 3 197 4 213 74 4 245 5 261 32 5 322 6 338 61 6 385 7 401 47 7 425 8 441 24 8 493 9 509 52 9 588 10 604 79 24509 560 0 0 1 14 0 1 78 2 92 64 2 120 3 134 28 3 159 4 173 25 4 213 5 227 40 5 259 6 273 32 6 305 7 319 32 7 372 8 386 53 8 412 9 426 26 9 476 10 490 50 24609 652 0 0 1 16 0 1 81 2 97 65 2 152 3 168 55 3 199 4 215 31 4 249 5 265 34 5 286 6 302 21 6 337 7 353 35 7 429 8 445 76 8 489 9 505 44 9 556 10 572 51 24709 446 0 0 1 12 0 5 36 6 48 0 6 90 7 102 42 1 138 2 150 0 7 180 8 192 0 2 228 3 240 0 8 270 9 282 0 9 306 10 318 24 3 360 4 372 0 4 404 5 416 32 24809 360 0 0 1 10 0 6 35 7 45 0 1 75 2 85 0 7 110 8 120 0 2 150 3 160 0 3 190 4 200 30 8 220 9 230 0 4 255 5 265 0 9 285 10 295 0 5 320 6 330 0
Anexo 4 309 24909 787 0 0 1 20 0 1 96 2 116 76 2 187 3 207 71 3 232 4 252 25 4 276 5 296 24 5 362 6 382 66 6 435 7 455 53 7 511 8 531 56 8 600 9 620 69 9 667 10 687 47 25009 662 0 0 1 16 0 1 42 2 58 26 2 101 3 117 43 3 187 4 203 70 4 281 5 297 78 5 350 6 366 53 6 399 7 415 33 7 446 8 462 31 8 492 9 508 30 9 566 10 582 58 25110 347 0 0 1 10 0 4 25 5 35 0 8 50 9 60 0 1 100 2 110 0 2 132 3 142 22 5 152 6 162 0 9 177 10 187 0 3 222 4 232 0 6 242 7 252 0 10 267 11 277 0 7 297 8 307 0 25210 771 0 0 1 16 0 1 73 2 89 57 2 168 3 184 79 3 208 4 224 24 4 304 5 320 80 5 359 6 375 39 6 397 7 413 22 7 476 8 492 63 8 560 9 576 68 9 596 10 612 20 10 667 11 683 55 25310 357 0 0 1 10 0 5 30 6 40 0 8 50 9 60 0 1 100 2 110 0 2 142 3 152 32 6 167 7 177 0 9 187 10 197 0 3 232 4 242 0 7 257 8 267 0 10 277 11 287 0 4 322 5 332 0 25410 687 0 0 1 18 0 1 41 2 59 23 2 139 3 157 80 3 187 4 205 30 4 271 5 289 66 5 334 6 352 45 6 385 7 403 33 7 429 8 447 26 8 471 9 489 24 9 525 10 543 36 10 570 11 588 27 25510 828 0 0 1 20 0 1 87 2 107 67 2 167 3 187 60 3 224 4 244 37 4 321 5 341 77 5 414 6 434 73 6 455 7 475 21 7 506 8 526 31 8 569 9 589 43 9 611 10 631 22 10 698 11 718 67 25610 494 0 0 1 12 0 6 42 7 54 0 1 90 2 102 0 7 132 8 144 0 2 180 3 192 0 3 226 4 238 34 8 262 9 274 0 4 304 5 316 0 9 348 10 360 8 10 398 11 410 38 5 446 6 458 0 25710 885 0 0 1 18 0 1 42 2 60 24 2 129 3 147 69 3 177 4 195 30 4 272 5 290 77 5 345 6 363 55 6 435 7 453 72 7 499 8 517 46 8 596 9 614 79 9 674 10 692 60 10 768 11 786 76 25810 831 0 0 1 18 0 1 64 2 82 46 2 103 3 121 21 3 193 4 211 72 4 265 5 283 54 5 321 6 339 38 6 378 7 396 39 7 475 8 493 79 8 572 9 590 79 9 629 10 647 39 10 714 11 732 67 25910 405 0 0 1 10 0 1 33 2 43 23 7 68 8 78 0 2 122 3 132 14 3 153 4 163 21 8 184 9 194 1 4 226 5 236 7 9 256 10 266 0 5 295 6 305 4 10 325 11 335 0 6 360 7 370 0 26010 571 0 0 1 14 0 6 49 7 63 0 1 105 2 119 0 2 169 3 183 50 7 211 8 225 0 3 260 4 274 0 8 302 9 316 0 9 354 10 368 38 4 410 5 424 0 10 459 11 473 0 5 515 6 529 0
Anexo 4 310 SERIE 3 (VC/GL) Ejemplar H T H’ T’ W (TC) 30105 314 0 0 1 27 0 3 45 4 72 0 5 81 6 108 0 1 153 2 180 0 4 198 5 225 0 2 252 3 279 0 30205 192 0 0 1 18 0 2 24 3 42 0 4 48 5 66 0 1 90 2 108 0 3 114 4 132 0 5 138 6 156 0 30305 160 0 0 1 15 0 2 20 3 35 0 4 40 5 55 0 1 75 2 90 0 3 95 4 110 0 5 115 6 130 0 30405 409 0 0 1 27 0 5 63 6 90 0 1 135 2 162 0 2 204 3 231 42 3 278 4 305 47 4 337 5 364 32 30505 262 0 0 1 21 0 3 35 4 56 0 1 77 2 98 0 4 112 5 133 0 2 164 3 185 10 5 199 6 220 0 30605 310 0 0 1 27 0 3 45 4 72 0 1 99 2 126 0 4 144 5 171 0 5 193 6 220 22 2 256 3 283 0 30705 250 0 0 1 21 0 2 28 3 49 0 5 63 6 84 0 3 117 4 138 12 1 159 2 180 0 4 194 5 215 0 30805 192 0 0 1 18 0 2 24 3 42 0 4 48 5 66 0 1 90 2 108 0 3 114 4 132 0 5 138 6 156 0 30905 284 0 0 1 24 0 3 40 4 64 0 5 72 6 96 0 1 136 2 160 0 4 176 5 200 0 2 236 3 260 12 31005 323 0 0 1 21 0 4 42 5 63 0 5 97 6 118 34 1 153 2 174 0 2 195 3 216 21 3 274 4 295 58 31106 491 0 0 1 24 0 1 92 2 116 68 2 163 3 187 47 3 255 4 279 68 4 314 5 338 35 5 364 6 388 26 6 411 7 435 23 31206 207 0 0 1 15 0 2 20 3 35 0 5 45 6 60 0 1 85 2 100 0 3 105 4 120 0 6 130 7 145 0 4 160 5 175 0 31306 350 0 0 1 21 0 4 42 5 63 0 1 91 2 112 0 5 133 6 154 0 6 194 7 215 40 2 250 3 271 0 3 301 4 322 30 31406 602 0 0 1 30 0 1 96 2 126 66 2 178 3 208 52 3 262 4 292 54 4 367 5 397 75 5 442 6 472 45 6 502 7 532 30 31506 472 0 0 1 24 0 1 45 2 69 21 2 116 3 140 47 3 185 4 209 45 4 286 5 310 77 5 347 6 371 37 6 392 7 416 21 31606 383 0 0 1 21 0 1 42 2 63 21 2 83 3 104 20 3 142 4 163 38 4 184 5 205 21 5 264 6 285 59 6 313 7 334 28 31706 294 0 0 1 21 0 5 49 6 70 0 1 105 2 126 0 3 133 4 154 0 6 168 7 189 0 4 210 5 231 0 2 252 3 273 0 31806 284 0 0 1 18 0 1 42 2 60 24 4 72 5 90 0 2 116 3 134 8 5 146 6 164 0 6 200 7 218 36 3 242 4 260 0 31906 421 0 0 1 21 0 1 80 2 101 59 2 127 3 148 26 3 192 4 213 44 4 243 5 264 30 5 292 6 313 28 6 351 7 372 38
Anexo 4 311 32006 266 0 0 1 18 0 3 30 4 48 0 1 66 2 84 0 5 102 6 120 0 2 146 3 164 2 6 182 7 200 0 4 218 5 236 0 32107 529 0 0 1 24 0 1 84 2 108 60 2 135 3 159 27 3 197 4 221 38 4 295 5 319 74 5 339 6 363 20 6 386 7 410 23 7 441 8 465 31 32207 595 0 0 1 27 0 1 95 2 122 68 2 173 3 200 51 3 237 4 264 37 4 298 5 325 34 5 362 6 389 37 6 434 7 461 45 7 496 8 523 35 32307 658 0 0 1 30 0 1 93 2 123 63 2 160 3 190 37 3 258 4 288 68 4 310 5 340 22 5 372 6 402 32 6 468 7 498 66 7 548 8 578 50 32407 236 0 0 1 15 0 3 25 4 40 0 5 45 6 60 0 7 65 8 80 0 1 115 2 130 0 4 140 5 155 0 6 160 7 175 0 2 200 3 215 0 32507 589 0 0 1 27 0 1 58 2 85 31 2 137 3 164 52 3 238 4 265 74 4 315 5 342 50 5 372 6 399 30 6 442 7 469 43 7 490 8 517 21 32607 519 0 0 1 21 0 1 89 2 110 68 2 149 3 170 39 3 228 4 249 58 4 281 5 302 32 5 329 6 350 27 6 377 7 398 27 7 442 8 463 44 32707 260 0 0 1 15 0 3 25 4 40 0 6 50 7 65 0 1 95 2 110 0 4 120 5 135 0 7 145 8 160 0 2 190 3 205 0 5 215 6 230 0 32807 473 0 0 1 24 0 5 56 6 80 0 1 120 2 144 0 2 189 3 213 45 6 237 7 261 0 7 297 8 321 36 3 361 4 385 0 4 409 5 433 24 32907 590 0 0 1 24 0 1 94 2 118 70 2 149 3 173 31 3 200 4 224 27 4 300 5 324 76 5 371 6 395 47 6 425 7 449 30 7 502 8 526 53 33007 250 0 0 1 15 0 2 20 3 35 0 5 45 6 60 0 3 75 4 90 0 6 100 7 115 0 1 145 2 160 0 4 170 5 185 0 7 195 8 210 0 33108 628 0 0 1 24 0 1 66 2 90 42 7 130 8 154 0 8 184 9 208 30 2 264 3 288 0 3 332 4 356 44 4 383 5 407 27 5 472 6 496 65 6 548 7 572 52 33208 392 0 0 1 18 0 4 36 5 54 0 8 72 9 90 0 5 122 6 140 8 1 170 2 188 0 6 212 7 230 0 2 260 3 278 0 7 302 8 320 0 3 350 4 368 0 33308 527 0 0 1 18 0 1 56 2 74 38 2 121 3 139 47 3 168 4 186 29 4 228 5 246 42 5 303 6 321 57 6 354 7 372 33 7 402 8 420 30 8 455 9 473 35 33408 443 0 0 1 18 0 6 48 7 66 0 1 102 2 120 0 7 150 8 168 0 2 204 3 222 0 8 252 9 270 0 3 306 4 324 0 4 346 5 364 22 5 389 6 407 25
Anexo 4 312 33508 603 0 0 1 27 0 1 68 2 95 41 6 131 7 158 0 2 203 3 230 0 7 266 8 293 0 3 338 4 365 0 8 401 9 428 0 4 473 5 500 0 5 522 6 549 22 33608 544 0 0 1 24 0 5 56 6 80 0 1 120 2 144 0 6 176 7 200 0 2 240 3 264 0 7 296 8 320 0 3 360 4 384 0 8 416 9 440 0 4 480 5 504 0 33708 601 0 0 1 24 0 1 52 2 76 28 7 116 8 140 0 2 188 3 212 0 3 249 4 273 37 8 305 9 329 0 4 369 5 393 0 5 443 6 467 50 6 521 7 545 54 33808 410 0 0 1 18 0 5 42 6 60 0 1 90 2 108 0 6 132 7 150 0 2 180 3 198 0 7 222 8 240 0 3 270 4 288 0 8 312 9 330 0 4 362 5 380 2 33908 609 0 0 1 24 0 1 44 2 68 20 2 114 3 138 46 3 185 4 209 47 4 245 5 269 36 5 290 6 314 21 6 355 7 379 41 7 451 8 475 72 8 513 9 537 38 34008 289 0 0 1 15 0 3 25 4 40 0 6 50 7 65 0 1 95 2 110 0 4 120 5 135 0 7 145 8 160 0 5 176 6 191 1 8 201 9 216 0 2 251 3 266 0 34109 606 0 0 1 18 0 1 57 2 75 39 8 111 9 129 0 2 171 3 189 0 3 229 4 247 40 9 277 10 295 0 4 331 5 349 0 5 423 6 441 74 6 494 7 512 53 7 540 8 558 28 34209 861 0 0 1 30 0 1 92 2 122 62 2 150 3 180 28 3 207 4 237 27 4 298 5 328 61 5 391 6 421 63 6 461 7 491 40 7 562 8 592 71 8 622 9 652 30 9 731 10 761 79 34309 818 0 0 1 27 0 1 49 2 76 22 2 144 3 171 68 3 233 4 260 62 4 335 5 362 75 5 403 6 430 41 6 477 7 504 47 7 540 8 567 36 8 606 9 633 39 9 701 10 728 68 34409 461 0 0 1 18 0 1 46 2 64 28 2 109 3 127 45 6 145 7 163 0 3 187 4 205 0 7 223 8 241 0 4 278 5 296 13 8 320 9 338 6 9 359 10 377 21 5 407 6 425 0 34509 580 0 0 1 21 0 5 49 6 70 0 1 105 2 126 0 2 160 3 181 34 6 202 7 223 0 7 279 8 300 56 3 335 4 356 0 8 384 9 405 0 4 440 5 461 0 9 489 10 510 0 34609 715 0 0 1 21 0 1 52 2 73 31 2 99 3 120 26 3 183 4 204 63 4 231 5 252 27 5 291 6 312 39 6 367 7 388 55 7 453 8 474 65 8 544 9 565 70 9 624 10 645 59 34709 344 0 0 1 15 0 1 39 2 54 24 4 64 5 79 0 7 89 8 104 0 2 134 3 149 0 5 159 6 174 0 8 184 9 199 0 3 229 4 244 0 6 254 7 269 0 9 279 10 294 0 34809 700 0 0 1 21 0 8 70 9 91 0 1 147 2 168 0 9 217 10 238 0 2 294 3 315 0 3 336 4 357 21 4 384 5 405 27 5 440 6 461 35 6 540 7 561 79 7 623 8 644 62
Anexo 4 313 34909 424 0 0 1 15 0 5 35 6 50 0 1 83 2 98 8 6 118 7 133 0 2 161 3 176 3 7 209 8 224 13 3 249 4 264 0 8 284 9 299 0 9 339 10 354 40 4 384 5 399 0 35009 880 0 0 1 24 0 1 80 2 104 56 2 178 3 202 74 3 267 4 291 65 4 353 5 377 62 5 449 6 473 72 6 496 7 520 23 7 597 8 621 77 8 675 9 699 54 9 776 10 800 77 35110 737 0 0 1 18 0 1 93 2 111 75 2 180 3 198 69 3 240 4 258 42 4 284 5 302 26 5 361 6 379 59 6 447 7 465 68 7 524 8 542 59 8 563 9 581 21 9 604 10 622 23 10 653 11 671 31 35210 559 0 0 1 18 0 6 48 7 66 0 1 102 2 120 0 7 150 8 168 0 2 204 3 222 0 8 252 9 270 0 3 306 4 324 0 9 354 10 372 0 10 399 11 417 27 4 459 5 477 0 5 505 6 523 28 35310 825 0 0 1 21 0 1 86 2 107 65 2 159 3 180 52 3 245 4 266 65 4 339 5 360 73 5 384 6 405 24 6 443 7 464 38 7 507 8 528 43 8 602 9 623 74 9 649 10 670 26 10 727 11 748 57 35410 693 0 0 1 18 0 1 43 2 61 25 2 123 3 141 62 3 164 4 182 23 4 227 5 245 45 5 288 6 306 43 6 341 7 359 35 7 380 8 398 21 8 476 9 494 78 9 544 10 562 50 10 609 11 627 47 35510 934 0 0 1 27 0 1 48 2 75 21 2 137 3 164 62 3 222 4 249 58 4 304 5 331 55 5 360 6 387 29 6 426 7 453 39 7 530 8 557 77 8 620 9 647 63 9 710 10 737 63 10 808 11 835 71 35610 856 0 0 1 21 0 1 79 2 100 58 2 132 3 153 32 3 188 4 209 35 4 287 5 308 78 5 378 6 399 70 6 439 7 460 40 7 538 8 559 78 8 615 9 636 56 9 661 10 682 25 10 758 11 779 76 35710 804 0 0 1 21 0 1 96 2 117 75 2 142 3 163 25 3 215 4 236 52 4 279 5 300 43 5 378 6 399 78 6 419 7 440 20 7 499 8 520 59 8 551 9 572 31 9 644 10 665 72 10 706 11 727 41 35810 866 0 0 1 24 0 1 99 2 123 75 2 149 3 173 26 3 234 4 258 61 4 291 5 315 33 5 375 6 399 60 6 442 7 466 43 7 526 8 550 60 8 594 9 618 44 9 677 10 701 59 10 754 11 778 53 35910 752 0 0 1 18 0 1 78 2 96 60 2 119 3 137 23 3 180 4 198 43 4 277 5 295 79 5 329 6 347 34 6 415 7 433 68 7 489 8 507 56 8 539 9 557 32 9 625 10 643 68 10 668 11 686 25 36010 571 0 0 1 18 0 6 48 7 66 0 1 102 2 120 0 7 150 8 168 0 2 204 3 222 0 8 252 9 270 0 3 306 4 324 0 9 354 10 372 0 10 415 11 433 43 4 475 5 493 0 5 517 6 535 24
Anexo 4 320 53508 301 0 0 1 14 0 2 21 3 35 0 5 49 6 63 0 7 70 8 84 0 1 133 2 147 0 3 154 4 168 0 6 182 7 196 0 8 203 9 217 0 4 252 5 266 0 53608 385 0 0 1 14 0 3 28 4 42 0 7 63 8 77 0 4 105 5 119 0 8 140 9 154 0 1 210 2 224 0 5 245 6 259 0 2 287 3 301 0 6 322 7 336 0 53708 530 0 0 1 18 0 5 54 6 72 0 6 113 7 131 41 1 185 2 203 0 2 230 3 248 27 7 284 8 302 0 8 329 9 347 27 3 401 4 419 0 4 467 5 485 48 53808 384 0 0 1 14 0 4 37 5 51 2 1 79 2 93 0 7 128 8 142 0 8 181 9 195 39 5 223 6 237 0 2 265 3 279 0 6 300 7 314 0 3 342 4 356 0 53908 364 0 0 1 14 0 4 35 5 49 0 7 63 8 77 0 1 126 2 140 0 2 189 3 203 49 5 217 6 231 0 8 245 9 259 0 6 280 7 294 0 3 322 4 336 0 54008 616 0 0 1 18 0 1 59 2 77 41 2 123 3 141 46 3 184 4 202 43 4 277 5 295 75 5 323 6 341 28 6 381 7 399 40 7 474 8 492 75 8 517 9 535 25 54109 384 0 0 1 12 0 4 30 5 42 0 7 54 8 66 0 1 108 2 120 0 5 138 6 150 0 2 174 3 186 0 8 216 9 228 0 3 264 4 276 0 6 288 7 300 0 9 312 10 324 0 54209 288 0 0 1 12 0 2 18 3 30 0 4 36 5 48 0 7 60 8 72 0 9 78 10 90 0 5 120 6 132 0 1 162 2 174 0 3 180 4 192 0 6 204 7 216 0 8 222 9 234 0 54309 601 0 0 1 18 0 1 74 2 92 56 2 119 3 137 27 3 164 4 182 27 4 222 5 240 40 5 267 6 285 27 6 344 7 362 59 7 410 8 428 48 8 449 9 467 21 9 493 10 511 26 54409 366 0 0 1 12 0 1 34 2 46 22 4 58 5 70 0 7 82 8 94 0 2 130 3 142 0 5 154 6 166 0 8 178 9 190 0 9 234 10 246 44 3 288 4 300 0 6 312 7 324 0 54509 271 0 0 1 10 0 3 20 4 30 0 1 55 2 65 10 4 76 5 86 1 6 91 7 101 0 8 106 9 116 0 2 151 3 161 0 7 181 8 191 0 9 196 10 206 0 5 231 6 241 0 54609 542 0 0 1 16 0 1 70 2 86 54 5 110 6 126 0 2 158 3 174 0 6 198 7 214 0 7 234 8 250 20 8 302 9 318 52 3 366 4 382 0 9 422 10 438 0 4 486 5 502 0 54709 350 0 0 1 12 0 3 24 4 36 0 1 67 2 79 13 4 93 5 105 2 7 117 8 129 0 5 150 6 162 3 2 186 3 198 0 8 228 9 240 0 9 260 10 272 20 6 296 7 308 0 54809 393 0 0 1 12 0 1 45 2 57 33 5 75 6 87 0 9 105 10 117 0 2 165 3 177 0 6 195 7 207 0 3 231 4 243 0 7 261 8 273 0 4 297 5 309 0 8 327 9 339 0
[Document text truncated for crawler view.]