Qué es la Programación Estocástica

La Programación Estocástica reúne aquellos modelos de optimización en donde uno o más parámetros del problema son modelados a través de variables aleatorias. Una manera de enfrentar esta aleatoriedad consiste en reemplazar los parámetros aleatorios por su valor esperado, lo cual lleva a resolver un problema determinístico de programación matemática, los cuales son de especial interés en cursos introductorios de Investigación de Operaciones y donde la variabilidad inherente a los parámetros se aborda a través del Análisis de Sensibilidad o Postoptimal.

No obstante, la solución obtenida de esta manera puede no ser representativa de la realidad, al no considerar la dispersión de los valores que toman los parámetros en torno al valor esperado, lo cual entre otras cosas puede invalidar su implementación al resultar finalmente escenarios muy diferentes del promedio.

De este modo y en general, una forma de incorporar esta situación de incertidumbre es considerar un número finito de posibles realizaciones o escenarios para los parámetros aleatorios.

programación matemática

El impacto de la incorporación explicita de la incertidumbre en modelos de programación matemática afecta la factibilidad y optimalidad del sistema en estudio. En efecto, la solución que entrega la resolución de un modelo determinista que considera reemplazar los parámetros aleatorios por su valor esperado, puede ser infactible para un escenario en particular.

En este contexto la connotación que tiene el término factibilidad en programación estocástica es más extensa que en el caso determinista, debido a que no se puede garantizar que la solución del modelo estocástico sea factible para todas las posibles realizaciones de la variable aleatoria. Frecuentemente se incluye términos de penalización en la función objetivos que castigan estas posibles infactibilidades ponderada por un cierto costo según se constata por ejemplo en las investigaciones de Sen, S. and Higle, J.L. (1999). Introductory Tutorial on Stochastic Linear Programming Models. Interfaces 29, No.2, 33-61.

En cuanto al impacto que tiene la incertidumbre sobre la optimalidad del modelo formulado se puede observar que a mayor variabilidad de los parámetros aleatorios, el valor que alcanza la función objetivo varía en torno a una media en mayor magnitud. En este sentido la literatura reúne una serie de indicadores que cuantifica este impacto (Birge, J and Louveaux, F (1997). Introduction to Stochastic Programming, Springer – Verlag, New York, USA) de la incorporación explícita de la incertidumbre en la formulación del modelo y permite al tomador de decisiones dilucidar el real impacto de ésta.

Clasificación de los modelos de Programación Estocástica

Los modelos de optimización estocástica se dividen en dos grandes categorías, estos son: Modelos con Restricciones Probabilísticas y Modelos con Recurso. Una referencia general al respecto lo constituye un tutorial desarrollado por Sen y Higle (1999) sobre programación estocástica para el caso lineal y libros como el de Birge y Louveaux (1997).

clasufucación programación estocástica

Modelos con Recursos en 2 Etapas

En un modelo con recurso en dos etapas se pueden distinguir aquellas variables de decisión que son implementadas antes de la realización particular del parámetro aleatorio denominadas de primera etapa o here and now, que se debe tomar antes de conocer la realización de la variable aleatoria, es decir que se escoge tomando en cuenta la aleatoriedad de los parámetros, pero cuyo valor es independiente de la realización particular que finalmente vaya a tomar dicha variable aleatoria. Las variables de primera etapa pueden ser vistas como decisiones proactivas y están asociadas frecuentemente a decisiones estratégicas como la planificación  y expansión de sistemas de producción.

En tanto las variables que son determinadas una vez conocida la realización particular de la variable aleatoria son llamadas de segunda etapa o de recurso, es decir, su valor es tomado en respuesta al medio. En este sentido las variables de segunda etapa son de naturaleza reactiva y generalmente están asociadas a decisiones operativas.

Análisis de Sensibilidad (Método Gráfico)

El Análisis de Sensibilidad en Programación Lineal permite analizar el impacto en los resultados del modelo (solución óptima y valor óptimo) en aquellos casos donde uno o varios parámetros sufren modificaciones en relación a sus valores originales, sin la necesidad de resolver nuevamente el problema (sin reoptimizar). En dicho contexto en el siguiente artículo presentamos un ejemplo de dicho análisis para un problema de optimización lineal que considera 2 variables de decisión.

Ejemplo Análisis de Sensibilidad (Método Gráfico)

Un productor tabaquero posee 85 hectáreas (ha) de terreno para plantar dos variedades de tabacos Virginia y Procesado. La variedad Virginia tiene un ingreso de 9.600 USD/ha y necesita 3 horas/ha de uso de maquinaria y 80 horas/ha de mano de obra. Además, el Estado limita su explotación a 30 ha como máximo. La variedad Procesado tiene un ingreso de 7.500 USD/ha y utiliza 2 horas/ha de uso de maquinaria y 60 horas/ha de mano de obra. La cooperativa local le ha asignado un máximo de 190 horas de uso de maquinaria y solo se dispone de 5.420 horas de mano de obra a 12 USD/hora.

Formule y resuelva gráficamente un modelo de Programación Lineal que permita determinar cuánto se debe plantar de cada variedad de tabaco de manera de maximizar la utilidad total.

En primer lugar definimos el modelo de optimización para este problema. Esto consiste en identificar las variables de decisión, función objetivo y restricciones. Detalle de este procedimiento aplicado a problemas de 2 variables puede ser consultado en el artículo Programación Lineal (Método Gráfico).

Variables de Decisión:

  • X1 = Número de Ha a plantar de la variedad Virginia
  • X2 = Número de Ha a plantar de la variedad Procesado

Función Objetivo:

Maximizar (9.600 – 960)X1 + (7.500 – 720)X2 = 8.640X1 + 6.780X2

Restricciones:

  1. X1 ≤ 30
  2. X1 + X2 ≤ 85
  3. 3X1 + 2X2 ≤ 190
  4. 80X1 + 60X2 ≤ 5.420
  5. X1, X2 ≥ 0

Una representación gráfica del problema para el productor de tabaco se puede realizar a través del software Geogebra:

solución método gráfico

Sabemos según el Teorema Fundamental de la Programación Lineal que en caso de existir solución óptima ésta se encontrará en un vértice o en un tramo en la frontera del dominio de soluciones factibles (en el ejemplo área achurada en color verde). Adicionalmente podemos apreciar que no es tan evidente que el vértice C reporte una mayor utilidad en la función objetivo que el vértice D, por lo cual, inspeccionaremos ambos puntos.

En el caso del vértice C éste se encuentra en la intersección de las restricciones 2 y 4. La coordenada respectiva se obtiene al resolver el siguiente sistema de ecuaciones:

X1 + X2 = 85
80X1 + 60X2 = 5.420

De donde X1=16X2=69, lo cual reporta un valor en la función objetivo de V(P)=8.640*(16)+6.780(69)=606.060.

Análogamente en el caso del vértice D las restricciones activas son 3 y 4:

3X1 + 2X2 = 190
80X1 + 60X2 = 5.420

Luego de resolver el sistema lineal anterior se obtiene X1=28 y X2=53, lo cual reporta un valor en la función objetivo de V(P)=8.640*(28)+6.780(53)=601.260.

En consecuencia la solución óptima del problema es X1=16X2=69, con valor óptimo V(P)=8.640*(16)+6.780(69)=606.060.

Una vez resuelto el escenario original a continuación se presentan algunos análisis adicionales que representan por separado modificaciones en los coeficientes de la función objetivo y restricciones del problema.

Intervalo Variación Coeficiente Función Objetivo

Determine cuánto podría variar la utilidad por hectárea del tabaco Virginia, manteniendo constante la utilidad por hectárea del tabaco procesado, de forma que la actual solución óptima no cambie. Para este caso determine el intervalo de variación de la utilidad total.

Sea en términos generales la función objetivo Z=C1X1+C2X2, donde inicialmente en el ejemplo C1=8.640 y C2=6.780. La pendiente de las curvas de nivel de la función objetivo es -C1/C2. De este modo se conserva la actual solución óptima (vértice C) en la medida que:

-\frac{4}{3}\leq-\frac{C_{1}}{C_{2}}\leq -1
\frac{4}{3}\geq \frac{C_{1}}{C_{2}}\geq 1
\frac{4}{3}\geq \frac{C_{1}}{6.780}\geq 1
9.040\geq C_{1}\geq 6.780

En este caso la utilidad por hectárea del tabaco Virginia puede variar entre 6.780 USD y 9.040 USD, de tal forma que el actual nivel de producción (solución óptima) sería el mismo. Lo anterior permite concluir que el intervalo de variación para la utilidad total será 576.300\leq Z\leq 612.460.

Precio Sombra (Método Gráfico)

Si se pudiese contratar más mano de obra disponible en el mercado, ¿Cuántas horas de mano de obra en total estaría dispuesto a utilizar? ¿Cuál sería el aporte adicional de esas horas extras que utilizaría en términos monetarios? Responda lo anterior utilizando el concepto de Precio Sombra.

Para calcular gráficamente el precio sombra necesitamos identificar la máxima y mínima variación para el lado derecho de la restricción de mano de obra que permita garantizar que se conserva la actual base óptima (restricciones activas originales). En este sentido en el caso de aumentar el lado derecho de dicha restricción la solución óptima podrá ser encontrada manteniendo las restricciones activas (e incorporando una adicional) hasta la coordenada (20,65) que es donde se interceptan la segunda y tercera restricción. En el caso de disminuir la disponibilidad de horas en mano de obra se mantiene la base óptima hasta el vértice B cuya coordenada es (0,85). De esta forma se obtiene el precio sombra de la siguiente forma:

precio sombra método gráfico

En consecuencia el lado derecho de la restricción 4 (disponibilidad de mano de obra) puede variar entre [5.100, 5.500] y se conservan las actuales restricciones activas. Adicionalmente dado que en el óptimo actual se utilizan 5.420 horas de mano de obra se deben contratar 80 horas adicionales (de modo de alcanzar las 5.500 horas). Luego, la variación de 80 horas adicionales implicaría un aumento en la utilidad total de 80*USD93=7.440USD.

Estrategias de Procesos

En términos simples un proceso productivo consiste en una parte de una organización que toma insumos y los transforma en productos. Por cierto se espera que el valor de dichos productos sea mayor en comparación al valor de los insumos originales. En nuestro sitio en la categoría de Procesos, hemos dedicado un importante número de artículos que abordan el estudio de estos procesos de transformación desde una perspectiva tanto cuantitativa como cualitativa.

En esta oportunidad discutiremos las características principales de las estrategias de procesos y las clasificaciones frecuentemente aceptadas en la bibliografía de la Gestión de Operaciones que permite orientar el análisis estratégico de una empresa.

En primer lugar es importante destacar que las estrategias de procesos siguen un continuo y es perfectamente posible encontrar dentro de una compañía varias estrategias aplicadas de forma simultanea. Luego, las estrategias de procesos se clasifican básicamente en:

estrategias de procesos

Estrategia Orientada al Proceso

Esta corresponde a la configuración típica de talleres de trabajo conocidos también como Job Shop. Los distintos departamentos se organizan por proceso, agrupando aquellos que son similares. Se caracterizan por un volumen de producción relativamente bajo, no obstante tienen la flexibilidad para ofrecer una gran variedad de productos.

El siguiente diagrama representa un caso típico de la organización de un sistema productivo orientado al proceso, donde los productos siguen distintas rutas.

estrategia orientada al proceso

  • Ventajas

– Mayor flexibilidad de productos
– Equipamiento de propósito más general
– Baja inversión inicial

  • Desventajas

– Personal altamente entrenado
– Planificación y control de la producción mas complicado
– Baja utilización de equipamiento (en términos empíricos en un rango entre el 5% y el 25%)

Estrategia de Enfoque Repetitivo

En este caso la planta de producción se organiza como una línea de producción. Una representación esquemática de lo anterior se detalla en el siguiente diagrama donde el producto va desde la estación A hasta la estación C pasando por una secuencia de tareas determinadas por los requerimientos de ensamble del producto.

estrategia enfoque repetitivo

El proceso de ensamblaje de una moto como el que se muestra en la siguiente imagen corresponde a un esquema de producción que utiliza la estrategia de enfoque repetitivo. Esto se conoce alternativamente como un proceso tipo Flow Shop.

enfoque repetitivo

Estrategia Orientada al Producto

En este caso se observa un flujo continuo donde la planta de producción es organizada por producto. Se caracteriza adicionalmente por ser altamente automatizado y suele operar las 24 horas del día para evitar cierres y costos de arranque (setup) costosos.

  • Ventajas

– Bajo costo variable unitario
– Personal no tan competente, más especializado
– Fácil planificación y control de la producción
– Alta utilización de equipamiento (empíricamente entre el 70% y el 90%)

  • Desventajas

– Baja flexibilidad de productos
– Equipamiento más especializado
– Generalmente altas inversiones

Ejemplos típicos asociados a un proceso con un flujo continuo son aquellos vinculados a las actividades productivas del sector minero:

flujo continuo

Las principales características de los enfoques de procesos presentados se pueden consolidar a modo de resumen en una tabla, lo cual facilita el análisis comparativo.

comparación estrategias de procesos

En este mismo contexto se puede construir una Matriz de Proceso que en un eje de coordenadas que representa volúmenes de producción y variedad de productos, ayuda a identificar distintas estrategias.

matriz de procesos

Por ejemplo, una estrategia que se caracterice por un bajo volumen de producción y baja variedad de producto esta condenada al fracaso al enfrentar costos variables altos que no resultan ser competitivos.

En contraste alcanzar de forma simultanea volúmenes altos de producción y variedad de producto (conocido como personalización en masa o masiva «mass customization«) resulta difícil de alcanzar y promete importantes ventajas para aquellas empresas que las logran alcanzar. Un ejemplo emblemático de este caso ampliamente cubierto en la literatura es Dell Computer que le ha permitido compatibilizar productos a la medida de las necesidades de sus clientes mediante un ensamblaje a pedido sin sacrificar los beneficios de un alto volumen de producción.

Regla de la Razón Crítica

La Regla de la Razón Crítica (conocido en inglés por CR o Critical Ratio) es una heurística que permite la secuenciación de trabajos en una máquina. El criterio que establece la Regla de la Razón Crítica es que los trabajos se deban procesar en orden creciente de acuerdo al cuociente ente el tiempo que falta a la entrega y el tiempo de proceso (recomendamos al lector revisar el artículo Reglas de Prioridad para la Programación de n Trabajos en una Máquina donde se detalla a través de un ejercicio resuelto la aplicación de otras heurísticas típicas de la programación de operaciones).

En este contexto la fórmula para el cálculo del ratio crítico es:

fórmula razón crítica

Ejemplo Regla de la Razón Crítica (Ratio Crítico)

Hoy es el día 22 en un centro de trabajos y 4 trabajos están esperando ser atendidos en una máquina. La máquina puede procesar sólo un trabajo a la vez. Determine el ratio crítico para cada trabajo y establezca un ranking de prioridad para su procesamiento.

tabla trabajos razón crítica

Por ejemplo, el trabajo A tiene como fecha de entrega el día 28 y requiere 8 días de proceso en la máquina.

regla razón crítica

Utilizando la Regla de la Razón Crítica los trabajos deben ser asignados en la siguiente secuencia: D, A, C, B. Se puede observar que sólo el trabajo B tiene holgura (esto debido a que su CR es mayor a 1). Por otra parte los trabajos A y D tienen ratios críticos menores a 1, lo cual significa que dichos trabajos no serán terminados a tiempo a menos que sean apurados. Finalmente el trabajo C tiene un ratio crítico igual a 1 que implica que podría ser terminado a tiempo en la medida que sea el primer trabajo en ser considerado en la secuencia (situación que no es la que ocurre en este caso).

Cabe recordar que los resultados propuestos al utilizar distintas reglas de prioridad deben ser analizados en virtud de su desempeño y en lo general no existe una regla que garantice el mejor desempeño en todos los aspectos.

Tasa de Falla y Tiempo Medio entre Fallas (MTBF)

Una falla es un evento que cambia el estado de un producto de operacional a no operacional. En este sentido la Tasa de Falla (TF) puede ser expresada tanto como un porcentaje de fallas sobre el total de productos examinados o en servicio (en términos relativos), o también como un número de fallas observadas en un tiempo de operación (en este caso en términos nominales). Dado lo anterior se dispone de las siguientes fórmulas para el cálculo de la Tasa de Fallas.

tasa de fallas

Donde F representa el número de fallas, TT el tiempo total y NOT el tiempo no operacional.

Ejemplo Cálculo Tasa de Falla y Tiempo Medio entre Fallas (MTBF)

50 válvulas de corazones artificiales fueron probadas durante un período de 10.000 horas en un centro de investigación médica, periodo durante el cual fallaron 3 de ellas. Cuál es la Tasa de Fallas en términos de:

Porcentaje de Fallas

tasa-de-falla-porcentual

Número de Fallas por unidad al año

tasa-de-falla-nominal

Se debe considerar que el tiempo operacional se ve reducido por aquellas unidades que fallaron. Debido a que no se dispone de mayores detalles asumiremos que las fallas se presentaron, en promedio, a la mitad del período de evaluación, esto es, una vez transcurridas 5.000 horas de prueba. De esta forma se estima que el tiempo no operativo es de 15.000 horas y se obtiene de esta forma la Tasa de Fallas en términos nominales según se muestra a continuación:

calculo-tasa-de-fallas

De esta forma se espera que la Tasa de Falla en términos de un año sea:

tasa-de-falla-anual

¿Cuántas fallas se deberían esperar durante un año asumiendo la instalación de éstas válvulas a 100 pacientes?

numero-esperado-de-fallas

Un indicador de gestión frecuentemente considerado para evaluar el desempeño de las políticas de mantenimiento y confiabilidad es el Tiempo Medio entre Fallas conocido comúnmente por MTBF (Mean Time Between Failure). El cálculo del MTBF es sencillo dado que corresponde al recíproco de la Tasa de Falla (nominal) y corresponde a la esperanza en tiempo de buen funcionamiento.

mtbf

Si aplicamos dicha fórmula al ejemplo de las válvulas descrito anteriormente obtenemos:

ejemplo-mtbf

El valor 18,46 unidad-año por falla representa el tiempo medio de servicio entre fallas que se espera para un grupo de unidades durante sus años de servicio. Notar que esto no necesariamente representa un tiempo de vida esperado para un producto individual.

Adicionalmente el Tiempo Medio entre Fallas (MTBF) puede ser utilizado para expresar la confiabilidad de un componente o sistema si la tasa de falla es constante. Sea R la confiabilidad de un sistema y t un período de tiempo en evaluación, se tiene:

confiabilidad-del-sistema

Confiabilidad de un elemento es la probabilidad de que dicho elemento funcione sin fallas durante un tiempo t determinado bajo condiciones ambientales dadas.

Ejemplo Confiabilidad de un Sistema

Ejemplo 1: Las válvulas de seguridad utilizadas en una refinería tienen una tasa de falla constante con un Tiempo Medio entre Fallas (MTBF) de 16 años. ¿Cuál es la probabilidad de que una nueva válvula instalada funcione sin fallas por los próximos 8 años?.

calculo-probabilidad-sin-fa

Se concluye que la probabilidad que se una nueva válvula instalada funcione sin fallas durante un período de 8 años es de un 60,65%.

Ejemplo 2: Se sabe que las válvulas reguladoras de presión en una planta química han presentado un MTBF de 30 años. Asumiendo que la tasa de falla es constante, ¿qué tan probable es que una válvula funcione sin fallas por un período de 10 años?.

ejemplo-confiabilidad-valvu

La probabilidad de que una válvula reguladora de presión funcione sin fallas por un período de 10 años es de un 71,65%.