Problema de Selección de Cartera de Proyectos a través de la Programación Entera

La Programación Entera provee una forma eficiente de enfrentar los problemas de selección de proyectos a ejecutar dentro de una cartera de potenciales proyectos a realizar, donde cada uno de éstos tiene asociado un tiempo de ejecución, requerimientos de fondos de inversión y necesidades adicionales. El siguiente artículo aborda la formulación de un modelo de optimización de Programación Entera que permita seleccionar los proyectos a realizar que maximice el Valor Presente Neto (VPN) del conjunto, respetando restricciones presupuestarias, políticas de inversión y de disponibilidad de personal.

Problema de Selección de Cartera de Proyectos

Consideremos una empresa que tiene en carpeta 8 proyectos, cada uno de los cuales con una estimación del VPN, la necesidad de financiamiento (en dólares) y los requerimientos de personal. La información se resume en la siguiente tabla:

tabla-inversion-proyectos

Por ejemplo, el Proyecto 1 requiere de 120 profesionales para ser realizado, con una inversión inicial de 15 millones de dólares y representa un Valor Presente Neto (VPN) de 8 millones de dólares. Asumiremos que la empresa dispone de 155 profesionales, un presupuesto para inversión de 40 millones de dólares. Adicionalmente para efectos de minimizar el riesgo la empresa debe ejecutar al menos 4 proyectos. Los proyectos 3 y 6 son excluyentes, es decir, sólo uno de los 2 puede ejecutarse.

Variables de Decisión:

variable-invertir-proyecto

Probablemente el lector se pregunte si es equivalente definir Xi: dólares a invertir en el Proyecto i. El problema subyacente a dicha formulación es asumir que si, por ejemplo, se invierte 7,5 millones de dólares en el Proyecto 1 se obtiene un VPN de 4 millones de dólares, es decir, que el VPN es proporcional al dinero invertido. Recordar que la proporcionalidad es un supuesto básico de la Programación Lineal donde claramente no provee una forma realista de representación en este caso, donde la naturaleza de la decisión es realizar o no un proyecto, sin dejar espacio para decisiones “intermedias”.

Función Objetivo:

funcion-objetivo-inversion-

Consiste en maximizar la sumatoria del Valor Presente Neto de los proyectos (en millones de dólares). En este contexto el valor óptimo corresponderá a la suma del VPN de aquellos proyectos que finalmente se llevaran a cabo.

Restricciones:

Se debe respetar la disponibilidad de trabajadores:

restriccion-disponibilidad-

La inversión total no puede superar el presupuesto disponible:

restriccion-presupuesto-pro

Al menos se deben realizar 4 proyectos para efectos de diversificación del riesgo:

al-menos-4-proyectos

Los proyectos 3 y 6 son excluyentes:

proyectos-excluyentes

Luego de implementar computacionalmente el problema anterior con Solver se alcanza los siguientes resultados:

solucion-optima-proyectos

La solución óptima consiste en desarrollar los proyectos 2, 4, 5, 6 y 7 lo que reporta un VPN de 10,7 millones de dólares (valor óptimo).

¿Quieres tener el archivo Excel con la resolución en Solver de este problema?. Recomiéndanos en Facebook, Google+ o Twitter utilizando la herramienta de redes sociales a continuación y accede de forma gratuita e inmediata a la descarga del archivo (el enlace de descarga con el nombre “Descarga el Archivo” se mostrará abajo una vez que nos hayas recomendado).

[l2g name=”Descarga el Archivo” id=”4355″]

Ejemplo del Problema del Flujo Máximo en Programación Entera resuelto con Solver

Este tipo de problemas (Problema del Flujo Máximo) es similar al Problema de Ruta más Corta, pero ahora se busca determinar el flujo máximo entre un nodo fuente y un nodo destino, los que están enlazados a través de una red, con arcos con capacidad finita, tal como se presenta en la siguiente figura. Notar que los números asignados a cada uno de los arcos representan los flujos máximos o capacidades correspondientes a cada arco.

ruta-flujo-maximo

Problema del Flujo Máximo

Desde el punto de vista de la Programación Entera podemos plantear la situación de la siguiente forma:

Variables de Decisión:

variables-flujo-maximo

Función Objetivo: Maximizar las unidades que salen del nodo de origen (1) a los que éste conecta (2, 4 y 5) o alternativamente maximizar las unidades que llegan al nodo de destino (8) desde los que conectan a él (3, 6 y 7).

funcion-flujo-maximo

Restricciones:

Restricciones de Flujo Máximo: La cantidad de unidades que sale de cada nodo de origen a un nodo de destino no puede superar la capacidad detallada en el arco, por ejemplo, del nodo 1 al nodo 2 sólo se pueden enviar 7 unidades.

restricciones-flujo-maximo

Restricciones de Balance de Flujo en los Nodos: Debe existir un equilibrio entre la cantidad de unidades que llega a un nodo y las que de éste salen, por ejemplo el número de unidades que se envía desde el nodo 1 al 4 (si es que así fuese el caso) debe ser igual a lo que desde el nodo 4 se envían al nodo 3 y 6.

balance-flujo-maximo

No Negatividad e Integralidad: Las variables de decisión de decisión deben cumplir las condiciones de no negatividad. Adicionalmente exigiremos que éstas adopten valores enteros aún cuando se podría flexibilizar dicha situación lo que daría origen a un problema de Programación Lineal.

no-negatividad-flujo-maximo

Luego de implementar el modelo de optimización anterior con Solver se alcanza la siguiente solución óptima y valor óptimo:

solucion-flujo-maximo

Notar que el flujo máximo de unidades que puede llegar al nodo de destino son 32 unidades (valor óptimo) donde cualquiera de las funciones objetivos propuestas proporciona el mismo resultado (en particular hemos utilizado la primera de ellas). Los valores de las celdas en color amarillo representan la solución óptima, es decir, la cantidad de unidades que fluyen en cada combinación de un nodo origen destino.

En el siguiente tutorial de nuestro canal de Youtube se detalla la implementación computacional que permite alcanzar los resultados anteriormente expuestos:

¿Quieres tener el archivo Excel con la resolución en Solver de este problema?. Recomiéndanos en Facebook, Google+ o Twitter utilizando la herramienta de redes sociales a continuación y accede de forma gratuita e inmediata a la descarga del archivo (el enlace de descarga con el nombre “Descarga el Archivo” se mostrará abajo una vez que nos hayas recomendado).

[l2g name=”Descarga el Archivo” id=”4352″]

Punto de Reposición e Inventario de Seguridad con Demanda y/o Lead Time Variable

En la revisión de las herramientas básicas para la gestión de inventarios destaca el modelo EOQ (Economic Order Quantity) o análogamente en su traducción al español conocido como Cantidad Económica de Pedido. Este modelo tiene una serie de supuestos simplificadores entre los cuales destaca que tanto la demanda y el tiempo de reposición (o lead time) es constante y conocido. Lo anterior limita significativamente su aplicación práctica dado que la regla general es que la gestión de inventarios esta afecta a la incertidumbre.

Al existir incertidumbre (en la demanda y/o lead time) será necesario establecer un nivel de servicio conocido como Instock (α) que permita acotar la probabilidad de quiebre de stock a un valor objetivo (1-α) durante el tiempo de reposición. En este contexto el Punto de Reposición (ROP) determina el momento en el tiempo en el cual será necesario realizar una nueva orden de pedido.

Las siguientes fórmulas permiten calcular el Punto de Reposición (ROP) para distintos escenarios de incertidumbre de la demanda y/o tiempo de reposición:

formulas-calculo-rop

Ejemplo Caso 1: Demanda Fija – Lead Time Fijo

Una empresa enfrenta una demanda anual de 1.500 unidades de un producto en particular. Los costos unitarios de mantener inventario son de $0,18 anual. El costo fijo de emitir un pedido (independiente del tamaño del mismo) es de $15 y el tiempo de reposición del proveedor es de 2 semanas. Determine el tamaño óptimo de pedido utilizando EOQ y el Punto de Reposición. Asuma que el año tiene 50 semanas.

El tamaño de pedido que permite minimizar la función de costos totales es:

q-optimo-caso-1

El Punto de Reposición corresponde a:

rop-caso-1

La empresa deberá realizar una nueva orden de pedido (de 500 unidades) cada vez que su inventario alcance las 60 unidades. Una pregunta natural es ¿cuál es la probabilidad de tener quiebre de stock durante el período de reposición?. La respuesta: 0%. Esto debido a que se asume que no existe incertidumbre y por tanto los pedidos llegaran justo a tiempo. En consecuencia en este escenario no es necesario disponer de un stock de seguridad.

Ejemplo Caso 2: Demanda Variable – Lead Time Fijo

La demanda diaria por una cerveza se distribuye normal con media de 50 litros y desviación estándar de 15 litros. El tiempo de reposición es de 10 días. Si se desea un nivel de servicio Instock de un 95% determine el Punto de Reposición y el Inventario de Seguridad.

rop-caso-2

Notar que Z(95%)~1,645 lo cual se puede obtener utilizando Excel y la fórmula: =DISTR.NORM.ESTAND.INV(95%). También se podría asumir que no está permitido comprar cerveza en fracciones de litros. En dicho caso ROP debe ser de 579[litros] (notar que el criterio de aproximación es al entero superior más cercano de modo que se garantice el nivel de servicio mínimo).

En cuanto al inventario de seguridad, éste corresponde a:

inventario-seguridad-caso-2

Ejemplo Caso 3: Demanda Fija – Lead Time Variable

La demanda diaria de un artículo es de 50 unidades. El tiempo de reposición sigue una distribución normal con media de 8 días y desviación estándar de 2 días. Obtenga el ROP que permita asegurar un nivel de servicio de un 95%.

rop-caso-3

El Punto de Reposición debe ser de 567[unidades].

Ejemplo Caso 4: Demanda Variable – Lead Time Variable

La demanda diaria de una hamburguesa sigue una distribución normal con media de 1.000 unidades y desviación estándar de 100 unidades. El tiempo de reposición también se distribuye normal con media de 8 días y desviación estándar de 2 días. Encuentre el Punto de Reposición para un nivel de servicio de un 95%.

rop-caso-4

Método del Centroide aplicado a un Problema de Localización de Instalaciones

El Método del Centroide es una técnica para ubicar instalaciones que considera las instalaciones existentes, las distancias entre ellas y la cantidad de productos a transportar entre las mismas. Se suele suponer que los costos de envío o transporte de entrada y salida son iguales y no incluye costos de envío especiales.

La aplicación del Método del Centroide requiere ubicar las instalaciones existentes en un sistema de coordenadas. La elección de dicho sistema de coordenadas es completamente arbitraria, no obstante, actualmente son populares las medidas de longitud y latitud debido a la rápida adopción de los sistemas GPS. Sin perjuicio de lo anterior y con el objetivo de representar ejemplos sencillos se pueden utilizar coordinadas arbitrarias (X,Y).

El Centroide se encuentra calculando las coordenadas X e Y que dan como resultado el costo de transporte mínimo. Para ello se utilizan las fórmulas:

formulas-coordenadas-centro
Donde:
nomenclatura-centroide

Ejemplo Método del Centroide

Se desea determinar la ubicación óptima de una planta productiva (en adelante Planta E) mediante el Método del Centroide con respecto a otras 3 plantas demandantes a las cuales abastece de un cierto producto, que en lo sucesivo denotaremos por A, B y C y cuyas coordenadas (X,Y) son (150,75), (100,300) y (275,380), respectivamente. En este contexto, las plantas A, B y C requieren 6.000, 8.200 y 7.000 unidades anuales, respectivamente, las cuales serán transportadas desde la Planta E. Se supone una relación lineal entre los volúmenes enviados y los costos de envío (sin cargos adicionales).

Dada la información anterior calculamos las coordenadas en X e Y de la Planta E.

calculo-formulas-centroide

¿Minimizará la localización propuesta para la Planta E por el Método del Centroide la sumatoria de la distancia euclidiana respecto a las plantas demandantes A, B y C?. Para responder esta pregunta formulamos el siguiente modelo de Programación No Lineal no restringida:

minimizar-distancia-euclidi

Luego de implementar el problema anterior en Solver de Excel obtenemos la coordenada (X,Y)=(175,00, 251,67) que determina una sumatoria de distancias totales de 66.266,67[u] que es levemente inferior a la obtenida a través del Método del Centroide donde la sumatoria de las distancias alcanza las 66.662,80[u].

comparacion-centroide-con-m

Esta diferencia menor se explica por la relativa similitud de los resultados obtenidos a través de los 2 métodos según se aprecia en la siguiente representación gráfica:

localizacion-centroide

Ejemplo Pronóstico de Demanda con Media Móvil Ponderada

En el contexto de los métodos de series de tiempo aplicados para los Pronósticos de Demanda, el método de Media Móvil Ponderada es una variantes de la técnica de Media Móvil Simple donde existe la posibilidad de modificar las ponderaciones que tiene cada uno de los datos en el cálculo del promedio. Este método resulta ser útil cuando es válida la premisa de que el pasado más reciente tiene un mayor poder predictivo respecto al futuro (por lo cual se suele asociar una mayor ponderación en el cálculo del promedio), sin embargo, en caso de existir estacionalidad en el patrón histórico de la demanda puede ser necesario ponderar con mayor fuerza un dato más antiguo de la serie de tiempo.

La fórmula de cálculo para una Media Móvil Ponderada se presenta a continuación:

formula-media-movil-pondera

En la nomenclatura anterior Ft representa el pronóstico para el período t, At es la demanda real (observada) para el período t y Wt representa las ponderaciones seleccionadas para el promedio ponderado. Por supuesto la sumatoria de dichas ponderaciones debe ser igual a 1 (o un 100%).

Ejemplo Media Móvil Ponderada

Para ilustrar la aplicación del método utilizaremos la serie histórica que presentamos en el artículo sobre cómo utilizar una regresión lineal para realizar un pronóstico de demanda. En esta oportunidad aplicaremos el método de media móvil simple con n=3 (como medio de contraste) y una media móvil ponderada de 3 períodos igualmente pero con ponderaciones seleccionadas arbitrariamente de 60%, 30% y 10%, respectivamente.

planilla-media-movil-ponder

En la columna “MP” se incluyen los resultados del promedio móvil ponderado redondeando los resultados al entero más cercano. Notar que para una mayor comodidad se pueden fijar las ponderaciones a celdas específicas, lo que facilita copiar la fórmula a los períodos siguientes. A continuación y para facilitar la interpretación de los resultados se presenta un gráfico que contrasta los datos de la serie histórica y los dos dispositivos de pronóstico utilizados.

grafico-media-movil-pondera

Se puede apreciar que en la medida que las ponderaciones seleccionadas para cada período se aproximen a 1/3, el pronóstico obtenido a través de la media móvil ponderada se asemejará al comportamiento de los resultados del promedio móvil simple con n=3. En este contexto es importante destacar que no existe procedimiento exacto que permita seleccionar de forma inequívoca las ponderaciones Wt de un promedio móvil ponderado y en consecuencia la “prueba y error” suelen ser estrategias utilizadas para evaluar el ajuste del pronóstico a los datos reales.

Finalmente sí el objetivo es proponer alguno de los métodos de pronósticos utilizados en este artículo se recomienda complementar el análisis calculando el MAD y Señal de Rastreo (TS) en cada caso, de modo de disponer de mayores elementos de juicio antes de tomar una decisión.

¿Quieres tener el archivo Excel con la resolución de este problema?. Recomiéndanos en Facebook o Google+ utilizando la herramienta de redes sociales a continuación y accede de forma gratuita e inmediata a la descarga del archivo.

[sociallocker]Media Móvil Ponderada[/sociallocker]