Cambio de Variables en un Modelo de Programación Lineal

Cuando se desea resolver un modelo de Programación Lineal es importante tener en cuenta que generalmente se dispone de varias alternativas las cuales difieren en dificultad y por tanto es necesario evaluar cada una en su mérito para luego decidir qué estrategia algorítmica utilizar.

Este concepto es válido tanto para la resolución de pequeños modelos de optimización lineales como los que usualmente se consideran para fines académicos, como también para modelos de mayor tamaño, donde seleccionar una estrategia adecuada favorece los tiempos y confiabilidad de la resolución computacional.

A continuación presentaremos un problema de Programación Lineal en 2 variables que resulta de interés su resolución:

modelo-lineal-cambio-de-var

Notar que existen distintas estrategias que nos permiten abordar el problema anterior. Por ejemplo, lo podríamos resolver gráficamente (Método Gráfico en Programación Lineal) o utilizar el Método Simplex  de 2 Fases, agregando variables de holgura para las restricciones 1, 2 y 3 y variables de exceso y auxiliares para las restricciones 4 y 5. También por cierto se podría definir el Problema Dual del ejemplo anterior y luego intentar su resolución, lo que a primera vista no sería de mayor ayuda.

Ahora bien, si una variable de decisión x debe cumplir la restricción x≥a, para una constante a positiva, se puede imponer un cambio de variables y=x-a, que define una nueva variable y que tiene solo una restricción de no negatividad y simplifica imponer la primera como una restricción general en la aplicación del Método Simplex.

El concepto anterior nos permite hacer lo siguiente: Y1=X1-20>=0; Y2=X2-20>=0. Es decir X1=Y1+20 y X2=Y2+20. En consecuencia podemos reescribir el modelo original de la siguiente forma:

modelo-cambio-de-variables

Reduciendo términos semejantes se obtiene:

modelo-final-cambio-de-vari

Notar que este nuevo modelo de optimización se puede resolver de forma directa a través del Método Simplex, incorporando las variables no negativas Y3, Y4 e Y5 como holguras de las restricciones 1, 2 y 3, respectivamente. De esta forma el problema en su forma estándar proporciona la siguiente tabla inicial: (Notar que el valor de la función objetivo inicialmente es 1.100 debido a que dicha constante se obtiene luego de realizar el cambio de variables)

tabla-inicial-cambio-de-var

La variable Y1 entra a la base al ser la variable no básica con el costo reducido más negativo. Luego para determinar la variable básica que deja la base calculamos el mínimo cuociente: Min {420/6; 140/1; 160/2} = 70 ==>Y3 sale de la base. Se realiza una iteración del Método Simplex:

tabla-2-cambio-de-variables

Ahora Y2 entra a la base al ser la única variable no básica con costo reducido negativo. A continuación la variable que deja la base se determina a través del criterio del mínimo cuociente: Min {70/1/2; 70/3/2; 20/1} = 20 ==>Y5 sale de la base. Se realiza una nueva iteración:

tabla-final-cambio-de-varia

Se ha alcanzado la tabla óptima donde Y1=60 e Y2=20 con valor óptimo V(P)=3.400. Reemplazando en las variables originales se obtiene la solución óptima del problema original: X1=60+20=80 y X2=20+20=40. Se puede corroborar que esta solución óptima al ser evaluada en la función objetivo del problema inicial proporciona el valor óptimo del modelo de programación lineal: Max 30*(80)+25*(40)=3.400, lo que permite garantizar la equivalencia del procedimiento utilizado.

Cómo hacer un Histograma con Geogebra

En un artículo anterior nos referimos a Cómo hacer un Histograma con Excel y EasyFit y a continuación mostraremos cómo poder desarrollar el mismo procedimiento utilizando el software de distribución gratuita Geogebra el cuál ya hemos utilizado previamente para la Resolución Gráfica de un modelo de Programación Lineal y como resulta evidente su aplicación no se ve limitada a lo anterior.

Los pasos a seguir son muy sencillos y los detallamos a continuación:

Paso 1: Abrir el programa Geogebra y en el Menú “Vista” seleccionar “Hoja de Cálculo”.

hoja-de-calculo-geogebra

Paso 2: Copiar y Pegar los datos a granel en la planilla (Columna A) que desplegara el programa en la esquina superior derecha. En el ejemplo utilizaremos los mismos datos (40) del artículo anterior.

hoja-de-calculo-planilla-ge

Paso 3: En el Menú seleccionar el icono con barras azules (con forma de histograma) y en las opciones que se desplegaran seleccionar “Análisis Una Variable”.

analisis-una-variable-geoge

Paso 4: Se desplegara la ventana “Fuente de Datos” donde se podrán observar los valores ingresados en la Columna A. Luego seleccionar “Analiza”. Importante: Si los datos de la Columna A no aparecen en la ventana de “Fuente de Datos” debes posicionarte sobre la letra A de la planilla de cálculo y repetir el Paso 2 y 3. La imagen a continuación muestra cómo se deberían visualizar los datos de la Columna A antes de proceder con el Paso 4.

analisis-variable-geogebra

Paso 5: Listo!. Ya hemos generado un histograma con Geogebra. Se puede observar que existe una barra que se puede desplazar para ajustar la cantidad de clases que tiene el histograma según lo que nos parezca razonable. En la imagen a continuación hemos seleccionado 6 clases para mostrar la consistencia de los resultados con lo obtenido previamente con Excel y Easyfit. Notar adicionalmente que en el eje vertical se considera por defecto la frecuencia absoluta (“n”).

histograma-geogebra

Finalmente se puede obtener de forma muy sencilla un resumen de las estadísticas de los datos proporcionados a granel seleccionando el icono “Muestra Estadísticas” (símbolo de sumatoria). Adicionalmente existen otras opciones interesantes que permiten generar  un Diagrama de Caja o Diagrama de Tallo y Hojas. Te proponemos el desafío para que lo puedas revisar directamente!

estadisticas-histograma-geo

Cómo hacer un Histograma con Excel y EasyFit

En el siguiente artículo mostraremos cómo hacer un histograma aplicado a una serie de datos a granel. Para ello utilizaremos 2 programas computacionales frecuentemente utilizados para estos propósitos: Excel y EasyFit.

Recordemos que un histograma consiste en una representación gráfica  a través de un diagrama de barras, donde cada barra es proporcional a la frecuencia de los valores representados. El histograma como herramienta de análisis gráfica que resume información nos ayuda para tener una primera visión de si, por ejemplo, la distribución de los datos se asemeja al comportamiento de una función de probabilidad conocida.

Consideremos los siguientes 40 datos a granel que consideran la medición de un cierto fenómeno de interés:

datos-a-granel-para-histrog

A continuación generaremos una tabulación de la información utilizando algunos conceptos estadísticos básicos. Primero determinaremos la cantidad de clases “k” para lo cual se pueden utilizar múltiples criterios y donde se selecciona aquel que otorga una cantidad de clases “razonable”. En nuestro ejemplo consideraremos k=6 clases.

cantidad-de-clases-histogra

Luego determinamos el Rango “R” que consiste en la diferencia entre la mayor y menor observación de los datos a granel. R=Máximo(Xi)-Mínimo(Xi)=2,8-0,5=2,3.

Ahora determinamos la amplitud de cada clase “a”. Notar que el concepto de “Unidad” esta relacionado con los datos que se disponen que en nuestro ejemplo consideran un decimal, en consecuencia se define como unidad a 0,1.

amplitud-histograma

Finalmente calculamos el Límite Inferior (LI) y Límite Superior (LS) utilizando las siguientes fórmulas:

  • Límite Inferior (LI) = Mínimo Dato (Xi) – 0,5 «Unidad»
  • Límite Superior (LS) = Limite Inferior de la clase + amplitud

De acuerdo a lo anterior estamos en condiciones de construir una tabla que resume la información de los datos proporcionados a granel:

datos-tabulados-histograma

Notar, por ejemplo, que para la primera clase el Límite Inferior (LI=0,45) se obtiene restando al Mínimo Dato (en el ejemplo el dato 9 con valor 0,5) menos 0,5*(0,1).

El Límite Superior de la primera clase (LS=0,85) se obtiene sumando al Límite Inferior (LI=0,45) la amplitud obtenida previamente (a=0,4).

Adicionalmente los valores en la columna etiquetada con “Mi” representa la marca de la clase (por ejemplo en M1 es igual a (0,45+0,85)/2=0,65).

En la columna n se contabilizan las observaciones que corresponden a la clase lo que se denomina como frecuencia absoluta (por ejemplo en la clase 1 se observan 3 datos que están en el intervalo entre 0,45 y 0,85).

En f se considera la frecuencia relativa, es decir, la proporción de datos sobre el total de la muestra que pertenecen a la clase (por ejemplo, para la clase 1 es f=3/40).

Finalmente en N y F se representa la frecuencia absoluta acumulada y frecuencia relativa acumulada, respectivamente.

Si generamos un gráfico de columna en Excel con los valores de la frecuencia relativa de cada clase y como etiqueta de datos (línea horizontal) la marca de clase, se obtiene lo siguiente:

grafico-histograma-excel-2

Cabe destacar que existe una serie de software estadístico que permite procesar este tipo de análisis de forma rápida e intuitiva. A continuación mostraremos cómo generar un histograma utilizando EasyFit el cual esta disponible en una versión de evaluación de 30 días y en una licencia académica de 69 Euros. Para ello copiamos y pegamos los 40 datos en una columna de la interfaz del programa y luego seleccionamos el icono con forma de rayo.

easyfit-datos-a-granel

A continuación se desplegara el menú a continuación donde sólo será necesario seleccionar OK.

easyfit-analisis-distribuci

El programa ejecutará una rápida rutina donde ajustará un importante número de distintas funciones de probabilidad teóricas a los datos proporcionados. Por ejemplo, en el siguiente gráfico mostramos el histograma de los datos (que por cierto es consistente con lo que hemos obtenido previamente en Excel) y donde se ha ajustado una distribución normal a los datos (línea color rojo).

Claramente la función de densidad de probabilidad ajustada es una aproximación a la distribución de los datos y resulta de interés decidir si una distribución particular es representativa de la naturaleza de los datos. Para esto es necesario realizar un Test de Bondad de ajuste sobre lo cual nos referiremos en un próximo artículo.

distribucion-normal-histogr

Política de Lotificación de Costo Unitario Mínimo aplicada al MRP

La política de lotificación de Costo Unitario Mínimo en el Plan de Requerimientos de Materiales (MRP) al igual que la alternativa de Costo Total Mínimo consiste en una técnica iterativa que compara los costos de realizar (emitir) pedidos con los costos de almacenamiento de inventario (ver clasificación de los Costos de Inventario) para distintos tamaños de pedido, seleccionando aquel donde al prorratear el costo total en el tamaño del lote solicitado se alcanza el menor costo unitario.

En este contexto, a continuación mostraremos el desarrollo del Costo Unitario Mínimo (CUM) aplicada a la siguiente Planificación de Requerimientos de Materiales:

Ejemplo Costo Unitario Mínimo (MRP)

Consideremos las Necesidades Brutas del Producto A para un periodo de 8 Semanas:

necesidades-brutas-producto

El Lead Time logístico del Producto A es de 1 semana. Adicionalmente existe un inventario inicial de 350 unidades y una recepción de pedido programado para la semana 2 de 500 unidades. El costo de emitir un pedido es de $1.000 y el costo unitario de almacenar una unidad en inventario es de $2 por semana. Con esta información desarrolle un MRP aplicando como política de lotificación el Costo Unitario Mínimo.

Notar que la información de las necesidades brutas corresponde a la primera fila de la tabla color celeste. Adicionalmente se ha considerado el ingreso del pedido de 500 unidades en la semana 2. Por tanto al existir un inventario inicial de 350 unidades y descontando los requerimientos de 200 unidades en la semana 1 queda 150 unidades como inventario o saldo disponible proyectado al final de la semana 1. Ahora el saldo disponible proyectado al final de la semana 2 es de 450 unidades, debido a que se comienza dicha semana con 150 unidades y se reciben 500 adicionales, pero fue necesario entregar 200 unidades esa semana.

El saldo disponible proyectado que queda al final de la semana 2 permite cubrir las necesidades brutas de la semana 3 y 4, por tanto los requerimientos comienzan a contar de la semana 5. En este momento se aplica Costo Unitario Mínimo según se muestra a continuación:

tabla-costo-unitario-minimo

Se evalúa la posibilidad de hacer un pedido por 200 unidades para satisfacer la necesidad bruta exacta de la semana 5. Dicha alternativa por cierto no genera costos de almacenar inventario al final del periodo pero si un costo de emisión de $1.000. En resumen se genera un costo total de $1.000 que al ser prorrateado en el tamaño del pedido (Q=200) genera un costo unitario de $5 ($1.000/200).

Luego se analiza la alternativa de un pedido por 350 unidades para cubrir las necesidades brutas de la semana 5 y 6. Esto genera un costo de inventario de $300 (debido a que al final de la semana 5 quedarían 150 unidades en inventario) y un costo de emisión de $1.000. El costo total para este caso sería de $1.300 que al ser dividido por el tamaño del pedido (Q=350) nos da un costo unitario de $3.714.

El procedimiento sigue de la misma forma agrupando ahora las necesidades de la semana 5 a la semana 7, sin embargo, el costo unitario ahora es de $3,818.

Por tanto se corrobora que el primer costo unitario mínimo se alcanza agrupando las necesidades brutas de la semana 5 a la semana 6.

Continuando con la metodología del Costo Unitario Mínimo, se observa que queda por programar las necesidades de las semanas 7 y 8. Un pedido de 200 unidades para satisfacer las necesidades brutas de la semana 7 no genera costos de almacenamiento pero si de emisión. Finalmente un pedido por 400 unidades para enfrentar los requerimientos de la semanas 7 y 8 genera un costo de $400 (por el almacenamiento de 200 unidades al final de la semana 7) y un costo de emisión de $1.000. Luego al prorratear el costo total de $1.400 en un pedido de Q=400 unidades se genera un costo unitario de $3,5 que resulta ser el segundo costo total mínimo.

En consecuencia el MRP para el Producto A aplicando la política de lotificación de Costo Unitario Mínimo es el siguiente:

mrp-costo-unitario-minimo

Notar que como se agrupan necesidades de la semana 5 a la semana 6 y de la semana 7 a la semana 8 se requiere que en la semana 5 y 7 se reciban pedidos planeados por 350 y 400 unidades, respectivamente. Sin embargo, la expedición (emisión) de pedidos planeados se realiza en cada caso con una semana de antelación teniendo en cuenta el Lead Time del producto. Te recomendamos revisar a continuación otros ejemplos de MRP en los “Artículos Relacionados” al final de este artículo.

Método de Descomposición aplicado para un Pronóstico de Demanda

El Método de Descomposición corresponde a una metodología para la Proyección de la Demanda que como el nombre lo sugiere “descompone” el comportamiento de una Serie de Tiempo en tendencia, estacionalidad y ciclo, relacionando dichos componentes a través de la siguiente fórmula (multiplicativa):

formula-metodo-descomposici

Donde:

  • S= Valor pronosticado
  • T= Factor de tendencia
  • C= Componente cíclico
  • Y= Componente estacional
  • μ= Variación no sistemática

A continuación aplicaremos el Método de Descomposición para el pronóstico de la demanda de un producto sobre el cual tenemos información histórica para un período de 4 años (48 meses).

datos-metodo-descomposicion

Paso 1: Se debe calcular el factor de estacionalidad, realizando un cuociente entre el valor pronosticado según el Promedio o Media Móvil Simple con n=12 y el valor real de la demanda. En la imagen a continuación se observa que el promedio móvil para Enero de 2010 corresponde al promedio simple de la demanda real desde Enero de 2009 a Diciembre de 2009. (Los resultados han sido aproximados a un decimal)

Paso-1-Metodo-Descomposicio

Paso 2: Se calcula el factor de estacionalidad promedio para cada período. Este procedimiento se facilita al trabajar con Tablas Dinámicas (Selecciona las columnas de los datos de la planilla según muestra la imagen a continuación, luego en el Menú de Excel ir a “Insertar” y en la esquina superior izquierda seleccionar Tabla Dinámica).

Paso-2-Metodo-Descomposicio

Al desplegarse el menú “Lista de campos de tabla dinámica” arrastramos el campo de Mes a Etiquetas de columnas y el campo Año a Etiquetas de fila. Por último arrastrar el campo (a/b)*100 a Valores seleccionando en la configuración de dicho campo “Promedio“.

Campos-Tabla-Dinamica

La Tabla Dinámica tiene la siguiente forma donde se obtiene el factor de estacionalidad promedio:

Paso-2-Tabla-Dinamica

Paso 3: Se ajusta cada factor promedio, multiplicándolo por el factor de estacionalidad K, calculado de:

formula-k

En el ejemplo: K=(12*100)/(1.235,8)=0,971 (aproximado). Notar que los valores de la fila Indice Estacionalidad corresponde a la ponderación del Factor de Estacionalidad Promedio por el parámetro K.

Indice-Estacionalidad-Ajust

Paso 4: Calcular la tendencia de la serie de tiempo ajustando los datos a una regresión lineal, donde la variable dependiente corresponde a la demanda (Y) y la variable independiente a los períodos (X).

Para este propósito se puede aplicar el procedimiento de forma muy sencilla en Excel a través de las siguientes alternativas:

1. Hacer un Gráfico de Línea con los valores de la demanda real como se muestra en la imagen a continuación:

Grafico-Linea-Regresion-Lin

Luego sobre el gráfico de línea con el mouse o teclado seleccionar con el botón derecho la opción “Agregar línea de tendencia”. Por defecto se ofrece la alternativa de tendencia lineal (no modificar) y debemos seleccionar las siguientes opciones:

regresion-lineal-opciones

Una vez realizado lo anterior obtendremos el gráfico que muestra el ajuste de la regresión y su ecuación. En nuestro ejemplo la regresión es: Y=98,038*X+15.157.

Ajuste-Regresion-Lineal

2. En la pestaña de “Datos” de Excel en la esquina superior derecha observaremos la opción “Análisis de datos” la cual debemos seleccionar, ingresando en el “Rango Y de entrada” los valores en la columna de la demanda real y en “Rango X de entrada” los valores de los períodos.

Paso-4-Metodo-Descomposicio

Luego presionar “Aceptar“, luego de lo cual se generará una nueva hoja en la planilla de cálculo con los resultados de la Regresión Lineal: (hemos marcado con color amarillo los resultados más relevantes en la aplicación del método de descomposición que son por supuesto coherentes con los que se obtienen al desarrollar el procedimiento del gráfico de línea).

Regresion-Lineal

Paso 5: Se calcula el factor cíclico de la serie histórica a partir de la siguiente expresión:

formula-factor-ciclico

Por ejemplo para Enero de 2010 (dato 13) el Factor Cíclico es 0,973 (se obtiene dividiendo 15.994,4 en 98,038*13+15.157). En la imagen a continuación se muestra la fórmula en Excel que hemos utilizado considerando una aproximación de los resultados a 3 decimales.

Paso-5-Metodo-Descomposicio

Paso 6: Determinar el factor cíclico promedio para cada período. En este paso al igual que en el Paso 2 una Tabla Dinámica resulta de bastante ayuda:

Paso-6-Metodo-Descomposicio

Una vez completado el Paso 6 estamos en condiciones de realizar un pronóstico de demanda utilizando la fórmula presentada al inicio del artículo. Por ejemplo si queremos pronosticar la demanda de Enero de 2013 (período 49) el resultado sería el siguiente:

  • T(49) = 98,038*49+15157 = 19.960,862
  • C(Ene) = 0,966
  • Y(Ene) = 90,8/100
  • S(49) = 19.960,862 * (90,8/100) * 0,966 = 17.508,231

¿Te pareció interesante este artículo? ¿Desearías tener la planilla de cálculo Excel con los resultados y detalle de los procedimientos?

[sociallocker]https://www.dropbox.com/s/0wch166wbgki6pq/Plantilla%20M%C3%A9todo%20Descomposici%C3%B3n.xlsx?dl=0[/sociallocker]