Problema de Planificación Financiera en Programación Lineal resuelto con Solver

El siguiente artículo trata de un problema de planificación financiera el cual se aborda a través de la Programación Lineal y se resuelve computacionalmente haciendo uso del complemento Solver de Excel. En este contexto se presenta un problema de inversión en distintos instrumentos financieros en los cuales se planifica invertir al inicio de cada uno de los próximos 10 años (horizonte de planificación), considerando los siguientes montos disponibles al comienzo de cada año (independiente de los retornos obtenidos producto de las mismas inversiones en años anteriores).

presupuestos-problema-de-in
Los instrumentos disponibles son:

  • Depósito a plazo (anuales) con un retorno de 4,5% anual.
  • Bono a 6 años plazo con retorno de 4,9% anual.
  • Bono a 9 años plazo con retorno de 5,2% anual.

Se busca formular un modelo de optimización que posea los mayores retornos al término del décimo año (o inicio del año 11). Para ello se propone el siguiente problema de Programación Lineal:

Problema de Planificación Financiera

Variables de Decisión: Se establecen las posibilidades de inversión en los distintos instrumentos financieros. Notar que dado el período de maduración de los mismos se define la factibilidad de invertir en ellos en cada uno de los años. Por ejemplo, como el depósito anual tiene una maduración de un año se puede invertir en él en cada uno de los años del período de planificación. No así, por ejemplo, con el Bono a 9 años plazo el cual se puede invertir sólo al inicio del año 1 y 2.

variables-problema-de-inver

Función Objetivo: Se desea maximizar el dinero obtenido al finalizar el período de planificación correspondiente al término del año 10 (o inicio del año 11).

funcion-objetivo-planificac

Restricciones: Para cada año se limita las posibilidades de inversión según los instrumentos disponibles, el presupuesto del período y el retorno de los instrumentos que ya maduraron. Por ejemplo, en el año 1 se puede invertir en cada una de las 3 alternativas respetando el presupuesto de MM$20. En el año 2 nuevamente se puede invertir en las 3 alternativas y el presupuesto disponible corresponderá a los MM$20 de dicho período (según se detalla en la tabla al inicio) y eventualmente se podrá hacer uso del retorno de la inversión del depósito anual realizado en el año 1. Si, por ejemplo, se invierte los MM$20 en el depósito anual a inicio del año 1, entonces el presupuesto disponible para el año 2 será: 20+1,045(20)=MM$40,9.

restricciones-planificacion

A continuación se presenta un extracto de los resultados que provee la implementación computacional del modelo anterior haciendo uso de Solver. Las celdas color amarillo corresponde a la solución óptima, alcanzando un valor óptimo de MM$402,64.

solucion-optima-planificaci

Es interesante analizar la estructura de la solución óptima alcanzada. En el año 1 y 2 se invierte la totalidad del presupuesto en el Bono a 9 años plazo; en los años 3, 4 y 5 se invierte de forma exclusiva en los bonos a 6 años plazo; finalmente del año 5 al año 10 se invierte en el depósito anual.

¿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=»4694″]

Problema de la Mochila en Programación Entera resuelto con OpenSolver

El Problema de la Mochila (conocido también como Knapsack Problem o simplemente KP) es un problema clásico de la Investigación de Operaciones y en particular de la Programación Entera. Consiste en un excursionista que debe preparar su mochila, la cual tiene una capacidad limitada y por tanto no le permite llevar todos los artículos que quisiera tener en la excursión. Cada artículo que el excursionista puede incluir en la mochila le reporta una determinada utilidad. Luego el problema consiste en seleccionar un subconjunto de objetos de forma tal que se maximice la utilidad que el excursionista obtiene, pero sin sobrepasar la capacidad de acarrear objetos.

problema de la mochila

En este contexto existen varias aplicaciones que guardan una similitud conceptual con el Problema de la Mochila y en consecuencia nos podemos beneficiar de la formulación y resolución de un modelo de optimización matemática para dicho propósito. Consideremos el siguiente ejemplo:

Problema de la Mochila

Un armador tiene un carguero con capacidad de hasta 700 toneladas. El carguero transporta contenedores de diferentes pesos para una determinada ruta. En la ruta actual el carguero puede transportar algunos de los siguientes contenedores:

tabla-toneladas-contenedore

El analista de la empresa del armador desea determinar el envío (conjunto de contenedores) que maximiza la carga transportada. Para ello se propone el siguiente modelo de Programación Entera:

Variables de Decisión:

variables-problema-mochila

Función Objetivo: Consiste en maximizar la carga que transportará el carguero.

funcion-objetivo-mochila

Restricciones: El peso de la carga transportada no puede exceder la capacidad máxima del carguero.

restricciones-mochila

Al implementar computacionalmente el problema anterior haciendo uso de OpenSolver se alcanzan los siguientes resultados:

solucion-optima-problema-mo

La solución óptima consiste en transportar los contenedores C1, C2, C3, C4, C8, C9 y C10, con un valor óptimo de 700 (toneladas), es decir, se utiliza la capacidad completa del carguero. Notar que otra solución óptima consiste en transportar los contenedores C1, C3, C4, C5, C6, C7, C8 y C9 lo que reporta un similar valor en la función objetivo.

¿Quieres tener el archivo Excel con la resolución en OpenSolver 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]Problema Mochila[/sociallocker]

Ejemplo Pronóstico de Demanda utilizando Variación Estacional

Si el comportamiento histórico de la demanda de un producto tiene un marcado comportamiento estacional una alternativa de pronóstico a evaluar es aquel que utiliza de forma exclusiva los índices estacionales (también conocido como factores estacionales o variación estacional). Dicho procedimiento por cierto es más acotado que el Método de Descomposición y reduce el número de pasos necesarios para realizar un pronóstico. Bloqueadores solares, helados, estufas, sistemas de aire acondicionado, etc, son buenos ejemplos de productos que tienen un comportamiento de la demanda claramente influido por la época del año y ante la necesidad de extrapolar dichos patrones a futuro resulta necesario considerar la estacionalidad en el método de pronóstico.

Pronóstico de Demanda utilizando Variación Estacional

A continuación un ejemplo que permite observar su utilización: La empresa de softwares Megasoft tiene disponibles los datos de ventas de notebooks de los últimos 2 años, divididos en 8 trimestres. Si la demanda esperada para el próximo año es de 2.000 notebooks, estime la demanda para los próximos 4 trimestres llevando en cuenta el factor estacionalidad.

tabla-demanda-indice-estaci

En primer lugar debemos calcular el promedio de la demanda trimestral. Por ejemplo, el Trimestre 1 y 5 corresponden al primer trimestre del año 1 y 2, respectivamente y el promedio es (300+416)/2=358. Luego continuando el procedimiento se obtiene el promedio trimestral de los próximos períodos. El total de 2.716 unidades corresponde a la sumatoria de los promedios trimestrales (358+650+1.038+670). Si dicha sumatoria la dividimos por 4 períodos (2.716/4=679) se obtiene lo que correspondería a la demanda de un trimestre promedio sin estacionalidad. A continuación se calcula el factor de estacionalidad o índice de estacionalidad dividiendo el promedio trimestral por la demanda promedio trimestral sin estacionalidad.

calculo-factor-de-estaciona

Si la demanda para los próximos 4 trimestres es de 2.000 unidades entonces se espera que la demanda trimestral sin estacionalidad sea simplemente asumir que la demanda anual se divide en 4 trimestres (es decir 500 unidades) y luego se ajusta dicho resultado por los factores de estacionalidad estimados anteriormente.

pronostico-demanda-factor-e

Notar que la sumatoria de los pronósticos de demanda son 2.000 unidades (263,5+478,5+764,5+493,5) y la demanda proyectada considera las características estacionales de la demanda. El siguiente gráfico muestra el comportamiento de la demanda histórica (lineas azul y roja) y la demanda pronosticada (línea verde).

grafico-pronostico-demanda-

Una forma alternativa de representar la misma información es en un gráfico de línea donde con color rojo, amarillo, verde y azul, se muestra el comportamiento de la demanda de los Trimestres 1, 2, 3 y 4, respectivamente, quedando de manifiesto que el método utilizado logra rescatar el comportamiento estacional de la demanda.

demanda-indice-estacional

Cómo determinar la Duración Óptima de un Proyecto a través del Análisis de Crashing

La Programación Lineal como hemos analizado anteriormente provee una forma eficiente para enfrentar el problema de cómo reducir la duración de un proyecto de la forma más económica posible (Análisis de Crashing) en el contexto de la aplicación del Método de Ruta Crítica (CPM) para la gestión de proyectos. Adicionalmente en algunas situaciones se suele enfrentar costos de penalización en la medida que el proyecto se entregue más tarde de lo comprometido o estimado, como también incentivos por entregas anticipadas que no vayan en desmedro de la calidad del proyecto.

Consideremos el siguiente ejemplo para el cálculo de la Duración Óptima de un Proyecto (el tiempo está medido en días y el costo en dólares):

tabla-datos-proyecto-crashi

Por ejemplo la Actividad F tiene una duración normal de 4 días a un costo de 600 dólares y se puede comenzar una vez terminadas las Actividades B y E (predecesores). Si se desea apurar (hacer «crash») en la Actividad F, el menor tiempo que se puede adoptar es de 2 días (es decir, la reducción máxima es 2 días), donde por cada día que se reduce la duración de dicha actividad se incurre en un costo adicional de 175 dólares. De esta forma, por ejemplo, si se quisiera reducir la duración de la Actividad F de 4 a 3 días, el costo sería de 775 dólares (600+175).

Asuma que la fecha de entrega del proyecto es el día 10. La compañía debe pagar 170 dólares por cada día de atraso. Encuentre el número óptimo de días que debe durar el proyecto a través del análisis de crashing y el costo total del proyecto (incluyendo posibles multas por atraso).

Indique claramente las actividades donde realice crashing. Dibuje el diagrama del proyecto de la alternativa que se propone (el proyecto con el costo más bajo), representando el nombre de cada actividad al interior de los respectivos nodos. Para cada actividad calcule los siguientes indicadores: IC, TC, IL, TL. Luego obtenga explícitamente la holgura de cada actividad y la(s) ruta(s) crítica(s) del proyecto.

A continuación se define un modelo de optimización lineal propuesto para abordar el problema:

Variables de Decisión:

variables-crashing

Parámetros:

parametros-crashing-optimo

Función Objetivo: Consiste en minimizar el costo de terminar el proyecto en K días, donde 3.175 corresponde al costo en dólares de desarrollar el proyecto con las actividades en tiempo normal y la expresión en la sumatoria es el costo incremental de disminuir la duración del proyecto.

funcion-objetivo-crashing-o

Restricciones:

Cada actividad se puede reducir (de ser posible) dentro del límite máximo de reducción permisible:

xi-menor-o-igual-a-mi

Relaciones de predecesores entre las actividades y el tiempo de inicio y reducción:

relacion-predecesores-crash
Definición del tiempo objetivo para el proyecto:
tiempo-objetivo-crashing
No negatividad de las variables de decisión:
no-negatividad-crash

Una vez definido el modelo de Programación Lineal se implementa computacionalmente haciendo uso de Solver de Excel. Para ello será necesario sensibilizar los resultados del modelo para valores del parámetro K en el intervalo de [10,15] días (el lector puede corroborar que la duración del proyecto si cada actividad mantiene su duración normal es de 15 días). La solución óptima se resume a continuación:

solucion-crashing-solver

El tiempo óptimo para completar el proyecto corresponde a 12 días, con un costo total (incurriendo multas por atraso) de 3.890 dólares. El gráfico a continuación muestra el valor de la función objetivo (costo total) para distintos valores de duración del proyecto.

costo-proyecto-versus-tiemp

A continuación desarrollamos el diagrama del proyecto donde se observa que existen 2 rutas críticas: A-B-F y A-C-E-F, con una duración de 12 días. Notar que la única actividad que no es crítica con holgura positiva (de 1 día) es la Actividad D.

ruta-critica-crashing

¿Quieres tener el archivo Excel con la resolución en Solver de este problema?

[sociallocker]Crashing Óptimo[/sociallocker]

Cálculo de Índice de Habilidad Cp e Índice de Capacidad Cpk en el Control Estadístico de Procesos

Al planear los aspectos de calidad de la manufactura, nada es más importante que asegurarse de antemano de que el proceso productivo será capaz de mantener las tolerancias. La habilidad del proceso proporciona una predicción cuantitativa de qué tan adecuado es un proceso. La habilidad del proceso es la variación medida, inherente del producto que se obtiene en ese proceso. En este contexto, la habilidad permite entre otras cosas establecer limites de especificación realistas.

La fórmula para el cálculo de la habilidad del proceso que más se usa es: Habilidad del Proceso = +- 3σ (un total de 6σ) donde σ es la desviación estándar del proceso cuando se encuentra bajo control estadístico. Adicionalmente si el proceso esta centrado en la especificación nominal y sigue una distribución de probabilidad normal, 99,73% de la producción estará a menos de de la especificación nominal.

En este contexto la tasa de habilidad de un proceso Cp se refiere a la variación en un proceso alrededor del valor promedio, obteniéndose a través de la siguiente fórmula (notar que se usa 6S como estimación de ):

formula-cp

Un proceso que cumple bien con los límites de especificación (rango de especificación = +- 3σ) tiene un Cp=1. Lo crítico de muchas aplicaciones y la realidad de que el promedio del proceso no permanecerá en el punto medio del rango de especificación sugiere que Cp debe ser al menos 1,33.

En este contexto es útil tener un índice de habilidad que refleje ambas variaciones y la localización del promedio del proceso. Tal índice es Cpk o índice de capacidad del proceso, el cual refleja la proximidad de la media actual del proceso al Límite de Especificación Superior (LES) o al Límite de Especificación Inferior (LEI).

formula-cpk

Si el promedio actual es igual al punto medio del rango de especificación, entonces Cpk=Cp.

Adicionalmente si un proceso se encuentra en control estadístico, la siguiente relación se cumple para usar S como una estimación de σ (desviación estándar):

formula-s-control-estadisti

A continuación se presenta el calculo de los índices Cp y Cpk aplicado a los datos del ejemplo de las Gráficas de Promedios y Rangos en el Control Estadístico de Procesos. El resumen de los datos se observa en la siguiente tabla:

calculo-promedio-y-rango

Luego se procede a la estimación de S (recordar que cada muestra tiene 4 observaciones, en consecuencia n=4 y d2=2,059).
calculo-s-control-estadisti

Notar que el parámetro d2=2,059 se puede obtener de la siguiente tabla:

constantes para gráficas de control

El cálculo de Cp y Cpk esta dado por:

calculo-cp-y-cpk-control-es

La media del proceso (999,6 OHMS) se encuentra prácticamente centrada respecto a la especificación nominal (1.000 OHMS). Esto se corrobora en la similitud de los indicadores Cp y Cpk. No obstante lo anterior  la habilidad del proceso es relativamente baja (se recomienda al menos Cp≥1,33) lo que permite anticipar que un porcentaje significativo de resistores podrían estar fuera de los límites de especificación.

Existen un importante número de herramientas que permiten el cálculo sencillo de estos indicadores de desempeño. Al respecto recomendamos a nuestros usuarios leer el artículo Cómo Calcular Cp y Cpk con el Complemento SPC for Excel que muestra cómo utilizar el complemento SPC de Excel para simplificar este tipo de operaciones.