Sistemas de loteo mediante programación lineal entera
Uno de los principales problemas cuando la demanda puede variar significativamente con el tiempo es el hecho de que ya no puede considerarse como óptima una cantidad constante de pedido. Dicha cantidad puede variar significativamente entre pedidos y debe ser determinada cada vez que una orden va a ser procesada.
Para manejar estas situaciones, se pueden establecer los siguiente métodos de loteo:
- Lote a lote (L4L).
- Método de periodo constante.
- Cantidad económica de pedido.
- Cantidad Periódica de pedido.
- Costo total mínimo.
- Heurístico Silver – Meal.
- Algoritmo Wagner – Whitin.
- Programación lineal.
Al igual que mediante el algoritmo Wagner – Whitin, la programación lineal entera ofrece una solución óptima.
Elementos básicos del modelo de programación lineal entera
El modelo de programación lineal entera supone una mayor complejidad en la etapa de modelación, sin embargo los resultados obtenidos mediante software son más que satisfactorios debido al análisis de sensibilidad que puede hacerse con ellos.
El proceso sistemático de modelación es el siguiente:
Función objetivo
La función objetivo debe relacionarse con la pregunta fundamental que se quiere responder con el modelo. En el caso de los sistemas de loteo:
¿Cómo se pueden disminuir los costos de totales?
En cuyo caso sería:
MINIMIZAR costos de inventario y MINIMIZAR costos de preparación.
Variables de decisión
Las variables de decisión parten del criterio de la función objetivo. En el caso de que se quieran minimizar los costos de inventario y de preparación, las variables de decisión deben permitir que se respondan las siguientes cuestiones:
- ¿Qué cantidad de productos deben ordenarse por periodo?
- ¿Qué nivel de inventario deberá mantenerse al final de cada periodo?
Ejemplo de un sistema de loteo mediante programación lineal entera
Una empresa desea determinar el tamaño de lote óptimo de un programa MRP. La siguiente tabla muestra los requerimientos netos para ocho (8) semanas de programación (planeación corta).
Variables de decisión
Restricciones de balance de inventarios
Estas restricciones resultan precisas para relacionar los costos asociados al almacenamiento en la función objetivo. Además, de como su nombre lo indica, balancear las unidades del modelo.
Su formulación es simple, y se basan en el concepto de balance de inventarios:
Pedido + Inventario inicial – Demanda = Inventario final
Tenga en cuenta que el inventario final del periodo i es equivalente al inventario inicial del periodo i+1. Es decir, el inventario final de la semana 1 es equivalente al inventario inicial de la semana 2.
En estas restricciones se establecerán los objetivos de cumplimiento de la demanda, teniendo en cuenta cantidades a ordenar e inventarios.
Restricciones binarias. ¿Se ordena o no?
Los costos de preparación dependerán de si en un periodo se ordena una corrida de producción o no. De manera que para contemplar este tipo de costos se utilizan variables binarias, así entonces si en un periodo se ordena un lote, el valor de variable binaria asociada a dicho periodo será equivalente a 1, en caso contrario será equivalente a 0.
Para modelar correctamente las variables binarias asociadas a los costos de preparación, estas deben asociarse con la cantidad a ordenar en dicho periodo y al máximo tamaño de lote posible, es decir al total de la demanda que tiene un periodo por delante, por ejemplo:
La anterior es la restricción asociada a la orden de producir u ordenar en el periodo 1. En caso de que el modelo encuentre viable producir en dicho periodo, el valor de la variable binaria W1 será igual a 1, de manera que multiplicará el total de la demanda que tiene el periodo 1 por delante, en este caso equivale a la sumatoria de todos los periodos del modelo, es decir, el tamaño máximo del lote. Así entonces X1, es decir cantidad a ordenar a producir en el periodo 1, deberá ser menor al tamaño máximo del lote.
En caso de que el modelo no encuentre viable producir en dicho periodo, el valor de la variable binaria W1 será igual a 0, de manera que multiplicará el total de la demanda que tiene el periodo 1 por delante por 0. Así entonces X1 deberá ser menor o igual que 0, dicho de otra manera, en ese periodo no se ordena o produce.
Tenga en cuenta que las variables binarias tienen un costo asociado en la función objetivo, este costo será el costo de preparación; de manera que el hecho de que estas variables tomen valores de 1 o 0, dependerá del costo total de la función objetivo.
Veamos otro ejemplo:
La anterior restricción está asociada a la orden de producir u ordenar en el periodo 2. En este caso se cumplen los mismos principios de la anterior restricción, sin embargo el valor de la demanda varía, debido a que la demanda total que tiene el periodo 2 por delante es equivalente a 475 unidades; es decir, a la demanda total menos los requerimientos del periodo 1, es decir que el tamaño máximo del lote para una orden de la semana 2 deberá, en caso de que se autorice producir, ser menor a 475 unidades, lo cual aseguraría que al final del último periodo no se presenten inventarios.
Todas las restricciones binarias quedarían de la siguiente manera:
Restricciones límites y de no-negatividad
Cuando el criterio de la función objetivo consiste en minimizar, es muy importante que se establezcan restricciones de no-negatividad, es decir, restricciones que aseguren que las variables asociadas a la producción y a los inventarios, no tomen valores menores a cero (0).
Del mismo modo, se establecerá el tipo de valores de las variables binarias.
Formulación de la función objetivo
En la función objetivo deberán relacionarse todos los costos asociados al plan de producción:
- Costos de ordenar.
- Costos de almacenar.
Los costos de ordenar se encuentran relacionados con las variables binarias, de manera que si estas toman valores equivalentes a 1 se causará el costo de ordenar en un periodo determinado.
Los costos de almacenar deberán asociarse con los inventarios de cada periodo.
Así entonces, cada vez que en un periodo se produzca, se asociará un costo de preparación; y cada vez que una unidad sea almacenada, se asociará un costo de mantenimiento del inventario.
Resolviendo mediante WinQSB
Utilizando el Software WinQSB por medio de la herramienta Linear and Integer Programming se puede obtener la solución al modelo formulado.
El primer paso consiste en ingresar los parámetros del modelo:
- Number of Variables: Número de variables.
- Number of Constraints: Número de restricciones.
- Objetive Criterion: Criterio de la función objetivo.
- Default Variable Type: Tipo de variable predeterminada.
- Data Entry Format: Formato de entrada de datos.
Tenga en cuenta que debe modificarse el tipo de variable en aquellas binarias. Del mismo modo tenga presente que las restricciones deben despejarse para dejar las constantes (coeficientes sin variables) en el lado derecho de la matriz.
El siguiente paso consiste en resolver el modelo de acuerdo a la información ingresada. En este caso la solución obtenida es la siguiente:
Al resolver este ejemplo con diversos sistemas de loteo se pueden obtener la siguientes soluciones:
- Lote a lote: $376,00
- Periodo constante: $200,50
- EOQ: $171,05
- POQ: $140,50
- Costo total mínimo: $140,50
- Meal Silver: $131,00
- Wagner Whitin: $131,00