Trabajo Fin de Grado Grado en Ingeniería de Tecnologías Industriales Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos Autor: Mercedes Morales Blázquez Tutor: José Manual García Sánchez Profesor titular Dep. de Organización Industrial y Gestión de Empresas I Escuela Técnica Superior de Ingeniería Universidad de Sevilla Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 ÍNDICE 1. Introducción y Objetivos........................................................................................................5 2. Planificación del modelo Pm/ m≥n, prec/Cmax + VSP ...............................................................8 2.1. Introducción ...................................................................................................................9 2.2. Programación trabajos en máquinas ...............................................................................9 2.3. Pm/prec/Cmax................................................................................................................. 13 2.4. Programación de trabajos en intervalos ....................................................................... 16 2.5. Problema VSP y sus magnitudes representativas .......................................................... 21 2.6. Modelado VSP táctico sin clases ................................................................................... 22 2.7. Modelado VSP táctico con clases .................................................................................. 23 2.8. Modelado Pm/m≥n, prec/Cmax + VSP táctico................................................................... 24 2.8.1. Modelado Pm/ m≥n, prec/Cmax + VSP táctico sin clases ....................................... 24 2.8.2. Modelado Pm/ m≥n, prec/Cmax + VSP táctico con clases ...................................... 25 3. Gestión de proyectos .......................................................................................................... 26 3.1. Introducción ................................................................................................................. 27 3.2. Origen e historia de la gestión de proyectos ................................................................. 27 3.3. ¿Qué es un proyecto? ................................................................................................... 28 3.4. ¿Qué es la Gestión de Proyectos? ................................................................................. 29 3.5. Proyect Management Institute (PMI)............................................................................ 30 3.6. Ciclo de vida de un proyecto ........................................................................................ 32 3.7. Métodos de Planificación de proyectos......................................................................... 34 3.7.1. Diagramas de GANT .......................................................................................... 34 3.7.2. Critical Path Method (CPM) ............................................................................... 35 T.F.G Mercedes Morales Blázquez 2 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 3.7.3. Program Evaluation and Review Technique (PERT) ............................................ 36 3.7.4. Obtención de duración de proyecto con restricción de recursos (modelo de optimización de recursos) ........................................................................................... 38 4. Implementación y resolución modelo Pm/ m≥n, prec/Cmax + VSP ......................................... 39 4.1. Introducción ................................................................................................................ 40 4.2. Descripción de la implementación de los problema Pm/ m≥n, prec/Cmax + VSP ............ 40 4.4. Interfaz Visual Basic ...................................................................................................... 43 4.5. Resolución en LINGO .................................................................................................... 46 4.5.1. Introducción de LINGO ............................................................................................ 46 4.5.2. Sintaxis de LINGO .................................................................................................... 47 4.5.3. Pasos para la resolución .......................................................................................... 49 5. Resultados de la experimentación ....................................................................................... 53 5.1. Introducción ................................................................................................................. 54 5.2. Descripción de la batería de problemas ........................................................................ 54 5.3. Generación del problema Pm/ m≥n, prec/Cmax ............................................................... 57 5.4. Generación del problema VSP....................................................................................... 62 5.5. Resolución exacta con LINGO........................................................................................ 65 5.5.1. Estudio de los resultados para el problema Pm/ m≥n, prec/Cmax ...............................65 5.5.2. Estudio de los resultados para el problema sin clases .............................................. 67 5.5.3. Estudio de los resultados para el problema con clases............................................. 71 5.6. Conclusiones ................................................................................................................ 75 6. Conclusiones del proyecto ................................................................................................... 76 Bibliografía .............................................................................................................................. 78 T.F.G Mercedes Morales Blázquez 3 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Anexos .................................................................................................................................... 80 1. Tabla resultados Modelo Pm/ m≥n, prec/Cmax ................................................................... 81 2. Tabla resultados Modelo Pm/ m≥n, prec/Cmax + VSP sin clases .......................................... 82 3. Tabla resultados Modelo Pm/ m≥n, prec/Cmax + VSP con clases ......................................... 83 T.F.G Mercedes Morales Blázquez 4 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 1. INTRODUCCIÓN Y OBJETIVOS T.F.G Mercedes Morales Blázquez 5 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 1.- INTRODUCCIÓN Y OBJETIVOS El proyecto realizado pertenece al campo de la Programación de Tareas en Máquinas, universalmente conocido como schedulling. En este trabajo se busca obtener un método de resolución eficiente para el cálculo y la asignación de recursos a un conjunto de tareas que han de realizarse respetando una serie de precedencias entre las mismas. Se trata realmente de dos problemas encadenados. El primero está relacionado con la gestión de un proyecto, concretamente con el cálculo de la duración óptima del mismo. Dicho problema equivale a resolver Pm/m≥n, prec/Cmax. De esta resolución se obtiene el intervalo de tiempo en el que puede procesarse cada tarea. El segundo tiene como objetivo el cálculo del número óptimo de recursos necesarios para procesar esas tareas, respetando los intervalos calculados previamente. Ello se corresponde con la resolución táctica de un problema de programación de trabajos variables en intervalos (Variable Scheduling Problem, VSP). En la primera parte del proyecto se modelará el problema Pm/m≥n, prec/Cmax que significa m máquinas en paralelo, donde el número de recursos es mayor o igual al número de tareas, deben cumplirse unas relaciones de precedencia y cuyo objetivo es minimizar el tiempo de finalización de todas las tareas (Cmax), también conocido como Makespan. El objetivo principal de la resolución es determinar cuáles son las tareas que conforman el camino crítico y qué tareas disponen de holgura para su procesamiento. Con todo ello se obtiene el rango de tiempo en el que puede realizarse cada actividad, es decir, su holgura. Los resultados obtenidos en la primera parte se utilizarán en la segunda para resolver el problema VSP táctico sin clases y posteriormente con clases. Este modelo se implementará para resolver una batería de problemas de diferentes características y así estudiar el comportamiento del modelo en función de determinados parámetros como son el número de tareas, de precedencias o las clases de tareas y de recursos. A continuación se detalla la estructura del documento. En el capítulo 2 se lleva a cabo una introducción teórica de la materia en la que está basada este proyecto, la programación de trabajos en máquinas. También se describen los modelos necesarios para T.F.G Mercedes Morales Blázquez 6 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 resolver los problemas planteados anteriormente. En el capítulo 3 se explica en qué consiste la gestión de proyectos, ya que el objeto de este trabajo es facilitar la tarea de la obtención de la duración de un proyecto con restricción de recursos mediante la utilización de métodos exactos y que actualmente se calculan mediante métodos heurísticos. En el capítulo 4 se describe paso a paso la implementación y resolución mediante los programas Visual Basic y LINGO, del modelo que resuelve el problema que se plantea en este trabajo. En el capítulo 5 se analizan los resultados obtenidos de la experimentación. Y finalmente, en el capítulo 6 se presentan las conclusiones generales del proyecto. T.F.G Mercedes Morales Blázquez 7 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 2. PLANIFICACIÓN DEL MODELO Pm/m≥n, prec/Cmax + VSP TÁCTICO T.F.G Mercedes Morales Blázquez 8 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 2.1.- INTRODUCCIÓN En este capítulo, se introduce la secuenciación de trabajos en máquinas para tener una idea general a cerca del sheduling antes de describir en profundidad los sistemas de programación en intervalos. 2.2.- PROGRAMACIÓN DE TRABAJOS EN MÁQUINAS La secuenciación de trabajos en máquinas, universalmente conocida como scheduling, se define como la asignación en el tiempo de los recursos disponibles con objeto de optimizar una determinada medida de comportamiento. A partir de un determinado criterio, se trata de establecer la secuencia para el procesamiento de una serie de trabajos sobre un conjunto de máquinas. En el caso de este proyecto como lo que se quiere llevar a cabo es la gestión óptima de las tareas y recursos de un proyecto, los trabajos equivalen a los recursos y las máquinas a las tareas. Se podría decir que se trata de establecer la secuencia para el procesamiento de una serie de recursos sobre un conjunto de tareas. Existe un amplio espectro de características que pueden asociarse a los trabajos y al modo de procesamiento en el sistema. Los problemas de scheduling se caracterizan por 3 factores fundamentales: La arquitectura del taller: Atiende a la disposición de las máquinas en el taller. 1. Maquinas en serie: Imagen 2.1: Esquema máquinas en serie T.F.G Mercedes Morales Blázquez 9 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Los entornos de máquinas en serie de clasifican en función del modelo o esquema de paso de los trabajos por las diferentes máquinas: Sistemas de flujo uniforme (Flow shop): el modelo de paso es el mismo para todos los trabajos. Estos pasan por cada una de las máquinas del sistema usando el mismo orden de paso por las mismas. Se representa de la siguiente forma: Fm , donde F hace referencia a que se trata de un sistema de flujo uniforme y m al número de máquinas en serie. Sistemas de tipo taller (Job shop): cada trabajo tiene su propio esquema de paso por las máquinas. Se representa de la siguiente forma: Jm , donde J hace referencia a que se trata de un sistema de taller y m al número de máquinas en serie. Sistemas de taller abierto (Open shop): el modelo de paso de cada trabajo por las máquinas es libre. Se representa de la siguiente forma: Om , donde O hace referencia a que se trata de un sistema de taller abierto y m al número de máquinas en serie. 2. Máquinas en paralelo: Imagen 2.2: Esquema máquinas en paralelo Estos sistemas de máquinas distinguen tres tipos según las características de las máquinas que lo componen: Máquinas idénticas: en las que el tiempo de procesamiento de una operación es idéntico en cada máquina. Se representa de la siguiente forma: P m , donde P hace referencia a que se trata de un sistema con máquinas idénticas y m al T.F.G Mercedes Morales Blázquez 10 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 número de máquinas en paralelo. A este grupo pertenecen las máquinas o recursos que se utilizan en el trabajo. Máquinas uniformes: en las que cada máquina posee una velocidad de proceso diferente, independiente de los trabajos. Se representa de la siguiente forma: Qm , donde Q hace referencia a que se trata de un sistema con máquinas uniformes y m al número de máquinas en paralelo. Máquinas no relacionadas: en ellas cada máquina posee una velocidad de procesamiento diferente sobre cada trabajo. Se representa de la siguiente forma: Qm , donde Q hace referencia a que se trata de un sistema con máquinas no relacionadas y m al número de máquinas en paralelo. 3. Sistema híbrido: También conocido como taller flexible, está formado por m centros o estaciones de máquinas en serie, cada uno de ellos formado por un conjunto de máquinas en paralelo. Se representa de la siguiente forma: S m , donde S hace referencia a que se trata de un sistema de flujo uniforme y m al número de centros de máquinas en paralelo. Las características y restricciones de los trabajos: Tiempo de proceso del trabajo i en la máquina j: 𝒑𝒊𝒋 Instante de llegada del trabajo i al sistema: 𝒓𝒊 . Cuando todos los trabajos están disponibles al comienzo: 𝑟𝑖 = 0 Fecha de entrega del trabajo i: 𝒅𝒊 Peso (coste o valor) del trabajo i: 𝒘𝒊 Preemption (prmt), Rotura de trabajos. Esta restricción hace referencia a la posibilidad de abandonar el procesamiento de un trabajo en una máquina sin haber concluido la operación, regresando más tarde para finalizarla. Restricciones de precedencia (prec), aparecen en algunos entornos como el de este proyecto, donde se obliga a que unas tareas se realicen antes que otras. No-wait (No-wait). Esta característica aparece en entornos de máquinas en serie en los que los trabajos deben ser procesados desde su inicio en la primera máquina, T.F.G Mercedes Morales Blázquez 11 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 hasta su finalización en la última máquina, sin ninguna interrupción entre máquinas. Blocking (Block). Aparece en sistemas de fabricación en serie en los que no están permitidos los buffers intermedios de un cierto tamaño entre máquinas, puesto que bloquean el funcionamiento de las mismas. El criterio de optimización: existen numerosos criterios por lo que en este apartado solo se mencionarán los más utilizados. 1. Criterios basados en tiempos de finalización de los trabajos: Minimizar la suma de los tiempos de finalización de los trabajos: ∑ 𝐶𝑖 Minimizar el coste total asociado a la finalización de los trabajos. El peso 𝑤𝑖 se entiende como un coste de espera o un valor añadido al trabajo 𝐽𝑖 : ∑ 𝑤𝑖 𝐶𝑖 Minimizar el tiempo de finalización en todos los trabajos, también llamado longitud de la programación (makespan): 𝐶𝑚𝑎𝑥 = 𝑀𝑎𝑥{𝐶1 , … , 𝐶𝑛 }. Este objetivo constituye el criterio de optimización del modelo objeto del trabajo. 2. Criterios basados en las fechas de entrega: Minimizar la suma de retrasos o retraso total. Equivalente a minimizar el retraso medio: ∑ 𝐿𝑖 . De forma análoga al grupo anterior se estudian: ∑ 𝑤𝑖 𝐿𝑖 y 𝐿𝑚𝑎𝑥 Minimizar la tardanza total: ∑ 𝑇𝑖 . de forma análoga se definen: ∑ 𝑤𝑖 𝑇𝑖 y 𝑇𝑚𝑎𝑥 Minimizar el número de trabajos retrasados: ∑ 𝑈𝑖 . También se estudia la minimización del coste de los trabajos retrasados, representado por ∑ 𝑤𝑖 𝑈𝑖 3. Criterios basados en costes de inventario y utilización de máquinas: Minimizar el tiempo total en que están desocupadas las máquinas: ∑ 𝐼𝑗 , siendo 𝐼𝑗 = 𝐶𝑚𝑎𝑥 − ∑ 𝑝𝑖𝑗 y ∑ 𝑝𝑖𝑗 la suma de los tiempos de procesado de todos los trabajos sobre la máquina 𝑀𝑗 T.F.G Mercedes Morales Blázquez 12 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Minimizar el tiempo ponderado de desocupación de las máquinas: ∑ 𝑣𝑗 𝐼𝑗 , siendo 𝑣𝑗 un peso por unidad de operación. Al fin y al cabo los problemas de scheduling son problemas de optimización, por lo podemos distinguir dos clases según su complejidad: ∈ 𝑪𝒍𝒂𝒔𝒆 𝑷 , que son problemas No Complejos y resolverlos de forma exacta no implica mucho tiempo y ∈ 𝑪𝒍𝒂𝒔𝒆 𝑵𝑷, que son problemas Complejos donde obtener el óptimo suele ser costoso en tiempo de proceso siempre que el tamaño del problemas sea de una cierta dimensión y que por lo tanto no se resuelven de forma exacta, sino a través de resoluciones aproximadas o heurísticas. 2.3.- Pm/prec/Cmax Las siglas Pm/prec/Cmax corresponden a un problema de schedullig. Atendiendo a lo mencionado en el apartado anterior se sabe que: Pm: se refiere a la arquitectura o disposición de las máquinas donde dónde existen m máquinas idénticas en paralelo en las que el tiempo de procesamiento de una operación es idéntico en cada máquina. Prec: es una característica del problema que indica que existen restricciones de precedencia donde se obliga a que unas tareas se realicen antes que otras. Cmax: establece el criterio de optimización según el cual se establece la resolución del problema, donde se busca minimizar el tiempo de finalización en todos los trabajos, también llamado longitud de la programación. Este problema es considerado Complejo porque no existe ningún modelo que consiga hallar el óptimo, y habría que utilizar una heurística para resolverlo. Otro modo es acudir versiones más sencillas del mismo, no complejas, que se pueden resolver fácilmente a través de mataheurística, es decir, un método heurístico para resolver un tipo de problema computacional general, usando los parámetros dados por el usuario sobre unos procedimientos genéricos y abstractos de una manera que se espera eficiente. T.F.G Mercedes Morales Blázquez 13 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 1. Pm/m≥n, prec/Cmax En esta versión se sostiene que el número de máquinas o recursos m, tiene que ser siempre mayor o igual al número de tareas. Su solución equivale a calcular la ruta crítica, esto es, la secuencia de las tareas con la mayor duración, determinando el tiempo más corto en el que es posible programar todas las tareas. Este sistema de cálculo conocido por sus siglas en inglés CPM (Critical Path Method) que se explica más extensamente en el capítulo posterior. Además esta primera versión del problema Pm/prec/Cmax tiene un papel fundamental del modelo objeto del trabajo, ya que permite hallar, a parte de la ruta crítica, el instante más pronto y el más tarde en el que se puede programar una tarea, es decir, su holgura. Algoritmo: 1. Crear un grafo de precedencias. 2. Numerar el grafo 3. Calcular el instante más pronto en el que podría terminar cada trabajo Ji, siguiendo el orden de numeración: 𝑃𝐴𝑅𝐴 𝑖 = 1 𝐻𝐴𝑆𝑇𝐴 𝑛 𝐸𝑖 = 𝑚𝑎𝑥𝑘→𝑖 (𝐸𝑘 ) + 𝑝𝑖 𝐹𝐼𝑁 𝑃𝐴𝑅𝐴 ∗ 4. 𝐶𝑚𝑎𝑥 = 𝑚𝑎𝑥{𝐸𝑖 } 5. Calcular el camino crítico. Se calcula un valor 𝐿𝑖 que es el tiempo más tarde en el que podría terminar cada trabajo i: 5.1. Para todo 𝐽𝑖 sin sucesores: 𝐿𝑖 = 𝐶𝑚𝑎𝑥 5.2. Para el resto, en orden decreciente de la numeración: 𝐿𝑖 = 𝑚𝑖𝑛𝑖→𝑘 (𝐿𝑘 − 𝑝𝑘 ) T.F.G Mercedes Morales Blázquez 14 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 6. Camino crítico es aquel en el que se cumple: 𝐸𝑖 = 𝐿𝑖 . 𝐸𝑖 −𝐿𝑖 marca la holgura de cada trabajo para su procesamiento son que se produzca un aumento del valor de 𝐶𝑚𝑎𝑥 . 2. Pm/pi=1 , prec(Grafo intree o outtree)/Cmax Lo que caracteriza a esta segunda versión es que la duración de todas las tareas es 1, y que el grafo de precedencias a partir del cual se resuelve el problema es estructura outtree, donde cada trabajo o tarea tiene a lo sumo un predecesor, o intree, donde cada trabajo o tarea tiene a lo sumo un sucesor: Imagen 2.3: Grafos intree y outtree Para hallar la solución óptima de este problema se puede recurrir a dos metaheurísticas: Regla CP (Critical Path): consiste en dar una mayor prioridad a los trabajos con una mayor cadena de trabajos en el grafo de precedencias. Equivale a dar una mayor precedencia a los trabajos de mayor nivel. Regla LNS (Larguest Number of Sucessors): se encarga de dar una mayor prioridad a los trabajos con mayor número de sucesores. T.F.G Mercedes Morales Blázquez 15 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 3. Pm/pi=1 , prec(Grafo GDA)/Cmax Por último, en esta tercera versión, al igual que en la anterior, la duración de todas las tareas es igual a la unidad, pero la estructura de grafo de precedencias a partir del cual se resuelve el problema es diferente. En este caso se trata de un grafo GDA, grafo dirigido, conexo acíclico: Imagen 2.4: Grafo GDA Para resolver el problema se pueden usar las reglas explicadas para el caso anterior, aunque no se garantiza optimalidad. 2.4.- PROGRAMACIÓN DE TRABAJOS EN INTERVALOS En la mayoría de los proyectos sobre planificación y programación de tareas, el tiempo de finalización de las tareas no se encuentra restringido por ventanas temporales, permitiendo así que estas finalicen en cualquier instante del horizonte temporal. Sin embargo en algunos sistemas industriales, logísticos y de servicios, las tareas poseen restricciones de tiempo debidas a diferentes motivos, es decir, que cada tarea o trabajo dispone de un intervalo dentro del que tiene que ser procesado. Este proyecto está basado en una de las aplicaciones de estos sistemas de programación, la gestión de proyectos, materia que se describe de manera más extensa en el capítulo 3. T.F.G Mercedes Morales Blázquez 16 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Otras aplicaciones de los sistemas de programación en intervalos son: los procesos de mantenimiento de aviones en aeropuertos mediante la asignación de técnicos a tareas, la asignación de puertas a vuelos en aeropuertos con objeto de reducir el traslado de pasajeros hasta la terminal, planificación de la captura de imágenes de un satélite, la asignación de conductores a líneas de autobuses, la asignación de aulas a clase, la asignación de habitaciones de hotel, el control del tráfico aéreo o la asignación de salas de operaciones. Los sistemas de programación de trabajos en intervalos se clasifican de la siguiente forma: Amplitud del intervalo: 1. FSP: Problemas donde el tiempo de proceso de las tareas coincide con la amplitud del intervalo. Este grupo recibe el nombre de Fixed Job Scheduling Problem. Imagen 2.5: Intervalo de procesamiento fijo (sin holgura) 2. VSP: Problemas donde el tiempo de proceso de las tareas es menor o igual que la amplitud del intervalo. Este tipo se denomina Variable Job Scheduling Problem. El problema que se analiza en este trabajo pertenece a este grupo. Imagen 2.6: Intervalo de procesamiento variable (con holgura) T.F.G Mercedes Morales Blázquez 17 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Objetivo: 1. Planificación táctica de la capacidad donde se calcula el número de máquinas de cada tipo necesarias para atender todas las tareas, minimizando el coste de uso. Se optimiza el uso de los recursos necesarios para atender todas las tareas. 2. Planificación operacional de la capacidad se encarga de realizar una la asignación de recursos a tareas con objeto de maximizar el peso total de las tareas completadas, a partir de un conjunto de recursos. Número de clases de máquinas: 1. Una clase: donde existe una compatibilidad total entre tareas y recursos. 2. Varias clases: existen varias clases de máquinas, C, que pueden solo por un subconjunto de trabajos, D. La compatibilidad entre trabajos y máquinas la recoge una matriz L, que se explica en detalle en el apartado siguiente. Las clases de trabajos o recursos se pueden clasificar a su vez en: 1. License Class Scheduling: Los recursos están disponibles durante todo el horizonte de planificación. La compatibilidad entre tareas y recursos está motivada por aspectos técnicos. 2. Shift Class Scheduling: Cada recurso está sólo disponible en un intervalo o conjunto de intervalos de tiempo. Un recurso puede procesar únicamente las tareas que se producen dentro de su intervalo de tiempo. Tipo de máquina 1. Máquinas idénticas. 2. Máquinas uniformes. El caso de sistema de programación de trabajos en intervalos VSP es la forma genérica de la programación de tareas, ya que también contempla el caso de que el tiempo de procesado sea igual a la amplitud del intervalo que equivale a un problema FSP. La representación gráfica de este tipo de trabajos podría ser la siguiente: T.F.G Mercedes Morales Blázquez 18 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Imagen 2.7: FSP (Izquierda) y VSP (Derecha) Atendiendo a la figura 2.9 se puede ver claramente que existe un instante inicial del intervalo 𝑎𝑖 , a partir del cual puede empezar a procesarse el trabajo 𝐽𝑖 , un instante finalización 𝑏𝑖 , que marca el último instante posible en el que puede acabar el procesamiento del trabajo 𝐽𝑖 y un tiempo de procesado 𝑡𝑖 , que se refiere a la duración del trabajo. Estas son algunas de las características fundamentales de los trabajos. Además pueden pertenecer a una clase de trabajo 𝑑𝑖 dentro de un conjunto de D clases de trabajos. La diferencia esencial entre el caso VSP y el caso FSP se hace notable gracias a las características de los trabajos, y es que en este último no se posee holgura, es decir, o se procesa la tarea cuando llega o no se procesa. Sin embargo, en el VSP la tarea tiene un conjunto de instantes a partir de los cuales puede ser procesada, ventana de comienzo: desde 𝑎𝑖 hasta 𝑏𝑖 (ver figura 2.10). Esto lo que hace que el caso FSP sea en realidad un caso particular del VSP, en el cual dicha ventana de comienzo tiene un sólo posible instante de llegada. Imagen 2.8: Ventana de comienzos T.F.G Mercedes Morales Blázquez 19 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 En cuanto a las características fundamentales de las máquinas: pueden pertenecer a una clase de máquina 𝑐𝑖 dentro de un conjunto de C clases de máquinas, se le asigna un coste 𝑢𝑖 por el uso de la máquina y un intervalo de disponibilidad [𝑖𝑗 , 𝑓𝑗 ]. Por último, las características de las restricciones de procesamiento: se procesa un solo trabajo en una máquina al mismo tiempo, cada clase de máquina puede realizar trabajos de un número limitado de clases de trabajos, esto queda limitado por la matriz de compatibilidad que se explica en el siguiente apartado. Como afirman Arkin y Silverberg, el problema FSP por lo general es NP-complejo, pero cuando cada trabajo puede ser realizado por al menos tres de las k máquinas disponibles, pasa a serlo. En cambio, el problema VSP siempre es NP-complejo. A continuación se muestra un esquema según el cual se pueden clasificar los problemas de programación de trabajos en intervalos dependiendo de sus características: PROGRAMACIÓN DE TRABAJOS EN INERVALOS APLITUD DEL INTERVALO DE PROCESAMIENTO FSP VSP OBJETIVO PLANIFIC. TÁCICA PLANIFIC. OPERACIONAL Nº CLASES DE MÁQUINAS UNA CLASE VARIAS CLASES LICENSE CLASS SCHEDULING TIPO DE MAQUINA IDENTICAS UNIFORMES SHIFT CLASS SHEDULING Imagen: 2.9: Clasificación de problemas con trabajos en intervalos T.F.G Mercedes Morales Blázquez 20 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 2.5.- PROBLEMA VSP Y SUS MAGNITUDES REPRESENTATIVAS El problema concreto que se estudia en la segunda parte de este proyecto es el de planificación táctica cuyo intervalo de procesamiento se considera de amplitud variable (VSP) con un sólo tipo de recurso y posteriormente con varios. Éste se caracteriza por planificar sobre un conjunto de máquinas en paralelo, un conjunto de trabajos no interrumpibles, caracterizados cada uno de ellos (𝑎𝑖 , … , 𝑏𝑖 ), por un tiempo de procesamiento (𝑡𝑖 ), una ventana de posibles comienzos de los trabajos, un peso (𝑤𝑖 ) y una clase de trabajo. Las máquinas por su parte se caracterizan por pertenecer a una clase concreta, de forma que cada clase de máquina puede únicamente procesar trabajos de un subconjunto de clases de trabajos. Imagen 2.10: Características del trabajo i Para definir la limitación de qué clases de máquinas pueden procesar qué clases de trabajos, se define una matriz binaria de compatibilidad 𝐿𝐷𝑥𝐶 , donde las filas se corresponden con el conjunto de clases de trabajos, que se definen como D, y las columnas se corresponden con el conjunto de clases de máquinas, que se definen como C. Imagen 2.11: Valor en cada posición de la matriz Si hay un 1 en cualquier posición de la matriz, significa que el tipo de trabajo al que pertenece esa fila puede ser procesado por el tipo de máquina al que pertenece esa columna. Si hay un 0 significa lo contrario. En caso de varias operaciones, la matriz de compatibilidad seria de tres dimensiones: de trabajo x clase de máquina x operación. T.F.G Mercedes Morales Blázquez 21 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 2.6.- MODELO VSP TÁCTICO SIN CLASES El modelo sin clases intenta minimizar el número de máquinas necesarias para que se procesen todos los trabajos, en este caso solo existe un tipo de recurso, que tiene compatibilidad total para realizar todas las tareas. MODELO: En este modelo sin clases, la función objetivo es sencilla, se trata de minimizar el número de máquinas se van a procesar en paralelo todos los trabajos. En cuanto a las restricciones, la primera garantiza que cada trabajo se procese una sola vez en uno de sus posibles instantes de comienzo (𝑎𝑖 ). Y la segunda restringe el número de trabajos que se procesan simultáneamente en un determinado instante de tiempo a que sean menores o iguales al número de máquinas. T.F.G Mercedes Morales Blázquez 22 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 2.7.- MODELO VSP TÁCTICO CON CLASES El modelo con clases intenta minimizar el número de máquinas de cada clase en función del coste que tengan asociado, para que se procesen todos los trabajos. No todos los recursos son capaces de realizar todas las tareas, para ello se define la matriz de compatibilidad. MODELO: La función objetivo en este modelo con clases sigue siendo sencilla. La única diferencia con respecto al modelo sin clases es que en éste cada clase de máquina tiene asociado un coste. Se trata de minimizar el número de máquinas que van a procesar en paralelo todos los trabajos. En cuanto a las restricciones, la primera garantiza que cada trabajo se procese una sola vez en uno de sus posibles instantes de comienzo (𝑎𝑖 ) y por lo tanto por una clase de máquina determinada. Y la segunda restringe el número de trabajos de clase D, compatibles con las máquinas de clase C, que se procesan simultáneamente en un determinado instante de tiempo a que sean menores o iguales al número de máquinas de clase C. T.F.G Mercedes Morales Blázquez 23 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 2.8.- MODELO Pm/m≥n, prec/C max 2.8.1.- MODELO Pm/m≥n, prec/Cmax + VSP TÁCTICO SIN CLASES MODELO: La función objetivo y las dos primeras restricciones de este modelo son idénticas al modelo VSP táctico sin clases. La diferencia está en la última restricción, necesaria ya que si hay relaciones de precedencia entre dos tareas con holgura se debe garantizar que no se produzcan solapamientos entre ellas. T.F.G Mercedes Morales Blázquez 24 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 2.8.2.- MODELO Pm/m≥n, prec/Cmax + VSP TÁCTICO CON CLASES MODELO: Al igual que en el modelo anterior, la función objetivo y las dos primeras restricciones de este modelo, ya han sido explicadas anteriormente pues son idénticas al modelo VSP táctico con clases. La diferencia también es la misma que la del modelo anterior, la última restricción, necesaria ya que si hay relaciones de precedencia entre dos tareas con holgura de debe garantizar que no se produzcan solapamientos ellas para cualquier clase de recurso compatibles con las tareas. T.F.G Mercedes Morales Blázquez 25 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 3. GESTIÓN DE PROYECTOS T.F.G Mercedes Morales Blázquez 26 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 3.1.- INTRODUCCIÓN En este capítulo se describen varios aspectos a cerca de la gestión de proyectos: su origen e historia y su definición. Así como el ciclo de vida de un proyecto y algunos métodos de planificación. 3.2.- ORIGEN E HISTORIA DE LA GESTIÓN DE PROYECTOS El origen de la gestión de proyectos puede situarse comenzando el siglo XX cuando aparecen los primeros métodos, pero no es hasta mediados de los años 50 cuando aparecen los métodos PERT y CPM. La gestión de proyectos sin ser una disciplina implementada, se ha observado desde los inicios de las civilizaciones, cuando los proyectos de ingeniería civil eran manejados o gestionados por los ingenieros y arquitectos (Kwak, 2005). Estos serían los llamados directores de proyectos, de los cuales se tienen registros desde la construcción de las grandes pirámides de Egipto. Se dice que existió uno por cada cara de la pirámide que supervisaban la construcción de las obras (Haughey, 2010). La historia de la gestión de proyectos puede ser aún más larga, pero un buen resumen de la cronología o mejor, de los momentos importantes en esta disciplina, la hace Kwak (2005), que distingue 4 grandes tiempos o periodos de tiempos transcurridos, que obviamente embarcan la historia completa de la gestión de proyectos: Antes de 1958 los sistemas de trabajo para las relaciones humanas: la revolución técnica y de las telecomunicaciones, disminuyeron en gran medida la duración de los proyectos, se sentaron bases para la gestión que se culminó con el desarrollo de los EDT. Entre 1958 y 1975 la aplicación de la ciencia de la gestión: caracterizada por los importantes y grandes cambios en la tecnología, en gestión de proyectos aparecen las herramientas básicas como EDT, CPM, PERT. Entre 1975 y 1994 el centro de producción de recursos humanos: generalización del uso de ordenadores y estos a su vez se convierten en un elemento más T.F.G Mercedes Morales Blázquez 27 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 personal esto permite una gestión y control eficaces, de proyectos complejos y de larga duración, el software de gestión de proyectos se convierte en una herramienta accesible y amigable. Desde 1994 hasta la fecha la creación de un nuevo entorno: administración de proyectos en tiempo real debido a la evolución del internet y su gran potencial de conectividad en tiempo real. 3.3.- ¿QUÉ ES UN PROYECTO? Un proyecto es un esfuerzo temporal que se lleva a cabo para crear un producto servicio o resultado único (Guía del PMBOK® 2004). Con temporal se refiere a que todo proyecto tiene un comienzo y un final, donde el comienzo puede ser fácilmente definido y en la mayoría de los casos depende de una decisión y de la obtención de recursos iniciales para acometer la tarea. Sus características son: 1. Temporal. 2. Enfocado a productos, servicios o resultados únicos. 3. Proceso de elaboración gradual. El fin del proyecto por su parte, se logra cuando se cumplen los objetivos inicialmente concertados o cuando la necesidad a suplir por parte del proyecto ya no exista, o que este mismo haya sido cancelado. La duración puede ser corta o de varios años, el horizonte temporal, la mayoría de los casos, depende del tamaño del proyecto o de la cantidad de recursos disponibles, pero se debe comprender que un proyecto no es un esfuerzo continuo e infinito, siempre se tiene una duración limitada. Los proyectos, que como sabemos son temporales y únicos, a diferencia de los trabajos operativos que son repetitivos en el tiempo se caracterizan también porque: Son realizados por personas. Están restringidos por la limitación de recursos (en algunos casos). Son planificados, ejecutados y controlados. T.F.G Mercedes Morales Blázquez 28 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Los proyectos pueden involucrar desde un gran número de personas o una sola persona, puede tener cortos tiempo de duración e incluso pueden tardar años y pueden ser de tipo: Desarrollo de un nuevo producto o servicio. Cambio de estructura, personal o estilo de la compañía. Diseña u obtener un nuevo sistema de información nuevo o mejorado. Proyectos de construcción industrial y civil. Construcción de infraestructura de servicios públicos. Campañas publicitarias con un fin específico (campaña política). Implementar un nuevo proceso de negocio. Ejecutar la solicitud de un contrato. En resumen, un proyecto es un conjunto de actividades dirigidas a lograr un objetivo específico que tienen, identificados con claridad, un inicio, un desarrollo y un final con un presupuesto asignado. 3.4.- ¿QUÉ ES LA GESTIÓN DE PROYECTOS? La gestión de proyectos define cómo planificar, secuenciar y controlar las actividades que conforman un proyecto, principalmente en coste y tiempo, con el objetivo global de lograr una gestión eficaz y eficiente de los recursos. Para conseguir este objetivo ya que el empleo discrecional de los recursos provoca incrementos innecesarios de coste, poniendo en peligro a su vez, el desarrollo del propio proyecto e impidiendo la realización de nuevos proyectos en paralelo. El coste del proyecto dependerá de su duración, de los recursos empleados y de los resultados que se espera obtener. La gestión de proyectos debe mantener una visión a largo plazo a la vez que se actúa en el corto plazo. De manera que en primer lugar se analice el problema y después se busque la solución, en lugar de querer imponer una solución preconcebida. T.F.G Mercedes Morales Blázquez 29 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 La gestión de proyectos puede resumirse en una serie de puntos clave. El principal, es la determinación clara de metas y objetivos, la valoración racional del entorno y cómo éste puede afectar al desarrollo del proyecto. En el caso de que se puedan verificar inconvenientes, hay que desarrollar previamente itinerarios alternativos de actuación para ejecutar el proyecto y seleccionar la mejor entre una serie de iniciativas. Otro aspecto clave en el desarrollo del proyecto es la máxima apertura posible de los canales de comunicación, para garantizar una respuesta rápida en la resolución de los problemas que puedan surgir. En todas las fases del proyecto es fundamental también, el control continuo de los resultados verificando que se mantienen entre los límites prefijados los niveles de costes, tiempos y recursos. Muchos de los procesos de la gestión de proyectos son repetitivos, debido a que el proyecto se elabora gradualmente (característica de todo proyecto), durante su duración o ciclo de vida. Esto conlleva, a que aunque el director del proyecto conoce bien su proyecto y lo que éste implica, el equipo restante puede convertirse en mayor conocedor del mismo y convertirse en un equipo capaz de gestionar de manera más efectiva. 3.5.- PROYECT MANAGEMENT INSTITUTE (PMI) El Project Management Insitute (PMI) es una de las más grandes asociaciones sin ánimo de lucro para la gestión de proyectos con más de 650.000 miembros en todo el mundo y con representaciones en más de 185 países. Tiene una gran red de estándares y credenciales mundialmente reconocidas para la acreditación profesional en la gestión de proyectos generando oportunidades de desenvolvimiento profesional de sus miembros. Según la guía del PMBOK, publicada por esta asociación, se identifican diez áreas de conocimiento en la gestión de proyectos. Gestión de la integración del proyecto: Incluye los procesos y actividades necesarios para identificar, definir, modificar, unificar y coordinar los distintos procesos actividades. T.F.G Mercedes Morales Blázquez 30 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Gestión del alcance del proyecto: La Gestión del Alcance del proyecto incluye los procesos necesarios para asegurarse que el proyecto incluya todo el trabajo requerido, y sólo el trabajo requerido, para completar el proyecto satisfactoriamente. La gestión del alcance del proyecto se relaciona principalmente con la definición y el control de lo que está y lo que no está incluido en el proyecto. Gestión de secuenciación/tiempo: Incluye los procesos necesarios para lograr la conclusión del proyecto a tiempo. Para ello es necesario la aplicación de métodos como diagramas de GANTT, CPM y PERT. Gestión de costes: Engloba los procesos involucrados en la planificación, estimación, preparación del presupuesto y control de costes, de forma que el proyecto pueda finalizarse dentro del presupuesto aprobado. Gestión de la calidad: Incluye todas las políticas, objetivos y responsabilidades relativos a calidad para que el proyecto satisfaga las necesidades por las que se emprendió. Recursos humanos: Incluye los procesos que organizan y dirigen el equipo del proyecto. Para ello hay que abrir canales de comunicación entre los grupos humanos implicados y garantizar que permanecen abiertos durante todo el ciclo de vida del proyecto. También se incluye en este apartado, la relación con la Administración, en lo referente al pago de tasas, permisos, licencias, etc. Así como la relación con los financiadores del proyecto, que en realidad son los clientes, los cuáles esperan encontrar un producto que satisfaga sus expectativas. Gestión de contratos: Incluye los procesos para comprar o adquirir los productos, servicios o resultados necesarios fuera del equipo del proyecto, para realizar el trabajo. Gestión de las comunicaciones: Es el área de conocimiento que incluye los procesos necesarios, para asegurar la generación, recogida, distribución, almacenamiento, recuperación y destino final de la información del proyecto en tiempo y forma. Para ello hay que disponer de las herramientas necesarias para comunicar a las personas adecuadas en el momento preciso, utilizando el procedimiento apropiado. T.F.G Mercedes Morales Blázquez 31 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Gestión del riesgo: Incluye los procesos relacionados con la planificación de la gestión de riesgos, la identificación y el análisis de riesgos, las respuestas a los riesgos y el seguimiento y control de riesgos de un proyecto. La mayoría de estos procesos se actualizan durante el proyecto. Existen metodologías para la gestión de proyectos que incorporan procedimientos para la gestión del riesgo. Gestión de los interesados: Nueva área de conocimiento, que en la versión anterior estaba incluida en la Gestión de las Comunicaciones, que incluyes los procesos necesarios para identificar a los interesados, planificar la gestión de los interesados, establecer un plan de relación con los interesados y gestionar un controlar la relación con los interesados. 3.6.- CICLO DE VIDA DE UN PROYECTO El ciclo de vida de un proyecto se puede definir como las distintas fases de forma secuencial o en el tiempo por las que un proyecto transita, desde la idea inicial hasta la conclusión de todas las actividades. En general se pueden destacar cuatro macro-fases que son la concepción, el desarrollo, la realización y la finalización. A continuación analizamos más en detalle las distintas fases. o Fase de inicio. Es la etapa en la que comienza a gestarse la idea de la existencia de una necesidad que ha de ser satisfecha. Esta necesidad puede tener varios orígenes como, por ejemplo, la petición expresa de un cliente, la existencia de un problema o la necesidad de innovar. En esta fase se hace un estudio de viabilidad económica para determinar si el proyecto es viable económicamente o no. o Fase de definición y planificación. En esta fase hay que determinar perfectamente qué es lo que hay que hacer. Hay que definir de manera completa y correcta y el problema que se va a resolver. Habrá que determinar los objetivos, la estrategia a seguir, identificar los recursos humanos que se le van a asignar, el sistema de control a seguir y los procedimientos de aseguramiento de la calidad que se van a emplear. Aquí se formula el programa de trabajo en relación a tiempos y costes. T.F.G Mercedes Morales Blázquez 32 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos o 2014 Fase de ejecución. En esta etapa se define el método a seguir. Hay que comprobar que efectivamente se hayan alcanzado los objetivos deseados. Esta fase es la que necesita la más elevada cantidad de recursos y en la que se emplearán el mayor número de horas de trabajo. o Fase de finalización o cierre del proyecto. En esta etapa se pone en marcha el proyecto. Todos los defectos hallados son fallos externos que detecta el cliente en cuyo caso habrá que tomar las medidas necesarias para el rediseño del mismo. Durante la última fase se debe seguir observando y analizando el proyecto para conocer posibles fallos o carencias y que éstos no sucedan en posteriores realizaciones. Hay que buscar un proceso de mejora continua. Imagen 3.1. Ciclo de vida de un proyecto Observando el gráfico, se puede ver la relación existente entre el nivel de coste y de personal y las diferentes etapas de un proyecto. El coste más alto y la mayor necesidad de personal, se dan en las fases intermedias, donde se lleva a cabo la realización del proyecto. T.F.G Mercedes Morales Blázquez 33 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Imagen 3.2. Influencia del coste a lo largo del tiempo de desarrollo de un proyecto En relación del poder de los responsables de influir en el desarrollo del proyecto y en el coste final, es más alto al comienzo y disminuye gradualmente con el avance del proyecto. Una de las principales causas de éste fenómeno es que el coste de los cambios y de la corrección de errores generalmente aumenta a medida que avanza el proyecto. 3.7.- MÉTODOS DE PLNIFICACIÓN DE PROYECTOS 3.7.1.- DIAGRAMAS DE GANT El diagrama de Gantt es un diagrama representativo, que permite visualizar fácilmente la distribución temporal del proyecto, pero es poco adecuado para la realización de cálculos. Por la forma en que se construye, muestra directamente los inicios y finales mínimos de cada tarea. Este gráfico consiste simplemente en un sistema de coordenadas en que se indica: En el eje Horizontal: un calendario, o escala de tiempo definido en términos de la unidad más adecuada al trabajo que se va a ejecutar: hora, día, semana, mes, etc. En el eje Vertical: Las actividades que constituyen el trabajo a ejecutar. A cada actividad se hace corresponder una línea horizontal cuya longitud es T.F.G Mercedes Morales Blázquez 34 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 proporcional a su duración en la cual la medición efectúa con relación a la escala definida en el eje horizontal. Símbolos Convencionales: En la elaboración del gráfico de Gantt se acostumbra utilizar determinados símbolos, aunque pueden diseñarse muchos otros para atender las necesidades específicas del usuario. Los símbolos básicos son los siguientes: Iniciación de una actividad. Término de una actividad Imagen 3.3: Diagrama de Gantt 3.7.2.- CRITICAL PATH METHOD (CPM) El método de la ruta crítica o del camino crítico es un algoritmo utilizado para el cálculo de tiempos y plazos en la planificación de proyectos. En administración y gestión de proyectos, una ruta crítica es la secuencia de los elementos terminales de la red de proyectos con la mayor duración entre ellos, determinando el tiempo más corto en el que es posible completar el proyecto. La duración de la ruta crítica determina la duración del proyecto entero. Cualquier retraso en un elemento de la ruta crítica afecta a la fecha de término planeada del proyecto, y se dice que no hay holgura en la ruta crítica. T.F.G Mercedes Morales Blázquez 35 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Originalmente, el método de la ruta crítica consideró solamente dependencias entre los elementos terminales. Un concepto relacionado es la cadena crítica, la cual agrega dependencias de recursos. Cada recurso depende del manejador en el momento donde la ruta crítica se presente. A diferencia de la técnica de revisión y evaluación de programas (PERT), el método de la ruta crítica usa tiempos ciertos (reales o determinísticos). Sin embargo, la elaboración de un proyecto basándose en redes CPM y PERT son similares y consisten en: Identificar todas las actividades que involucra el proyecto, lo que significa, determinar relaciones de precedencia, tiempos técnicos para cada una de las actividades. Construir una red con base en nodos y actividades (o arcos, según el método más usado), que implican el proyecto. Analizar los cálculos específicos, identificando la ruta crítica y las holguras de las actividades que componen el proyecto. En términos prácticos, la ruta crítica se interpreta como la dimensión máxima que puede durar el proyecto y las diferencias con las otras rutas que no sean la crítica, se denominan tiempos de holgura. El algoritmo de resolución que se emplea en este trabajo para la resolución del problema Pm/m≥n, prec/Cmax se basa en este método. 3.7.3.- PROGRAM EVALIATION AND REVIEW TECHNIQUE (PERT) PERT es básicamente un método para analizar las tareas involucradas en completar un proyecto dado, especialmente el tiempo para completar cada tarea, e identificar el tiempo mínimo necesario para completar el proyecto total. Se utiliza para controlar la ejecución de proyectos con gran número de actividades desconocidas que implican investigación, desarrollo y pruebas. T.F.G Mercedes Morales Blázquez 36 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 PERT permite planificar y controlar el desarrollo de un proyecto. A diferencia de las redes CPM, las redes PERT trabajan con tiempos probabilísticos. Se consideran tres estimaciones de tiempo distintas: Estimación optimista (Eo): tiempo mínimo en que podría ejecutarse la actividad i si no surgiera ningún contratiempo. Estimación más probable o estimación modal (Em): tiempo que se empleará en ejecutar la actividad i en circunstancias normales Estimación pesimista (Ep): tiempo máximo de ejecución de la actividad i si las circunstancias son muy desfavorables. Con el tiempo los métodos CPM y PERT fueron fusionándose y ahora se denominan juntos como el método CPM-PERT, y conforman un método único llamado el método del camino crítico, donde se puede obtener la duración del proyecto midiendo la duración de las tareas que dependen unas de otras y sin holguras. Ambos métodos tenían una consigna en común que hizo posible que la ejecución de los proyectos fuera tan exitosa. Este método contempla dos fases, es decir, separa el proyecto en dos fases, que CPM-PERT abarca completamente. Estas fases son: 1. Planificación y programación: la cual contempla la definición del proyecto, así como su proceso, su secuenciación y tiempos de ejecución, los costes de dichas actividades, la comprensión de la red de actividades o encadenamiento de unas actividades con otras, las limitaciones de recursos y de tiempo que tiene el proyecto y las probabilidades de retrasarse. 2. Ejecución y control: es poner en marcha el proyecto y controlar el desarrollo de sus actividades. Se inicia con una aprobación del proyecto y la ejecución de las órdenes de trabajo, planificar los posibles reportes de avances de trabajo y la toma de decisiones y ajustes, teniendo en cuenta las primicias del proyecto antes mencionadas. T.F.G Mercedes Morales Blázquez 37 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 2.7.4. OBTENCIÓN DE LA DURACIÓN DE UN PROYECTO CON RESTRICCIÓN DE RECURSOS (MODELO DE OPTIMIZACIÓN DE RECURSOS) En la mayoría de proyectos existen restricciones de recursos que hacen que los tiempos de duración de las actividades varíen considerablemente con respecto a lo planificado inicialmente en el proyecto. Hasta el momento no existen métodos exactos que den como resultado una duración optima de un proyecto de una complejidad alta, por lo cual se utilizan métodos heurísticos que dan como resultado, en la mayoría de casos y dependiendo del método usado, la mejor opción o duración más correcta. Ya obteniendo el camino crítico por el método CPM-PERT, y conociendo los recursos disponibles para cada actividad, tanto económicos como de personal y equipo, actualmente es necesario aplicar métodos heurísticos para poder conocer el tiempo de ejecución del proyecto con restricción de recursos. El método que se aplica es un modelo de optimización de recursos con el cual se volverá a planear según los recursos verdaderos que se tienen teniendo en cuenta además que se restringirán los retrasos y se premiaran los adelantos, lo que se busca es minimizar los costes teniendo en cuenta la relación entre el coste y la duración, es decir, la relación entre restricción y premiación, esto nos dará como resultado un nuevo coste, una nueva duración y una nueva distribución de los recursos asignados al proyecto. Implementar un método exacto que permita obtener la duración óptima, además de otros aspectos como la gestión de los recursos disponibles o la secuenciación de las tareas, es objeto de este trabajo. T.F.G Mercedes Morales Blázquez 38 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 3. IMPLEMENTACIÓN Y RESOLUCIÓN DEL MODELO Pm/m≥n, prec/Cmax + VSP TÁCTICO T.F.G Mercedes Morales Blázquez 39 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 4.1.- INTRODUCCIÓN Este capítulo recoge la explicación de cómo se han implementado en Visual Basic las rutinas que escribirán los modelos necesarios para este proyecto y cómo se han resuelto con LINGO. 4.2.- DESCRIPCCIÓN DE LA IMPLEMENTACIÓN DEL PROBLEMA Pm/m≥n,prec/Cmax + VSP El primer paso de la implementación del problema Pm/m≥n, prec/Cmax + VSP es escribir el modelo en Visual Basic. Para ello es necesario disponer de los datos del problema que se va a resolver, que se recogen en un documento de texto, de extensión .txt. Una vez se tiene el modelo en Visual Basic, se ejecuta y se genera un archivo de extensión .lg4 que se resuelve utilizando librerías de resolución del programa LINGO. Para llevar a cabo el análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos se resuelven problemas de diferentes características en cuanto al número de trabajos, precedencias y clases de trabajos y máquinas. Se utiliza un modelo en Visual Basic llamado generación con el que se crean los archivos .txt que posteriormente se resolverán y se analizarán sus soluciones. Estos archivos se guardan en una carpeta llamada generación que contiene la batería completa de problemas generados. El problema a resolver es Pm/m≥n, prec/Cmax + VSP táctico en dos versiones: con clases y sin clases. Ambas tienen la misma estructura en cuanto a declaración de variables, condiciones y funciones, y la diferencia estaría en las funciones en sí, que en una se tienen en cuenta las clases de recursos y tareas. T.F.G Mercedes Morales Blázquez 40 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 A continuación se muestra un pequeño esquema de la implementación: Datos del proyecto en un archivo de texto (.txt) Archivo Visual Basic del modelo Pm/prec/Cmax para obtener el intervalo de procesamiento de cada tarea y el camino crítico. Archivo Visual Basic del modelo VSP necesario para generar el archivo del modelo matemático del problema (.lg4) Archivo LINGO con extensión lg4., con el que obtenemos la duración óptima del proyecto. Posteriormente se explica a groso modo el formato que sigue el archivo de Visual Basic creado para este proyecto. Como casi todo en programación, sigue una estructura lógica. 1º 2º 3º •Declaración de Variables globales: Aquí se declaran todas las variables necesarias para realizar las distintas funciones y cálculos. Son variables a las que se puede acceder desde cualquier función o cálculo, por ello se dice que son globales. •Condiciones Iniciales: Se especifican unas condiciones iniciales que afectaran a todo el documento. •Funciones: La función principal se encagan de llevar a cabo las llamadas a las funciones para que realicen sus operaciones y cálculos, también se suelen escribir las soluciones o bien crear un archivo de salida. En este caso los archivos son lg4. T.F.G Mercedes Morales Blázquez 41 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 En este proyecto se tienen 4 funciones muy diferenciadas: LeerArchivo: Su cometido es abrir los archivos de la batería de problemas generada y leerlos, obteniendo sus características en cuanto a tareas, precedencias, clases y compatibilidades. Esta función sigue la siguiente estructura: 1. Se declaran las variables locales necesarias para llevar a cabo las distintas operaciones de lectura. 2. Se crea un espacio en el disco para guardar la información que se va a leer. Hay que “vaciar” este espacio cada vez que vayamos a leer. 3. Se leen los archivos de la batería de problemas, para ello se debe indica la dirección en la que se encuentra la batería de problemas. Algoritimo 1: Consiste en recolver el problema Pm/m≥n, prec/Cmax del que se obtiene el camino crítico de una serie de tareas en relación a unas precedencias determinadas. Lo que realmente interesa de la resolución de este problema no es el cálculo del canino crítico sino hallar el instante más pronto y el instamte más tarde en el que podría terminar cada tarea, que constituyen el intervalo [𝑎𝑖 ,𝑏𝑖 ] en el cual se puede procesar una tarea en un problema VSP. Esta función sigue la siguiente estructura: 1. Se declaran las variables locales necesarias para llevar a cabo las distintas operaciones de lectura. 2. Se calcula en instante más pronto en el que podría terminar cada trabajo 𝐽𝑖 . El instante mayor será el Cmax. 3. Se calcula en instante más tarde en el que podría terminar cada trabajo 𝐽𝑖 . 4. Se calcula el camino crítico. 5. Se establece el intervalo de procesamiento de cada 𝐽𝑖 como [𝑎𝑖 ,𝑏𝑖 ]. T.F.G Mercedes Morales Blázquez 42 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 CrearModelo: Crea el archivo en .lg4 que se resolverá en LINGO, su estructura es la siguiente: 1. Se declaran las variables locales necesarias para llevar a cabo las distintas operaciones. 2. Se crea un espacio en el disco para guardar la información que se va a leer. Hay que “vaciar” este espacio cada vez que se vaya a leer. 3. Se crea un archivo Lg4 dentro del espacio reservado, donde se empezará a escribir el modelo. 4. Se asigna el nombre del archivo. 5. Se escribe la función objetivo. 6. Se escriben las restricciones que limitan que el número de tareas que se procesan simultáneamente sea menor o igual al número de recursos. 7. Se escriben las restricciones que garantizan que cada tarea se lleve a cada solo una vez. 8. Se escriben las restricciones de solapamiento. 9. Se declaran las variables binarias. Resolver: Se refiere a la función principal y se encarga de ejecutar las funciones anteriores: LeerArchivo, Algoritmo 1 y CrearArchivo. 4.3.- INGTERFAZ VISUAL BASIC Como se ha especificado anteriormente, se utiliza el programa Visual Basic, para escribir los modelos. Mediante las rutinas o el código implementado en dicho programa, se escriben todas las variantes de los distintos problemas de la batería de problemas (VSP táctico sin clases y con clases). Al abrir el programa lo que nos encontramos es la siguiente pantalla, en la que aparece el menú inicial. T.F.G Mercedes Morales Blázquez 43 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Imagen 4.1: Interfaz inicial Visual Basic Una vez en el menú principal si se quiere abrir un proyecto se selecciona la opción Archivo, a continuación se despliega un menú, y se puede elegir entre abrir Nuevo proyecto o Abrir proyecto…, opción con la que se abre un proyecto existente. Imagen 4.2: Opciones del menú Archivo T.F.G Mercedes Morales Blázquez 44 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Seleccionando Abrir proyecto, se abre una ventana en la que permite buscar la carpeta de trabajo donde se encuentra el proyecto ya comenzado. Imagen 4.3: Venta de búsqueda de proyectos Al seleccionar el archivo ProyectoClases, se abre el proyecto y se ven las líneas de código implementadas en él. Imagen 4.4: Archivo PorectoClases abierto T.F.G Mercedes Morales Blázquez 45 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Para ejecutar el programa se pulsa el botón de play, y empieza a correr la rutina de Visual Basic. Imagen 4.5: Barra de herramientas (botón de ejecutar marcado en azul) Una vez pulsado el botón de play, se comienzan a generar los archivos lg4., que más tarde se resolverán con LINGO. 4.4.- RESOLUCIÓN EN LINGO 4.4.1.- INTRODUCCIÓN LINGO: (Linear Generalizer Optimizer) es una herramienta simple para formular problemas lineales y no lineales, resolverlos y analizar su solución. El resultado que LINGO proporciona es la optimización que ayuda a encontrar el mejor resultado, la ganancia más alta, o el costo más bajo. Los problemas son clasificados como lineales o no, dependiendo de si las relaciones en el problema son lineales con respecto a las variables. Uno de los rasgos más poderosos de LINGO es su aplicación de modelo matemático, el cual permite expresar un problema de una manera muy similar a la notación matemática normal, pudiendo también, expresar una serie entera de restricciones en una declaración compacta. Esto lleva a modelos que son mucho más fáciles de mantener. Otro aspecto es la sección de los datos, que le permite aislar los datos de la formulación del modelo. LINGO puede leer datos incluso de una hoja de cálculo separada, base de datos, o archivo de texto. Con datos independientes del modelo, T.F.G Mercedes Morales Blázquez 46 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 es mucho más fácil de hacer cambios, y hay menos oportunidad de error cuando se realiza dicho modelo. Imagen 4.6: Modo de funcionamiento de LINGO El formato que sigue un modelo en LINGO es el siguiente: 1. Título: descripción del modelo. 2. Función objetivo: Maximizar o minimizar con los valores de los costes de todas las variables. 3. Restricciones del problema. 4. Restricciones asociadas al tipo de variable. 4.4.2.- SINTAXIS DE LINGO La sintaxis que se utiliza en este programa es muy sencilla. Además en este proyecto no se programa en LINGO, sino que se utiliza para resolver los modelos programados en Visual Basic. Con que se simplifica aún más tanto utilización del programa que el proyecto requiere como las explicaciones a cerca de la sintaxis de LINGO que se indican en este apartado. Algunas de las características principales son: El nombre de las variables se establece un máximo de 32 caracteres, que deben comenzar con una letra seguido de letras, dígitos o “_”. El compilador de LINGO no distingue entre mayúsculas y minúsculas. Todas las sentencias deben terminar en punto y coma. T.F.G Mercedes Morales Blázquez 47 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Para darle un nombre a la función objetivo o a las restricciones, éstas se deben colocar entre corchetes. Los comentarios deben comenzar con un signo !, estos son resaltados en verde. Los archivos generados por LINGO, como ya se ha comentado anteriormente, tienen extensión lg4. A continuación se detallan las características más importantes a cerca de la sintaxis de los modelos de LINGO: 1. Título Es optativo y debe tener como máximo 128 caracteres. FORMATO: {TITLE NOMBRE DEL MODELO ;} 2. Función objetivo Para escribir la función objetivo se colocan las palabras reservadas MAX o MIN, qué se resaltarán en azul, seguidas de signo =. FORMATO: {[NOMBRE]} (MAX/MIN) = FUNCIÓN OBJETIVO; 3. Restricciones del problema LINGO tiene la habilidad de nombrar las restricciones en su modelo. Ésta es una buena práctica, por dos razones; primero, los nombres de restricciones se usan en el reporte de las soluciones, cosa que los hacen más fácil de interpretar. Segundo, muchos de los mensajes de error de LINGO se refieren a una restricción dada por nombre. Dar nombre a las restricciones es bastante simple, se inserta el nombre entre corchetes delante de una línea de código, dicho nombre cumplirá los requisitos normales para un nombre de LINGO. T.F.G Mercedes Morales Blázquez 48 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 FORMATO: {[NOMBRE DE LA RESTRICCIÓN]} RESTRICCIÓN; 4. Restricciones asociadas al tipo de variable Variable entera: @GIN(Xi); Variable binaria: @BIN(Xj); 4.4.3.- PASOS PARA LA RESOLUCIÓN DE UN EJERCICIO Una vez generados los archivos .lg4 desde Visual Basic, se abren desde LINGO y se resuelven. Para cada problema se anotan las siguientes características: óptimo, tiempo, número de variables y número de restricciones. Cuando se hayan resuelto todos los problemas de la batería se sacarán las conclusiones pertinentes. La forma de resolver con LINGO es muy simple, en primer lugar Visual Basic crea el archivo del problema en la carpeta de trabajo correspondiente y se abre el programa que muestra la siguiente pantalla inicial: Imagen 4.7: Interfaz inicial LINGO Una vez en la pantalla principal, para abrir un archivo se selecciona File y se despliega un nuevo menú en el cual hay que seleccionar la opción Open. T.F.G Mercedes Morales Blázquez 49 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 En la última pantalla se elige un problema de la carpeta de trabajo. Una vez abierto aparece la pantalla que se muestra en la figura 3.9, se selecciona uno de los modelos y aparecerá una pantalla con opciones de LINGO y el modelo escrito con todas sus restricciones. Imagen 4.10: Interfaz con modelo abierto El problema se puede resolver de dos formas: T.F.G Mercedes Morales Blázquez 50 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Opción 1: pulsar el icono en el que parece una diana en la barra de herramientas superior Opción 2: seleccionar LINGO -> Solve. Imagen 4.11: Opciones de resolución Finalmente, tras la resolución del modelo aparece una pantalla en la que se muestran los siguientes datos: Nº de variables Nº de restricciones Óptimo Tiempo de resolución Imagen 4.12: Ventana de resolución T.F.G Mercedes Morales Blázquez 51 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Por otro lado, una vez se consigue el óptimo, bien porque se termina el proceso de búsqueda o porque se interrumpe dicha búsqueda, aparece una pantalla donde se muestran todas las variables y su correspondiente valor. Concretamente, en este proyecto si la variable 𝑥𝑖_𝑡 toma valor 1, significa que la tarea 𝑖 se lleva a cabo en el instante 𝑡. Esta especificación se refiere al problema sin clases. En el problema con clases, si la variable 𝑥𝑖_𝑡_𝑐 toma valor 1, la tarea 𝑖 se lleva a cabo en el instante 𝑡 por el recurso de clase 𝑐. Imagen 4.13: Desglose del valor las variables en el óptimo T.F.G Mercedes Morales Blázquez 52 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 5. RESULTADO DE LA EXPERIMENTACIÓN T.F.G Mercedes Morales Blázquez 53 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 5.1.- INTRODUCCIÓN En este capítulo se describe la batería de problemas que se resuelven para poder llevar a cabo el análisis del problema Pm/m≥n, prec/Cmax + VSP. También se explica paso a paso los procedimientos de resolución de los problemas P m/ m≥n, prec/Cmax y VSP, y se presentan los resultados obtenidos de la resolución de cada problema de la batería. Por último de presentan los resultados correspondientes a la resolución de un proyecto real de arquitectura. 5.2. DESCRIPCIÓN DE LA BATERÍA DE PROBLEMAS La batería de problemas se crea con el fin de ensayar con los modelos y algoritmos expuestos en este documento, para después sacar las conclusiones pertinentes de los resultados obtenidos. Dicha batería está compuesta por archivos de texto, los cuales se crean mediante una rutina de Visual Basic. Estos archivos de texto contienen la siguiente información: Número de tareas. Número de precedencias. Número de clases de tareas y de clases de recursos. Matriz de compatibilidad entre tareas y recursos. Coste de cada tipo de recuso. De cada tarea: o Duración. o Clase de tarea. Los problemas que se crean, recogen en su nombre todas las variables que los diferencian. Por ejemplo “File_25_25_1.txt”, donde cada número que aparece en el nombre del problema es una característica del mismo. A continuación de define cada característica. T.F.G Mercedes Morales Blázquez 54 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 El primer número que aparece en el nombre toma los valores de 25, 50 y 100. Éste está relacionado con el número de relaciones de presencia del problema. Si el número es 25, el problema tendrá 25 relaciones de precedencia. Ídem para 50 y 100. El segundo número que aparece en el nombre toma los valores de 25, 50, 100 y 200. Éste se refiere al número de tareas del problema. Los documentos de la batería de problemas se crean de manera que existe un tope entre el número de relaciones de precedencia y el de tareas de forma que el número de tareas sea mayor o igual al número de precedencias. Esto es, si el número de relaciones de precedencia es 25, entonces existen problemas con 25, 50, 100 y 200 tareas, si es 50 los problemas pueden tener 50, 100 y 200 tareas y por último, si es 100 los problemas podrán tener 100 y 200 tareas. Finalmente, el último número que aparece en el nombre toma los valores 1, 2, 3, 4 y 5. Este número representa las diferentes versiones del problema con las mismas características. Parámetros Número de relaciones de precedencia Número de tareas Índice 25 25 1…5 25 50 1…5 25 100 1…5 25 200 1…5 50 50 1…5 50 100 1…5 50 200 1…5 100 100 1…5 100 200 1…5 Problemas T.F.G Mercedes Morales Blázquez 55 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 En la tabla anterior se presentan todos los nombres de los archivos que constituyen la batería de problemas. En total se trata de 45, los cuales permitirán llevar a cabo el análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en máquinas. A continuación se muestra el formato de un archivo de extensión .txt que presentan todos los documentos. En la generación de la batería se establece una restricción que garantiza que la duración máxima de cada tarea sea de 30. 25 nº de tareas Duración Clase de tarea 12 1 2 2 10 2 . . . . . . 2 nº de clases de tareas 3 nº de clases de recursos 1 Fila 1, Columna 1 matriz 0 Fila 2, Columna 1 matriz 1 Fila 1, Columna 2 matriz 0 Fila 2, Columna 2 matriz 1 Fila 1, Columna 3 matriz 1 Fila 2, Columna 3 matriz 10 coste recurso 1 29 coste recurso 2 8 coste recurso 3 de de de de de de compatibilidad compatibilidad compatibilidad compatibilidad compatibilidad compatibilidad 25 nº de relaciones de precedencia Antes Después 15 18 11 16 18 25 . . . . . . T.F.G Mercedes Morales Blázquez 56 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 5.3.- GENERACIÓN DEL PROBLEMA Pm/m≥n,prec/Cmax En este apartado se explica detalladamente el procedimiento de resolución de problema Pm/m≥n, prec/Cmax. 6. Cálculo del variables instante más tarde en el que puede procesarse una tarea L(I) 2. Lectura del 5. Cálculo del archivo .txt Cmax = max E(I) 1. Declaración de 7. Cálculo del camíno crítico E(I)=L(I) 8. Cálculo del intervalo de procesamiento de cada tarea 4. Cálculo del 3. Almacenamiento de la información leida T.F.G Mercedes Morales Blázquez instante más pronto en el que puede procesarse una tarea E(I) 57 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 CÁLCULO DEL INTANTE MÁS PRONTO EN QUE PUEDE PROCESARSE UNA TAREA: E(I) 𝑃𝐴𝑅𝐴 𝐼 = 1 𝐻𝐴𝑆𝑇𝐴 𝑁𝑢𝑚𝑇𝑎𝑟𝑒𝑎𝑠 𝐸𝑚𝑎𝑥 = 0 𝑃𝐴𝑅𝐴 𝐾 = 1 𝐻𝐴𝑆𝑇𝐴 𝑁𝑢𝑚𝑃𝑟𝑒𝑐 𝑆𝐼 𝑃𝑟𝑒𝑐(𝐾).𝐷𝑒𝑠𝑝𝑢𝑒𝑠 = 𝐼 𝐸𝑁𝑇𝑂𝑁𝐶𝐸𝑆 𝑆𝐼 𝐸(𝑃𝑟𝑒𝑐(𝐾). 𝐷𝑒𝑠𝑝𝑢𝑒𝑠) ≥ 𝐸𝑚𝑎𝑥 𝐸𝑁𝑇𝑂𝑁𝐶𝐸𝑆 𝐸𝑚𝑎𝑥 = 𝐸(𝑃𝑟𝑒𝑐(𝐾). 𝐴𝑛𝑡𝑒𝑠) 𝐸(𝐼) = 𝐸𝑚𝑎𝑥 + 𝑇𝑎𝑟𝑒𝑎(𝐼).𝐷𝑢𝑟𝑎𝑐𝑖ó𝑛 𝐹𝐼𝑁 𝑆𝐼 𝐹𝐼𝑁 𝑆𝐼 𝑆𝐼 𝐼 𝑛𝑜 𝑡𝑖𝑒𝑛𝑒 𝑝𝑟𝑒𝑐𝑒𝑑𝑒𝑛𝑡𝑒𝑠 𝐸𝑁𝑇𝑂𝑁𝐶𝐸𝑆 𝐸(𝐼) = 𝑇𝑎𝑟𝑒𝑎(𝐼). 𝐷𝑢𝑟𝑎𝑐𝑖ó𝑛 𝐹𝐼𝑁 𝑆𝐼 𝐹𝐼𝑁 𝑃𝐴𝑅𝐴 𝐹𝐼𝑁 𝑃𝐴𝑅𝐴 CÁLCULO DEL Cmax 𝐶𝑚𝑎𝑥 = 0 𝑃𝐴𝑅𝐴 𝐼 = 1 𝐻𝐴𝑆𝑇𝐴 𝑁𝑢𝑚𝑇𝑎𝑟𝑒𝑎𝑠 𝑆𝐼 𝐸(𝐼) > 𝐶𝑚𝑎𝑥 𝐸𝑁𝑇𝑂𝑁𝐶𝐸𝑆 𝐶𝑚𝑎𝑥 = 𝐸(𝐼) 𝐹𝐼𝑁 𝑆𝐼 𝐹𝐼𝑁 𝑃𝐴𝑅𝐴 T.F.G Mercedes Morales Blázquez 58 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 CÁLCULO DEL INTANTE MÁS TARDE EN QUE PUEDE PROCESARSE UNA TAREA: L(I) 𝑃𝐴𝑅𝐴 𝐼 = 1 𝐻𝐴𝑆𝑇𝐴 𝑁𝑢𝑚𝑇𝑎𝑟𝑒𝑎𝑠 𝑃𝐴𝑅𝐴 𝐾 = 1 𝐻𝐴𝑆𝑇𝐴 𝑁𝑢𝑚𝑃𝑟𝑒𝑐 𝑆𝐼 𝐼 𝑛𝑜 𝑡𝑖𝑒𝑛𝑒 𝑎𝑛𝑡𝑒𝑐𝑒𝑠𝑜𝑟𝑒𝑠 𝐸𝑁𝑇𝑂𝑁𝐶𝐸𝑆 𝐿𝑚𝑖𝑛 = 𝐶𝑚𝑎𝑥 𝐹𝐼𝑁 𝑆𝐼 𝑃𝐴𝑅𝐴 𝐼 = 𝑁𝑢𝑚𝑇𝑎𝑟𝑒𝑎𝑠 𝐻𝐴𝑆𝑇𝐴 1 (𝑟𝑒𝑠𝑡𝑎𝑛𝑑𝑜 1) 𝐿𝑚𝑖𝑛 = 𝐶𝑚𝑎𝑥 𝑃𝐴𝑅𝐴 𝐾 = 1 𝐻𝐴𝑆𝑇𝐴 𝑁𝑢𝑚𝑃𝑟𝑒𝑐𝑒𝑑𝑒𝑛𝑐𝑖𝑎𝑠 𝑆𝐼 𝑃𝑟𝑒𝑐(𝐾).𝐴𝑛𝑡𝑒𝑠 = 𝐼 𝐸𝑁𝑇𝑂𝑁𝐶𝐸𝑆 𝑆𝐼 𝐿(𝑃𝑟𝑒𝑐(𝐾).𝐷𝑒𝑠𝑝𝑢𝑒𝑠) − 𝑇𝑎𝑟𝑒𝑎(𝑃𝑟𝑒𝑐(𝐾). 𝐷𝑒𝑠𝑝𝑢𝑒𝑠). 𝐷𝑢𝑟𝑎𝑐𝑖𝑜𝑛 ≥ 𝐿𝑚𝑎𝑥 𝐿(𝐼) = 𝐿(𝑃𝑟𝑒𝑐(𝐾). 𝐷𝑒𝑠𝑝𝑢𝑒𝑠) − 𝑇𝑎𝑟𝑒𝑎(𝑃𝑟𝑒𝑐(𝐾).𝐷𝑒𝑠𝑝𝑢𝑒𝑠). 𝐷𝑢𝑟𝑎𝑐𝑖𝑜𝑛 𝐿𝑚𝑖𝑛 = 𝐿(𝐼) 𝐹𝐼𝑁 𝑆𝐼 𝐹𝐼𝑁 𝑆𝐼 𝐹𝐼𝑁 𝑃𝐴𝑅𝐴 𝐹𝐼𝑁 𝑃𝐴𝑅𝐴 CÁLCULO DEL CAMINO CÍTICO 𝑃𝐴𝑅𝐴 𝐼 = 1 𝐻𝐴𝑆𝑇𝐴 𝑁𝑢𝑚𝑇𝑎𝑟𝑒𝑎𝑠 𝑆𝐼 𝐸(𝐼) = 𝐿(𝐼) 𝐸𝑁𝑇𝑂𝑁𝐶𝐸𝑆 𝐿𝑎 𝑡𝑎𝑟𝑒𝑎 𝐼 𝑝𝑒𝑟𝑡𝑒𝑐𝑒𝑑𝑒 𝑎𝑙 𝑐𝑎𝑚𝑖𝑛𝑜 𝑐í𝑡𝑖𝑐𝑜 𝐹𝐼𝑁 𝑆𝐼 𝐹𝐼𝑁 𝑃𝐴𝑅𝐴 T.F.G Mercedes Morales Blázquez 59 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 CÁLCULO DEL INTERVALO DE PROCESAMIENTO DE CADA TAREA 𝑃𝐴𝑅𝐴 𝐼 = 1 𝐻𝐴𝑆𝑇𝐴 𝑁𝑢𝑚𝑇𝑎𝑟𝑒𝑎𝑠 𝑇𝑎𝑟𝑒𝑎(𝐼). 𝑎 = 𝐸(𝐼) + 𝑇𝑎𝑟𝑒𝑎(𝐼). 𝐷𝑢𝑟𝑎𝑐𝑖𝑜𝑛 𝑇𝑎𝑟𝑒𝑎(𝐼). 𝑏 = 𝐿(𝐼) 𝐹𝐼𝑁 𝑃𝐴𝑅𝐴 Para ilustrar con exactitud el método de resolución del problema, se plantea resolver uno pequeño con las siguientes características: 9 tareas, 9 precedencias, 2 clases tarea y 2 clases de recurso. TAREAS 1 2 3 4 5 6 7 8 9 DURACIÓN 4 9 3 3 6 8 8 12 6 CLASE 1 2 1 2 2 1 2 2 1 PRECEDENCIAS 1 2 3 4 5 6 7 8 9 ANTES 1 2 6 3 4 5 5 7 7 DESPUÉS 2 6 8 4 5 6 7 8 9 La matriz de compatibilidad entre clases de tareas y de recursos es la siguiente: 𝐿𝐷𝑥𝐶 = [ 1 1 ] 1 0 Y el coste de cada recurso: 𝑐1 = 3 𝑐2 = 2 T.F.G Mercedes Morales Blázquez 60 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 El formado del archivo .txt de este ejemplo a partir del cual se lleva a cabo la resolución se la que se muestra a continuación: 9 nº de tareas Duración Clase de tarea 4 1 9 2 3 1 3 2 6 2 8 1 8 2 12 2 6 1 2 nº de clases de tareas nº de clases de recursos 1 Fila 1, Columna 1 matriz 1 Fila 2, Columna 1 matriz 1 Fila 1, Columna 2 matriz 0 Fila 2, Columna 2 matriz 3 coste recurso 1 2 coste recurso 2 de de de de compatibilidad compatibilidad compatibilidad compatibilidad 9 nº de relaciones de precedencia Antes Después 1 2 2 6 6 8 3 4 4 5 5 6 5 7 7 8 7 9 T.F.G Mercedes Morales Blázquez 61 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Una vez se han leído los datos, se procede a la implementación del modelo del problema Pm/m≥n, prec/Cmax de la que se obtienen los siguientes resultados: TAREAS 1 2 3 4 5 6 7 8 9 E(I) 4 13 3 6 12 21 20 33 26 Cmax - - - - - - - 33 - L(I) 4 13 4 7 13 21 21 33 33 CAMINO CRÍTICO 1 2 - - - 6 - 8 - a 0 4 0 3 6 13 12 21 20 b 4 13 4 7 13 21 21 33 33 DURACIÓN ÓPTIMA DEL PRYECTO: 33 5.4.- GENERACIÓN DEL PROBLEMA VSP Se describe paso a paso cómo se ha llevado a cabo la implementación del modelo VSP táctico. El procedimiento es el mismo tanto para el caso sin clases como el caso con clases. En el primero, se lee el archivo de texto completo y se van almacenando sus datos en variables, aunque posteriormente en la generación no se utilicen los datos referentes al número de clases de tareas y recursos, matriz de compatibilidad y coste de los recursos. Por lo tanto se puede considerar que el punto de partida de la generación del problema VSP es común para ambos casos. La diferencia reside en que en el segundo caso, la función objetivo considera el coste de cada tipo de recurso y que todas las restricciones han de respetar la matriz de compatibilidad entre clases de tareas y clases de recursos. T.F.G Mercedes Morales Blázquez 62 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 9. Declaración de nuevas variables 14. 3º restricción: No se produzcan solapes 15. Declaración de las variables que constituyen el modelo en LINGO 10. Crear el archivo .lg4 13. 2º restricción: Cada tarea ha de procesarse solo una vez 16. Resolución en LINGO 11. Función objetivo 12. 1º restricción: Nº de tareas que se procesan a la vez ≤ Nº de recursos Continuando con el ejemplo que se plantea en el apartado anterior y una vez se ha implementado la generación del problema VSP táctico se obtiene el siguiente modelo en LINGO: TITLE Modelo Pm/m>=n, prec/Cmax + VSP/TACTICO/CLASES; MIN=y_1*3+y_2*2; !RESTRICCIONES; X1_0_1+X3_0_1<=y_1; X2_4_1+X4_3_1+X4_4_1<=y_1; X1_0_1+X3_0_1<=y_1; X1_0_1+X3_0_1+X3_1_1<=y_1; X1_0_1+X3_1_1+X4_3_1<=y_1; X2_4_1+X4_3_1+X4_4_1<=y_1; . . . ! VARIABLES; @BIN(X1_0_1); @BIN(X2_4_1); @BIN(X3_0_1); . . . T.F.G Mercedes Morales Blázquez 63 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos Finalmente, tras resolver con LINGO el 2014 modelo anterior, se obtiene que son necesarias dos máquinas o recursos de cada tipo para llevar a cabo la programación que se presenta en la siguiente imagen de manera que se minimice el tiempo total en el que se procesan todas las tareas y el coste total relacionado a la utilización de los recursos para que se procesen todas la tareas. En la imagen anterior se representa la solución obtenida de resolver el problema Pm/m≥n, prec/Cmax + VSP táctico con clases mediante un Diagrama de Gantt. En el eje horizontal se disponen los instantes de tiempo. En azul fuerte se representa la secuenciación de las tareas y azul claro, parte de los intervalos de procesamiento de algunas tareas. Son necesarias 2 máquinas de cada clase para que se procesen todas las tareas. T.F.G Mercedes Morales Blázquez 64 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 5.5.- RESOLUCIÓN EXATA CON LINGO En este apartado se exponen las tablas que contienen los resultados del análisis para los casos Pm/m≥n,prec/Cmax y VSP táctico sin clases y con clases. Por último se muestran los resultados de la resolución de un problema real: un proyecto de arquitectura. Durante el resolución de consideró que los problemas con 200 trabajos quedarían fuera del análisis ya que su resolución con LINGO resultaba imposible debido a limitaciones tanto de las versión del programa como de memoria del ordenador. Con una versión más moderna y un ordenador mejor se resolverían sin problemas. 5.5.1.- ESTUDIO DE LOS RESULTADOS PARA EL PROBLEMA Pm/m≥n, prec/Cmax La resolución de este problema equivale a obtener el camino crítico del proyecto así como a hallar la duración óptima del mismo. Esto simplifica enormemente una de las tareas más importantes de las que se encarga la Gestión de Proyectos como es: Obtención de duración de proyecto con restricción de recursos (modelo de optimización de recursos). Puesto que en este proyecto no se trabaja con un problema operacional, sino táctico, que busca calcular el mínimo coste en cuanto al uso de recursos, ya sea con o sin clases, manteniendo la duración óptima del proyecto. Problemas Duración óptima media FILE_25_25 71,8 FILE_25_50 78,2 FILE_25_100 61 FILE_50_50 113,6 FILE_50_100 90 FILE_100_100 97,2 T.F.G Mercedes Morales Blázquez 65 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Nº PRECEDENCIAS vs DURACIÓN ÓPTIMA 120 100 80 60 40 20 0 25 50 100 Imagen 5.1: Gráfico nº precedencias VS duración óptima Nº TAREAS vs DURACIÓN ÓPTIMA 120 100 80 60 40 20 0 25 50 100 Imagen 5.2: Gráfico nº tareas VS duración óptima Como se puede apreciar en las gráficas 5.1 y 5.2 la relación que existe por un lado entre el número de precedencias y la duración óptima del proyecto y por otro lado entre el número de tareas y la duración óptima del proyecto es muy similar. Ambas gráficas siguen la misma tendencia: los problemas de 25 tareas al igual que los de 25 precedencias son los que tienen una duración menor, le siguen los trabajos con 100 tareas o 100 precedencias y por último los problemas de 50 tareas o 50 precedencias son los que tienen una duración óptima del proyecto superior. T.F.G Mercedes Morales Blázquez 66 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 TIPO DE PROBLEMA vs DURACIÓN ÓPTIMA 150 100 50 0 25_25 25_50 25_100 50_50 50_100 100_100 Imagen 5.3: Gráfico tipo de problema VS duración óptima En la gráfica 5.3 se puede observar la tendencia que sigue cada uno de los diferentes tipos de problemas estudiados ante la duración óptima del proyecto. Existen picos muy visibles que hacen que no se pueda concluir en que esta gráfica sigue una tendencia creciente a medida que aumentan el número de variables y restricciones. Esto se debe a que el rango entre el problema con la duración mínima y el problema con la duración máxima es relativamente pequeño y a que la muestra de problemas que se utilizan para este análisis han sido creados aleatoriamente. 5.5.2.- ESTUDIO DE LOS RESULTADOS PARA EL PROBLEMA VSP SIN CLASES Partiendo de la solución del problema anterior se resuelve el problema VSP sin clases que proporciona los instantes en los que se tienen que procesar cada una de las tareas de manera que se respete la duración óptima del proyecto y se minimice la utilización de los recursos. A continuación se muestra una tabla con los resultados medios obtenidos de esta resolución donde F.O. equivale al valor de la función objetivo, TIEMPO equivale al tiempo que tarda el programa en resolver el problema y VARIABLES Y RESTRICCIONES se refiere a la dimensión de cada problema, es decir, al número de variables y restricciones que tiene cada problema. T.F.G Mercedes Morales Blázquez 67 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Problemas F.O. TIEMPO VARIABLES RESTRICCIONES FILE_25_25 5,4 0:00:08 5566,6 686,6 FILE_25_50 12 0:00:15 10400,8 1800 FILE_25_100 27,8 0:00:46 12083,2 3575,6 FILE_50_50 7,2 0:03:44 55363,2 2964 FILE_50_100 21,8 0:01:43 28893,6 4147,6 FILE_100_100 14 0:07:00 88526 5700,5 Para analizar de manera más clara los resultados obtenidos se elaboran las siguientes gráficas: TIPO DE PROBLEMA vs F.O. 30 25 20 15 F.O. 10 5 0 25_25 25_50 25_100 50_50 50_100 100_100 Imagen 5.4: Gráfico tipo de problema VS función objetivo Para el caso VSP sin clases es interesante analizar el valor de la función objetivo ya que representa en mínimo número de recursos necesarios para procesar todas las tareas. Como se puede apreciar en la gráfica 5.4 la utilización de recursos es directamente proporcional al número de tareas, cuantas más tareas tenga un problemas más recursos necesitará. T.F.G Mercedes Morales Blázquez 68 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 TIPO DE PROBLEMA vs RESTRICCIONES / VARIABLES 100000 80000 60000 RESTRICCIONES 40000 VARIABLES 20000 0 25_25 25_50 25_100 50_50 50_100 100_100 Imagen 5.5: Gráfico tipo de problema VS variables/restricciones Analizando los diferentes tipos de problemas frente al número de restricciones y variables, según se aprecia en la gráfica 5.5, tanto el número de variables como de restricciones aumentan a medida que lo hacen también el número de tareas y de precedencias. Así mismo, se puede ver también que la tendencia de crecimiento del número de restricciones es bastante más pronunciada que la de las variables. TIPO DE PROBLEMA vs TIEMPO 0:08:38 0:07:12 0:05:46 0:04:19 TIEMPO 0:02:53 0:01:26 0:00:00 25_25 25_50 25_100 50_50 50_100 100_100 Imagen 5.6: Gráfico tipo de problema VS tiempo Como se muestra en la gráfica 5.6, el tiempo de resolución de los problemas crece a medida que aumentan el número de tareas y restricciones. A continuación se muestran dos gráficas en las que de diferencia la respuesta del tiempo frente a estos dos parámetros. T.F.G Mercedes Morales Blázquez 69 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Nº PRECEDENCIAS vs TIEMPO 0:08:38 0:07:12 0:05:46 0:04:19 TIEMPO 0:02:53 0:01:26 0:00:00 25 50 100 Imagen 5.7: Gráfico nº precedencias VS tiempo Nº TAREAS vs TIEMPO 0:03:36 0:02:53 0:02:10 TIEMPO 0:01:26 0:00:43 0:00:00 25 50 100 Imagen 5.8: Gráfico nº tareas VS tiempo Al separar el número de precedencias y el de tareas en dos gráficas diferentes, se aprecian matices que en la gráfica 5.6 no se hacían visibles. Así en las gráficas 5.7 y 5.8 se percibe que la respuesta de ambas ante el tiempo de resolución es similar y creciente, con una salvedad, los tiempos asociados el número de precedencias son superiores a los asociados al número de tareas por lo que se podría concluir que el número de precedencias de cada problema influye de manera más señalada en el tiempo de resolución del mismo. T.F.G Mercedes Morales Blázquez 70 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 5.5.3.- ESTUDIO DE LOS RESULTADOS PARA EL PROBLEMA VSP CON CLASES Al igual que el caso anterior del problema VSP sin clases, se parte de la solución del problema Pm/m≥n,prec/Cmax para resolver el problema VSP con clases que proporciona los instantes en los que se tienen que procesar cada una de las tareas de manera que se respete la duración óptima del proyecto y se minimice el coste de utilización de los recursos de acuerdo a unas relaciones de compatibilidad entre las diferentes clases de tareas y recursos. A continuación se muestra una tabla con los resultados medios obtenidos de esta resolución donde CLASES DE TAREAS representa el número de clases de tareas, CLASES DE RERURSOS el número de clases de recursos, F.O. equivale al valor de la función objetivo, TIEMPO equivale al tiempo que tarda el programa en resolver el problema y VARIABLES Y RESTRICCIONES se refiere a la dimensión de cada problema, es decir, al número de variables y restricciones que tiene cada problema. Problemas CLASES CLASES TAREAS RECURSOS F.O. TIEMPO VARIABLES RESTRICCIONES FILE_25_25 2 3 59,4 0:00:04 1472 6961,4 FILE_25_50 3 3 104,6 0:00:36 4574,6 23658,2 FILE_25_100 4 3 311,8 0:01:33 8719,8 30056,6 FILE_50_50 3 3 104,4 0:01:53 4878,4 73642,6 FILE_50_100 4 3 226 0:06:58 12475,2 101903,4 FIE_100_100 4 3 421,75 0:05:36 10498 116937,25 Para analizar de manera más clara los resultados obtenidos se elaboran las gráficas que se muestras a continuación: T.F.G Mercedes Morales Blázquez 71 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 TIPO DE PROBLEMA vs RESTRICCIONES / VARIABLES 100000 80000 60000 RESTRICCIONES 40000 VARIABLES 20000 0 25_25 25_50 25_100 50_50 50_100 100_100 Imagen 5.9: Gráfico tipo de problema VS variables/restricciones Igual que ocurre para el caso sin clases analizando los diferentes tipos de problemas frente al número de restricciones y variables, según se aprecia en la gráfica 5.9, tanto el número de variables como de restricciones aumentan a medida que lo hacen también el número de tareas y de precedencias. Así mismo, se puede ver también que la tendencia de crecimiento del número de restricciones es bastante más pronunciada que la de las variables. TIPO DE PROBLEMA vs TIEMPO 0:06:29 0:05:46 0:05:02 0:04:19 0:03:36 0:02:53 0:02:10 0:01:26 0:00:43 0:00:00 TIEMPO 25_25 25_50 25_100 50_50 50_100 100_100 Imagen 5.10: Gráfico tipo de problema VS tiempo T.F.G Mercedes Morales Blázquez 72 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Como se muestra en la gráfica 5.10, el tiempo de resolución de los problemas crece a medida que aumentan el número de tareas y restricciones al igual que ocurría en el caso sin clases. A continuación se muestran dos gráficas en las que de diferencia la respuesta del tiempo frente a estos dos parámetros. Nº TAREAS vs TIEMPO 0:05:02 0:04:19 0:03:36 0:02:53 TIEMPO 0:02:10 0:01:26 0:00:43 0:00:00 25 50 100 Imagen 5.11: Gráfico nº tareas VS tiempo Nº PRECEDENCIAS vsTIEMPO 0:06:29 0:05:46 0:05:02 0:04:19 0:03:36 0:02:53 0:02:10 0:01:26 0:00:43 0:00:00 TIEMPO 25 50 100 Imagen 5.12: Gráfico nº precedencias VS tiempo T.F.G Mercedes Morales Blázquez 73 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 Por último, al separar el número de precedencias y el de tareas en dos gráficas diferentes, se aprecian más detalles que en la gráfica5.10. Así en las gráficas 5.11 y 5.12 se percibe que la respuesta de ambas ante el tiempo de resolución es similar y creciente aunque los tiempos asociados el número de precedencias son superiores a los asociados al número de tareas por lo que se podría concluir que el número de precedencias de cada problema influye de manera más señalada en el tiempo de resolución del mismo. La respuesta del número de tareas y de precedencias ante en el tiempo en el caso con clases es la misma que para el caso anterior, el VSP sin clases. Puesto que en los análisis de las gráficas anteriores se llega a las mismas conclusiones para los casos VSP sin clases y con clases, se muestran a continuación varias gráficas gracias a las cuales se podrán hacer visibles las diferencias entre ambos casos. TIPO DE PROBLEMA vs TIEMPO 0:08:38 0:05:46 TIEMPO SIN CLASES 0:02:53 TIEMPO CON CLASES 0:00:00 25_25 25_50 25_100 50_50 50_100 100_100 Imagen 5.13: Gráfico tipo de problema VS tiempo TIPO DE PROBLEMA vs RESTRICCIONES / VARIABLES RESTRICCIONES SIN CLASES VARIABLES SIN CLASES 150000 100000 50000 0 25_25 25_50 25_100 50_50 50_100 100_100 RESTRICCIONES CON CLASES VARIABLES CON CLASES Imagen 5.14: Gráfico tipo de problema VS restricciones/variables T.F.G Mercedes Morales Blázquez 74 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 En la gráfica 5.13 se puede apreciar que los tiempos de los problemas con clases tienen una tendencia creciente más uniforme. Por otro lado se puede observar que el tiempo máximo lo registra un tipo problema concreto en su versión sin clases, esto se debe a que el número de restricciones de este caso es menor, como se muestra en la gráfica 5.14, y por lo tanto han de realizarse más iteraciones para conseguir el óptimo del problema y por consiguiente, el tiempo de resolución es mayor. La razón de que el caso con clases disponga de un menor número de restricciones es que este presenta una limitación que el caso sin clases no tiene, existen unas relaciones de compatibilidad entre clases de tareas y de recursos que han de cumplirse. 5.6.- CONCLUSIONES Tras haber llevado a cabo el análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos se concluye con que el procedimiento empleado es bastante adecuado para la obtención de la duración óptima de un proyecto mediante métodos de resolución exactos. El análisis se basa en un estudio de los tiempos de resolución de problemas con diferentes características. Como se observa en las gráficas del apartado 5.5, los tiempos de resolución varían conforme a número de tareas y relaciones de precedencias de cada problema, aunque siempre dentro de unos valores aceptables. Por otro lado, el hecho de que un proyecto presente clases de tareas y recursos, no hace que el tiempo de resolución aumente. Además, el procedimiento de resolución empleado en este trabajo proporciona también la cantidad de recursos necesarios y la secuenciación de todas las tareas que componen un proyecto. T.F.G Mercedes Morales Blázquez 75 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 6. CONCLUSIONES GENERALES T.F.G Mercedes Morales Blázquez 76 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 El trabajo fin de grado “Análisis táctico en Gestión de proyectos mediante Programación de Trabajos en Intervalos” ha pretendido abordar la problemática de la gestión de proyectos para obtener la duración de un proyecto con restricción de recursos (modelo de optimización de recursos). Se ha introducido también el caso en el que existen diferentes clases de recursos. Tras resolver los archivos procedentes de la batería de problemas generada con diferentes características y llevar a cabo el análisis de los mismos, se llega a la conclusión de que el modelo utilizado, Pm/m≥n, prec/Cmax + VSP táctico, permite calcular la duración óptima de un proyecto, simplificando así su obtención y ahorrando tiempo y costes. Aunque los programas utilizados para la implementación del método, Visual Basic y LINGO10, proporcionan resultados suficientemente buenos, versiones posteriores de estos mismos programas así como un equipo especializado con mayor capacidad se podrían conseguir aún mejores resultados con respecto a los tiempos de resolución. Finalmente se puede considerar que el modelo Pm/m≥n, prec/Cmax + VSP táctico es un método de resolución exacta que da como resultado una duración optima de un proyecto de una complejidad alta. El modelo proporciona además, la cantidad óptima de recursos necesarios para llevar a cabo todas las tareas que conforman el proyecto y la secuenciación de las mismas, de manera que se mantenga la duración óptima del proyecto. La realización de este trabajo me ha servido para profundizar más en los conocimientos aprendidos en la asignatura Programación de Operaciones de 4º de GITI, así como aprender a implementar modelos matemáticos en programas informáticos utilizando librerías de optimización. T.F.G Mercedes Morales Blázquez 77 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 BIBLIOGRAFÍA T.F.G Mercedes Morales Blázquez 78 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 PINEDO, M., “Scheduling. Theory, Algorithms and Systems”, Prentice-Hall, 1995. Pablo Cortés Achedad, José Manuel García Sánchez, José Guadix Martín, Ester Gutiérrez Moya, Jesús Muñuzuri Sanz, Luis Onieva Giménez, Juan Nicolás Ibañez Rivas. (Edición 2008). “Ingeniería de Organización: Modelos y Aplicaciones”. “Guía de los fundamentos de la dirección de proyectos”, (Guía del PMBOK). Quinta edición, año 2012. Francisco Javier Ceballos, “Enciclopedia de Visual Basic”, ra-ma José Eduardo Maluf de Cervalho , “Visual Basic”, McGraw-Hill T.F.G Mercedes Morales Blázquez 79 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 ANEXOS T.F.G Mercedes Morales Blázquez 80 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 1.- TABLA DE RESULTADOS Pm/m≥n,prec/Cmax NumPrecedencias NumTrabajos Índice Duración óptima 25 25 1 77 25 25 2 60 25 25 3 90 25 25 4 70 25 25 5 62 25 50 1 89 25 50 2 70 25 50 3 68 25 50 4 91 25 50 5 73 25 100 1 58 25 100 2 57 25 100 3 64 25 100 4 48 25 100 5 78 50 50 1 156 50 50 2 98 50 50 3 159 50 50 4 76 50 50 5 79 50 100 1 74 50 100 2 84 50 100 3 82 50 100 4 116 50 100 5 94 100 100 1 98 100 100 2 110 100 100 3 114 100 100 4 85 100 100 5 79 T.F.G Mercedes Morales Blázquez 81 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 2.- TABLA DE RESULTADOS MODELO Pm/m≥n, prec/Cmax + VSP SIN CLASES NumPrecedencias NumTrabajos Índice Solución Sin Clases 25 25 1 6 25 25 2 5 25 25 3 7 25 25 4 5 25 25 5 4 25 50 1 11 25 50 2 11 25 50 3 13 25 50 4 12 25 50 5 13 25 100 1 29 25 100 2 34 25 100 3 27 25 100 4 28 25 100 5 21 50 50 1 7 50 50 2 6 50 50 3 9 50 50 4 8 50 50 5 6 50 100 1 23 50 100 2 21 50 100 3 25 50 100 4 24 50 100 5 16 100 100 1 100 100 2 100 100 3 100 100 4 15 100 100 5 13 T.F.G Mercedes Morales Blázquez Tiempo Restricciones Variables 0:00:03 4721 595 0:00:04 5641 696 0:00:01 1614 384 0:00:28 12929 933 0:00:02 2928 825 0:00:17 12730 1840 0:00:18 12878 1904 0:00:11 7202 1643 0:00:15 10580 2020 0:00:13 8614 1593 0:00:33 8774 3054 0:00:16 4200 2271 0:00:53 13787 3855 0:00:45 12084 3574 0:01:21 21571 5124 0:04:03 47174 2815 0:10:49 134523 4264 0:00:43 21007 2114 0:00:46 23153 2564 0:02:18 50959 3063 0:00:50 19066 3675 0:01:51 22822 4012 0:00:50 18304 3416 0:00:57 23604 3598 0:04:06 60672 6037 0:06:50 0:07:11 69899 107153 5301 6100 82 Análisis táctico en Gestión de Proyectos mediante Programación de Trabajos en Intervalos 2014 3.- TABLA DE RESULTADOS MODELO Pm/m≥n, prec/Cmax + VSP CON CLASES NumPrecedencias NumTrabajos Índice Clases Trabajos Clases Máquinas Solución Clases 25 25 1 2 3 40 25 25 2 45 25 25 3 75 25 25 4 45 25 25 5 92 25 50 1 3 3 174 25 50 2 46 25 50 3 52 25 50 4 185 25 50 5 66 25 100 1 4 3 644 25 100 2 182 25 100 3 96 25 100 4 132 25 100 5 560 50 50 1 3 3 52 50 50 2 81 50 50 3 56 50 50 4 162 50 50 5 171 50 100 1 4 3 440 50 100 2 50 100 3 38 50 100 4 154 50 100 5 272 100 100 1 4 3 480 100 100 2 240 100 100 3 100 100 4 416 100 100 5 551 T.F.G Mercedes Morales Blázquez Tiempo Restricciones Variables 0:00:03 4244 1189 0:00:05 8410 1390 0:00:04 7384 1906 0:00:04 4902 1545 0:00:03 9867 1330 0:01:03 35280 5757 0:00:26 15427 3986 0:00:23 22131 3740 0:00:38 25662 5047 0:00:28 19791 4343 0:01:01 17746 7101 0:01:13 26607 8354 0:01:21 27332 8974 0:00:46 11744 6357 0:03:26 66854 12813 0:00:09 13910 2686 0:02:15 84594 5777 0:06:17 223132 8971 0:00:27 22769 3533 0:00:16 23808 3425 0:02:25 67506 10258 0:03:34 0:17:53 0:04:00 0:10:04 0:07:16 69601 184207 106408 172407 131507 10755 17742 12249 12731 12257 0:04:03 0:01:03 117839 45996 9687 7317 83