• No se han encontrado resultados

Programación entera mixta para problemas de secuenciación de proyectos uni y multi-modales con recursos limitados y pausas en la ejecución

N/A
N/A
Protected

Academic year: 2020

Share "Programación entera mixta para problemas de secuenciación de proyectos uni y multi-modales con recursos limitados y pausas en la ejecución"

Copied!
44
0
0

Texto completo

(1)Programación entera mixta para problemas de secuenciación de proyectos uni y multi-modales con recursos limitados y pausas en la ejecución. Trabajo de tesis Presentado al Departamento de Ingeniería Industrial. Por Héctor Felipe Muñoz Romero Asesor: Andrés L. Medaglia G. Co-asesor: Juan David Palacio D.. Para optar al título de Ingeniero Industrial. Ingeniería Industrial Centro para la Optimizacion y la Probabilidad Aplicada (COPA) http://copa.uniandes.edu.co Universidad de los Andes Enero de 2013. 1.

(2) Agradecimientos. Agradezco a mis asesores Juan David Palacio y Andrés Medaglia por permitirme trabajar con ellos. A Juan David Palacio personalmente le agradezco su disponibilidad para escucharme y aportar ideas para este trabajo, al igual que la oportunidad que me brindó de conocer el suyo y poder trabajar con base él. Agradezco a mi familia y amigos por su apoyo e interés en el desarrollo de este trabajo. A Elisa García por su apoyo y cariño a lo largo de este último año, ya que fue un motor anímico para mí en incontables momentos. Finalmente agradezco a Fair Isaac Corporation (FICO) por proveer las licencias de XpressMP bajo el Academic Partner Program suscrito con la Universidad de los Andes.. 2.

(3) Tabla de contenido Resumen ............................................................................................................................................................ 5 1.. Introducción .............................................................................................................................................. 6. 2.. Modelos matemáticos .............................................................................................................................. 9 2.1.. Modelos matemáticos para el RCPSP ............................................................................................... 9. 2.1.1. Modelo para el RCPSP con variables auxiliares y sin pausas .................................................. 10. 2.1.2. Modelo para el RCPSP sin variables auxiliares ....................................................................... 11. 2.1.3. Modelo para el RCPSP con variables auxiliares y con pausas ................................................ 11. 2.1.4. Modelo para el RCPSP sin variables auxiliares y con pausas .................................................. 12. 2.2.. 3.. 2.2.1. Modelo para el MRCPSP con variables auxiliares y sin pausas .............................................. 14. 2.2.2. Modelo para el MRCPSP sin variables auxiliares y sin pausas................................................ 15. 2.2.3. Modelo para el MRCPSP con variables auxiliares y con pausas ............................................. 15. 2.2.4. Modelo para el MRCPSP sin variables auxiliares y con pausas .............................................. 15. Estrategia de Solución ............................................................................................................................. 17 3.1.. Determinación del parámetro T ...................................................................................................... 18. 3.2.. Inclusión de restricciones redundantes ........................................................................................... 19. 3.3.. Uso de formulaciones matemáticas ................................................................................................ 19. 3.3.1.. ¿Cuál modelo usar para resolver el RCPSP con pausas? ........................................................ 19. 3.3.2.. ¿Cuál modelo usar para resolver el MRCPSP con pausas? ..................................................... 20. 3.4. 4.. Modelos matemáticos para el MRCPSP .......................................................................................... 13. Ejecución de la solución .................................................................................................................. 20. Resultados ............................................................................................................................................... 21 4.1.. Resultados para el RCPSP y MRCPSP con pausas ............................................................................ 21. 4.1.1.. Resultados para el RCPSP con pausas .................................................................................... 21. 4.1.2.. Resultados para el MRCPSP con pausas ................................................................................. 23. 4.2.. Resultados sobre la estrategia de solución ..................................................................................... 23. 4.2.1.. Experimentos sobre la inclusión de variables redundantes .................................................... 23. 4.2.2.. Experimentos sobre la formulación a utilizar ......................................................................... 24. 4.2.2.1.. Experimentos sobre cuál modelo a usar para resolver el RCPSP con pausas ................ 24. 4.2.2.2.. Experimentos sobre cuál modelo a usar para resolver el MRCPSP con pausas ............. 27. 4.2.3. 5.. Experimentos sobre la ejecución de la solución ..................................................................... 28. Conclusiones y trabajo futuro................................................................................................................. 30. Referencias bibliográficas ................................................................................................................................ 31. 3.

(4) Lista de Tablas Tabla 1. Duraciones y sucesiones de proyectos para el modelo sin pausas y sin variables auxiliares ............. 13 Tabla 2. Duraciones y sucesiones de proyectos para el modelo con pausas y sin variables auxiliares ............ 13 Tabla 3. Número de variables para los modelos 2.1.1 y 2.2.2 .......................................................................... 20 Tabla 4. Características de las instancias de RCPSP probadas ......................................................................... 21 Tabla 5. Características de las instancias de MRCPSP probadas ..................................................................... 21 Tabla 6. Resultados de la ejecución de los modelos para el RCPSP con pausas .............................................. 21 Tabla 7. Resultados de la ejecución de los modelos para el MRCPSP con pausas .......................................... 23 Tabla 8. Comparación de resultados para 2.1.3, con las restricciones redundantes (5), y sin incluirlas........... 24 Tabla 9. Comparación de resultados 2.1.3 con precedencias redundantes, y sin incluirlas .............................. 24 Tabla 10. Comparación de resultados para los modelos 2.1.1 y 2.1.2 .............................................................. 25 Tabla 11. Número de variables para los modelos 2.1.3 y 2.1.4 ........................................................................ 25 Tabla 12. Comparación de los modelos 2.1.3 y 2.1.4 en las instancias experimentales del RCPSP ................ 25 Tabla 13. Comparación de los modelos 2.1.3 y 2.1.4 en la totalidad de las instancias del RCPSP .................. 26 Tabla 14. Comparación de los modelos 2.2.3 y 2.2.4 en las instancias experimentales del MRCPSP ............. 27 Tabla 15. Comparación de los modelos 2.2.3 y 2.2.4 en la totalidad de las instancias del MRCPSP .............. 28 Tabla 16. Resultados de la ejecución combinada de los modelos con y sin pausas ......................................... 29. Lista de Figuras Figura 1. Transformación de los datos al emplear el modelo sin variables auxiliares y con pausas ................ 13 Figura 2. Representación de dos modos para un mismo proyecto. ................................................................... 16 Figura 3. Relación entre proyectos y súper-proyectos ...................................................................................... 16 Figura 4. Representación de dos proyectos con dos modos cada uno en la nueva propuesta ........................... 16. Lista de Gráficas Gráfica 1. Porcentaje de instancias resueltas a optimalidad para el RCPSP con pausas .................................. 22 Gráfica 2. Porcentaje de instancias resueltas a optimalidad para el MRCPSP con pausas ............................... 23 Gráfica 3. Instancias resueltas a optimalidad con el modelo 2.1.4 sobre un total de 480 ................................. 26 Gráfica 4. Instancias adicionales resueltas a optimalidad con el modelo 2.1.3 ................................................ 26 Gráfica 5. Porcentaje de instancias resueltas con el modelo 2.2.3 y adicionales resueltas con el modelo 2.2.428. 4.

(5) Resumen. El problema de programación de proyectos con recursos limitados (RCPSP, por sus siglas en inglés) tiene como objetivo secuenciar un conjunto de proyectos en el menor tiempo posible considerando recursos con disponibilidad finita y relaciones de precedencia. El RCPSP, al igual que su generalización la cual incluye múltiples modos (MRCPSP), han sido estudiados tanto de manera exacta como heurística. En general, las investigaciones previas consideran la obligación de ejecutar un proyecto de manera continua de inicio a fin, sin posibilidad de interrumpir la ejecución entre estos dos momentos. El presente trabajo expone una serie de formulaciones enteras mixtas para resolver el RCPSP y el MRCPSP, que omiten el supuesto de ejecución continua de los proyectos, comparándolas entre sí para determinar cuál conviene usar para resolver el RCPSP y cuál para el MRCPSP. Estas formulaciones están basadas en un modelo matemático previamente presentado en la literatura. En este sentido, los modelos presentados permiten la generación endógena y exógena de recursos en cualquier momento del tiempo, además de la posibilidad de generar tantas particiones temporales en la ejecución de un proyecto dado como se crea necesario. Los resultados computacionales muestran cómo los modelos propuestos reducen significativamente el tiempo que requiere obtener la solución óptima para el problema sin ejecución continua de los proyectos, y muestran los modelos que deben ser usados para resolver el RCPSP y el MRCPSP.. 5.

(6) 1. Introducción En las empresas, tanto del sector privado como público, se busca resolver en ocasiones el problema de planeación de proyectos con recursos limitados (RCPSP, por sus siglas en inglés) para cumplir con un objetivo determinado. Este problema ampliamente estudiado también en la literatura de la Investigación de Operaciones busca determinar la planeación en el tiempo de un portafolio de proyectos, sujetos a restricciones de recursos limitados y precedencias entre pares de proyectos (Zare et al., 2012), para cumplir con el objetivo que se haya propuesto. Entre los objetivos que se tratan comúnmente en este tipo de problemas se encuentra, tal y como lo propone Haouari et al., (2002), terminar la ejecución de todos los proyectos en el menor tiempo posible (minimización de makespan), maximizar las utilidades generadas, minimizar los costos o maximizar el impacto generado al programar ciertos proyectos según sus indicadores (sean sociales, económicos, etc.), según propone Medaglia et al., (2008) El RCPSP trata con problemas donde existen recursos limitados que deben ser tenidos en cuenta a la hora de generar la planeación de los proyectos para que estos sean viables desde un punto de vista operacional. Tradicionalmente la literatura ha dividido los recursos en dos categorías diferentes: Recursos renovables: son aquellos recursos que están disponibles durante la totalidad del horizonte de planeación, y cuya cantidad disponible en un periodo de tiempo dado no depende de la cantidad disponible en periodos anteriores. Ejemplos de lo anterior son la mano de obra y la maquinaria disponible, debido a que no es un recurso que se agote luego de su uso en un periodo. Recursos no renovables: son aquellos cuyo uso se produce una única vez y su cantidad en un periodo es estrictamente dependiente de la cantidad utilizada en el periodo anterior. El mejor ejemplo es el dinero, debido a que al utilizar la mitad del dinero disponible en un periodo, por ejemplo, en el siguiente se contará solo con la mitad del inicial. Además de los recursos limitados, se cuenta con relaciones de precedencia, las cuales suponen que un proyecto no puede comenzarse hasta no haber finalizado todos los que sean predecesores a este. Si el proyecto A precede al proyecto B, no será permitido iniciar la ejecución de B sin antes haber terminado por completo la ejecución del proyecto A. Una generalización del RCPSP se presenta cuando se cuenta con más de un modo para desarrollar un proyecto dado, asignando diferentes cantidades de recursos según el modo y dando así la opción de variar la duración del proyecto. Este problema es conocido como MRCPSP, por sus siglas en 6.

(7) inglés. Variaciones adicionales se han presentado para el problema de planeación de proyectos con recursos limitados, y una amplia lista de estas es presentada en los trabajos de Hartmann et al., (2010) y Kolisch et al., (2001). Tras mencionarse las características principales que definen el RCPSP y el MRCPSP, cabe mencionar que el RCPSP ha sido definido como un problema NP duro (Blazewicz, 1983). Siendo el MRCPSP una generalización del RCPSP, este segundo también hace parte del grupo de problemas NP duros. En la literatura se ha optado por utilizar métodos exactos que ataquen directamente este tipo de problemas y lo resuelvan de una manera óptima en un tiempo considerable (Damay et al., 2007). El reto en este sentido se ha convertido en encontrar un procedimiento que sea capaz de resolver problemas con la mayor cantidad de proyectos posibles. Algunas propuestas para el MRCPSP, por ejemplo, han logrado solucionar instancias de hasta 20 proyectos, 30 proyectos, y hasta 30 proyectos con tres modos y menos de tres recursos no renovables (Palacio et al., 2010). Dada la naturaleza de los problemas NP duros, en algunos casos no sólo se vuelve imposible determinar el tiempo que se demorará una máquina en encontrar la solución óptima, sino también el hallazgo de la misma. Debido a lo anterior, en muchos trabajos se ha optado por sacrificar optimalidad con el fin de conseguir una solución factible por medio de métodos heurísticos (Klein et al., 2010). Entre estas técnicas se encuentra la búsqueda local, la búsqueda tabú y los algoritmos genéticos, comentadas por Kolisch et al., (2001). Como se comenta, el hecho de tratarse de heurísticas no garantiza que la solución presentada sea óptima, y por lo tanto siempre existirá una oportunidad de mejora que pretende ser atacada con los modelos propuestos en este trabajo. En este trabajo se hará un enfoque en el RCPSP y el MRCPSP, atacando el problema de minimización del makespan con una programación entera mixta, la cual debe brindar una solución óptima al problema, a diferencia de las heurísticas mencionadas anteriormente. Definimos entonces la variante del problema clásico que se analizará, en más detalle que el presentado anteriormente. Dadas las anteriores características para el RCPSP y el MRCPSP existen ciertos supuestos que generalmente se siguen para resolver tales problemas: 1. Todos los proyectos dentro de un portafolio deben realizarse: generalmente se entiende que todos deben ser realizados, aunque existen propuestas alternativas que contemplan la posibilidad de realizar mínimo (o máximo) un número determinado de proyectos (Sefair et al., 2006).. 7.

(8) 2. Todo proyecto debe ejecutarse en un único modo de principio a fin: este supuesto asume que una vez se ha decidido realizar un proyecto en un modo, debe seguirse ejecutando en éste de principio a fin. 3. Todo proyecto consume la misma cantidad de recursos durante el periodo de realización: se asume que en cada periodo del tiempo se necesita la misma cantidad de recursos para la ejecución del mismo, desde el comienzo hasta el fin. Sin embargo existen formulaciones que en caso de presentarse la necesidad, permiten modelar el problema con variación de recursos, dependiendo la necesidad de los mismos en cada periodo de realización del mismo tal y como lo proponen Buddhakulsomsiri et al., (2006), Sefair et al., (2006) y Palacio et al., (2010). 4. Todo proyecto debe ser ejecutado de manera continua de principio a fin: este supuesto propone que no se pueda truncar el desarrollo de un proyecto en un momento dado, sino que deba ser realizado en periodos continuos desde su inicio hasta su finalización. El objetivo de este trabajo consiste en proponer una programación entera mixta que relaje el cuarto supuesto y presente la posibilidad de relajar el tercero, puesto que se ha determinado que si se relaja algún supuesto, como el de ejecución continua de proyectos, las soluciones óptimas podrían mejorar. En trabajos anteriores se ha estudiado la relajación del cuarto supuesto, conocido en inglés con el nombre de “pre-emption”, pero los resultados han sido desalentadores, debido a que se ha encontrado que en la mayoría de casos la relación costo beneficio entre tiempo computacional y mejora en la solución es desfavorable. El tiempo computacional requerido para resolver el RCPSP con pausas en la ejecución de proyectos (con pausas) tarda en promedio 33 veces más que para un problema sin dichas pausas (sin pausas), debido a que esta relajación propone un aumento en el esfuerzo computacional al expandir la región factible del problema, y la función objetivo mejora en promedio sólo 0.78% (Buddhakulsomsiri et al., 2006). El trabajo presentará una formulación guía para resolver el RCPSP y el MRCPSP sin pausas, sobre la cual se basarán los modelos que permitirán la relajación de dicho supuesto, siguiendo el trabajo realizado en las investigaciones de Sefair et al., (2006) y Palacio et al., (2010). Si bien la formulación matemática no afecta la solución óptima, se procurará que ésta sí reduzca el tiempo computacional tardado en obtener una solución para el problema con pausas. Las secciones posteriores de este trabajo están organizadas de la siguiente manera: en la Sección 2 se presentarán los modelos matemáticos propuestos para resolver los problemas mencionados; en la Sección 3 se presentará la estrategia de solución para resolver el problema; en la Sección 4 se. 8.

(9) presentarán los resultados obtenidos; finalmente en la Sección 5 se plantean las conclusiones y el trabajo futuro. 2. Modelos matemáticos1 2.1.. Modelos matemáticos para el RCPSP. El modelo propuesto considera un conjunto de proyectos por realizar ( ), un conjunto de recursos renovables ( ), un conjunto de recursos no renovables ( ) y un conjunto de relaciones de precedencia ( ), donde. si el proyecto i precede al proyecto j (Sefair et al., 2006).. El parámetro T representa el horizonte de planeación del portafolio de proyectos. La duración del proyecto i se representa por medio de. . Lo anterior indica que el proyecto i constará de. número. de periodos, cada uno de los cuales demandará una cantidad igual de cada uno de los recursos, según el supuesto 3, mencionado anteriormente. La demanda del recurso renovable h por parte del proyecto i en su periodo k de ejecución se representa mediante. . De manera análoga, la. demanda del recurso no renovable n por parte del proyecto i en su periodo k de ejecución se presenta mediante. . Cabe mencionar en este punto la posibilidad que presentan estas variables. para variar el consumo de recursos por parte de un proyecto en un momento dado, si así se quisiese. La disponibilidad del recurso renovable h en el tiempo t se representa mediante. . La cantidad de. recurso n no renovable disponible para utilizarse a partir del tiempo t estará definido por. . Estas. dos variables permiten modelar también variaciones en la disponibilidad de recursos, dando la opción de tener en cuenta vacaciones de recursos, como lo plantea Buddhakulsomsiri et al., (2006). Para el presente caso de estudio no se realizarán variaciones ni en la demanda de recursos, ni en la oferta de los mismos a lo largo del horizonte de planeación, aunque la formulación es lo suficientemente flexible para hacerlo en caso de ser necesario.. La variable de decisión. será la variable utilizada para representar el makespan del portafolio, y. será la que se intentará minimizar. La variable. será una variable binaria que tomará el valor de 1. si el proyecto i comienza en el tiempo t, o cero de lo contrario. Por su parte, la variable binaria tomará el valor de 1 si el proyecto i se encuentra en su periodo k de ejecución en el tiempo t, o cero de lo contrario. La variable. representará la cantidad de recurso no renovable n que sobra en el. periodo t-1 y que podrá ser utilizada en el periodo t. Sin pérdida de generalidad se asumirá entonces que en el tiempo 0 (inicio del horizonte),. tomará el valor cero.. 1. En este capítulo se presentarán las diferentes formulaciones para cada modelo, con explicaciones donde se crea conveniente. En el anexo A se presentan estas mismas formulaciones sin explicaciones para mayor comodidad.. 9.

(10) Habiendo definido los conjuntos y parámetros a utilizar, partimos de un modelo adaptado de la formulación propuesta por Sefair et al., (2006) para minimizar el makespan y además realizar todos los proyectos dentro de un portafolio, a diferencia de lo que propone en su trabajo: 2.1.1. Modelo para el RCPSP con variables auxiliares y sin pausas. s.a. La función objetivo en (1) busca minimizar el valor del makespan, para lo cual se captura la máxima fecha de terminación de los proyectos en el grupo de restricciones en (2). El grupo de restricciones en (3) garantiza que se comience la ejecución de cada proyecto una vez a lo largo de todo el horizonte de planeación, y las restricciones en (4) obligan a que se ejecuten todos los periodos de un proyecto dado de manera continua, de inicio a fin. El grupo de restricciones en (5) obliga a que cada periodo de ejecución de cada proyecto se ejecute a lo sumo una vez durante el horizonte de planeación. El conjunto de restricciones denotado por (6) y (7) muestra el 10.

(11) comportamiento de los recursos no renovables y la posibilidad de acumularlos si no se utilizan a través del tiempo. El grupo de restricciones en (8) impide que la utilización de recursos renovables en un tiempo asignado exceda la disponibilidad de los mismos. Los conjuntos de restricciones en (9) y (10) permiten modelar las relaciones de precedencia entre pares de proyectos. Finalmente, (11), (12), (13) y (14) señalan los tipos de variables que se utilizarán en el modelo.. Según Palacio et al., (2010) es también posible eliminar del modelo las variables auxiliares expresar el modelo en términos de. y. únicamente. Para lograr lo anterior es necesario realizar. cambios en algunos de los grupos de restricciones, tal y como se presenta a continuación:. 2.1.2. Modelo para el RCPSP sin variables auxiliares. Los grupos de restricciones (4) y (5) pasan a ser innecesarios. El grupo de restricciones mostrado en (2) debe ser cambiado por las restricciones (15) y los grupos de restricciones (6) y (8) por los grupos de restricciones (16) y (17), respectivamente.. Entendiendo los modelos iniciales, es posible modelar el caso en el que se consideran pausas en la ejecución de los proyectos. Los cambios a realizar en los modelos anteriores se muestran a continuación:. 2.1.3. Modelo para el RCPSP con variables auxiliares y con pausas. Al no poder atar todos los periodos de un proyecto para que se ejecuten de manera continua, el conjunto de restricciones modeladas en (4) debe sustituirse por las siguientes restricciones:. 11.

(12) El conjunto de restricciones en (18) asegura que se ate el inicio de la ejecución del proyecto con la realización del primer periodo del mismo. Como en (3) se asegura que se inicie la ejecución de cada proyecto, en (19) se asegura que se realice el último periodo de ejecución del mismo, en (20) que sólo se pueda ejecutar un periodo a la vez, y en (21) que no se pueda ejecutar un periodo dado para un proyecto sin antes haber ejecutado los periodos predecesores a este.. También debe reemplazarse el conjunto de restricciones en (9) por el grupo de restricciones (22):. 2.1.4. Modelo para el RCPSP sin variables auxiliares y con pausas. Para el modelo sin las variables auxiliares. se deben tener en cuenta otras consideraciones no. presentadas hasta el momento. Al incluir solamente las variables. , se sabe con certeza cuándo. comienza la ejecución de un proyecto, pero no cuándo termina, puesto que la duración de cada pausa entre periodos es una variable a calcular en el modelo. Por tal motivo, se debe considerar cada periodo de ejecución por separado, de manera tal que se pueda determinar cuándo comienza un periodo, y también cuándo termina.. Se supone entonces una formulación idéntica a la que se plantea para el modelo inicial cuando no se incluyen las variables auxiliares. , con la única salvedad de entender el conjunto. como el. conjunto de periodos independientes para todos los proyectos.. Como ejemplo se propone un caso inicial donde existen dos proyectos en el portafolio; el proyecto A tiene una duración de tres periodos y precede al proyecto B, que tiene una duración de cuatro periodos. En el modelo inicial sin pausas, la cardinalidad de Para la propuesta con pausas, sin incluir las variables duración de cada uno de los “proyectos” sería de un periodo.. 12. sería dos, donde la , la cardinalidad de. y. .. sería seis y la.

(13) Aunque en la formulación continua siendo la misma que en el modelo inicial, es necesario entender que se deben ingresar nuevas relaciones de precedencias como parámetros de la manera que se muestra en las siguientes tablas. Tabla 1. Duraciones y sucesiones de proyectos para el modelo sin pausas y sin variables auxiliares. Modelo sin pausas Duración Sucesores Proyecto A 4 Proyecto B Proyecto B 2 ------Tabla 2. Duraciones y sucesiones de proyectos para el modelo con pausas y sin variables auxiliares. Modelo con pausas Duración 1 1 1 1 1 1. Proyecto A0 Proyecto A1 Proyecto A2 Proyecto A3 Proyecto B0 Proyecto B1. Sucesores Proyecto A1 Proyecto A2 Proyecto A3 Proyecto B0 Proyecto B1 -------. Para el primer modelo se muestra que. A. A0 A1 A2 A3. B. B0. . Para el segundo modelo se tiene:. B1. y. Figura 1. Transformación de los datos al emplear el modelo sin variables auxiliares y con pausas. Una vez presentados los dos casos anteriores (con las variables auxiliares y sin ellas), se cuenta entonces con dos modelos de programación entera mixta capaces de resolver de manera exacta el RCPSP con pausas. En capítulos posteriores se realizará un análisis para determinar cuál modelo resulta más eficiente para atacar el problema mencionado.. 2.2.. Modelos matemáticos para el MRCPSP. Para construir el modelo matemático para el MRCPSP se considera la misma formulación presentada para el RCPSP, donde se realizan modificaciones para incluir los diferentes modos que pueda tener cada proyecto. Los conjuntos presentados anteriormente también se utilizarán en este modelo, al que además se debe añadir un nuevo conjunto, (. ), que representará el conjunto de. modos de ejecución disponibles para el proyecto i. El parámetro. representará la duración del proyecto i si se ejecuta en el modo m. El parámetro. representará el consumo del recurso renovable h en el periodo k del proyecto i, si este decide ejecutarse en el modo m. De manera análoga,. representará el consumo del recurso no. renovable n en el periodo k del proyecto i, si este se ejecuta en el modo m. los demás parámetros se usarán como en el RCPSP.. 13.

(14) Para el MRCPSP, la variable. será una variable binaria que tomará el valor de 1 si el proyecto i. se ejecuta en el modo m y empieza en el periodo t, o cero de lo contrario. Por su parte, la variable binaria auxiliar. tomará el valor de 1 si el proyecto i se encuentra en el periodo k en el tiempo. t y se ejecuta en el modo m, o cero de lo contrario. Las variables de decisión. y. tendrán el. mismo uso que se les dio para las formulaciones del RCPSP. Una vez definidos los cambios en conjuntos, parámetros y variables de decisión para el MRCPSP con respecto al RCPSP, se plantean las ecuaciones del nuevo modelo que presentan modificaciones frente al presentado 2.1.1, sobre el cual se construirá el modelo con pausas. 2.2.1. Modelo para el MRCPSP con variables auxiliares y sin pausas. La función objetivo permanece igual frente al modelo presentado en 2.1.1 debido a que ésta es indiferente al modo en que se ejecuten los proyectos. Las ecuaciones (2) a (6) se sustituyen directamente por las (23) a (27), las (8) a (12) por las (28) a (32), y las ecuaciones (7), (13) y (14) permanecen iguales.. 14.

(15) 2.2.2. Modelo para el MRCPSP sin variables auxiliares y sin pausas. Al igual que en el RCPSP, en este modelo también pueden obviarse las variables auxiliares y representar el modelo en términos de. , como lo propone Palacio et al., (2010). Para tal fin es. necesario realizar cambios en la formulación propuesta en 2.1.1, tal y como se propone a continuación:. Los grupos de restricciones (25) y (26) pasan a ser innecesarios. Los grupos de restricciones (23), (27) y (28) deben ser reemplazados por los grupos (33), (34) y (35), respectivamente.. Teniendo los modelos con y sin variables auxiliares para el MRCPSP sin pausas, se muestran ahora los modelos matemáticos para este problema, considerando pausas. 2.2.3. Modelo para el MRCPSP con variables auxiliares y con pausas. Considerando el modelo presentado en 2.2.1, los grupos de restricciones (25) y (29) se modifican de la misma manera que para 2.1.3 se tomó como partida el modelo en 2.1.1. El grupo de restricciones en (25) debe ser modificado por los grupos de restricciones (36) a (39) y el grupo (29) por el (40). Las demás restricciones se mantienen iguales a las presentadas en el modelo 2.2.1.. 2.2.4 Modelo para el MRCPSP sin variables auxiliares y con pausas En los modelos presentados anteriormente se considera el supuesto que asegura que todos los proyectos deben ejecutarse lo cual no pasará en este caso Por ejemplo, un proyecto i que cuenta con dos modos de ejecución, donde el primer modo contará con dos periodos de duración y el segundo 15.

(16) con tres, contará para cada modo con un periodo inicial diferente al del otro modo. Dado que cada proyecto se realiza en un solo modo, ahora existirán proyectos que no deberán realizarse. De igual manera, ya que hay periodos iniciales de un modo dado que no se ejecutarán, también existirán periodos finales para ciertos modos que no se ejecutarán. i,0,1. i,0,2. Para el actual ejemplo, el modelo matemático debe determinar si se ejecutarán los proyectos {(i,0,1), (i,1,1)} o los proyectos {(i,0,2), (i,1,2), (i,2,2)}, los cuales representan los dos modos existentes para el proyecto i.. i,1,1. i,1,2. i,2,2. Figura 2. Representación de dos modos para un mismo proyecto.. Podemos ahora tratar a i como un súper-proyecto, el cual contiene diferentes proyectos, representados por los ilustrados en la Figura 2, donde los. nombres se encuentran en forma. (proyecto, periodo, modo). Por simplicidad, no se incluye el momento dentro del horizonte de tiempo donde se ejecutaría cada periodo de cada modo, pues es irrelevante para lo que se busca representar. Como el súper-proyecto i debe ejecutarse por completo, debemos garantizar que el proyecto (i,1,1) o el proyecto (i,2,2) se ejecuten. Por lo tanto generaremos un nuevo conjunto S que contendrá a todos los súper-proyectos, dejando espacio al conjunto proyectos (antes periodos de cada proyecto), y un conjunto proyecto, donde. para incluir a todos los. de posibles finalizaciones de un súper-. si el proyecto i es una posible terminación del súper-proyecto s.. Ahora se considera, además del súper-proyecto i, también un súper-proyecto j con las mismas características del primero, donde en los modelos anteriores éstos estaban unidos a través de una relación de precedencia. . En este nuevo modelo existirán diversas relaciones de. precedencia que se presentarán en las Figuras 3 y 4 en cada uno de los arcos, donde los nodos representarán proyectos, siguiendo la notación presentada por Kolisch et al., (2001).. i,0,1. i. i,0,2. i. i,1,1. i,1,2. i,2,2. Si antes se representaba un proyecto i (nodo sombreado) como un elemento del conjunto de proyectos, este pasa a ser un súperproyecto i, del cual hacen parte un conjunto de proyectos tal y como se muestra en el diagrama. Figura 3. Relación entre proyectos y súper-proyectos. i,2,0. i,1,0. i,1,1. j,1,0. j,1,1. i,2,1. i,2,2. j,2,0. j,2,1. j,2,2. Figura 4. Representación de dos proyectos con dos modos cada uno en la nueva propuesta. 16.

(17) En la Figura 3 se observa que si antes se representaba un proyecto i (nodo sombreado) como un elemento del conjunto. , este pasa a ser un súper-proyecto perteneciente al conjunto de súper-. proyectos S, del cual harán parte un conjunto de proyectos tal y como se muestran en la figura. En la Figura 4 se observa que el proyecto (j,1,0) tiene dos posibles predecesores representados por los proyectos (i,1,1) y (i,2,2). Sin embargo, por los argumentos explicados anteriormente, sólo uno de estos antecesores se ejecutará. De esta manera, aunque j cuente con dos predecesores, sólo necesitará que se haya ejecutado un proyecto predecesor para poder ser ejecutado. De manera general, en el nuevo modelo, para cada uno de los periodos iniciales de cada modo de un proyecto j, se necesitará que se hayan ejecutado con anterioridad tantos de sus predecesores como el número de súper-proyectos que el súper-proyecto al que j pertenece tenga como predecesores para poder ejecutar éste periodo inicial. Para los proyectos que no son inicios de un súper-proyecto en un modo determinado, tales como (j,2,1) en la figura anterior, el número de predecesores que se deben haber ejecutado anteriormente será sólo uno, el cual debe ser el periodo anterior a este (j,2,0). Se denota entonces un nuevo parámetro. que representará el número de predecesores que deben haberse. ejecutado para que se pueda ejecutar el proyecto i.. Teniendo en cuenta las consideraciones anteriores, el modelo se representa mediante la misma formulación empleada para el modelo presentado en 2.1.4, sustituyendo los grupos de ecuaciones (3) y (9) por los grupos (41) y (42), respectivamente.. 3. Estrategia de Solución2 Al resolver el RCPSP y el MRCPSP se busca no sólo encontrar la programación de proyectos óptima, sino también encontrarla rápidamente. La formulación propuesta debe procurar atacar el problema de manera directa, de forma tal que el tiempo computacional empleado en la resolución del problema sea el menor posible. Para agilizar el procesamiento y trabajo de la máquina para resolver este problema es necesario considerar los siguientes puntos:. 2. En el anexo B se encuentran dos diagramas de flujo que explican el procedimiento a seguir para resolver el RCPSP y el MRCPSP con pausas.. 17.

(18) 3.1.. Determinación del parámetro T. Se debe tener especial cuidado en la determinación de este parámetro, puesto que si el T escogido es menor que el makespan, el problema será infactible. Por lo anterior, al escoger el valor para el parámetro se debe asegurar que el makespan óptimo sea igual o menor a este valor. Un límite superior sensato para este parámetro se obtiene asumiendo que ningún par de proyectos pueden ejecutarse en forma simultánea, y por lo tanto. será la suma de los tiempos de ejecución de todos. los proyectos (Palacio et al., 2010), para el caso del RCPSP. Para el caso del MRCPSP, en el peor caso, ningún par de proyectos podrá realizarse en simultáneo, y todos los proyectos se realizarán en el modo con mayor duración. Por lo tanto en este caso el valor de T será la suma de los tiempos de realización de todos los proyectos, donde cada uno se ejecutará en el modo que tenga la mayor duración entre todos los posibles. A este límite superior para T también podemos llamarlo. .. En principio se puede optar por no realizar dicho cálculo, sino escoger un valor de T lo suficientemente grande que garantice que el makespan es inferior a este número. Sin embargo, la escogencia de este parámetro es de vital importancia dentro del modelo, pues tiene influencia directa sobre el número de variables de decisión. A mayor T, mayor número de variables de decisión, lo cual implica mayor esfuerzo computacional de la máquina, pudiendo terminar en un mayor tiempo computacional para encontrar la solución al problema (Klein, 2010). El siguiente análisis matemático permite visualizar el impacto de T sobre el número de variables. Para el RCPSP sin pausas en la ejecución se supone que existen las variables de decisión. y. . El número de variables de decisión para cada grupo de variables está dado por la multiplicación de las cardinalidad de sus índices. Según lo anterior, el número de variables. y. estará dado por:. Se evidencia entonces que la cantidad de variables de decisión para cada grupo depende directamente del parámetro T, por lo cual se debe buscar el menor valor posible para este parámetro, el cual será, sin correr el riesgo de volver el problema infactible, el propuesto anteriormente.. 18.

(19) 3.2.. Inclusión de restricciones redundantes. Se conocen como restricciones redundantes aquellas que pueden eliminarse sin afectar la región factible de un problema. En los modelos de programación lineal suelen eliminarse estas restricciones, pues hacerlo elimina la necesidad de realizar cálculos innecesarios, asociados a estas restricciones, los cuales podrían demandar mayor tiempo computacional (Caron et al., 1985). No obstante, se ha podido evidenciar que para problemas de programación entera mixta, el uso de restricciones redundantes en algunos casos tiende a agilizar la optimización de un modelo (Geoffrion, 1976). Sin embargo, incorporar dichas redundancias no siempre beneficia el procesamiento del modelo, por lo cual no es posible tener una respuesta genérica para este asunto (Streiffert et al., 2005). Mirando detenidamente el grupo de restricciones propuesto en (5), al igual que sus variaciones para algunos de los modelos posteriores, se puede observar que se trata de un grupo de restricciones redundantes, pues están contempladas implícitamente dentro de otros grupos de restricciones, por ejemplo dentro del grupo (4). Existe otro tipo de restricciones redundantes que podrían contribuir a acelerar el hallazgo de la respuesta deseada. Para ilustrar este otro tipo ilustramos el siguiente ejemplo. Sean. y. . Si se conoce que el proyecto. este a su vez precede a. , cabe pensar que. precede a. incorporar más elementos al conjunto. precede a , y. . Lo anterior implica que se puede. , y por ende incluir nuevas restricciones al grupo mostrado. en (9). Cabe recalcar que la redundancia por precedencias mostrada aquí sólo puede ser utilizada en el RCPSP. Si se usara para el MRCPSP se aplicarían restricciones de precedencia a modos que no necesariamente se ejecutarán en la solución óptima al problema. En primer lugar se deberá determinar si el incluir las restricciones redundantes mencionadas contribuye a acelerar el tiempo que se tarde en encontrar la solución al RCPSP y MRCPSP con pausas. De comprobarse que el resultado de esta inclusión es benéfico, dichas restricciones se adoptarán en todos los modelos posteriores. 3.3.. Uso de formulaciones matemáticas. 3.3.1. ¿Cuál modelo usar para resolver el RCPSP con pausas? Para decidir cuál formulación se debe utilizar para resolver el RCPSP (entre las formulaciones con variables auxiliares y sin ellas) se tomaron en cuenta algunos aspectos teóricos que podrían orientar la respuesta. Tomando como ejemplo el número de variables de decisión necesarias en cada instancia para el RCPSP, calculado en 4.1, los siguientes son resultados para el problema sin. 19.

(20) pausas, donde y. representa la cardinalidad del conjunto de proyectos, T el horizonte de planeación. la suma de las duraciones de todos los proyectos: Tabla 3. Número de variables para los modelos 2.1.1 y 2.2.2. FORMULACION Modelo 2.1.1 Modelo 2.1.2 Número de variables de decisión. Para el modelo que incluye las variables auxiliares aumenta en. , el número total de variables auxiliares. unidades, frente al otro modelo. Dado que existe un mayor número de variables. de decisión, se deberán realizar más cálculos para el modelo y por ende este puede llegar a ser más lento que su contraparte. Para comprobar esta teoría, se resolverán una serie de instancias de problemas RCPSP sin pausas, usando el modelo 2.1.1 y 2.1.2, y se compararan entre sí los resultados obtenidos. 3.3.2. ¿Cuál modelo usar para resolver el MRCPSP con pausas? Para el MRCPSP sin pausas se puede tomar la misma decisión que para los modelos para el RCPSP, pues las variaciones hechas a los modelos al incluir el conjunto de modos afectan a ambos modelos de igual forma. Sin embargo, dado que para el modelo 2.2.4 (sin variables auxiliares y con pausas) el número de conjuntos varía con respecto todos los modelos anteriores, el mismo análisis mencionado anteriormente debe realizarse para el MRCPSP con pausas. Nuevamente se realizará una comparación para los resultados obtenidos para una serie de instancias de problemas MRCPSP con pausas, usando los modelos 2.2.3 y 2.2.4. 3.4.. Ejecución de la solución. Como lo menciona Buddhakulsomsiri et al., (2006), en general resolver el problema con pausas toma alrededor de 33 veces más del tiempo que toma resolver el problema sin estas pausas. Sin embargo el valor de la función objetivo correspondiente a la solución óptima para el problema sin pausas es representa un horizonte de planeación factible para el problema con pausas (teniendo la opción de realizar pausas en la ejecución de un proyecto, puede ejercerse o no), más no necesariamente el makespan asociado a la solución óptima. Debido a lo anterior, sabemos que si una solución es factible para el problema sin pausas, también lo será para el problema con pausas. Dado que la solución para el problema sin pausas podría presentar un makespan menor a. , una. estrategia razonable será resolver el problema sin pausas en primer lugar y utilizar el makespan a este problema como el T para el problema con pausas; en el peor de los casos, el óptimo para el problema con pausas será el mismo óptimo ya encontrado. De esta manera podría acelerarse el hallazgo de la solución óptima al problema con pausas. Pruebas para determinar si el tiempo. 20.

(21) requerido para obtener este resultado es menor al propuesto por Buddhakulsomsiri et al., (2006) se presentarán en la sección siguiente. 4. Resultados Todas las instancias utilizadas para probar los modelos fueron obtenidas de la Librería PSPLIB (disponible en http://129.187.106.231/psplib/). Los resultados obtenidos a continuación se obtuvieron con el optimizador Xpress-MP (versión 1.22.02) en un computador Dell Precision T7400 con dos procesadores Intel Xeon X5450 de 3.00GHz y 8GB RAM en un sistema operativo Windows Vista Ultimate x64. Para todos los experimentos se limitó el tiempo computacional a 1,000 segundos. En primer lugar se mostrarán los resultados generales obtenidos para el RCPSP y el MRCPSP con pausas, seguido de los experimentos realizados para determinar la estrategia de solución que permitió obtener dichos resultados. Las instancias probadas para el RCPSP y el MRCPSP (1920 y 2737 instancias, respectivamente) cuentan con las siguientes características: Tabla 4. Características de las instancias de RCPSP probadas Parámetro Cantidad Número de proyectos por instancia 30, 60, 90, 120 Número de recursos renovables 4 Número de recursos no renovables 0 Duración de cada proyecto [1, 10] Consumo de recursos renovables por proyecto y periodo [0,10] Número de sucesores por proyecto [0,3] Tabla 5. Características de las instancias de MRCPSP probadas Parámetro Cantidad Número de proyectos por instancia 10, 12, 14, 16, 18 Número de modos por proyecto 3 Número de recursos renovables 2 Número de recursos no renovables 2 Duración de cada proyecto [1, 10] Consumo de recursos renovables por proyecto y periodo [0,10] Número de sucesores por proyecto [0,3]. 4.1.. Resultados para el RCPSP y MRCPSP con pausas. 4.1.1. Resultados para el RCPSP con pausas Tabla 6. Resultados de la ejecución de los modelos para el RCPSP con pausas Parámetro Número de proyectos por instancia Instancias probadas Instancias resueltas a optimalidad Porcentaje de instancias resueltas a optimalidad Instancias con mejor FO frente al problema sin pausas Porcentaje de instancias con mejor FO frente al problema sin pausas Porcentaje promedio de mejora en solución frente al problema sin pausas. 21. 30 480 357 74.38% 90 25.21% 0.83%. Valores 60 90 480 480 349 339 72.71% 70.63% 36 7 10.32% 2.06% 0.29% 0.03%. 120 480 134 27.92% 7 5.22% 0.08%.

(22) Porcentaje de Instancias. Gráfica 1. Porcentaje de instancias resueltas a optimalidad para el RCPSP con pausas. 80% 60% 40% 20% 0%. 74.38%. 72,71%. 70,63%. 27,92%. 30. 60. 90. 120. Número de proyectos por instancia. La Gráfica 1 muestra que a medida que se incluye un mayor número de proyectos dentro de un portafolio la dificultad de los cálculos incrementa y por consiguiente se requerirá mayor esfuerzo computacional para obtener la solución óptima. La tendencia a encontrar menos instancias con soluciones óptimas a medida que aumentaba el número de proyectos fue leve entre los 30 y 90 proyectos, pero causa interés particular la gran caída en cantidad de soluciones óptimas encontradas para instancias de 120 proyectos. Ya que con ninguna de las dos formulaciones propuestas es posible resolver a optimalidad las instancias en la mayoría de casos cuando se trata con 120 proyectos por instancia, podemos dar este valor como un límite superior en la cantidad de proyectos para las formulaciones aquí presentadas. Para instancias de 30, 60 y 90 proyectos la cantidad de instancias con soluciones óptimas encontradas se sitúa por encima de 70%, mostrando una efectividad considerable de los modelos presentados. Al limitar el tiempo del optimizador para cada instancia a 1,000 segundos, no se puede comparar en profundidad los resultados óptimos para el problema con pausas contra los del problema sin pausas. Es probable que las instancias que hayan entregado un certificado de optimalidad en el tiempo límite propuesto hayan sido instancias donde la solución óptima era cercana al parámetro T (que no es nada más que el óptimo para el problema sin pausas), significando un reducido espacio de solución, y por este motivo la cantidad de cálculos realizados pudo ser relativamente baja. Para instancias donde estos valores estén más apartados, probablemente el espacio de solución es mayor, se requieren más cálculos para encontrar la solución óptima y el tiempo límite no fue suficiente para hallar estas soluciones. Dado lo anterior, los resultados no pueden ser calificados como representativos, aunque se muestran para comentar lo ya estudiado por Buddhakulsomsiri et al., (2006), donde se afirma que el problema con pausas puede producir soluciones óptimas menores a las del problema sin pausas.. 22.

(23) 4.1.2. Resultados para el MRCPSP con pausas Tabla 7. Resultados de la ejecución de los modelos para el MRCPSP con pausas Parámetro Número de proyectos por instancia Instancias probadas Instancias resueltas a optimalidad Porcentaje de instancias resueltas a optimalidad Instancias con mejor FO frente al problema sin pausas Porcentaje de instancias resueltas con mejor FO frente al problema sin pausas Porcentaje promedio de mejora en solución frente al problema sin pausas. 10 536 497 92.72% 38 7.65% 0.44%. 12 547 495 90.49% 34 6.87% 0.37%. Valores 14 551 485 88.02% 53 10.93% 0.53%. 16 551 467 84.75% 37 7.92% 0.40%. 18 552 463 83.88% 40 8.64% 0.36%. Porcentaje de instancias. Gráfica 2. Porcentaje de instancias resueltas a optimalidad para el MRCPSP con pausas. 95% 90%. 92.72%. 85%. 90,49%. 88,02%. 80%. 84,75%. 83,88%. 16. 18. 75% 10. 12. 14 Número de proyectos por instancia. Al igual que para el RCPSP, para el MRCPSP, a medida que aumenta el número de proyectos en una instancia dada, el número de instancias que logran ser resueltas disminuye. Este descenso gradual a medida que crece el número de instancias se muestra en la Gráfica 2. A diferencia de los resultados para el MRCPSP, no hay una disminución significativa en la cantidad de instancias con soluciones óptimas encontradas entre un número de proyectos por instancia y otro, por lo cual se establece que el límite máximo de proyectos que debe tener una instancia para que sea probable resolver el modelo en menos de 1,000 segundos está por encima de 18 proyectos.. Al igual que sucede para el RCPSP, en este caso no se puede entrar a analizar cómo se afectan las funciones objetivo respecto al problema sin pausas dado que no existe un certificado de optimalidad para todas las instancias, por el límite de tiempo otorgado al optimizador. No obstante, para este caso también se presentan los resultados de las soluciones óptimas encontradas, donde nuevamente se demuestra que existe una mejora en ellas al permitir pausas, respecto al problema sin pausas. 4.2.. Resultados sobre la estrategia de solución3. 4.2.1. Experimentos sobre la inclusión de variables redundantes Se realizó una prueba para el modelo RCPSP con 30 instancias de 30 proyectos para probar si en los modelos construidos las restricciones redundantes mencionadas resultan benéficas. A continuación se muestran los resultados:. 3. Un diagrama de flujo con la estrategia de solución completa se detalla en el anexo B.. 23.

(24) Tabla 8. Comparación de resultados para 2.1.3, con las restricciones redundantes (5), y sin incluirlas. Instancias resueltas a optimalidad Tiempo promedio por instancia (s) Desviación estándar Veces que resolvió en menor tiempo4 Tiempo promedio en instancias resueltas (s) Tiempo total (s). Con restricciones redundantes Sin restricciones redundantes 30 28 16.90 104.63 13.47 251.62 28 0 16.90 40.66 506.89 3139.02. Tabla 9. Comparación de resultados 2.1.3 con precedencias redundantes, y sin incluirlas. Instancias resueltas a optimalidad Tiempo promedio por instancia (s) Desviación estándar Veces que resolvió en menor tiempo5 Tiempo promedio en instancias resueltas (s) Tiempo total (s). Con restricciones redundantes Sin restricciones redundantes 30 30 16.90 17.70 13.47 21.43 7 23 16.90 17.70 506.89 530.92. Los resultados demuestran una clara mejora en el desempeño del optimizador al incluir las restricciones redundantes propuestas en (5). Aunque en el caso de las precedencias redundantes no se presentan cambios tan notorios sobre el desempeño del optimizador como en el caso anterior, sí se disminuye el tiempo promedio en resolver cada instancia, se reduce variabilidad entre tiempos de instancias y se presenta una mejora en tiempo computacional para el modelo. Habiendo confirmado que ambos grupos de restricciones redundantes aceleran el procesamiento de la solución, ambos fueron incluidos en el modelo 2.1.3, y el grupo de precedencias redundantes se incluyeron en el modelo 2.1.4. Se recuerda que no se incluyó el grupo de restricciones propuestas en (5) en el modelo 2.1.4, pues este grupo de restricciones trata específicamente con variables auxiliares. 4.2.2. Experimentos sobre la formulación a utilizar 4.2.2.1. Experimentos sobre cuál modelo a usar para resolver el RCPSP con pausas De conformidad con lo propuesto anteriormente, se llevó a cabo un experimento para comparar las formulaciones propuestas en 2.1.1 y 2.1.2 con 480 instancias de 30 proyectos. De haberse obtenido mejores resultados con la formulación 2.1.1, se hubiera empleado el modelo 2.1.3 para resolver el RCPSP con pausas, de lo contrario se hubiera empleado el modelo 2.1.4. Los resultados obtenidos se muestran a continuación:. 4 5. Cuando ambos modelos resolvieron la instancia Ídem.. 24.

(25) Tabla 10. Comparación de resultados para los modelos 2.1.1 y 2.1.2. Instancias probadas Instancias resueltas a optimalidad Tiempo promedio por instancia (s) Desviación estándar Veces que resolvió en menor tiempo6 Tiempo promedio en instancias resueltas (s) Tiempo total (s). Modelo 2.1.1 Modelo 2.1.2 480 480 408 408 184.57 182.29 352.86 353.44 58 345 40.67 37.99 88,594 87,499. Como se puede ver, aunque hay mejores tiempos computacionales con el modelo 2.1.2, las diferencias son mínimas. Por este motivo, al resolver el RCPSP sin pausas se optará por usar el modelo 2.1.2, aunque se cree pertinente realizar experimentos posteriores para determinar cuál modelo resulta mejor para resolver el RCPSP con pausas. Para este segundo experimento se utilizaron 30 instancias de 30, 60, 90 y 120 proyectos y sobre ellas se probaron los modelos 2.1.3 y 2.1.4 para su posterior comparación. Cabe recalcar que para este caso el número de variables. cambia para la formulación 2.1.4 respecto a 2.1.2, dado que. cada periodo se toma como un proyecto. El número de “proyectos” será igual al número de periodos de ejecución (. ) y por lo tanto el número total de variables. estará dado por. .. Tabla 11. Número de variables para los modelos 2.1.3 y 2.1.4 FORMULACION Modelo 2.1.3 Modelo 2.1.4 Número de variables de decisión. En este caso sigue existiendo menor número de variables en el modelo 2.1.4, lo cual llevar a pensar que dicho modelo será más efectivo. Tabla 12. Comparación de los modelos 2.1.3 y 2.1.4 en las instancias experimentales del RCPSP Modelo 2.1.3 Modelo 2.1.4 Instancias probadas 120 120 Instancias resueltas a optimalidad 82 95 Tiempo promedio en cada instancia (s) 422.49 259.46 Desviación estándar en batería 428.91 390.54 Veces que resolvió en menor tiempo7 13 110 Tiempo promedio en instancias resueltas (s) 154.87 64.58 Tiempo total (s) 50,699.02 31,135.55. Los resultados reflejan una clara dominancia del modelo 2.1.4 sobre el modelo 2.1.3. Por tal motivo se optó por utilizar el modelo 2.1.4 para resolver el RCPSP con pausas. En los casos donde el modelo en cuestión no logró encontrar la solución óptima para una instancia, se utilizó el modelo 2.1.3 para intentar resolverla a optimalidad. Los resultados mencionados en la sección 4.1.1 se obtuvieron siguiendo la estrategia mencionada en cuanto a cuál modelo emplear como primer recurso, y proporcionaron un conocimiento adicional que a continuación se detalla: 6 7. Ídem. Ídem.. 25.

(26) Tabla 13. Comparación de los modelos 2.1.3 y 2.1.4 en la totalidad de las instancias del RCPSP Parámetro Número de proyectos por instancia Instancias probadas Instancias resueltas a optimalidad Porcentaje de instancias resueltas a optimalidad Tiempo promedio en resolver una instancia (s) Desviación estándar del tiempo en resolver una instancia (s) Instancias resueltas a optimalidad con el modelo 2.1.4 Instancias adicionales resueltas con el modelo 2.1.3. 30 480 357 74.38% 147.15 372.00 313 44. Valores 60 90 480 480 349 339 72.71% 70.63% 77.94 68.65 255.42 172.89 334 336 15 3. 120 480 134 27.92% 234.59 232.75 133 1. Cantidad de instancias. Gráfica 3. Instancias resueltas a optimalidad con el modelo 2.1.4 sobre un total de 480. 400. 336. 334. 313. 300 200. 133. 100 0 30. 60. 90. 120. Número de proyectos por instancia. Cantidad de instancias. Gráfica 4. Instancias adicionales resueltas a optimalidad con el modelo 2.1.3. 60 44. 40 20. 15. 0 30. 60. 3 90. 1 120. Número de proyectos por instancia. La gráfica 3 muestra el alto porcentaje de instancias que se resolvieron con el modelo 2.1.4, el cual se usó como primer recurso. Se aprecia con sorpresa que a medida que aumenta el número de proyectos por instancia, la cantidad de soluciones óptimas encontradas aumenta (desde 30 hasta 90 instancias). Por su parte vemos que a medida que aumenta el número de proyectos en un portafolio, la probabilidad de que el modelo 2.1.3 resuelva el problema de manera óptima cuando el modelo 2.1.4 no lo hizo decrece de manera significativa, como se muestra en la Gráfica 4. Tan representativo es este resultado que se aprecia que para las instancias de 30 proyectos el número de instancias adicionales resueltas con el modelo 2.1.3 es más de 14 veces mayor que el número de instancias adicionales resueltas cuando se cuenta con 90 proyectos. De los resultados anteriores se puede concluir que para instancias con 30 proyectos o menos, la escogencia de un modelo entre el 2.1.3 y el 2.1.4 por encima del otro resulta ambigua, pues si bien el modelo 2.1.4 tiende a resolver las instancias para el RCPSP con pausas en menor tiempo que el modelo 2.1.3, este último logra resolver un número considerable de instancias que el modelo 2.1.4 no puede. Si se desea obtener una respuesta rápida, asumiendo un riesgo considerable de no 26.

(27) encontrar respuesta, se debe escoger el modelo 2.1.4; si en cambio se desea sacrificar tiempo computacional para aumentar la probabilidad de conseguir una respuesta al problema, debe escogerse el modelo 2.1.3. Un caso significativamente diferente se presenta para las instancias de más de 30 proyectos, donde efectivamente el tiempo en encontrar respuesta con el modelo 2.1.4 es menor que el del 2.1.3, y además de ello la probabilidad de encontrar respuesta con el segundo modelo cuando no se encontró con el primero es muy baja. En instancias con más de 30 proyectos es claro que debe preferirse el modelo 2.1.4 sobre el modelo 2.1.3 4.2.2.2. Experimentos sobre cuál modelo a usar para resolver el MRCPSP con pausas Dada la ambigüedad al usar la comparación entre los modelos sin pausas para el RCPSP como determinación sobre el modelo que se debe usar para el problema sin pausas, para el MRCPSP se realizó un experimento comparando directamente los modelos que resuelven el problema con pausas. Recordamos que el modelo 2.2.3 utiliza variables auxiliares, mientras que el 2.2.4 no. Para este caso se tomaron 30 instancias de 10, 12, 14, 16 y 18 proyectos, contando con las características denotadas al comienzo de la sección 4. Los resultados obtenidos se muestran a continuación: Tabla 14. Comparación de los modelos 2.2.3 y 2.2.4 en las instancias experimentales del MRCPSP Instancias probadas Instancias resueltas a optimalidad Tiempo promedio en cada instancia (s) Desviación estándar en batería Veces que resolvió en menor tiempo8 Tiempo promedio en instancias resueltas (s) Tiempo total (s). Modelo 2.2.3 Modelo 2.2.4 150 150 150 146 2.78 54.91 5.51 207.75 22 124 2.37 29.03 417.07 8,236.24. A diferencia de los resultados para el RCPSP, se ve claramente que para el MRCPSP es de mayor conveniencia emplear el modelo con variables auxiliares. Si bien el modelo 2.2.4 resuelve la mayoría de las instancias del MRCPSP en menor tiempo, para las instancias que no resuelve en menor tiempo presenta tiempos significativamente más altos que el modelo con variables auxiliares, los cuales se ven representados en una mayor varianza. De la misma manera, vemos que finalmente el modelo 2.2.3 resuelve la totalidad de las instancias un tiempo menor, con un mayor número de instancias resueltas a optimalidad. Si bien el modelo 2.2.4 presenta una reducción en el número de variables de decisión, el esfuerzo computacional puede haber aumentado debido a la inclusión de nuevos conjuntos y nuevos elementos en estos conjuntos, complicando los cálculos a realizar y por ende incrementando el tiempo computacional requerido para solucionar una instancia a optimalidad. Por tal motivo se concluye que para el MRCPSP debe emplearse como primer recurso el modelo 8. Ídem.. 27.

(28) 2.2.3 para resolver el problema con pausas. De no encontrarse la solución con este modelo, se debe emplear el modelo 2.2.4 para intentar obtener la solución óptima. Los resultados mostrados en la sección 4.1.2 se obtuvieron siguiendo la estrategia recién comentada en cuando al modelo que debe emplearse como primer recurso. Además de los resultados ya mostrados se presentan unos resultados adicionales a los de la sección 4.1.2 que permiten entender mejor el desempeño de los modelos 2.2.3 y 2.2.4 para resolver instancias del MRCPSP con pausas. Tabla 15. Comparación de los modelos 2.2.3 y 2.2.4 en la totalidad de las instancias del MRCPSP Parámetro Número de proyectos por instancia Instancias probadas Instancias resueltas a optimalidad Porcentaje de instancias resueltas a optimalidad Tiempo promedio en resolver una instancia (s) Desviación estándar del tiempo en resolver una instancia (s) Instancias resueltas a optimalidad con el modelo 2.2.3 Instancias adicionales resueltas con el modelo 2.2.4. 10 536 497 92.72% 29.66 110.77 496 1. 12 547 495 90.49% 32.28 111.37 495 -. Valores 14 551 485 88.02% 34.39 113.22 483 2. 16 551 467 84.75% 26.22 81.25 467 -. 18 552 463 83.88% 46.90 127.38 463 -. Gráfica 5. Porcentaje de instancias resueltas con el modelo 2.2.3 y adicionales resueltas con el modelo 2.2.4 Porcentaje de instancias. 100% 80% 60%. 92,54% 90,49% 87,66% 84,75% 83,88%. Porcentaje de instancias resueltas con el modelo 2.2.3. 40% 20%. 0,19% 0,00% 0,36% 0,00% 0,00%. 0% 10. 12. 14. 16. Porcentaje de instancias adicionales resueltas con el modelo 2.2.4. 18. Número de proyectos por instancia. Se evidencia el alto porcentaje de instancias que pudieron ser resueltas en cada caso al emplear el modelo 2.2.3 (el resultado más bajo para el MRCPSP es más alto que el resultado más alto para el RCPSP), y por su parte la baja respuesta que proporciona el modelo 2.2.4 como modelo adicional; de 333 instancias que no pudieron ser resueltas con el modelo 2.2.3, sólo tres instancias pudieron ser resueltas con el 2.2.4. Por tal motivo se concluye que sin importar el número de proyectos en una instancia, debe siempre preferirse el modelo 2.2.3 sobre el modelo 2.2.4.. 4.2.3. Experimentos sobre la ejecución de la solución Teniendo en cuenta el análisis presentado en la sección 3.4 se realizarán experimentos sobre el tiempo que tarda resolver el RCPSP con pausas para instancias de 30 proyectos, resolviendo primero el problema sin pausas y utilizando la solución de este modelo como parámetro T para el modelo con pausas. Siguiendo las pautas decididas en los incisos anteriores, se resolverá primero el 28.

(29) RCPSP sin pausas usando el modelo 2.1.2; para las instancias que se resuelvan a optimalidad se ajustará el valor T al valor presentado como el óptimo, y se intentará resolver el problema con pausas utilizando el modelo 2.1.4. De no encontrar respuesta óptima, se procederá a intentar encontrarla usando el modelo 2.1.3. En la siguiente tabla se mostrarán los resultados, donde se analizarán las instancias para las cuales se entregó un certificado de optimalidad con pausas, siguiendo la regla que ningún modelo debe sobrepasar los 1,000 segundos de procesamiento. Para las instancias que no puedan ser resueltas con el modelo 2.1.4, el tiempo total será la suma del tiempo invertido en intentar resolver la instancia con el modelo 2.1.4 y el tiempo invertido en resolverla con el modelo 2.1.3. Tabla 16. Resultados de la ejecución combinada de los modelos con y sin pausas Parámetro Valor Instancias Probadas 480 Instancias resueltas a optimalidad para el problema sin pausas 408 Instancias resueltas a optimalidad con el modelo 2.1.4 313 Instancias adicionales resueltas a optimalidad con el modelo 2.1.3 44 Porcentaje de solución de instancias con pausas sobre instancias sin pausas 87.5% Tiempo promedio para resolver el RCPSP sin pausas (s) 37.99 Tiempo promedio para resolver el RCPSP con pausas (s) 165.95 ¿Cuántas veces más tarda el RCPSP con pausas en promedio? 4.37. Los resultados anteriores demuestran que al fijarse 1,000 segundos como tope máximo de ejecución de cada modelo, el RCPSP con pausas tarda en promedio 4.4 veces más en encontrar solución que el RCPSP sin pausas, bajo la metodología propuesta. Lo anterior muestra un tiempo computacional promedio de 13% del propuesto por Buddhakulsomsiri et al., (2006) para el 87.5% de los casos para resolver el RCPSP con pausas. Vemos entonces que esta metodología para resolver el problema también debe ser adoptada, en caso que no se cuente con la solución óptima para el problema sin pausas. Los resultados recién mencionados muestran la metodología que debe ser empleada cuando no se conoce la solución óptima para el problema sin pausas, ya que presentan una manera de mayor eficiencia para obtener los resultados para el problema con pausas en menos tiempo. Sin embargo, la librería PSPLIB cuenta con las soluciones óptimas para el problema sin pausas para las instancias del RCPSP con 30 proyectos y para las instancias del MRCPSP. Para las instancias del RCPSP con 60, 90 y 120 proyectos cuenta con límites superiores al valor que deberá tomar la solución óptima al problema, al no existir un certificado de optimalidad para ellas. Existiendo este resultado, fue innecesario emplear los modelos 2.1.2 y 2.2.2 para encontrar este valor, pues ya existía o había uno cercano a este en el peor de los casos. Por tal motivo, dichos valores reportados en la librería se utilizaron como valor para el parámetro T para las instancias en las cuales se resolvió el RCPSP y MRCPSP con pausas. 29.

(30) 5. Conclusiones y trabajo futuro Se han presentado ocho modelos funcionales de programación entera mixta con la finalidad de resolver el RCPSP y el MRCPSP con pausas en la ejecución de proyectos. Entre los modelos propuestos también se resuelven los casos donde estas pausas no son permitidas, como punto de partida para la solución del problema con pausas. Los modelos son flexibles, ya que permiten la variación en la demanda de recursos por parte de un proyecto para cualquier periodo dado de su ejecución, al igual que la variación en la disponibilidad de los recursos en momentos discretos del tiempo. Se ha planteado una estrategia de solución segmentada por etapas, en la cual se pudo reducir el tiempo estimado de procesamiento para encontrar una solución óptima al problema con pausas a un 13% del tiempo que proponen trabajos anteriores (Buddhakulsomsiri et al., 2006). Se evidenció a lo largo del trabajo que la incorporación de restricciones redundantes en el modelo sirve como método de mayor efectividad para resolver el problema. A diferencia de la programación lineal, en la programación entera mixta la incorporación de restricciones redundantes puede resultar benéfica para el trabajo computacional requerido y en este caso se encontraron dos grupos de restricciones que beneficiaron a los modelos. Tras plantear modelos para resolver el RCPSP con pausas en la ejecución de proyectos, incorporando variables auxiliares y sin hacerlo, se evidenció que resulta más eficiente el modelo sin variables auxiliares para resolver el problema. Para el MRCPSP, debido a las transformaciones que deben hacerse en los parámetros para incorporar los modos para cada proyecto, resulta más eficiente el modelo con variables auxiliares, pues encuentra la solución óptima con mayor probabilidad y en menor tiempo. Como trabajo futuro se podría expandir el tema para considerar ventanas de tiempo tal y como lo propone Palacio et al., (2010), donde cada proyecto podría contar con una fecha mínima para la iniciación de la ejecución y una fecha máxima para su finalización, al igual que ventanas temporales para pares de proyectos con relaciones de precedencia. También podría considerarse un cambio de modo en momentos discretos del tiempo, suponiendo que en ciertas épocas se puedan destinar más recursos que en otras a un proyecto dado.. 30.

(31) Referencias bibliográficas Blazewicz, J., Lenstra, J. K., & Kan, A. H. G. (1983). Scheduling subject to resource constraints: classification and complexity. Discrete Applied Mathematics, 5(1), 11-24. Buddhakulsomsiri, J., & Kim, D. S. (2006). Properties of multi-mode resource-constrained project scheduling problems with resource vacations and activity splitting. European Journal of Operational Research, 175(1), 279-295. Caron, R. J., McDonald, J. F., & Ponic, C. M. (1985). Classification of linear constraints as redundant or necessary. Technical Report WMR-85-09, University of Windsor, Windsor Mathematics Report. Damay, J., Quilliot, A., Sanlaville, E. (2007). Linear programming based algorithms for preemptive and non-preemptive RCPSP. European Journal of Operational Research, 182, 1012-1022 Geoffrion, A. M. (1976). A guided tour of recent practical advances in integer linear programming. US Government Reports, (Sept.), 1. Haouari, M., & Al-Fawzan, M. A. (2002). A bi-objective model for maximizing the quality in project scheduling (Vol. 14). DIMACS technical report 2002. Hartmann, S., Briskorn, D. (2010). A survey of variants and extensions of the resource-constrained project scheduling problem. European Journal of Operational Research, 207, 1-14. Klein, P. N., & Young, N. E. (2010, February). Approximation algorithms for NP-hard optimization problems. In Algorithms and theory of computation handbook (pp. 34-34). Chapman & Hall/CRC. Kolisch, R., Padman, R. (2001). An integrated survey of deterministic project scheduling. Omega, 29, 249-272. Medaglia, A. L., Hueth, D., Mendieta, J. C., & Sefair, J. A. (2008). A multiobjective model for the selection and timing of public enterprise projects. Socio-Economic Planning Sciences, 42(1), 31-45. Palacio Domínguez, J., Medaglia González, A. L., & Sefair Cristancho, J. (2010). Una aproximación al problema de programación de proyectos con recursos limitados, múltiples modos y ventanas de tiempo (MRCPSP/max) basada en programación entera mixta / Juan David Palacio Domínguez ; director: Andrés Leonardo Medaglia ; asesor: Jorge A. Sefair C. Bogotá : Uniandes, 2010. Sefair, J. A., & Medaglia, A. L. (2006). Selección y ordenamiento de proyectos de inversión con restricciones de recursos de capacidad finita. CLAIO-Congreso Latino Americano de Investigacion de Operaciones, 2006. Streiffert, D. D., Phillbrick, R. R., & Ott, A. A. (2005). A Mixed Integer Programming Solution for Market Clearing and Reliability Analysis. Ieee Power Engineering Society General Meeting, 3, 2724-2731. Zare, Z., Naddaf, A., & Salehi, M. (2012). Proposing a Model on Preemptive Multi-mode Resource-constrained Project Scheduling Problem. International Journal Of Business & Social Science, 3(4), 126-130. 31.

(32) Anexo A. Modelos matemáticos propuestos Modelo para el RCPSP con variables auxiliares y sin pausas (Modelo 2.1.1) Conjuntos: : Conjunto de proyectos : Conjunto de relaciones de precedencia : Conjunto de recursos renovables : Conjunto de recursos no renovables. Parámetros: T: Horizonte de planeación : Cantidad demandada del recurso renovable h por parte del proyecto i en el periodo k de ejecución : Cantidad demandada del recurso no renovable n por parte del proyecto i en el periodo k de ejecución : Disponibilidad del recurso renovable h en el tiempo t : Cantidad del recurso no renovable n disponible para uso a partir del tiempo t : Duración del proyecto i. Variables de Decisión: : makespan : Variable que toma el valor 1 si el proyecto i comienza en el tiempo t, o cero de lo contrario : Variable que toma el valor 1 si el proyecto i está en el periodo k en el tiempo t, o cero de lo contrario : Cantidad del recurso no renovable n no utilizado en t-1 y trasladado a t. Restricciones y Función Objetivo: s.a. 32.

(33) Modelo para el RCPSP sin variables auxiliares y sin pausas (Modelo 2.1.2) Conjuntos: ídem.. Parámetros: ídem.. Variables de Decisión: : makespan : Variable que toma el valor 1 si el proyecto i comienza en el tiempo t, o cero de lo contrario : Cantidad del recurso no renovable n no utilizado en t-1 y trasladado a t. Restricciones y Función Objetivo:. s.a. 33.

(34) Modelo para el RCPSP con variables auxiliares y con pausas (Modelo 2.1.3) Conjuntos: Ídem.. Parámetros: ídem.. Variables de Decisión: : makespan : Variable que toma el valor 1 si el proyecto i comienza en el tiempo t, o cero de lo contrario : Variable que toma el valor 1 si el proyecto i está en el periodo k en el tiempo t, o cero de lo contrario : Cantidad del recurso no renovable n no utilizado en t-1 y trasladado a t. Restricciones y Función Objetivo: s.a. 34.

Referencias

Documento similar

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

 Tejidos de origen humano o sus derivados que sean inviables o hayan sido transformados en inviables con una función accesoria..  Células de origen humano o sus derivados que

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)