Model Eoq Inventario
Model Eoq Inventario
MODELO 𝐸𝑂𝑄
Universidad de Medellín
Facultad de Ingenierías
Medellín-Colombia
20 de noviembre de 2015
1
MODELO EOQ
En este documento se presentan los detalles más relevantes del modelo 𝐸𝑂𝑄
y se aplicará en las empresas de telecomunicaciones bajo algunos supuestos y
la información suministrada por los funcionarios de éstas.
Según Hopp [1], el modelo 𝐸𝑂𝑄 fue desarrollado en 1913 por el ingeniero
Ford Whitman Harris, quien trabajaba en Westinghouse Corporation, y aunque
el artículo original en el cual se presentaba el modelo fue incorrectamente citado
durante muchos años, su publicación fue analizada a profundidad y aplicada
extensivamente por el consultor R.H. Wilson quien publicó un artículo en 1934
que precisamente popularizó el modelo y es por ello que este modelo también
conocerse como modelo de Wilson.
2
Según se cita en Hopp [2], el modelo EOQ ha sido ampliamente estudiado; es
la base de introducción de los libros de investigación de operaciones y es
considerado el más antiguo y simple de los modelos de control de inventarios.
Básicamente abre la ventana a la optimización de la cantidad por orden,
minimizando los costos y forjando el camino para modelos más sofisticados
como el modelo “Reorder Point, 𝑅𝑂𝑃” y el modelo (𝑄, 𝑟), -siendo este último
tema central del trabajo de investigación-. En general el modelo EOQ es utilizado
a nivel mundial como una herramienta de gestión de inventarios en multitud de
empresas y desde que se conoce el artículo de Ford Whitman Harris, -en el cual
indaga: “How Many Parts to Make at Once”-, se le ha venido mostrando como un
gestor para determinar el volumen o la cantidad de existencias que se deben
tener en el inventario.
Como se plasma en Hopp ([2] y [3]) para derivar la fórmula de la cantidad del
pedido, hacen los siguientes supuestos sobre el modelo:
Los supuestos que introduce este modelo facilitan su aplicación por asumir
constante la demanda (tanto la demanda anual como la demanda durante el
tiempo de reposición o “lead time"). Si bien el modelo 𝐸𝑂𝑄 se caracteriza por su
sencillez a la hora de calcular la cantidad por orden o pedido, por otro lado
presenta algunos inconvenientes, los más evidentes son los siguientes:
3
El hecho de que la demanda sea constante se aleja de la realidad, donde es
normal encontrar demandas estacionales, demandas irregulares, etc. En
general la demanda es uno de los elementos más inestables que enfrentan
las empresas a la hora de planificar su producción o la prestación de los
servicios, y en algunos casos debido a la incertidumbre que se tiene a la hora
de realizar la predicción se utilizan métodos probabilísticos que facilitan
calcular la cantidad óptima del pedido.
Se considera que el nivel de inventario se reabastece instantáneamente,
fenómeno que en la práctica no ocurre en la mayoría de los casos.
2. Notación:
Variables de decisión:
4
Como se aprecia en la Figura 1, la altura de cada triángulo representa el
tamaño óptimo de pedido que minimiza la función de costos totales. El vértice
del ángulo recto del triángulo corresponde al punto en el cual se hace el nuevo
pedido (punto cero), y la base del triángulo es el tiempo que pasa desde que se
recibe la orden hasta que se termina el lote (este tiempo se conoce como el
tiempo de ciclo). Dado que no existe un tiempo de espera desde el momento en
que se emite la orden y hasta que se dispone del lote, una vez que se termina el
inventario se dispone inmediatamente del nuevo lote y de esta forma no existe
quiebre de stock. Para fines de modelamiento y bajo el supuesto que se tiene
una operación continua del proceso de inventarios en la empresa, en Hopp [3],
se representa el tiempo y los productos en forma de cantidades continuas,
asumiendo como constante la demanda (demanda determinística), y ordenando
Q unidades (la altura de cada triángulo), cada vez que el inventario llega a cero,
𝑄
y lo cual suele ocurre cada instante de tiempo 𝜆𝐿. El nivel de inventario promedio
𝑄
es siempre 2 , la altura de cada triángulo, y el costo de almacenamiento por año
hQ
asociado con el inventario está dado por .
2
5
Para formular el modelo de optimización de inventarios y calcular el número
de las cantidades a pedir, a continuación se desarrollan cada una de los términos
que componen la función objetivo.
6
𝑄
ℎ𝐼(𝑄) = ℎ (1)
2
Costo de preparación: Resulta del producto del costo fijo del pedido A (que
se carga a cada orden de reemplazamiento realizada), por el número de órdenes
por año que satisfacen la demanda; se parte del hecho que se deben colocar
λ/Q órdenes por año para satisfacer la demanda.
𝜆
𝐶𝑜𝑠𝑡𝑜 𝑑𝑒 𝑝𝑟𝑒𝑝𝑎𝑟𝑎𝑐𝑖ó𝑛 = 𝐴 𝑄 (2)
Costo total esperado 𝑪(𝑸): El costo total lo componen los costos anuales
por ordenar y almacenar, y se puede expresar como:
𝜆 𝑄
𝐶( 𝑄) = 𝐴𝐹(𝑄) + ℎ𝐼(𝑄) = 𝐴 +ℎ
𝑄 2
Es decir:
𝐴𝜆 𝑄
𝐶(𝑄) = +ℎ2 (3)
𝑄
En relación con la función del costo total C(Q), y conforme se ilustra en la Figura
2, se pueden hacer las siguientes observaciones:
𝑄
1. El término de los costos de almacenamiento, ℎ λ , se incrementa linealmente
7
λ
2. El término costo de preparación, 𝐴 𝑄 , disminuye rápidamente en 𝑄, indicando
C(Q))
8
𝑑𝐶(𝑄) ℎ 𝐴λ
= − 2=0
𝑑𝑄 2 𝑄
𝑑𝐶(𝑄) ℎ 𝐴λ
= − 2=0
𝑑𝑄 2 𝑄
2𝐴𝜆
𝑄𝑑 = √ (4)
ℎ
9
que se realiza el aprovisionamiento de inventario con una cantidad de pedido 𝑄
y hasta que esta se agota completamente, haciendo necesario volver a
reaprovisionar en la misma cantidad. Esta variable está dada por la siguiente
relación:
Qd
𝑇 =
λ
𝑄𝑑 = (𝑇)(𝜆) (5)
10
La siguiente figura muestra como a mayor frecuencia de pedidos (órdenes)
hay rendimientos decrecientes.
Figura 3. Inversión en el inventario versus cantidad de pedido anual (modelo 𝐸𝑂𝑄)
Se listan en Hopp [3], otras variaciones del 𝐸𝑂𝑄 básico que incluyen pedidos
pendientes (órdenes o pedidos al inventario que no están del todo o en parte
listas y en las cuales se tiene que esperar hasta que el stock esté disponible),
mayor y menor preparación y cantidades discontinuas, consideraciones que con
salvedad a los pedidos pendientes no serán objeto de profundización en el
presente documento. Adicionalmente se indica que si se parte del hecho de que
la demanda es determinística, el tiempo que pasa desde que se recibe la orden
hasta que termina el lote está completamente determinado por la cantidad de la
orden y se puede expresar a 𝑄a partir del tiempo en el cual se presenta el ciclo
del pedido (en fracción de año) y la correspondiente demanda (en unidades por
año).
11
disponible), es decir: cuando las demandas no se suplen inmediatamente y de
manera completa con el inventario a mano generando en consecuencia un
pedido pendiente al sistema de inventarios, y además sobre los supuestos que
los clientes están dispuestos a esperar y que los administradores del sistema de
inventarios se comprometen a satisfacer todas las demandas. Se enuncia
además que muchas empresas de bienes de capital e industrias de servicios
operan con retrasos considerables y existen casos extremos como las industrias
de materiales en las cuales se han generalizado los pedidos pendientes. El
inventario neto, (Ver figura 4), se comporta como cuando no se consideraban
pedidos pendientes, pero la administración es más compleja debido a que
además de establecer 𝑄 ∗ , se debe considerar un número de pedidos pendientes,
conocer cuando ordenar y tener con un inventario de seguridad que permita
cubrir la demanda de tal manera que el cliente no tenga que esperar por
demasiado tiempo. Respecto a su funcionamiento se puede evidenciar que
mientras se realiza la recepción de las órdenes, el inventario neto se disminuye
en una tasa constante 𝐷 independientemente a si el inventario es positivo o
negativo, y cuando llega una nueva orden el inventario neto salta (se incrementa)
precisamente en esa cantidad, posibilitando así que algunos de los lotes se
puedan usar para cubrir los pedidos pendientes, mientras el resto se lleva al
inventario. Para formular el problema de optimización de inventarios con pedidos
pendientes y calcular las variables objeto de optimización, 𝑄 y 𝑟 (ver Figura 4),
además de conocer la variable 𝑄 es necesario contar con una segunda variable
que dé cuenta del momento en el cuál se debe pedir; para esto a continuación
se definen otros términos y las variables 𝑟.
12
Punto de pedido (Punto de reorden): Variable de decisión en el modelo de
optimización de Inventarios cuando se consideran pedidos pendientes.
Corresponde a unas cantidades que se definen en la administración del
inventario (cantidad en unidades), e indican el momento en el inventario en el
cual se debe solicitar un nuevo requerimiento de inventarios (pedido de compra)
a fin de evitar escenarios de desabastecimiento. Exactamente cuando el
inventario alcanza el punto de pedido 𝑟, se genera una orden de reposición por
Q unidades y al momento del recibo de las órdenes el inventario salta a 𝑟 + 𝑄 y
por tanto nunca se queda todo el tiempo en el nivel 𝑟. Durante el tiempo de
reposición (𝐿), pueden presentarse falta de existencias (desabastecimientos),
pero una vez se recibe la orden de compra (en general: órdenes de compra) el
inventario se recupera permitiendo atender las demandas que se tienen hasta el
momento 𝑡 y cubriendo todo o parte de los pedidos pendientes. De lo anterior:
1 (𝑄+ 𝑟 – 𝜆𝐿)2
𝐼(𝑄, 𝑟) = 2 (6)
𝑄
1 ( 𝑟 – 𝜆𝐿)2
𝐵(𝑄, 𝑟) = 2 (7)
𝑄
Es decir:
13
𝐶𝑑 (Q, r): {𝑐𝑜𝑠𝑡𝑜 𝑝𝑜𝑟 𝑜𝑟𝑑𝑒𝑛𝑎𝑟 + 𝑐𝑜𝑠𝑡𝑜 𝑑𝑒 𝑎𝑙𝑚𝑎𝑐𝑒𝑛𝑎𝑚𝑖𝑒𝑛𝑡𝑜
+ 𝑐𝑜𝑠𝑡𝑜 𝑑𝑒 𝑝𝑒𝑑𝑖𝑑𝑜𝑠 𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒𝑠}
Donde:
𝐶𝑑 (Q, r) = 𝐴𝐹(𝑄) + ℎ𝐼(𝑄, 𝑟) + 𝑏𝐵(𝑄, 𝑟)
Como en la sección anterior, para hallar los valores óptimos del modelo se
deriva con respecto a cada una de las variables de decisión y se iguala a cero.
ℎ 𝑏
= (2𝑄 + 2𝑟 − 2λL) + (2𝑟 − 2λL)
2𝑄 2𝑄
14
ℎ
𝑟𝑑 ∗ = 𝜆𝐿 − 𝑄𝑑 (9)
𝑏+ℎ
𝜕 𝐶𝑑 (𝑄, 𝑟) −Aλ ℎ 𝑏
= 2 + 2 (𝑄2 − (𝑟 − λL)2 ) − 2 (𝑟 − λL)2
𝜕𝑟 𝑄 2𝑄 2𝑄
2Aλ h+b
Igualando a cero se tiene que: 𝑄 2 = + (𝑟 − λL)2
h h
2𝐴𝜆 𝑏+ℎ
𝑄𝑑 ∗ = √ ( ) ( 10 )
ℎ 𝑏
ℎ (𝑄 + 𝑟 – )2 𝑏 (𝑟 – )2
Cd (Q, r) = 𝐴 + ( )+ ( )
𝑄 2 𝑄 2 𝑄
ℎ 2 ℎ𝑄𝑑 2
ℎ(𝑄𝑑 − 𝑄 ) 𝑏( )
∗ 𝑏+ℎ 𝑑
𝐶𝑑 (𝑄, 𝑟) = 𝐴 + + 𝑏+ℎ
( 11)
𝑄 2𝑄𝑑 2𝑄𝑑
16
Tabla 2. Datos para hallar la cantidad de pedido de acuerdo con el modelo 𝐸𝑂𝑄.
Artículo "X": Ítem código 280
𝐴
10
Costo fijo de preparación
λ
20
Tasa de demanda
ℎ
23
Costo de inventario anual
2𝐴λ
Cantidad de pedido: Con base en la ecuación (4), Q𝑑 = √ , y la
ℎ
Costo total del modelo: El costo total se calcula de acuerdo con la ecuación
ℎ𝑄 Aλ
(3), C(Q) = + y teniendo en cuenta el valor Q encontrado anteriormente.
2 𝑄
17
De esta forma, se halla un valor Q𝑑 , el cual como se podrá validar más adelante
al revisar la información del software, corresponde con la práctica utilizada en las
empresas de telecomunicaciones.
Costo total del modelo: Al igual que en el modelo básico, el costo total se
ℎ𝑄 Aλ
calcula de acuerdo con la ecuación (3), C(Q) = + , pero teniendo en cuenta
2 𝑄
λ
20
Tasa de demanda
ℎ
23
Costo de inventario anual
𝑏
29
Costo de pedidos pendientes
𝐿
1
Tiempo de reposición
18
2𝐴λ 𝑏+ℎ
Cantidad de pedido: Q𝑑 ∗ = √ ( )
ℎ 𝑏
ℎ
Punto de pedido: 𝑟𝑑 ∗ = 𝜆𝐿 − 𝑄𝑑
𝑏+ℎ
23
𝑟𝑑 ∗ = 20 − ( ) (5,6) = 17,5 KG
29 + 23
2 ℎQ 2
ℎ d)
𝑏(b+h
λ ℎ(Qd −b+hQd )
Costo total del modelo: 𝐶𝑑 ∗ (Q, r) = 𝐴 Q + +
2Q d 2Q d
2 2
23 23(5,6)
(20) 23 (5,6 − 5,6) 29 ( )
𝐶𝑑 ∗ (Q, r) = 10 +
29 + 23 + 29 + 23 = $ 71,63
5,6 2(5.6) 2(5,6)
19
1. En cualquier momento específico de tiempo, es posible analizar la
información de las variables del modelo de inventarios: punto de pedido y la
cantidad de pedido (Ver Figuras 5 y 6).
Figura 5. Datos para administrar el inventario del artículo “𝑋” el almacén A01
20
Existencias de seguridad: Dato numérico; es la cantidad de existencias para
cubrir las variaciones resultantes de la demanda.
21
Figura 6. Informe del ERP (Administración del inventario: artículo “𝑋”, almacén A01)
Reporte 2015/05/20
Versión: Consulta para Toma de Decisión en el Reabastecimiento. 13:00:36
Usuario: 1
.
Opciones de Proceso:
Modo Ejecución:
Prueba Fecha Inicio:2013/01/01 2015/01/05 Tiempo Reposición (días): Tiempo Surtido
Tiempo
(días):
Promedio (días):
30 % Cálculo IS: 0.2
.
Variables RESTAN de la CANTIDAD en Existencia
Variables SUMAN de la CANTIDAD en Existencia
Cantidad Comprometido en Duro S/NCantidad en Transito S/N S
Cantidad Comprometido Flexible S/N
Cantidad en Inspección S/N S
.
Costo
ROQ ROQ
Tipo de Und Unitario Prom. Prom. ROP ROP Punto
Und Med. Categoría Cantidad Cantidad ROP ABC
Almacén Abasteci Med. Última Costo Unitario Promedio Transac Transac (Actual.F41 de Pedido
Compras Contable Repedido Repedido (cálculo) Ventas
miento Almacén Compra con (Mensual) Diario 02) (actual)
(actual) (Calculo)
IVA
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
A01 S KG KG 0.29 0.25 IGMF 2626.8 591.78 20 680 410.75 4.2 622 A
22
2. La información de las variables del modelo de inventarios en su cotidianidad
se inicializa (o reinician como en nuestro caso), con unos datos de entrada
específicos para el punto de pedido y la cantidad de pedido (Ver Figura 7),
los cuales aunque provienen de resultados empíricos y criterio de expertos
(como se pudo evidenciar anteriormente), tienen un sustento matemático
soportado por una caracterización del modelo. A lo largo del tiempo, -es decir
en la medida que hay nueva información diaria de los consumos -, el
programa sugiere modificar la cantidad de pedido, 𝑄 ∗ así como el
correspondiente punto de pedido 𝑟 ∗ .
23
Punto de pedido: El punto de pedido se halla como el producto resultante de
una regla de tres entre el consumo promedio anual y el consumo promedio
mensual; se tiene en cuenta el inventario se seguridad establecido para el bien.
Fecha Consumo
promedio
365 7.200
30 𝑥(1+0,05)
30
𝑋 = (7.200) ∗ ( ) (1,05) = 621,6 ≅ 622
365
La Figura 7 contiene los datos de re inicialización del software, con los cuales
se administra el modelo de inventarios del artículo X en el almacén A01 teniendo
en cuenta una tasa de demanda, λ , de 20 y un ciclo de pedidos, 𝑇 , que
corresponde a 0,21.
24
cálculos y evaluaciones correspondientes sobre los costos del modelo de
inventarios. Uno de los aportes para la empresa que desde este trabajo se
espera brindar, es precisamente contar con un modelo matemático sustentado
que permita calcular en adelante el costo de la gestión del inventario. Por lo
anterior, y si se tiene en consideración que en la cotidianidad de la operación de
los inventarios de la empresa se generan pedidos pendientes, se hará uso de la
2 ℎQ 2
ℎ d)
𝑏(b+h
ℎ(Qd −b+hQd )
correspondiente ecuación, 𝐶(𝑄, 𝑟) = 𝐴 Q + 2 Qd
+ 2Q d
, para proceder
2
ℎ ℎQ 2
ℎ (Qd − Qd ) 𝑏( d )
b+h b+h
𝐶𝑑 ∗ (Q, r) = 𝐴 + + = $ 74,56
Q 2Q d 2Q d
25
Unidad de medida: Unidad de medida del artículo para el manejo del inventario.
Nivel precio de venta y Nivel de costos de inventario: 2. Estos datos hacen que
las transacciones de inventario y ventas se realicen con base en los precios de
venta y costos del inventario (promedios ponderados) propios del almacén.
26
Figura 9. Información ABC y Pesos y medidas: Datos del maestro de artículos.
Pesos y medidas: En esta sección del catálogo se determinan todas las unidades
de medida del bien.
27
Sucursal/planta. La identificación (alfanumérica) de cada uno de los almacenes
en los cuales tiene inventario el bien (artículo).
28
Figura 11. Campo: País Origen: Datos del artículo “𝑋” en el almacén A01
29
Figura 13. Datos de los consumos del inventario del artículo “𝑋” en el almacén A01
Tabla 4 Información de los costos para el caso de estudio según modelos 𝐸𝑂𝑄
Fuente: Elaboración propia
Valor
Valor
VALORES Obtenido
Valor Obtenido Valor Real
VARIABLE Modelo
Obtenido Modelo con Práctica de la Observaciones
O considerando
DATO Modelo básico costo del Empresa
el ciclo de
DE ANÁLISIS inventario
Pedido
Cantidad del pedido La cantidad de pedido, de acuerdo con la práctica de
que minimiza la función 4,17 4,20 5,60 4,20 la empresa, se calcula teniendo en cuenta un tiempo
de costos (Q) de ciclo, T, de 0,21 días.
Aunque los procedimientos de la empresa no
contemplan calcular los costos a cada uno de los
items de inventario, dadas las características del
proceso en este trabajo se optó por calcularlos
haciendo uso del modelo con costos del inventario.
30
REFERENCIAS
[1] Hopp Wallace,J y Spearman M.L, Factory Physics, New York: McGraw-Hill, 1997.
[2] Hopp Wallace,J y Spearman M.L, Factory Physics, 2da ed., New York: McGraw-Hill, 2001.
[3] Hopp,W.J., Spearman,M.L., «Inventory Control: From EOQ to ROP,» de Factory Physics:
Foundations of Manufacturing Managament, Boston, Irwin/ McGraw-Hill, 2000, pp. 48-
108.
31
LISTA DE TABLAS
32
LISTA DE FIGURAS
33
34
ANEXO 2
CONCEPTOS PRELIMINARES Y
MARCO NORMATIVO
Universidad de Medellín
Facultad de Ingenierías
Medellín-Colombia
20 de noviembre de 2015
1
CONCEPTOS PRELIMINARES Y MARCO NORMATIVO
2
próximas secciones de este trabajo se estudian algunos modelos de inventarios
y la correspondiente aplicación de la medida de riesgo CVaR.
4
Modelo (𝑅, 𝑇): Es un modelo de revisión periódica en el cual 𝑇 denota el
tiempo que transcurre entre pedido y pedido. En cada revisión se ordena una
cantidad de tal manera que el nivel de inventario llegue a 𝑅.
Modelo (𝑅, 𝑟, 𝑇): Un modelo de revisión periódica que sigue una política de
tipo (𝑅, 𝑟): Se realiza un pedido cuando el nivel de inventario sea igual o menor
a 𝑟 y la cantidad a pedir es aquella que permite llevar el nivel de inventario a 𝑅.
5
se encuentran en proceso de compra (incluyen las cantidades pendientes de
recepción y las que se encuentran en tránsito) y sustrayéndole las cantidades
que han sido demandadas o solicitadas por los usuarios.
1. Los modelos de inventarios están entre los casos más antiguos y discutidos
de investigación de operaciones, son ampliamente usados y citados, y como tal
componen el lenguaje de administración de producción.
2. Las obras escritas sobre los modelos de inventario son un papel clave en el
comportamiento de prácticamente todos los sistemas de producción.
3. Los resultados clásicos de inventario han sido centro y base para más
modernas técnicas de administración de inventario, como son: Requerimientos
de planificación de materiales (𝑀𝑅𝑃 ), Justo a Tiempo (𝐽𝐼𝑇 ), y competencia
basada en el tiempo (𝑇𝐵𝐶).
7
Marco Normativo Internacional
Algunos costos son excluidos del importe en libros de los inventarios, y por tanto
se reconoce como gastos del periodo en el cual se incurren; entre ellos:
8
(a) las cantidades anormales de desperdicio de materiales, mano de obra u otros
costos de producción.
(b) los costos de almacenamiento, a menos que tales costos sean necesarios en
el proceso productivo, previamente a un proceso de elaboración ulterior.
(c) los costos indirectos de administración que no hayan contribuido a dar a los
inventarios su condición y ubicación actuales.
(d) los costos de comercialización.
Según Ernst & Young [7], se definen los siguientes aspectos en considerando
de las Normas Internacionales de Información Financiera (𝑁𝐼𝐼𝐹):
9
Definición 𝑵𝑰𝑰𝑭 𝟏 - Repuestos menores. Son repuestos menores las
piezas de repuesto y el equipo de mantenimiento permanente, que la empresa
espera utilizar durante más de un periodo, que no cumplen las características
para ser activos de reemplazo.
11
evaluar e informar las operaciones de un ente económico, en forma clara,
completa y fidedigna. Los PCGA sirven de guía contable para la formulación de
criterios referidos a la medición del patrimonio y a la información de los
elementos patrimoniales y económicos de un ente y constituyen parámetros para
que los estados financieros se realicen sobre la base de métodos uniformes de
técnica contable.
13
cambiar el método de valoración de los inventarios), y los requisitos de las
solicitudes, así como de los términos para resolverla.
14
REFERENCIAS
[2] Noori,H., and Radford,R., «Calidad Total y Respuesta Sensible Rápida,» de Administración
de Operaciones y Producción, Bogotá, Colombia, McGraw Hill, 1997.
[4] Hadley G. and T.M.Whitin, Analysis of Inventory System, Englewood Cliffs, New Jersey:
Prentice-Hall Inc, 1963.
[6] Hopp,W.J., Spearman,M.L., «Inventory Control: From EOQ to ROP,» de Factory Physics:
Foundations of Manufacturing Managament, Boston, Irwin/ McGraw-Hill, 2000, pp. 48-
108.
[7] Ernst and Young, «Definiciones técnicas - Inventarios de Definiciones técnicas en materia
contable y financiera Programa NIIF,» SE, Medellín, Diciembre 2012.
15
ANEXO 3
PSEUDOCÓDIGO DE LOS ALGORITMOS
ALGORITMO DE FEDERGRUEN:
Evaluación de algunas funciones y resultados
Universidad de Medellín
Facultad de Ingenierías
Medellín-Colombia
20 de noviembre de 2015
1
ALGORITMO DE FEDERGRUEN
2
Federgruen y Zhen, por su parte, contribuyen en estas investigaciones
generando un algoritmo que ha sido considerado simple y eficiente para el
cálculo de un óptimo (𝑄, 𝑟), y es así como finalmente para el caso de estudio, se
plantea utilizar éste para hallar el valor óptimo tanto de los costos como de las
variables de decisión “Cantidad de pedido” y “Punto de pedido” en el modelo
(𝑄, 𝑟) con costos del inventarios. Por medio de la aplicación de éste algoritmo se
plantea resolver el problema de minimización propuesto en el desarrollo del
trabajo “Medidas de riesgo financiero en la optimización de inventarios: un caso
de estudio en las empresas prestadoras de servicios de telecomunicaciones”; se
aclara que aunque se parte del algoritmo propuesto por Federgruen, A. and Y.S
Zheng, la presente versión corresponde a una adaptación realizada por Arango
et al.
3
# Proyecto de investigación 2015/07
rm(list=ls(all=TRUE))
# Función F
F. <- function(x, l=a){ppois(x,l)}
# Mínimo de G, y0
te <- 0
paso <- 0.2
while(G(te + paso) - G(te) < 0){te <- te + paso}
y0 <- te
# -----------------------------------------------------------------------------
# Q y r en el modelo EOQ. Ec. (20) y (21)
4
Qd.ast <- round(sqrt(2*lamb*K*(h.+p)/(h.*p)),1)
S <- Qd.ast*h./(h.+p)
rd.ast <- round(lamb*L - S,1)
Cd.ast <- round((Qd.ast-S)*(Qd.ast-S)/(2*Qd.ast)*h.+
lamb*K/Qd.ast+S^2*p/(2*Qd.ast),2)
# -----------------------------------------------------------------------------
# Algoritmo Federgruen con la función G
# Función Delta de G
DG <- function(y){G(y+1)-G(y)}
te <- 0
while(DG(te) < 0){te <- te + 1}
S0 <- C.ast <- lamb*K + G(te)
Q0 <- 1
r0 <- te - 1
R0 <- te + 1
while((C.ast > G(r0))|(C.ast > G(R0))){
if(G(r0) <= G(R0)){
S0 <- S0 + G(r0)
r0 <- r0 - 1}
else{
S0 <- S0 + G(R0)
R0 <- R0 + 1}
Q0 <- Q0 + 1
C.ast <- round(S0/Q0,2)}
(r.ast <- r0)
(Q.ast <- Q0)
(C.ast)
# -----------------------------------------------------------------------------
5
# r(Q) con G. Método de la secante
r.Q <- function(Q){if(Q==0){return(y0)}
if(Q!=0){x<-z<-0.5
signo<-sign(G(x+Q)-G(x))
while(sign(G(z+Q)-G(z))==signo){z<-z+1}
x[2]<-z
k<-2
while(abs(x[k]-x[k-1])>0.2){
x[k+1]<-x[k]-(G(x[k]+Q)-G(x[k]))*(x[k]-x[k-1])/
(G(x[k]+Q)-G(x[k])-G(x[k-1]+Q)+G(x[k-1]))
k<-k+1}
return(x[length(x)])}}
# -----------------------------------------------------------------------------
# Función H. Ec. (6)
H <- function(Q){G(r.Q(Q))}
# -----------------------------------------------------------------------------
# Función auxiliar para integrar H entre 0 y Q. Aproximación por trapecios.
int.H <- function(Q){x <- c(0:Q,Q)
(G(y0)+G(r.Q(Q)))/2 +
sum(sapply(2:(length(x)-1),function(k){G(r.Q(x[k]))}))}
# -----------------------------------------------------------------------------
# Función C(Q). Ec. (7)
C_ <- function(Q){(lamb*K+int.H(Q))/Q}
#############################################################
###################
## Hacia el CVaR
## Función FF. Función de distribución de la función Fi
FF <- function(y,xi){F.(y+xi/p)-F.(y-xi/h.)}
#FF(Qd.ast,225)
6
# -----------------------------------------------------------------------------
## VaR de FF. Método de la secante
VaR <- function(y,nivel){x <- z <- 0
while(FF(y,z)-nivel < 0){z <- z + a/2}
x[2] <- z
k <- 2
while(xor((abs(x[k]-x[k-1]) > 0.1),(FF(y,x[k])!=FF(y,x[k-1])))){
x[k+1] <- x[k] - (FF(y,x[k])-nivel)*(x[k]-x[k-1])/(FF(y,x[k])-FF(y,x[k-1]))
k <- k+1}
p1 <- c(floor(x[k]),x[k],ceiling(x[k]))
p2 <- sapply(1:3,function(j){FF(y,p1[j])-nivel})
p3 <- min(p2)
p4 <- p1[which(p2==p3)]
length(p4) <- 1
return(p4)}
#VaR(Qd.ast,alfa)
#FF(Qd.ast,1400)
# -----------------------------------------------------------------------------
## Funciones y sub barra y y super barra para el cálculo de CVaR:
y.sb <- function(y,nivel){y - VaR(y,nivel)/h.}
y.sp <- function(y,nivel){y + VaR(y,nivel)/p}
# -----------------------------------------------------------------------------
## CVaR de Fi
CVaR <- function(y,nivel){
(h.*integrate(F.,0,y.sb(y,nivel), subdivisions=1000)$value+
p*integrate(F.,0,y.sp(y,nivel), subdivisions=1000)$value+
p*(a-y)-nivel*VaR(y,nivel))/(1-nivel)}
# -----------------------------------------------------------------------------
# Mínimo de cvar, y0c
y0c <- function(nivel,paso=0.5){te <- 0
while(CVaR(te + paso,nivel) - CVaR(te,nivel) < 0){te <- te + paso}
7
return(te)}
# -----------------------------------------------------------------------------
## r(Q) con CVaR. Cálculo con el método de la secante
rc <- function(Q,nivel,paso=0.5){
if((Q==0)&(nivel==0)){return(y0)}
if(Q==0){return(y0c(nivel,paso))}
if(Q>0){te <- 0
while((CVaR(te + Q,nivel) - CVaR(te,nivel)) < 0){te <- te + 1}
tol <- 0.4 # Tolerancia
x <- c(te - 1,te)
k <- 2
while(abs(x[k]-x[k-1]) > tol){
x[k+1] <- x[k]-
(CVaR(x[k]+Q,nivel) - CVaR(x[k],nivel))*(x[k]-x[k-1])/
((CVaR(x[k]+Q,nivel) - CVaR(x[k],nivel))-
(CVaR(x[k-1]+Q,nivel) - CVaR(x[k-1],nivel)))
k <- k+1}
return(x[k])}}
#rc(0,alfa)
#y0c(alfa)
#rc(Qd.ast,alfa)
# -----------------------------------------------------------------------------
# Función H con CVaR
Hc <- function(Q,nivel,paso=0.5){
if(Q==0){return(CVaR(y0c(nivel,1),nivel))}
if(Q>0){CVaR(rc(Q,nivel,paso),nivel)}}
#Hc(0,alfa)
#Hc(Qd.ast,alfa)
# -----------------------------------------------------------------------------
# Función auxiliar para integrar Hc entre 0 y Q. Aproximación por trapecios
int.Hc <- function(Q,nivel,paso=0.5){x <- c(seq(0,Q,paso),Q)
8
((CVaR(y0c(nivel,paso),nivel) +
CVaR(rc(x[(length(x)-1)],nivel,paso),nivel))/2 +
sum(sapply(2:(length(x)-2),function(k){CVaR(rc(x[k],nivel,paso),
nivel)})))*paso+
(CVaR(rc(x[(length(x)-1)],nivel,paso),nivel)+
CVaR(rc(Q,nivel,paso),nivel))*(Q-x[(length(x)-1)])/2}
#x <- c(0:Qd.ast,Qd.ast)
#y<-sapply(1:length(x),function(k){Hc(x[k],alfa)})
#plot(x,y,type='l',col='blue',main='H(Q)',,xlim=c(0,max(x)),ylim=c(0,max(y)))
#abline(h=0,v=0)
#H0 <- Hc(0,alfa)
#HQ <- Hc(Qd.ast,alfa)
#points(c(0,Qd.ast),c(H0,HQ),pch=16,col='red')
#lines(c(0,0,Qd.ast,Qd.ast,0),c(H0,0,0,HQ,H0),col='red')
#int.Hc(Qd.ast,alfa)
#(H0+HQ)*Qd.ast/2
# -----------------------------------------------------------------------------
# Función C(Q) para el CVaR
Cc <- function(Q,nivel,paso=0.5){(lamb*K+int.Hc(Q,nivel,paso))/Q}
#Cc(Qd.ast,alfa)
# -----------------------------------------------------------------------------
# Función de costo con CVaR
C. <- function(Q,r,nivel){(lamb*K+
sum(sapply((r+1):(r+Q),function(y){CVaR(y,nivel)})))/Q}
# -----------------------------------------------------------------------------
9
DCVaR <- function(y,nivel){CVaR(y+1,nivel)-CVaR(y,nivel)}
te <- 0
while(DCVaR(te,alfa) < 0){te <- te + 1}
S <- C.ast.alfa <- lamb*K + CVaR(te,alfa)
Q <- 1
r <- te - 1
R <- te + 1
while((C.ast.alfa > CVaR(r,alfa))|(C.ast.alfa > CVaR(R,alfa))){
if(CVaR(r,alfa) <= CVaR(R,alfa)){
S <- S + CVaR(r,alfa)
r <- r - 1}
else{
S <- S + CVaR(R,alfa)
R <- R + 1}
Q <- Q + 1
C.ast.alfa <- round(S/Q,2)}
(r.ast.alfa <- r)
(Q.ast.alfa <- Q)
(C.ast.alfa)
10
dimnames(resultado)<-list(NULL, c('K', 'lamb*K',
'Qd.ast', 'Q.ast', 'Q.ast.alfa',
'rd.ast', 'r.ast', 'r.ast.alfa',
'Cd.ast', 'C.ast', 'C.ast.alfa',
'C.Qd.ast.alfa','R'))
resultado
11
REFERENCIAS
Federgruen,A. and Y.S. Zheng, «A Simple and Efficient Algorithm for Computig Optimal (r,Q)
Policies in Continuos Review stochastic Inventory Systems,» Operations Research, vol. 40, nº 4,
pp. 808-813, Jul-Aug 1992.
12