Comparación de métodos para la priorización en la selección de carteras de proyectos: Mochila múltiple vs Greedy Heuristics
Abstract
Departamento de Organización de Empresas y Comercialización e Investigación de Mercados
Full text
UNIVERSIDAD DE VALLADOLID ESCUELA DE INGENIERIAS INDUSTRIALES Grado en Ingeniería en Organización Industrial Comparación de métodos para la priorización en la selección de carteras de proyectos: Mochila múltiple vs Greedy Heuristics Autor: Raquel Maderuelo Pérez Tutores: Adolfo López Paredes Félix A. Villafáñez Cardeñoso Departamento de Organización de Empresas y CIM Valladolid, Mayo 2019
RESUMEN Elegir el método de financiación adecuado a la hora de desarrollar un proyecto es fundamental; pero es aún más importante contar con los mecanismos adecuados que permitan la selección de los proyectos óptimos dentro de una cartera de proyectos y los cuales deberán llevarse a cabo. En este proyecto, se analizarán dos metodologías útiles para una correcta priorización de carteras de proyectos las cuales son: el método de la mochila múltiple y los “algoritmos voraces” (greedy heuristics). Para ello se ha programado un complemento sobre MS Excel utilizando macros que permite al usuario introducir los datos de una cartera de proyectos para realizar la evaluación comparativa de los resultados que ofrecen ambos métodos. PALABRAS CLAVE Cartera de Proyectos, Financiación, Priorización, Método de la mochila, Greedy Heuristics
ABSTRACT Choosing the right financing method in order to develop a project is fundamental; But it is even more important to have the right mechanisms to allow the optimal selection of projects within a project portfolio and which should be carried out. In this project, two useful methodologies for correct project portfolio prioritization will be analyzed, which are: the multi-knapsack problem and the greedy heuristics. To this end, a complement has been programmed on MS Excel using macros that allows the user to enter data from a project portfolio to carry out the comparative evaluation of the results offered by both methods. KEYWORDS Project Portfolio, Project Finance, Prioritizing, Knapsack problem, Greedy Heuristics
TABLA DE CONTENIDO 1. INTRODUCCIÓN ............................................................................................................... 1 1.1. Antecedentes y justificación del proyecto .......................................................... 1 1.2. Objetivos del proyecto ........................................................................................ 1 1.3. Alcance del proyecto ........................................................................................... 2 1.4. Organización del proyecto .................................................................................. 2 2. GESTIÓN DE CARTERAS DE PROYECTOS .......................................................................... 5 2.1. Introducción ............................................................................................................. 5 2.2. ¿Qué es la gestión de carteras de proyectos? ......................................................... 5 2.3. Proposiciones para la selección de la cartera de proyectos .................................... 6 2.4. Consideraciones estratégicas ................................................................................... 8 2.5. Evaluación de los proyectos individualmente ......................................................... 9 2.6. Técnicas para la selección de la cartera de proyectos ........................................... 11 2.7. Consideraciones a tener en cuenta para una correcta selección de la cartera ..... 13 2.7.1. Interdependencias de los proyectos ............................................................... 13 2.7.2. Naturaleza del tiempo..................................................................................... 14 2.7.3. Involucrar en el proceso a los tomadores de decisiones ................................ 15 3. MÉTODOS PARA LA PRIORIZACION EN LA SELECCIÓN DE PROYECTOS ........................ 17 3.1. Introducción ........................................................................................................... 17 3.2. Método de la Mochila ............................................................................................ 18 3.2.1. Definición ........................................................................................................ 18 3.2.2. Variantes ......................................................................................................... 19 3.3. Greedy Heuristics ................................................................................................... 21 3.3.1. ¿Qué son? ....................................................................................................... 21 3.3.2. Greedy Heuristics VS programación dinámica ................................................ 22 3.4. Planteamiento de la problemática......................................................................... 23 3.5. Cartera óptima de proyectos ................................................................................. 25 3.6. Heurística para priorización de proyectos ............................................................ 28 3.7. Priorización óptima de proyectos ......................................................................... 32 3.8. Conclusiones .......................................................................................................... 33 4. CASO PRÁCTICO: PARTE 1 ............................................................................................. 35 4.1. Introducción ........................................................................................................... 35 4.2. Enunciado del problema ....................................................................................... 35
4.3. Estructura del complemento programado mediante VBA ................................... 38 4.4. Pestaña Datos: Viabilidad económica de los proyectos........................................ 41 4.5. Pestaña Escenarios Presupuestarios ..................................................................... 44 5. CASO PRÁCTICO: PARTE 2 ............................................................................................. 47 5.1. Introducción ........................................................................................................... 47 5.2. Desarrollo del método de la Mochila Múltiple ...................................................... 47 5.3. Resultados del método .......................................................................................... 52 6. CASO PRÁCTICO: PARTE 3 ............................................................................................. 55 6.1. Introducción ........................................................................................................... 55 6.2. Caso ascendente .................................................................................................... 55 6.2.1. Programación .................................................................................................. 55 6.2.2. Resultados obtenidos ...................................................................................... 62 6.3. Caso descendente .................................................................................................. 62 6.3.1. Programación .................................................................................................. 62 6.3.2. Resultados obtenidos ...................................................................................... 63 6.4. Caso presupuesto intermedio ................................................................................ 64 6.4.1. Programación .................................................................................................. 64 6.4.2. Resultados obtenidos ...................................................................................... 65 6.5. Comparativa Método de la Mochila VS Greedy Heuristics .................................... 67 6.6. Variante del problema ........................................................................................... 70 7. CONCLUSIONES Y LÍNEAS FUTURAS .............................................................................. 73 7.1. Conclusiones .......................................................................................................... 73 7.2. Líneas futuras ......................................................................................................... 75 BIBLIOGRAFÍA .................................................................................................................... 77 ANEXO 1: VIABILIDAD DE PROYECTOS .............................................................................. 83 ANEXO 2: ESCENARIOS PRESUPUESTARIOS ...................................................................... 87 ANEXO 3: PROGRAMACIÓN DEL MÉTODO DE LA MOCHILA MÚLTIPLE ........................... 91 ANEXO 4: PROGRAMACIÓN DEL MÉTODO BASADO EN GREEDY HEURISTICS .................. 95
LISTA DE FIGURAS Figura 1: Formulación genérica método de la Mochila .................................................... 19 Figura 2: Formulación genérica método de la Mochila una sola dimensión .................... 20 Figura 3: Formulación genérica método de la Mochila Múltiple ...................................... 20 Figura 4: Formulación Método de la Mochila Múltiple .................................................... 26 Figura 5: Pestaña Portada-Resumen Complemento VBA ................................................. 38 Figura 6: Pestaña Datos Complemento VBA ..................................................................... 39 Figura 7: Pestaña Escenarios Presupuestarios Complemento VBA .................................. 39 Figura 8: Pestaña método de la Mochila Múltiple Complemento VBA ............................ 40 Figura 9: Pestaña Greedy Heuristics Complemento VBA.................................................. 40 Figura 10: Pestaña Comparativa Complemento VBA ....................................................... 41 Figura 11: Explicación Pestaña Datos................................................................................ 41 Figura 12: Fórmula VAN .................................................................................................... 42 Figura 13: Cálculo del VAN ................................................................................................ 42 Figura 14: Cálculo Excel del IR ........................................................................................... 43 Figura 15: Listado de Proyectos viables ............................................................................ 44 Figura 16: Instrucciones pestaña Datos ............................................................................ 44 Figura 17: Explicación pestaña Escenarios Presupuestarios ............................................. 45 Figura 18: Tabla Parámetros método de la Mochila Múltiple .......................................... 47 Figura 19: Cálculo Excel columna Producto Coste ............................................................ 48 Figura 20: Cálculo Excel Producto VAN ............................................................................. 48 Figura 21: Fórmula Coste total de la Cartera método Mochila Múltiple .......................... 49 Figura 22: Solver método de la Mochila Múltiple ............................................................. 49 Figura 23: Cálculo del VAN de la Cartera método de la Mochila Múltiple ....................... 50 Figura 24: Escenarios método de la Mochila Múltiple ..................................................... 51 Figura 25: Botón Excel Ejecutar método de la Mochila Múltiple ..................................... 51 Figura 26: Cartera de Proyectos método de la Mochila ................................................... 52 Figura 27: Pestaña Excel Greedy heuristics ...................................................................... 55 Figura 28: Cálculo de la diferencia de presupuesto Greedy Heuristics caso ascendente . 56 Figura 29: Restricciones sucesivas Greedy Heuristics ....................................................... 57 Figura 30: Explicación Tabla Greedy Heuristics ................................................................ 57 Figura 31: Comparativa Carteras de Proyectos ................................................................ 58 Figura 32: Columna Disponibilidad ................................................................................... 58 Figura 33: Cálculo Excel Producto coste Greedy Heuristics .............................................. 59 Figura 34: Cálculo Excel columna Producto Van Greedy Heuristics ................................. 59 Figura 35: Presupuesto Disponible Iteración .................................................................... 60 Figura 36: Costes de los Proyectos candidatos ................................................................. 60 Figura 37: Tabla Maximización Greedy Heuristics ............................................................ 61 Figura 38: Solver Greedy Heuristics caso ascendente ...................................................... 61 Figura 39: Carteras de Proyectos Greedy Heuristics caso ascendente ............................. 62 Figura 40:Carteras de Proyectos Greedy Heuristics caso descendente ........................... 63 Figura 41: Escenarios Presupuesto Intermedio ................................................................ 64 Figura 42: Cartera de proyectos obtenida caso presupuesto intermedio ........................ 65
5 2. GESTIÓN DE CARTERAS DE PROYECTOS 2.1. Introducción Debido a las crecientes presiones competitivas en la economía global; el análisis y la planificación de las carteras de proyectos se ha convertido en un reto importante para los administradores de proyectos, ya que deben alinear el portafolio y sus componentes, hacia la estrategia organizacional de la empresa, sin exceder los recursos disponibles o violar otras restricciones. (Tripp, 2009) En la década de 1980, la gestión de proyectos experimentó un crecimiento excepcional y un gran número de empresas adoptaron los principios y métodos de la gestión de proyectos. Estos métodos tales como Gantt o PERT estaban dirigidos principalmente a proyectos individuales. Con el paso del tiempo, la gestión de proyectos se ha vuelto esencial en casi todos los sectores de actividad: Banca y seguros, informática, construcción… (Lahaye, 2009). Sin embargo, la búsqueda de productividad, la aceleración del desarrollo de nuevos productos y la búsqueda de la innovación ha llevado a un aumento en la cantidad y variedad de proyectos. Administrarlos simultáneamente requiere el uso de modelos cada vez más completos (Lahaye, 2009). 2.2. ¿Qué es la gestión de carteras de proyectos? La gestión de carteras de proyectos tiene une meta fundamental; maximizar su valor evaluando minuciosamente los proyectos y programas candidatos a formar parte de la cartera, excluyendo aquellos que no cumplan con los objetivos estratégicos de la organización. Una buena gestión de carteras aumenta el valor empresarial al alinear los proyectos con la dirección estratégica de la organización, haciendo el mejor uso de los recursos limitados y creando sinergias entre los proyectos. Lamentablemente, las organizaciones a menudo no realizan una buena gestión lo que provoca el no cumplimiento de los objetivos estratégicos (Oltmann, 2008). Específicamente, el paso de seleccionar y priorizar proyectos y portafolios es un tema que ha sido ampliamente discutido en la bibliografía existente. La selección de la cartera de proyectos o portafolio de proyectos es una decisión crucial en muchas organizaciones que deben elegir, de una variedad de posibles inversiones de recursos disponibles, aquellas que mejor pueden satisfacer sus objetivos. Es habitual que las empresas tengan más proyectos
6 propuestos que recursos para apoyarlos, por lo que deben tomar decisiones para crear una adecuada cartera (Ghasemzadeh y Archer, 1998). Según Levine (2005), el objetivo de la gestión de carteras es crear el conjunto de proyectos más adecuado, que se encuentre alineado con las estrategias de la organización y a su vez cumpla con las limitaciones de recursos de la empresa. De manera genérica, una correcta priorización de proyectos, no solo se basa en un análisis financiero del rendimiento de las inversiones, sino que también debe considerar otras cuestiones tales como: las características de los proyectos, las implicaciones de los proyectos de investigación y desarrollo, las condiciones de comercialización, el uso de los recursos, las probabilidades de éxito de los proyectos o la de no ejecución. Es importante resaltar la diferencia entre la dirección de proyectos (Project Management) y la gestión de carteras de proyectos (Project Portfolio Management). Mientras que la primera se dedica a establecer metodologías para que los proyectos sean exitosos, la gestión de carteras de proyectos abarca mucho más, ya que determina qué proyectos se deben llevar a cabo y cómo deben coordinarse para lograr el éxito empresarial (Hernández, 2010). En la actualidad, existen pocos avances a la hora de encontrar un método que: Considere simultáneamente los diferentes criterios para encontrar la cartera de proyectos más adecuada, aproveche las mejores características de los métodos existentes para descomponer el proceso en una serie de actividades flexibles y lógicas y aplicar la tarea más apropiada en cada etapa; y que, también implique la participación de los tomadores de decisiones en el proceso (Ghasemzadeh y Archer, 1998). Por lo tanto, no faltan técnicas para la evaluación de proyectos y la selección de carteras, existe una carencia total de un marco para organizar estas técnicas de manera lógica. En el siguiente apartado, se describe brevemente el marco propuesto para una correcta selección de carteras de proyectos. 2.3. Proposiciones para la selección de la cartera de proyectos Se comienza definiendo qué se entiende por proyecto y por cartera de proyectos. Un proyecto se puede definir como un esfuerzo complejo, generalmente de menos de tres años de duración, compuesto por tareas interrelacionadas,
7 realizadas por varias organizaciones, con un objetivo, fecha y presupuesto bien definidos. Por otra parte, una cartera de proyectos es un grupo de proyectos que se llevan a cabo bajo el patrocinio y / o la gestión de una organización en particular. Según Dehouche (2014), una cartera de proyectos se definiría como un conjunto de proyectos que comparten un recurso común. Estos recursos pueden ser de carácter humano o presupuestario, pero también conocimiento o tecnología. La selección de la cartera de proyectos debe considerarse como un proceso que incluye varios pasos, en lugar de solo evaluar o puntuar proyectos, o resolver un problema de optimización. Son muchos los marcos propuestos para una correcta priorización de carteras de proyectos, tal y como afirman Coldrick et al. (2005). Según los autores, estos modelos incluyen desde métodos de programación lineal, modelos de puntuación o listas de verificación. Por otra parte, se debe tener en cuenta que, las metodologías más útiles para desarrollar la cartera para una clase de proyectos pueden no ser las mejores en otra situación. La elección del método depende en gran medida del contexto de la decisión, las partes interesadas y de lo que se busca con esta decisión. De este modo, el marco propuesto por el modelo de Archer y Ghasemzadeh (1999) para una correcta selección de la cartera de proyectos consta de las siguientes fases: Consideraciones estratégicas, evaluación de proyectos individuales y selección de la cartera. Las técnicas utilizadas en la primera fase pueden ayudar a determinar un enfoque estratégico y una asignación presupuestaria general para la cartera, mientras que las de la segunda pueden usarse para evaluar un proyecto independientemente de otros. La tercera fase se ocupa de la selección de carteras en función de los parámetros del proyecto candidato, incluidas sus interacciones con otros proyectos a través de restricciones de recursos u otras interdependencias. A continuación, cada fase se considera por separado. Las técnicas aplicables a cada fase se describen primero, seguidas de una serie de proposiciones que especifican los requisitos que tratan el impacto de esa fase en un marco de selección de cartera adecuado, que se describirá a continuación.
8 2.4. Consideraciones estratégicas Esta primera etapa consiste en la determinación del enfoque estratégico de la cartera y el establecimiento de las restricciones de recursos, seleccionando metodologías que se adapten a la clase de proyecto en cuestión y a la cultura de la organización. Se deben tener en cuenta consideraciones tanto internas como externas a la organización, en un sentido amplio; así como las fortalezas y debilidades de esta. Estas consideraciones pueden usarse para construir una perspectiva amplia de dirección estratégica, e iniciativas específicas para obtener una ventaja competitiva. Esto es de vital importancia para los tomadores de decisiones, ya que es aquí donde ellos mismos analizan el lugar en el que se encuentran y al que les gustaría llegar. Un error crítico es pensar que PPM (Gestión de Cartera de Proyectos) es fundamentalmente la gestión de múltiples proyectos. Esto no es así. El PPM se basa en la administración de la cartera de proyectos para maximizar la contribución de los proyectos al bienestar general y al éxito de la empresa. Esto significa que los proyectos deben estar alineados con la estrategia y los objetivos de la empresa, así como con sus valores y cultura. También, deben contribuir a un flujo de caja positivo para la empresa, pero también deben ayudar a posicionar a la empresa para el éxito futuro (Levine, 2005). Un problema común a muchas organizaciones es que no hay conexión entre las operaciones y las funciones de los proyectos y no hay flujo de información estructurado, consistente y significativo entre estos dos grupos. Los objetivos de la organización casi nunca se comunican a la oficina del proyecto, y las mediciones periódicas realizadas por el grupo de proyectos no pueden relacionarse con estos objetivos. Está claro que esta etapa estratégica debe determinarse antes de que los proyectos individuales puedan considerarse para una cartera de proyectos. Gran parte de las empresas hacen una extensa preparación y planificación de la estrategia antes de considerar proyectos individualmente. De este modo, será fundamental construir un plan de acción.
9 2.5. Evaluación de los proyectos individualmente La manera de evaluar los proyectos es analizando la contribución individual que cada uno de ellos aporta al conjunto de la cartera. Los proyectos se evalúan en función de criterios múltiples (a menudo contradictorios) y en la mayoría de los casos, solo un subconjunto de los proyectos propuestos puede financiarse con los recursos disponibles. Este marco de toma de decisiones se conoce como MCC o Decisión Multicriterio de Presupuestos de Capital (Pacheco et al. 2008). La evaluación en base a un proyecto individual incluye métodos tales como: a) Retorno económico Esto incluye el valor actual neto (VAN), la tasa interna de retorno (TIR), el retorno de la inversión (ROI) o el valor esperado, por ejemplo. b) Relación beneficio/coste Implica el cálculo de una relación de beneficio/coste, donde las entradas se pueden derivar de los cálculos del valor presente de los beneficios y costes. c) Riesgo El riesgo según la Real Academia de la lengua Española, se define como “La contingencia o proximidad de un daño”. Es una combinación entre la probabilidad de que un evento ocurra y las consecuencias asociadas con este. Tradicionalmente, para el caso de la valoración del riesgo de un proyecto, este era considerado como la probabilidad de su fracaso; es decir, la falta de éxito del proyecto. En el campo de la selección de proyectos, el riesgo puede ser medido a través de infinidad de técnicas. Algunas de ellas, están basadas en la valoración subjetiva realizada por expertos, otras, mediante la construcción de una función de distribución acumulada de riesgo para cada proyecto; y otras, como en el caso de Radulescu et al. (2001), proponen una medición diferente del riesgo. En su artículo se define el riesgo como la varianza de las puntuaciones asignadas por un número de expertos a cada proyecto. Según su teoría, un proyecto tendrá más riesgo cuanto mayor sea la dispersión que exista entre las opiniones de los expertos en cuestión en relación con el éxito de cada proyecto.
10 Cada proyecto tiene algún riesgo asociado al no cumplimiento de los objetivos especificados para el mismo. Para analizar el riesgo del proyecto, un proyecto se descompone por primera vez en sus componentes. Dependiendo de la profundidad del análisis apropiado en el momento del ciclo de vida del proyecto, esta descomposición puede variar desde relativamente simple hasta una descomposición más compleja (Carazo et al. 2011). Posteriormente se identifican los eventos de riesgo relacionados con cada actividad y se estiman sus probabilidades y consecuencias. La información utilizada para estimar el riesgo puede derivarse de la opinión de expertos, datos técnicos o experiencia previa con proyectos similares. Por otra parte, se pueden usar eventos interdependientes para estimar el riesgo general del proyecto. Algunos modelos utilizados para analizar el riesgo incluyen la simulación de Monte Carlo, la teoría de la decisión y la teoría estadística bayesiana. El riesgo es importante cuando se considera la inclusión de un proyecto en una cartera. y un portafolio debe ser equilibrado evitando un compromiso excesivo con proyectos de alto riesgo que puedan poner en peligro el futuro de la organización. d) Investigación de mercados Los enfoques de investigación de mercado se pueden utilizar para recopilar datos para pronosticar la demanda de nuevos productos o servicios, basados en conceptos o prototipos presentados a clientes potenciales, para evaluar el mercado potencial. El uso de técnicas específicas de evaluación de proyectos depende de la situación. Las medidas utilizadas pueden ser cualitativas o cuantitativas, pero independientemente de qué técnicas se usen para derivarlas, se deben elegir un conjunto de medidas comunes para que los proyectos se puedan comparar de manera equitativa durante la selección de la cartera. Por otra parte, los proyectos actuales que han alcanzado importantes hitos deben volver a evaluarse al mismo tiempo que se consideran los nuevos proyectos para la selección. Esto permite que se genere una cartera combinada dentro de las restricciones de recursos disponibles.
11 2.6. Técnicas para la selección de la cartera de proyectos La selección de la cartera implica la comparación simultánea de una serie de proyectos en dimensiones particulares, con el fin de llegar a una clasificación deseable de estos. Los proyectos mejor calificados según los criterios de evaluación se seleccionan para la cartera, sujeto a la disponibilidad de recursos. Los problemas de selección de cartera se pueden dividir en dos clases principalmente: problemas dinámicos y estáticos. En los problemas dinámicos, en cada toma de decisión hay proyectos que ya han comenzado; denominados como proyectos activos, y un conjunto de proyectos propuestos, conocidos como proyectos candidatos. Estos problemas en la práctica son abordados mediante las técnicas ad hoc. Si nos interesa el caso estático, entonces consideraremos que en el momento de la decisión todos los proyectos son candidatos. Este es el caso más común en problemas de selección de carteras de proyectos. Las clases de técnicas de selección de portafolio disponibles incluyen: a) Enfoques comparativos En estos métodos, primero se determinan los pesos de los diferentes objetivos, para posteriormente comparar las alternativas en función de su contribución. Finalmente, se calcula una serie de medidas de beneficio del proyecto. Una vez que los proyectos se han organizado en una escala comparativa, los tomadores de decisiones pueden proceder comenzando por parte superior de la lista, a seleccionar los proyectos hasta que se agoten los recursos disponibles. Con estas técnicas, se pueden considerar criterios tanto cuantitativos como cualitativos. Dentro de estos modelos, los más utilizados son: conteo de la dominancia y el método de escala anclada. El primero de ellos considera todos los proyectos en conjunto. Realiza una jerarquización de los proyectos en función de la dominancia de cada uno de ellos con respecto del resto para cada uno de los criterios. De este modo, el proyecto más dominante en todos los aspectos será seleccionado en primer lugar, el segundo de ellos en segundo lugar, y así sucesivamente. En el segundo de los métodos se selecciona de manera subjetiva el mejor y el peor proyecto de entre todos los existentes. Al primero se le asignará una puntuación de 100 y al segundo 0. A continuación, se seleccionará otro proyecto cualquiera y se comparará con esos dos proyectos
12 primero y último, para todos los criterios. De este modo, si este tercer proyecto seleccionado es la mitad de bueno que el anterior se le otorga una puntuación de 50, si es un tercio de bueno, se le otorgará una puntuación de 33, y así sucesivamente para cada proyecto (Carazo et al. 2008). Una gran desventaja de este método es la gran cantidad de comparaciones involucradas, lo que las hace difíciles de usar para comparar grandes cantidades de proyectos. Además, cada vez que se agrega o elimina un proyecto de la lista, el proceso debe repetirse de nuevo. b) Puntuación de modelos Esta técnica utiliza un número relativamente pequeño de criterios de decisión, como el costo, la disponibilidad de la fuerza de trabajo, la probabilidad de éxito técnico, etc., para especificar la conveniencia del proyecto. La puntuación de cada proyecto se determina con respecto a cada criterio. A continuación, se combinan las puntuaciones para obtener el beneficio general para cada proyecto. Algunos métodos de puntuación son: Las checklist o el método de puntuación o scoring tradicional. Mientras que en el caso de las checklist se evalúa cada proyecto en función de cada criterio seleccionado concediendo a estos la misma importancia; en el scoring tradicional se puede conceder una ponderación diferente a cada uno de los criterios (Carazo et al. 2008). Una ventaja importante es que los proyectos se pueden agregar o eliminar sin volver a calcular la puntuación de todos los proyectos. c) Matrices Se puede utilizar como herramientas estratégicas de toma de decisiones. También se pueden utilizar para priorizar y asignar recursos entre proyectos competidores. Esta técnica se basa en representaciones gráficas de los proyectos que se están examinando, en dos dimensiones, como la probabilidad de éxito y el valor económico esperado (EV). Esto permite que se seleccione una combinación representativa de proyectos en las dimensiones representadas. d) Modelos de optimización Este método selecciona de la lista de proyectos candidatos un conjunto que proporciona el máximo beneficio. Estos modelos se basan generalmente en
13 alguna forma de programación matemática, para apoyar el proceso de optimización e incluir interacciones de proyectos tales como dependencias de recursos y restricciones, interacciones técnicas y de mercado, o consideraciones de programa. Las razones probables para el desuso incluyen la necesidad de recolectar grandes cantidades de datos de entrada, la incapacidad de la mayoría de estos modelos para incluir el riesgo consideraciones y la complejidad del modelo. Con todo esto, es complicado implementar un método adecuado para la selección óptima de una cartera de proyectos. De este modo, en el siguiente apartado se describen algunas consideraciones a tener en cuenta a la hora de seleccionar el mejor de los métodos. 2.7. Consideraciones a tener en cuenta para una correcta selección de la cartera Las siguientes consideraciones son fundamentales a la hora de realizar una correcta selección de carteras: 2.7.1. Interdependencias de los proyectos Deben tenerse en cuenta las interacciones de proyectos a través de dependencias directas o competencia de recursos. A la hora de seleccionar la cartera de proyectos óptima, es de vital importancia tener en cuenta la interdependencia que puede existir entre proyectos. Por ejemplo, puede darse una relación entre proyectos tal que, el proyecto A no pueda ser llevado a cabo hasta la finalización del proyecto B. En general, según Weistroffer (2005) las dependencias entre las distintas alternativas se pueden clasificar en tres tipos: a) Aditivas: Todas las dependencias pueden ser clasificadas como restricciones “mutuamente excluyentes”. La función objetivo de la cartera es aditiva con respecto a los atributos alternativos correspondientes. Este tipo de problemas pueden ser resueltos mediante Sistemas de Soporte a la decisión (DSS) multicriterio.
20 Figura 2: Formulación genérica método de la Mochila una sola dimensión b) Método de la Mochila Múltiple El problema multidimensional de la mochila 0-1 (MKP) es un caso especial de programas lineales generales 0-1. Son varios los nombres que hacen referencia a este tipo de problemas: problema de mochila multidimensional, problema de la mochila múltiple, problema de mochila 0–1 con múltiples restricciones.… Los problemas MKP son una generalización del problema de mochila estándar 0–1. En este caso, al existir más de una dimensión, la formulación del método sería la siguiente: Figura 3: Formulación genérica Método de la Mochila Múltiple En este tipo de problemas, se puede suponer con carácter general que: Pj>0, Cj>0, 0 ≤ wji ≥Cj y que ∑𝑤𝑤𝑗𝑗𝑗𝑗 𝑁𝑁 𝑗𝑗=1 > Cj para todo i ∈ N y para todo j ∈ D= {1…d} El MKP es uno de los problemas de optimización combinatoria más conocidos, y el gran dominio de sus aplicaciones ha contribuido enormemente a su fama. Estos problemas se han aplicado intensamente en aplicaciones de presupuesto de capital y selección de proyectos.
21 En el caso de Meier et al. se investigaron enfoques más realistas combinando modelos de presupuesto de capital con técnicas novedosas y reales para la evaluación de proyectos. En su artículo proponen dos modelos de presupuesto de capital que incorporan la flexibilidad a la hora de posponer la decisión de aceptar un proyecto. La comparación de carteras de proyectos y de sus objetivos óptimos relacionados demuestran que, la formulación de un modelo de presupuesto de capital es crucial y puede tener un impacto importante en el rendimiento global de una corporación. Otro ejemplo es el caso de Beaujon et al., (2001) quienes diseñaron una formulación para seleccionar proyectos para su inclusión en una cartera de I + D. Este modelo toma la forma de un MKP con otras restricciones generalizadas. En su artículo se afirma que, su modelo de programación proporciona una valiosa herramienta cuantitativa para apoyar la toma de decisiones en este contexto. A pesar de los recientes avances relacionados con la resolución de problemas de MKP de tamaño medio, los métodos heurísticos siguen siendo una alternativa competitiva, especialmente cuando el número de restricciones es grande. Una de las heurísticas más empleadas a la hora de resolver este tipo de problemas es las Greedy Heuristics o “algoritmos voraces”, las cuales se introducen en el siguiente apartado. 3.3. Greedy Heuristics 3.3.1. ¿Qué son? Un algoritmo, según la Real Academia Española se define como “Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema”. Los algoritmos son herramientas importantes para resolver problemas computacionalmente. Todos los cálculos involucran algoritmos, y la eficiencia de un algoritmo determina en gran medida su utilidad. Existen varios tipos de algoritmos: algoritmos exactos, algoritmos aproximados o algoritmos heurísticos. Estos últimos proporcionan soluciones con una garantía de optimalidad mucho menor que las soluciones obtenidas mediante los otros algoritmos.
22 Los “algoritmos voraces” (greedy heuristics) son algoritmos heurísticos empleados en problemas generalmente de optimización. El propósito de un algoritmo voraz es encontrar una solución, tal que el valor de la función objetivo sea óptimo . Esta función objetivo puede ser de maximización o de minimización, dependiendo del problema en cuestión. Para ello sigue un proceso secuencial en el que, en cada paso, selecciona el óptimo local de cada etapa, para finalmente encontrar el óptimo global (Cormen et al. 2001). Por otra parte, cada etapa, comprueba que la nueva decisión junto con todas las tomadas anteriormente no viola las restricciones y así consigue una nueva secuencia de decisiones factible. De este modo, cada elemento a considerar se evalúa una única vez, siendo descartado o seleccionado, de tal forma que si es seleccionado forma parte de la solución, y si es descartado, no forma parte de la solución ni volverá a ser considerado para ese escenario. Sin embargo, la calidad de la solución proporcionada por estos algoritmos depende de las características del problema a resolver; es decir, puede arrojar muy buenos resultados para determinadas instancias del problema, pero para otras no. Otro inconveniente que presentan es que se estancan en seleccionar los óptimos locales de las funciones a optimizar y quizá no analizan más allá, por lo que pueden estar dejando de considerar el óptimo global. En los próximos capítulos se mostrará la aplicación de este tipo de algoritmos como método de resolución de un problema de optimización. 3.3.2. Greedy Heuristics VS programación dinámica Mientras que las Greedy Heuristics buscan el óptimo local en cada etapa, para finalmente obtener el óptimo global, la programación dinámica difiere totalmente en este punto. En la mayoría de los problemas de optimización, el empleo de la programación dinámica para determinar la mejor de las soluciones es excesivo; el empleo de algoritmos más simples y eficientes como son los “algoritmos voraces”, pueden proporcionarnos una mejor solución (Cormen et al., 2001). En los problemas de programación dinámica, se toman decisiones en cada etapa, sin embargo, esta solución depende de la solución obtenida en los subproblemas. Es por esto, que los problemas de programación dinámica suelen resolverse de “abajo hacia arriba”, es decir, partiendo de subproblemas pequeños a otros mayores.
23 De este modo, la elección realizada por un algoritmo voraz puede depender de las elecciones hasta el momento, pero no puede depender de ninguna elección futura o de las soluciones de los subproblemas. Antes de emplear los “algoritmos voraces” como método de resolución de un problema típico de Mochila Múltiple, se debe analizar si realmente el método es el adecuado para el problema en cuestión, ya que ningún método es apto para todas las casuísticas. 3.4. Planteamiento de la problemática Los siguientes apartados de este capítulo, se basarán en el artículo escrito por Ali Koç et al. (2009) Prioritizing Project Selection, The Engineering Economist, para explicar las diferentes problemáticas que podrán encontrarse en distintos métodos de priorización de carteras de proyectos, para, en último lugar concluir con el método óptimo. De este modo, el camino de investigación descrito en el artículo es el siguiente: a) Cartera óptima de proyectos En primer lugar, se debe investigar si la solución óptima para el método de mochilas múltiples produce una lista de prioridades sólida para las incertidumbres que pudieran presentarse. b) Heurística para priorización de proyectos Al demostrar que no lo hace, se modifica el método de la mochila múltiple mediante una heurística, forzándolo a producir una lista priorizada de proyectos. Se describen una clase de formas de hacerlo según el valor del presupuesto inicial, y se denominan a estas listas de prioridades Greedy Heuristics. También se construyen listas de prioridades heurísticas usando el VAN y el BIR, como se hace comúnmente en la práctica. El VAN o Valor Actual Neto, es un indicador financiero que se emplea para determinar la viabilidad de un proyecto.
24 La metodología consiste en descontar al momento actual todos los flujos de caja o cash-flow futuros que genera un proyecto y comparar esta equivalencia con el desembolso inicial. Por otra parte, el BIR (Benefit-Investment ratio) o en castellano denominado Índice de Rentabilidad, es un índice que intenta identificar la relación entre los costos y beneficios de un proyecto propuesto. De este modo, un Índice de Rentabilidad de 1, es la medida más baja aceptable; ya que cualquier valor inferior a 1 supondría un VAN inferior a 0 y por lo tanto el proyecto no sería viable. c) Priorización óptima de proyectos Se formula un modelo que incorpora múltiples escenarios de presupuesto, costo y ganancias y forma una lista de prioridad óptima, que maximiza el VAN esperado de la cartera de proyectos. El modelo creado para priorizar proyectos en presupuestos de capital es un programa entero estocástico en dos etapas. Según la R.A.E. la definición de estocástico sería: “Teoría estadística de los procesos cuya evolución en el tiempo es aleatoria, tal como la secuencia de las tiradas de un dado” En este método, las variables de entrada incluyen las descritas anteriormente en el método de la mochila múltiple excepto que existe una descripción probabilística de los parámetros inciertos, tales como: los costes, los beneficios anuales de cada proyecto y los presupuestos anuales. Este programa estocástico, establece una lista de prioridades en su primera etapa para posteriormente formar durante su segunda etapa, una cartera de proyectos para cada escenario existente. Se supone que estos parámetros inciertos son válidos para todo el periodo de planificación de acuerdo con la lista de prioridades establecida. Al haberse creado una cartera de proyectos durante esta segunda etapa en un escenario específico, el modelo garantiza que la cartera sea consistente con la priorización establecida en la primera etapa. Esto querrá decir que, un proyecto podrá ser seleccionado únicamente si también se seleccionan los proyectos de mayor prioridad; así, las carteras de proyectos correspondientes a varios escenarios se encuentran anidadas.
25 Los proyectos pueden abarcar varios años, por ejemplo, un proyecto puede tener una duración de 5 años. Mediante los flujos de costos estocásticos, dicho modelo puede comprender el hecho de que la duración de un proyecto pueda ser aleatoria. Para explicar esta problemática se utilizarán datos de una planta de energía nuclear llamada STPNOC. 3.5. Cartera óptima de proyectos Como se indicó anteriormente, el presupuesto de capital se formula clásicamente utilizando variantes de un problema de Mochila Múltiple. De un modo más específico, dado un conjunto de proyectos candidatos, y aportando las estimaciones puntuales del valor del VAN de cada proyecto, así como su costo y los presupuestos anuales disponibles, el objetivo es encontrar un subconjunto de proyectos que maximice el total del VAN dentro del presupuesto total anual. Cuando se considera un solo año, el problema se puede entender como empaquetar una mochila con artículos de diferente volumen y utilidad, de modo que los artículos seleccionados encajen en la mochila y maximicen la utilidad total. Cuando el horizonte temporal incluye varios años y la selección de un proyecto puede comprometer fondos en más de un año, existen múltiples restricciones de mochila, es decir, restricciones presupuestarias, a satisfacer. De ahí el nombre Mochila Múltiple. En este punto, se comienza considerando únicamente el presupuesto como variable estocástica. Sin embargo, en el método Óptimo de priorización propuesto en este capítulo, los costos y beneficios también son considerados como inciertos. La notación y la formulación del modelo de Mochila Múltiple para este problema son las siguientes:
26 Índices y conjuntos: i Є I Proyectos candidatos t Є T Periodo de tiempo (años) Tabla 1: Índices y conjuntos método de la Mochila Múltiple Datos: a i VAN del proyecto i b t Presupuesto disponible en el año t c it Coste del proyecto i para el año t Tabla 2: Datos formulación método de la Mochila Múltiple Variables de decisión: x i Será 1 si el proyecto es seleccionado, 0 en caso contrario Tabla 3: Variables de decisión Método de la Mochila Múltiple Formulación: Figura 4: Formulación Método de la Mochila Múltiple La función objetivo es maximizar la suma total de los VAN de los proyectos seleccionados de acuerdo con el cumplimiento de la restricción presupuestaria.
27 La restricción garantiza que el costo anual de los proyectos seleccionados esté dentro del presupuesto para cada año bt, con t Є T. La solución óptima para este modelo de Mochilas Múltiples proporciona la cartera de proyectos a seleccionar que maximiza el VAN total y se mantiene dentro de los presupuestos anuales. Para comprender este modelo, se considera un ejemplo numérico con 16 proyectos (Ver Tabla 4), cada uno con responsabilidades en algunos o en todos los próximos 5 años. Estos proyectos son de STPNOC y se seleccionaron porque constituían un conjunto de proyectos que estaban cerca del punto de corte del presupuesto, algunos de los cuales fueron financiados y otros no. Proyecto i Costes Anuales Cit VAN (ai) IR 1 2 3 4 5 1 0,219 0,257 0,085 2,315 4,405 2 0,122 0,103 0,013 0,824 4,328 3 5,044 1,839 22,459 3,338 4 6,740 6,134 10,442 60,589 2,871 5 0,425 0,667 1,569 6 2,125 2,122 5,173 1,272 7 2,387 0,190 0,012 2,383 0,192 4,003 0,883 8 0,950 0,582 0,669 9 0,030 0,030 0,688 0,122 0,192 10 0,200 0,763 0,739 2,539 -2,870 -0,905 11 0,081 0,032 -0,102 -0,925 12 0,300 -0,278 -0,927 13 0,347 -0,322 -0,928 14 4,025 0,297 -3,996 -0,930 15 0,095 0,095 0,095 -0,246 -0,940 16 5,487 5,664 0,500 6,803 6,778 -20,155 -0,957 Tabla 4: Datos STPNOC Se observa que el IR de ciertos proyectos es negativo, por lo que los proyectos 10-16 no se consideran candidatos a formar parte de la cartera. Al tratarse de un problema de Mochila Múltiple, se resuelven 10 casuísticas para este modelo para diferentes valores de presupuesto disponible (bt) desde b1=11M de dólares, hasta b10=20 M de dólares para cada uno de los 5 años del horizonte del problema. Si los conjuntos de proyectos seleccionados a medida que se aumenta el presupuesto de $ 11M a $ 20M están anidados, es decir, la cartera de
28 proyectos en cada nivel de presupuesto es un superconjunto de todos aquellos con niveles de presupuesto más bajos, entonces el modelo de Mochila Múltiple ofrecería una solución priorizada. Sin embargo, tras obtener la solución mediante este método, se puede observar en la Tabla 5 que esto no es así. Algunos de los proyectos son parte de la cartera para un nivel de presupuesto particular, pero están ausentes de la cartera en niveles de presupuesto más altos. Presup. (bt) Proyectos candidatos Xi $M 1 2 3 4 5 6 7 8 9 VAN ($M) 11 1 1 0 0 1 0 0 1 0 -23,58 12 1 1 0 0 1 0 0 1 1 -23,46 13 1 1 0 0 0 1 0 1 1 -18,95 14 1 1 0 0 1 1 0 1 1 -18,29 15 0 1 0 0 0 1 1 1 1 -17,27 16 1 1 1 0 0 0 0 1 1 -1,67 17 1 1 1 0 1 0 0 1 1 -1,00 18 1 1 0 1 1 0 0 1 1 37,13 19 1 1 0 1 1 0 0 1 1 37,13 20 1 1 0 1 1 1 0 1 1 42,30 Tabla 5: Carteras STPNOC obtenidas Mochila Múltiple Esta es una situación típica en problemas de Mochila y, más generalmente, en problemas de optimización combinatoria con recursos limitados. Este fenómeno representa un problema importante para los responsables de la toma de decisiones en nuestro entorno, ya que puede dar lugar a una menor confianza en las decisiones de selección de proyectos recomendadas por el modelo de Mochila Múltiple. 3.6. Heurística para priorización de proyectos La inestabilidad de la cartera de proyectos obtenida en el método de la Mochila Múltiple debido a los cambios en el presupuesto, provocan la búsqueda de otra metodología. Una primera aproximación al problema sería resolver este primer modelo para un valor del presupuesto de 11M de dólares obteniendo una determinada cartera óptima. Posteriormente se resolvería este mismo problema para un
29 valor de presupuesto de 12M, pero con la condición de que todos los proyectos incluidos en la cartera inicial sigan formando parte de esta nueva. Se continúa de esta manera a mayores niveles de presupuesto hasta alcanzar los 20M. El resultado es una colección anidada de carteras (Ver Figura 6), de la que se puede extraer con facilidad una lista de prioridades. Presup. (bt) xi $M 1 2 3 4 5 6 7 8 9 VAN ($M) 11 1 1 0 0 1 0 0 1 0 -23,58 12 1 1 0 0 1 0 0 1 1 -23,46 13 1 1 0 0 1 0 0 1 1 -18,95 14 1 1 0 0 1 1 0 1 1 -18,29 15 1 1 0 0 1 1 0 1 1 -17,27 16 1 1 0 0 1 1 1 1 1 -1,67 17 1 1 0 0 1 1 1 1 1 -1,00 18 1 1 0 0 1 1 1 1 1 37,13 19 1 1 0 0 1 1 1 1 1 37,13 20 1 1 0 0 1 1 1 1 1 42,30 Tabla 6: Cartera de proyectos STPNOC mediante Greedy Heuristics En este caso, se obtiene la siguiente lista de prioridad: £ = [(1, 2, 5, 8), (9), (6), (7), (3, 4)]. Los proyectos en el grupo (1, 2, 5, 8) reciben la máxima prioridad porque se financian para todos los niveles presupuestarios que consideremos. Siguen los proyectos 9, 6 y 7, priorizados en ese orden. El Proyecto 9 se financia si el presupuesto es de 12M o más, el proyecto 6 si es de 14M o más, y el proyecto 7 si el presupuesto es de 16M o más. Finalmente, los proyectos 3 y 4 recibieron la prioridad más baja porque no están financiados incluso con el nivel de presupuesto más alto de 20 millones. Debido a esta nueva restricción no presente en el método de la Mochila Múltiple, los valores ahora obtenidos del VAN son menores que los anteriores. Esta diferencia es especialmente significativa en los valores de presupuesto más grandes. Esto se debe a que, si el presupuesto cada vez es mayor, se irán incorporando a la cartera nuevos proyectos que se ajusten a este incremento de presupuesto. Aunque el objetivo a maximizar sea el VAN, esta restricción presupuestaria obliga a no poder seleccionar el proyecto 4 para ninguno de los presupuestos, a pesar de tener el valor del VAN más alto.
36 ENUNCIADO DEL PROBLEMA La empresa ELECTRIC.SA dispone de un presupuesto total de 1.000.000 de euros para llevar a cabo un determinado número de proyectos. En la actualidad, dispone de un total de 10 proyectos cuyos datos se muestran en las Tablas 1 y 2. Flujos de caja anuales PROYECTO 1 2 3 4 5 1 650.000 € 700.000 € 500.000 € 800.000 € 2 400.000 € 450.000 € 350.000 € 300.000 € 3 750.000 € 700.000 € 750.000 € 750.000 € 4 850.000 € 850.000 € 900.000 € 5 500.000 € 550.000 € 500.000 € 450.000 € 400.000 € 6 500.000 € 500.000 € 400.000 € 550.000 € 500.000 € 7 800.000€ 850.000 € 750.000 € 8 400.000 € 300.000 € 350.000 € 300.000 € 400.000 € 9 750.000 € 650.000 € 850.000 € 850.000 € 10 750.000 € 850.000 € 800.000 € Tabla 9: Flujos de Caja Anuales por Proyecto
37 Costes anuales PROYECTO 1 2 3 4 5 1 15.000 € 10.000 € 20.000 € 10.000 € 2 30.000 € 25.000 € 30.000 € 30.000 € 3 10.000 € 15.000 € 20.000 € 15.000 € 4 10.000 € 10.000 € 5.000 € 5 30.000 € 25.000 € 20.000 € 20.000 € 15.000 € 6 35.000 € 30.000 € 20.000 € 20.000 € 15.000 € 7 10.000 € 10.000 € 15.000 € 8 35.000 € 25.000 € 25.000 € 20.000 € 30.000 € 9 15.000 € 15.000 € 10.000 € 10.000 € 10 15.000 € 10.000 € 10.000 € Tabla 10: Costes Anuales por Proyecto La tasa de rentabilidad es del 8% y los escenarios presupuestarios se muestran en la Tabla 3. 1 2 3 4 5 Escenarios presupuestarios 80.000 € 100.000 € 130.000 € 170.000 € 200.000 € Tabla 11: Escenarios Presupuestarios Se pide calcular: -Los proyectos viables económicamente en función del Índice de Rentabilidad del Proyecto. -Los proyectos que pertenecerán a la cartera de proyectos de ELECTRIC.SA, los cuales se llevarán a cabo, mediante el método de la Mochila Múltiple. -Los proyectos que pertenecerán a la cartera empleando las Greedy Heuristics o “algoritmos voraces”. -Conclusiones obtenidas Tarea adicional: Se valorará que el alumno justifique los resultados obtenidos modificando los datos de partida y analizando la solución.
38 4.3. Estructura del complemento programado mediante VBA Se ha desarrollado un complemento programado con Excel cuyo objetivo es comparar las carteras obtenidas en cada uno de los métodos citados anteriormente. Este complemento consta de 6 pestañas. Su estructura se explica a continuación: En la primera pestaña, denominada “Portada Resumen” (Figura 5), se explica el objetivo de la programación, así como una serie de instrucciones a llevar a cabo para el correcto funcionamiento del programa. Figura 5: Pestaña Portada-Resumen Complemento VBA En la segunda pestaña, “Datos” (Figura 6), se introducen aquellos proporcionados por el enunciado. También se obtiene el listado de proyectos viables desde el punto de vista económico, procedimiento explicado más adelante.
39 Figura 6: Pestaña Datos Complemento VBA En la tercera pestaña “Escenarios Presupuestarios”(Figura 7), se introducen los valores de los escenarios proporcionados en el enunciado u otros posibles que se quieran estudiar. Figura 7: Pestaña Escenarios Presupuestarios Complemento VBA La cuarta pestaña (Figura 8), es la correspondiente al método de la Mochila Múltiple, donde se obtienen las carteras correspondientes para cada uno de los escenarios propuestos.
40 Figura 8: Pestaña método de la Mochila Múltiple Complemento VBA Del mismo modo, en la quinta pestaña “Greedy Heuristics” (Figura 9), se ejecuta dicho método y se obtienen las carteras de proyectos correspondientes a cada casuística. Figura 9: Pestaña Greedy Heuristics Complemento VBA Por último, la última pestaña denominada “Comparativa” (Figura 10), recoge el resultado de cada método de forma que se pueda realizar una comparativa de una manera más sencilla y visual.
41 Figura 10: Pestaña Comparativa Complemento VBA 4.4. Pestaña Datos: Viabilidad económica de los proyectos En primer lugar, se completará la casilla E2 con el número de proyectos de partida del problema (Ver figura 11). En el caso del enunciado propuesto, son 10; el máximo permitido. Posteriormente se introducen los datos proporcionados por el enunciado para cada uno de los proyectos: flujos de caja, costes anuales, valor de la inversión inicial y rentabilidad. Figura 11: Explicación Pestaña Datos Una vez, los datos se han introducido se deben calcular los proyectos viables desde el punto de vista económico. La condición para que un proyecto sea considerado viable es tal que su índice de rentabilidad sea superior a la unidad.
42 Como ya se explicó anteriormente en el Capítulo 3, el índice de rentabilidad o BIR, es un índice que intenta identificar la relación entre los costos y beneficios de un proyecto propuesto. De este modo, un índice de rentabilidad de 1, es la medida más baja aceptable; ya que cualquier valor inferior a 1 supondría un VAN inferior a 0 y por lo tanto el proyecto no sería viable desde el punto de vista económico. La Figura 12 muestra la fórmula empleada para el cálculo del VAN: Figura 12: Fórmula VAN Donde: FC es el valor del flujo de caja para cada año K es el valor de la rentabilidad I el valor de la inversión inicial De este modo, se calcula en primer lugar el valor del VAN para cada uno de los proyectos, tal y como se puede ver en la Figura 13: Figura 13: Cálculo del VAN
43 A continuación, se calcula el valor del BIR. Este se obtiene dividiendo para cada proyecto, el valor de su VAN entre la inversión realizada. El cálculo es mostrado en la Figura 14. Figura 14: Cálculo Excel del IR Se observa la importancia de medir la viabilidad mediante el BIR y no simplemente mediante el valor del VAN; ya que, de no haberse realizado de esta forma, los diez proyectos candidatos serían viables desde el punto de vista económico cuando realmente no lo son. El complemento Excel se encuentra programado para realizar estos cálculos automáticamente, por lo que solo habría que actualizar los resultados obtenidos si introducimos otros datos de partida distintos a los propuestos. El paso siguiente es obtener la lista de proyectos viables. Se debe pulsar el botón “Crear lista ordenada de proyectos”. Este, ejecutará una Macro (Ver Anexo 1), la cual seleccionará de entre todos los proyectos de partida, aquellos cuyo IR>1. Este nuevo listado de la Figura 15, recogido en la tabla “Lista ordenada de proyectos” son los proyectos candidatos para formar parte de las carteras para los posteriores métodos de priorización.
44 Figura 15: Listado de Proyectos viables De todos modos, cada pestaña del Excel posee un cuadro de texto con las instrucciones a seguir, como se puede ver en la Figura 16. Figura 16: Instrucciones pestaña Datos 4.5. Pestaña Escenarios Presupuestarios El objetivo de esta pestaña es poder automatizar los escenarios, es decir, introducir manualmente aquí los escenarios, que se copian directamente empleando una Macro (Ver Anexo 2), en las pestañas correspondientes a Mochila Múltiple y Greedy Heuristics.
45 Figura 17: Explicación pestaña Escenarios Presupuestarios El primer paso es completar la casilla D3, tal y como se muestra en la Figura 17, con el número de escenarios presupuestarios que se van a estudiar posteriormente en los métodos de priorización. En este caso, según el enunciado son 5, pero pueden ser introducidos un número cualquiera de escenarios. Del mismo modo, se completa la tabla con el valor de estos escenarios y se ejecuta la Macro correspondiente (Ver Anexo 2) pulsando el botón “Validar Escenarios Presupuestarios”. Mediante esta Macro se copia el valor de estos escenarios, así como el número total de ellos, en el resto de las pestañas. En el caso especial de la tercera casuística de las Greedy Heuristics, es necesario introducir en la casilla G12 la posición del escenario que se va a tomar como presupuesto intermedio. Por ejemplo, si ese valor es 2, esto quiere decir, según la tabla, que el valor de ese escenario es de 100.000. Se deberá pulsar el botón de nuevo al introducir este dato para ejecutar la Macro y que copie este valor en las pestañas que correspondan. Al igual que en el apartado anterior, la pestaña consta de un cuadro de texto con las instrucciones correspondientes.
52 Figura 26: Cartera de Proyectos método de la Mochila En las filas 35 y 36 se calcula también el valor del coste total y del VAN de la cartera resultante para cada uno de los escenarios. Al finalizar la última iteración, la Macro copia esta tabla resumen en la pestaña “Comparativa”, para en el momento que se haya ejecutado el siguiente método de priorización, se puedan comparar ambos de manera más sencilla. Esta pestaña también posee unas instrucciones que sirven de ayuda al usuario. 5.3. Resultados del método Mediante este método, se observa en la Figura 26, que para el presupuesto más bajo, la cartera se encontraría formada por los proyectos: {4,9}. Sería lógico que, si este presupuesto aumentara, los proyectos 4 y 9 siguieran llevándose a cabo y se incorporaran otros a mayores siempre y cuando se cumpliera la restricción presupuestaria, pero esto no es así. Por ejemplo, la cartera con un presupuesto de 100.000 euros es la siguiente: {4,7,10}. El proyecto 4 pertenece a la cartera, al igual que en el presupuesto anterior, pero esto no sucede para el proyecto 9. Se observa que esta problemática se repite para el resto de los escenarios lo cual no nos ofrece una solución demasiado robusta, pues plantea dificultades en la toma de decisiones por parte de los directivos. De este modo, se comprueba que las conclusiones obtenidas por Ali Koç et al. en su artículo Prioritizing Project Selection, son ciertas.
53 En el siguiente capítulo, se aplicará las Greedy Heuristics como método de resolución con el fin de obtener una solución en la que exista dependencia entre los escenarios presupuestarios.
54
55 6. CASO PRÁCTICO: PARTE 3 6.1. Introducción El contenido de este capítulo es el siguiente: En primer lugar, se explica, para cada una de las casuísticas de este método, el procedimiento llevado a cabo para obtener las distintas carteras de proyectos, para, a continuación, analizar los distintos resultados obtenidos. Se comienza por el modelo que parte del presupuesto menor, en segundo lugar, el del presupuesto mayor, y por último el caso en el que se parte de un presupuesto intermedio definido por el usuario. Se debe ir a los Anexos para consultar las Macros programadas para cada uno de estos casos. 6.2. Caso ascendente 6.2.1. Programación Al igual que en el método de la Mochila Múltiple, el número de escenarios presupuestarios, así como su valor, se encuentran copiados en la pestaña correspondiente a este método. También los proyectos candidatos a formar parte de la cartera. La tabla “Variable de decisión” y la de “Restricciones iniciales” son las mismas que para el método de la Mochila Múltiple, como se observa en la Figura 27. Figura 27: Pestaña Excel Greedy heuristics
56 Al ejecutar el botón correspondiente a este caso “Ejecutar Greedy Bajo”, en cada iteración, se calcula el coste total de la cartera sumando el coste total de cada proyecto que forma parte de esta. A continuación, se realiza la diferencia de precio entre el escenario siguiente y este coste. Esta diferencia será el presupuesto del que se dispondría en la iteración siguiente para poder añadir a la cartera 1 o varios proyectos más. En este caso, tal y como se observa en la Figura 28, la cartera para un presupuesto de 80.000 está formada por los proyectos 4 y 9. El coste total de esta es igual a la suma del coste total de ambos proyectos; es decir, en este caso 75.000. El siguiente escenario es de 100.000 euros por lo que, si estos dos proyectos 4 y 9 obligatoriamente deben formar parte de la cartera, el presupuesto disponible con el que se cuenta para poder añadir algún proyecto a mayores es igual a: 100.000-75.000=25.000 euros Figura 28: Cálculo de la diferencia de presupuesto Greedy Heuristics caso ascendente Este valor de presupuesto disponible se copia automáticamente en la casilla O6, mientras que los costes de la cartera, en la N6 (Ver Figura 29).
57 Figura 29: Restricciones sucesivas Greedy Heuristics Los pasos que se llevan a cabo en la Macro (Ver Anexo 4) correspondiente a esta casuística para obtener las distintas carteras son los siguientes: En la columna S, “Anterior” (Ver figura 30) se copia la cartera generada en la iteración actual y a continuación en la columna N, “Proyectos” se actualizan aquellos que se encuentran disponibles, es decir, los que pueden ser seleccionados en la etapa siguiente ya que no fueron seleccionados con anterioridad. En la columna P, “Disponibilidad”, estos proyectos disponibles se definen con un 1, mientras que los no disponibles muestran un 0. Figura 30: Explicación Tabla Greedy Heuristics
58 Por ejemplo, se estudia la última iteración tomando un presupuesto de 200.000 euros: Figura 31: Comparativa Carteras de Proyectos En este caso, los proyectos disponibles serían únicamente el 3 y el 10 (Ver figura 31), ya que son los únicos que no han sido seleccionados con anterioridad en ninguna de las carteras. Por lo tanto, estos dos proyectos muestran un 1 en la columna Disponibilidad. Figura 32: Columna Disponibilidad La columna SI/NO de la Figura 32, indica los proyectos que cumplen la restricción presupuestaria y pueden ser añadidos a la cartera, pero, si estos no se encuentran disponibles, no pueden, por tanto, ser seleccionados. Así, si en la columna SI/NO existe un 1, y a su vez el proyecto está disponible, ese proyecto es incorporado a la cartera y por lo tanto se puede calcular el valor de su coste y VAN como indican las Figuras 33 y 34.
59 Figura 33: Cálculo Excel Producto coste Greedy Heuristics Figura 34: Cálculo Excel columna Producto Van Greedy Heuristics Continuando con este ejemplo, tal y como se observa en las imágenes 35 y 36, el proyecto 3 no cumple con la restricción; ya que el presupuesto disponible para esa cartera es de 35.000 y el coste del proyecto es igual a 60.000. Por lo tanto, finalmente el proyecto 10 es incorporado a la cartera al tener un coste igual al presupuesto disponible.
60 Figura 35: Presupuesto Disponible Iteración Figura 36: Costes de los Proyectos candidatos Por otro lado, en cuanto a las tablas de Maximización mostradas en la Figura 37: La casilla R6 indica el coste de la cartera existente en el instante actual (para un escenario de 170.000 en este caso, al tratarse de la última iteración). La casilla R7, indicaría el coste añadido del nuevo proyecto que formaría parte de la nueva cartera. La casilla R8, sería la suma de ambos costes que representaría el coste total de la cartera para el escenario de 200.000 euros. En cuanto al VAN: La casilla S6 indica el valor del VAN de la cartera en el instante actual (escenario de 170.000). La casilla S7 designaría el valor del VAN del nuevo proyecto que entraría a formar parte de la cartera; y del mismo modo, la casilla S8 es la suma total del VAN de la cartera resultante.
61 Figura 37: Tabla Maximización Greedy Heuristics El Solver empleado para resolver este método es la siguiente: Figura 38: Solver Greedy Heuristics caso ascendente La restricción de la Figura 38: N6<=35000 indica que, para cada iteración, la suma de los costes de los proyectos candidatos a formar parte de la nueva cartera deben ser menores que el valor del presupuesto disponible en ese instante.
68 Figura 46: Cartera Mochila Múltiple Figura 47: Cartera Greedy Heuristics Método Ascendente En las Figuras 46 y 47 se puede ver, que las carteras obtenidas para los escenarios de 80.000, 130.000 y 200.000 son las mismas, por lo que el valor del VAN total también lo es. Se observa claramente como en los casos en los que las carteras obtenidas son distintas, el método que emplea las Greedy Heuristics como método de resolución ofrece un resultado cuyo VAN es inferior al obtenido en el Método de la Mochila. Esto, es algo lógico ya que, el método de la Mochila busca el óptimo en cada etapa sin importar aquello que fue seleccionado en la etapa anterior, lo que en las Greedy Heuristic hace que ciertos proyectos a pesar de tener un valor del VAN alto no puedan ser seleccionados. Sin embargo, la diferencia de costes no es demasiado relevante, al diferir únicamente en 15.000 euros. Ahora se compara el resultado obtenido aplicando la Mochila Múltiple con el caso del presupuesto intermedio (100.000) de las Greedy Heuristics:
69 Figura 48: Cartera Mochila Múltiple Figura 49: Cartera Greedy Heuristics Presupuesto Intermedio En este caso, las carteras obtenidas son las mismas para los escenarios: 100.000 y 200.000, tal y como se observa en las Figuras 48 y 49. En el resto de los escenarios las carteras obtenidas difieren. Del mismo modo, el VAN es mayor en las carteras obtenidas en el método de la Mochila Múltiple. Mientras que en el caso anterior, la diferencia en cuanto al coste de las carteras obtenidas no era demasiado significativo, en este caso si lo es, ya que difiere en 750.000 euros. Se observa una clara disminución de los costes de las carteras empleando las Greedy Heuristics. En el siguiente apartado se plantea una variante del problema. Se modifican los datos de entrada, planteando 10 escenarios presupuestarios para analizar las carteras de proyectos obtenidas para el método ascendente, descendente e intermedio de las Greedy Heuristics, para comprobar que las carteras obtenidas en cada caso, pueden no ser necesariamente las mismas.
70 6.6. Variante del problema Se plantea el mismo método para los siguientes valores presupuestarios: 80.000 € 90.000 € 100.000 € 120.000 € 130.000 € 140.000 € 150.000 € 165.000 € 180.000 € 200.000 € Tabla 12:Variante del Problema En este caso, son 10, por lo que se indicará este valor en la correspondiente casilla de la pestaña “Escenarios Presupuestarios”. De este modo, se estudiarán los resultados obtenidos empleando estos datos para cada uno de los 3 casos. a) Presupuesto ascendente Las carteras obtenidas para cada escenario son las siguientes: Figura 50: Cartera de proyectos obtenida en la Variante del Problema caso ascendente Se puede observar en la Figura 50, que el proyecto 3 al igual que en los apartados anteriores, no forma parte de la cartera en ninguno de los casos, debido a su alto coste.
71 Figura 51: Proyectos candidatos El proyecto 1, posee un coste también bastante elevado tal y como se observa en la Figura 51 y únicamente formará parte de la cartera con el presupuesto máximo de 200.000 euros. b) Presupuesto descendente Figura 52: Cartera de proyectos obtenida en la Variante del Problema caso descendente Se puede ver en este caso, que las carteras obtenidas son distintas que en el caso anterior. Por ejemplo, para el método ascendente, para un presupuesto de 120.000 la cartera la formarían los proyectos: {4,7,9}, mientras que en este caso serían los proyectos: {4,9}. Por otro lado, se puede analizar que los valores del VAN son para presupuestos grandes, generalmente superiores en las carteras pertenecientes al método descendente. Se puede concluir que, al añadir más escenarios posibles, las carteras varían para valores presupuestarios intermedios.
72 c) Presupuesto intermedio Se toma en este caso un presupuesto intermedio de 140.000 euros, por lo que el número de presupuestos por encima serían 4 y por debajo 5. Se indica esta información en las casillas correspondientes de la pestaña “Escenarios Presupuestarios” Al ejecutar el botón se obtiene la siguiente solución: Figura 53: Cartera de proyectos obtenida en la Variante del Problema caso presupuesto intermedio Este caso es el más interesante de analizar, debido a las carteras obtenidas. En la figura 53 se puede ver que, el proyecto 3 a pesar de su alto coste, sí que forma parte de las carteras de proyectos a partir del escenario de 120.000. En cambio, es ahora el proyecto 1, el que no forma parte de ninguna cartera. También, se observa que el VAN óptimo obtenido para un presupuesto de 200.000 euros es menor en este caso que el obtenido en los métodos ascendente y descendente. Esto es debido al menor VAN que tienen los proyectos que forman parte de su cartera, por lo que si el objetivo fundamental es obtener un valor del VAN máximo, este método no sería el más adecuado. Sin embargo, si el proyecto 3 es interesante que forme parte de la cartera, este método podría proporcionar una buena solución.
73 7. CONCLUSIONES Y LÍNEAS FUTURAS 7.1. Conclusiones Una incorrecta selección de los proyectos a incluir en una cartera de proyectos puede ocasionar numerosos problemas a la organización, así como afectar a la confianza de los tomadores de decisiones. La metodología más adecuada para desarrollar una cartera para una clase de proyectos puede no ser la mejor para otros casos. Archer y Ghasemzadeh (1999) proponen un modelo compuesto por tres fases destinadas a una correcta selección de la cartera: Consideraciones estratégicas, evaluación de los proyectos individualmente, y finalmente, selección de la cartera. Ciertos aspectos son fundamentales y deben tenerse en cuenta: la interdependencia entre proyectos o la participación en el proceso de selección de los tomadores de decisiones. En cuanto a las técnicas son varias las opciones existentes: desde enfoques comparativos, puntuación de modelos o métodos de optimización. Esta última técnica de optimización es la empleada por Ali Koç et al (2009) en su artículo Prioritizing Project Selection. En él, se plantean distintas metodologías para lograr una óptima priorización de carteras de proyectos. Tomando como referencia este artículo, en este trabajo se han desarrollado dos técnicas de optimización de carteras de proyectos; la primera de ellas, el método de la Mochila Múltiple, y en segundo lugar, los “algoritmos voraces” o Greedy Heuristics. Gracias a la documentación consultada se han podido comprender estos métodos, las variantes de cada uno de ellos, y su comparativa con otros métodos de programación. Posteriormente, aplicando los conocimientos adquiridos sobre programación en VBA (Visual Basic for Applications) en los años de Universidad, se ha desarrollado un complemento para llevar a la práctica estos dos métodos de manera simple. Se propone un enunciado tipo de un problema de priorización de carteras de proyectos. En dicho enunciado se pide calcular en primer lugar, los proyectos viables desde el punto de vista económico. Dichos proyectos serán los candidatos a formar parte de las carteras de proyectos en ambos métodos de priorización. Se aplica el criterio del índice de rentabilidad superior a la unidad, para definir un proyecto como viable en lugar de tomar como criterio de viabilidad un VAN positivo.
74 En segundo lugar, partiendo de dichos problemas viables económicamente, se aplican ambos métodos de priorización. Al analizar los resultados se observa que, el método de la Mochila Múltiple obtiene un buen resultado, sin embargo, la solución proporcionada no es demasiado robusta, al variar las carteras casi por competo de un escenario a otro. Se detecta la necesidad de un método que tenga en cuenta dependencias entre los distintos escenarios, aplicando las Greedy Heuristics como método de resolución. En este método se estudian tres posibles casuísticas: En la primera de ellas se parte del presupuesto más bajo y este se va incrementando; en la segunda sucede al contrario, y en la tercera, se parte de un presupuesto intermedio. Aplicando el enunciado en dichos casos se observa que, las carteras obtenidas en los métodos ascendente y descendente son iguales, por lo que no se pueden obtener conclusiones de momento. En el caso del presupuesto intermedio las carteras difieren en algún punto, pero tampoco se puede notar una ventaja evidente de un método sobre otro. Lo que sí se puede observar es que, el proyecto 3 no forma parte de ninguna cartera. Se plantea entonces una comparación entre los métodos de la Mochila y las Greedy Heursitics con el fin de conocer cuál de ellos proporciona una mejor solución. Se realizan dos comparativas; la primera de ellas, entre el Método de la Mochila y el caso del presupuesto ascendente de las Greedy Heuristics, y la segunda, entre el método de la Mochila y el caso del presupuesto intermedio de las Greedy Heuristics. En ambos casos se observa una clara diferencia en cuanto al VAN obtenido, obteniéndose un valor del VAN superior, tal y como es lógico, en el método de la Mochila, al no tener en cuenta dependencias entre los escenarios, y buscar simplemente la cartera óptima para cada uno de ellos. Sin embargo, en la segunda comparativa se analiza una clara disminución de los costes empleando las Greedy Heuristics; hecho que puede ser interesante a la hora de decantarse por un método o el otro. Por último, con el objetivo de demostrar que el complemento programado ofrece una solución flexible, se ha ejecutado el método heurístico para otros datos distintos de escenarios presupuestarios, con el fin de obtener carteras distintas en cada una de las casuísticas La carteras obtenidas son significativamente distintas en los tres casos. Se observa que, el caso del presupuesto intermedio proporciona una solución interesante, ya que, por primera vez el proyecto 3 entra a formar parte de la cartera, quedándose fuera el proyecto 1, para los 10 escenarios. Este hecho es de vital importancia, ya que, si en un determinado momento los tomadores de decisiones tuvieran que forzar a que el proyecto 3 se tuviera que llevar a cabo, este método podría proporcionar una buena solución.
75 7.2. Líneas futuras Las líneas futuras propuestas a desarrollar con relación al trabajo realizado son: • Desarrollar una librería de problemas para realizar benchmarking entre diferentes métodos de priorización de carteras de proyectos. • Desarrollar los métodos programados en el complemento Excel de este trabajo mediante otras herramientas de programación como MATLAB, Python… • Integrar el análisis realizado con los métodos de valoración y financiación de carteras de proyectos.
76
77 BIBLIOGRAFÍA Alaya, I. (2009) Optimisation multi-objectif par colonies de fourmis : cas des problèmes de sac à dos. Ordinateur et société [cs.CY]. Université Claude Bernard - Lyon I, Français. Archer, N. & Ghasemzadeh, F. (1999). An Integrated Framework for Project Portfolio Selection. International Journal of Project Management. Beaujon, G. J., Marin, S. P. and McDonald, G. C. (2001), Balancing and optimizing a portfolio of R&D projects. Naval Research Logistics, 48: 18-40. doi:10.1002/1520-6750(200102)48:1<18::AID-NAV2>3.0.CO;2-7 Carazo, A., Gómez, T. y Pérez, F. (2011). Análisis de los principals aspectos que afectan a la decision de selección y planificación de carteras de proyectos. Revista Electronica de Comunicaciones y trabajos de ASEPUMA. Carazo, A., Gómez, T., Guerrero, F.M. y Caballero, R. (2008). Evaluación y clasificación de las técnicas utilizadas por las organizaciones, en las últimas décadas, para seleccionar proyectos. Revista de Métodos cuantitativos para la economía y la empresa. Coldrick, S., Longhurst P., Ivey P. & Hannis J. (2005). An R&D options selection model for investment decisions. Technovation Cormen T., Leiserson Ch. & Rivest R. (2001) Introduction to Algorithms, MIT Press, Editorial McGraw Hill. Dehouche, N. (2014) Management de portefeuilles de projets: Modèles multicritère d’évaluation, de sélection et d’argumentation. Recherche opérationnelle [cs.RO]. Université Paris-Dauphine, Français. Dickinson, W., Thornton, A.C. & Graves, S. (2001), Technology Portfolio Management: Optimizing Interdependent Projects Over Multiple Time Periods, IEEE Transactions on engineering Management Ghasemzadeh, F. & Archer N.P. (1998) Project portfolio selection through decision support, Canada, Elsevier Science B.V. Hérnandez, C. (2010) Gestión del valor de carteras de proyectos. Trabajo Fin de Grado. Universidad de Valladolid. Koç, A., Morton, D., Popova, E., Hess, S., Kee, E. & Richards, D. (2009) Prioritizing Project Selection, The Engineering Economist, 54:4, 267-297, DOI: 10.1080/00137910903338545 Laabadi, S., Naimi, M., El Amri, H. & Achchab, B. (2018) The 0/1 Multidimensional Knapsack Problem and Its Variants: A Survey of Practical
84 .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlInsideHorizontal)
85 .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With 'Se corrige error de formato' Range("L7").Select
86 ActiveCell.Offset(Range("J17").Value, 0).Select ActiveCell.FormulaR1C1 = "" End Sub
87 ANEXO 2: ESCENARIOS PRESUPUESTARIOS La siguiente Macro copia los escenarios introducidos de manera manual en las pestañas correspondientes del Excel. Sub Escenarios() 'Esta Macro toma los escenarios presupuestarios que se introducen como dato y los coloca en las pestañas de los distintos metodos' Dim num_escen As Integer Dim num_escen_copia As Integer Dim num_intermedio As Integer Dim cont1 As Integer Dim cont2 As Integer Dim cont3 As Integer num_escen = Range("D3").Value num_escen_copia = num_escen num_intermedio = Range("G12").Value cont1 = 0 cont2 = 0 cont3 = 0 'Se copian los escenarios en la pestaña correspondiente al Método de la Mochila Múltiple' Do While cont1 < num_escen Sheets("Escenarios Presupuestarios").Select Range("B7").Select ActiveCell.Offset(0, cont1).Select Selection.Copy Sheets("Mochila Multiple").Select Range("C24").Select ActiveCell.Offset(0, cont1).Select
88 ActiveSheet.Paste Sheets("Escenarios Presupuestarios").Select cont1 = cont1 + 1 Loop 'Se copian los escenarios en la pestaña correspondiente al Método basado en Greedy Heuristics' Do While cont2 < num_escen Sheets("Escenarios Presupuestarios").Select Range("B7").Select ActiveCell.Offset(0, cont2).Select Selection.Copy Sheets("Greedy Heuristic").Select Range("C24").Select ActiveCell.Offset(0, cont2).Select ActiveSheet.Paste Sheets("Escenarios Presupuestarios").Select cont2 = cont2 + 1 Loop 'Se copian los escenarios en el caso del presupuesto descendente, es decir, de mayor a menor' Do While cont3 < num_escen
89 Sheets("Escenarios Presupuestarios").Select Range("B7").Select ActiveCell.Offset(0, num_escen_copia - 1).Select Selection.Copy Sheets("Greedy Heuristic").Select Range("C41").Select ActiveCell.Offset(0, cont3).Select ActiveSheet.Paste Sheets("Escenarios Presupuestarios").Select num_escen_copia = num_escen_copia - 1 cont3 = cont3 + 1 Loop Application.CutCopyMode = False End Sub
90
91 ANEXO 3: PROGRAMACIÓN DEL MÉTODO DE LA MOCHILA MÚLTIPLE Esta Macro ejecuta el método de la Mochila Múltiple y obtiene las carteras de proyectos formadas para cada escenario presupuestario definido. Sub MochilaMultiple() 'Macro para aplicar el método de la mochila múltiple' 'Se aplica Solver para obtener la mejor combinación de proyectos para cada escenario' 'Se definen el número de escenarios y la variable contador' Dim num_escenarios As Integer Dim contador As Integer num_escenarios = Range("H5").Value contador = 0 'Se realiza un bucle que aplique Solver tantas veces como escenarios se tengan' Do While contador < num_escenarios 'Se copia el valor de escenario en la celda de presupuesto disponible' Range("C24").Select ActiveCell.Offset(0, contador).Select Selection.Copy Range("L11").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("L12").Select 'Se ejecuta Solver'
92 SolverReset SolverOk SetCell:="$K$17", MaxMinVal:=1, ValueOf:=0, ByChange:="$G$11:$G$20", Engine:=1, EngineDesc:="GRG Nonlinear" SolverAdd CellRef:=Range("G11:G20"), Relation:=5 SolverAdd CellRef:=Range("K11"), Relation:=1, FormulaText:=Range("L11") SolverSolve 'Se copian los resultados de cada escenario en la tabla resumen' Range("G11:G20").Select Selection.Copy Range("C25").Select ActiveCell.Offset(0, contador).Select ActiveSheet.Paste Range("K11").Select Application.CutCopyMode = False Selection.Copy Range("C35").Select ActiveCell.Offset(0, contador).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("K17").Select Application.CutCopyMode = False Selection.Copy Range("C36").Select ActiveCell.Offset(0, contador).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
93 'Se actualiza el contador' contador = contador + 1 Loop Application.CutCopyMode = False 'Se copian los resultados en la pestaña "Comparativa"' Range("B24:Z36").Select Selection.Copy Sheets("Comparativa").Select Range("B6").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A6").Select End Sub Nota: En esta Macro, el bucle “While” es fundamental, ya que es lo que permite que, se realice el procedimiento tantas veces como escenarios existan. De hecho, al pulsar el botón del Excel, nos aparecerá una ventana, la cual habrá que aceptar un número de veces igual al número de escenarios existentes.
100 :=False, Transpose:=False Range("C36").Select ActiveCell.Offset(0, contador).Select Selection.Copy Range("S6").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("S8").Select ActiveCell.FormulaR1C1 = "=R[-1]C+R[-2]C" Selection.Copy Range("D36").Select ActiveCell.Offset(0, contador).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Se actualiza el contador' contador = contador + 1 Loop Application.CutCopyMode = False 'Se copian los resultados en la pestaña Comparativa' Range("B24:Z37").Select Selection.Copy Sheets("Comparativa").Select Range("B29").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
101 :=False, Transpose:=False Range("A6").Select Application.CutCopyMode = False End Sub • Caso del presupuesto descendente Sub GreedyAlto() 'Macro para aplicar el método de Greedy comenzando por el presupuesto más alto' 'Aplica Solver para obtener la mejor combinación de proyectos para cada escenario' 'Mantiene la decisión tomada en la primera iteración' 'Se define el número de escenarios y la variable contador' Dim num_escenarios As Integer Dim contador As Integer Dim num_proy_iniciales As Integer num_escenarios = Range("H4").Value contador = 0 num_proy_iniciales = Range("D5").Value 'ITERACIÓN INICIAL' 'Se copia el valor de escenario en la celda de presupuesto disponible' Range("C41").Select Selection.Copy
102 Range("L11").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("L12").Select 'Se ejecuta Solver' SolverReset SolverOk SetCell:="$K$17", MaxMinVal:=1, ValueOf:=0, ByChange:="$G$11:$G$20", Engine:=1, EngineDesc:="GRG Nonlinear" SolverAdd CellRef:=Range("G11:G20"), Relation:=5 SolverAdd CellRef:=Range("K11"), Relation:=1, FormulaText:=Range("L11") SolverSolve 'Se copian los resultados del primer escenario en la tabla resumen' Range("G11:G20").Select Selection.Copy Range("C42").Select ActiveSheet.Paste Range("K11").Select Application.CutCopyMode = False Selection.Copy Range("C52").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("K17").Select Application.CutCopyMode = False Selection.Copy Range("C53").Select
103 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Se realiza un bucle que aplique Solver tantas veces como escenarios se tengan' Do While contador < (num_escenarios - 1) 'Se copia el presupuesto en la celda de presupuesto disponible en restricciones sucesivas' Range("D41").Select ActiveCell.Offset(0, contador).Select Selection.Copy Range("O6").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("O7").Select 'Se copia la cartera de proyectos del paso anterior' Dim cont_copia1 As Integer cont_copia1 = 0 Do While cont_copia1 < num_proy_iniciales Range("C42").Select ActiveCell.Offset(cont_copia1, contador).Select Selection.Copy Range("S11").Select ActiveCell.Offset(cont_copia1, 0).Select
104 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("N11").Select ActiveCell.Offset(cont_copia1, 0).Select ActiveCell.FormulaR1C1 = "=IF(RC[5]=0,0,RC[-8])" Range("P11").Select ActiveCell.Offset(cont_copia1, 0).Select ActiveCell.FormulaR1C1 = "=IF(RC[-2]=0,0,1)" cont_copia1 = cont_copia1 + 1 Loop 'Se ejecuta Solver' SolverReset SolverOk SetCell:="$Q$6", MaxMinVal:=1, ValueOf:=0, ByChange:="$O$11:$O$20", Engine:=1, EngineDesc:="GRG Nonlinear" SolverAdd CellRef:=Range("O11:O20"), Relation:=5 SolverAdd CellRef:=Range("N6"), Relation:=1, FormulaText:=Range("O6") SolverSolve 'Se obtiene la nueva cartera de proyectos' Dim cont_copia2 As Integer cont_copia2 = 0 Do While cont_copia2 < num_proy_iniciales
105 Range("T11").Select ActiveCell.Offset(cont_copia2, 0).Select ActiveCell.FormulaR1C1 = "=IF(RC[-4]+RC[-5]=2,1,0)" cont_copia2 = cont_copia2 + 1 Loop 'Se copian los resultados de cada escenario en la tabla resumen' Range("T11:T20").Select Selection.Copy Range("D42").Select ActiveCell.Offset(0, contador).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("T11:T20").Select Selection.Copy Sheets("Comparativa").Select Range("B48").Select ActiveCell.Offset(0, num_escenarios - contador - 1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Greedy Heuristic").Select Range("N6").Select Selection.Copy
106 Range("D52").Select ActiveCell.Offset(0, contador).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("N6").Select Selection.Copy Sheets("Comparativa").Select Range("B58").Select ActiveCell.Offset(0, num_escenarios - contador - 1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Greedy Heuristic").Select Range("Q6").Select Selection.Copy Range("D53").Select ActiveCell.Offset(0, contador).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("Q6").Select Selection.Copy Sheets("Comparativa").Select Range("B59").Select ActiveCell.Offset(0, num_escenarios - contador - 1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
107 Sheets("Greedy Heuristic").Select 'Se actualiza el contador' contador = contador + 1 Loop Application.CutCopyMode = False 'Se copian los resultados en la pestaña "Comparativa"' Range("B41:B53").Select Selection.Copy Sheets("Comparativa").Select Range("B47").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A6").Select Sheets("Greedy Heuristic").Select Range("C41:C53").Select Selection.Copy Sheets("Comparativa").Select Range("B47").Select ActiveCell.Offset(0, num_escenarios).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A6").Select Sheets("Greedy Heuristic").Select
108 Range("C24:Z24").Select Selection.Copy Sheets("Comparativa").Select Range("C47").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A6").Select Application.CutCopyMode = False End Sub • Caso del presupuesto intermedio Sub GreedyMedio() 'Macro para aplicar el método de Greedy comenzando por un presupuesto intermedio' 'Aplica Solver para obtener la mejor combinación de proyectos para cada escenario' 'Mantiene la decisión tomada en la primera iteración' 'Se definen el número de escenarios y la variable contador' Dim num_escen_encima As Integer Dim num_escen_debajo As Integer Dim num_escen_medio As Integer Dim num_escenarios As Integer Dim contador As Integer Dim cont1 As Integer Dim cont2 As Integer Dim cont3 As Integer Dim cont4 As Integer
109 Dim num_proy_iniciales As Integer num_escenarios = Range("H4").Value num_escen_medio = Range("X21").Value num_escen_encima = Range("X22").Value num_escen_debajo = Range("X23").Value contador = 0 num_proy_iniciales = Range("D5").Value cont1 = num_escen_medio cont2 = 0 cont3 = 0 cont4 = 0 'Se borran resultados anteriores' Range("C24:Z37").Select Selection.ClearContents Range("C38").Select Range("C41:Z53").Select Selection.ClearContents Range("C38").Select 'Se copian los escenarios presupuestarios en esta hoja y se define el comienzo del método' 'Se copian los escenarios del caso ascendente' Do While cont1 < num_escenarios + 1 Sheets("Escenarios Presupuestarios").Select
116 ActiveCell.FormulaR1C1 = "=R[-1]C+R[-2]C" Selection.Copy Range("D36").Select ActiveCell.Offset(0, contador).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Se actualiza el contador' contador = contador + 1 Loop 'DESCENDENTE' 'Se realiza un bucle que aplique Solver tantas veces como escenarios se tengan por debajo' contador = 0 Do While contador < num_escen_debajo 'Se copia el presupuesto en la celda de presupuesto disponible en restricciones sucesivas' Range("D41").Select ActiveCell.Offset(0, contador).Select Selection.Copy Range("O6").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("O7").Select
117 'Se copia la cartera de proyectos del paso anterior' Dim cont_copia3 As Integer cont_copia3 = 0 Do While cont_copia3 < num_proy_iniciales Range("C42").Select ActiveCell.Offset(cont_copia3, contador).Select Selection.Copy Range("S11").Select ActiveCell.Offset(cont_copia3, 0).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("N11").Select ActiveCell.Offset(cont_copia3, 0).Select ActiveCell.FormulaR1C1 = "=IF(RC[5]=0,0,RC[-8])" Range("P11").Select ActiveCell.Offset(cont_copia3, 0).Select ActiveCell.FormulaR1C1 = "=IF(RC[-2]=0,0,1)" cont_copia3 = cont_copia3 + 1 Loop 'Se ejecuta Solver' SolverReset SolverOk SetCell:="$Q$6", MaxMinVal:=1, ValueOf:=0, ByChange:="$O$11:$O$20", Engine:=1, EngineDesc:="GRG Nonlinear" SolverAdd CellRef:=Range("O11:O20"), Relation:=5
118 SolverAdd CellRef:=Range("N6"), Relation:=1, FormulaText:=Range("O6") SolverSolve 'Se obtiene la nueva cartera de proyectos' Dim cont_copia4 As Integer cont_copia4 = 0 Do While cont_copia4 < num_proy_iniciales Range("T11").Select ActiveCell.Offset(cont_copia4, 0).Select ActiveCell.FormulaR1C1 = "=IF(RC[-4]+RC[-5]=2,1,0)" cont_copia4 = cont_copia4 + 1 Loop 'Se copian los resultados de cada escenario en la tabla resumen' Sheets("Greedy Heuristic").Select Range("T11:T20").Select Selection.Copy Range("D42").Select ActiveCell.Offset(0, contador).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("T11:T20").Select Selection.Copy Sheets("Comparativa").Select
119 Range("C65").Select ActiveCell.Offset(0, num_escen_debajo - 1 - contador).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Greedy Heuristic").Select Range("N6").Select Selection.Copy Range("D52").Select ActiveCell.Offset(0, contador).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("N6").Select Selection.Copy Sheets("Comparativa").Select Range("C75").Select ActiveCell.Offset(0, num_escen_debajo - 1 - contador).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Greedy Heuristic").Select Range("Q6").Select Selection.Copy Range("D53").Select ActiveCell.Offset(0, contador).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
120 Range("Q6").Select Selection.Copy Sheets("Comparativa").Select Range("C76").Select ActiveCell.Offset(0, num_escen_debajo - 1 - contador).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Greedy Heuristic").Select 'Se actualiza el contador' contador = contador + 1 Loop Application.CutCopyMode = False 'Se copian los resultados en la pestaña "Comparativa"' Range("B24:B37").Select Selection.Copy Sheets("Comparativa").Select Range("B64").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A6").Select Sheets("Greedy Heuristic").Select Range("C24:Z37").Select Selection.Copy Sheets("Comparativa").Select
121 Range("C64").Select ActiveCell.Offset(0, num_escen_debajo).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Greedy Heuristic").Select Do While cont4 < num_escen_debajo Range("D41").Select ActiveCell.Offset(0, cont4).Select Selection.Copy Sheets("Comparativa").Select Range("C64").Select ActiveCell.Offset(0, num_escen_debajo - 1 - cont4).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Greedy Heuristic").Select cont4 = cont4 + 1 Loop Application.CutCopyMode = False End Sub
123