Modelo de pronóstico de demanda y optimización de programación de personal
para empresa Autolavado CASM
Juliana Sánchez Ramírez, John Fontecha
Departamento de Ingeniería Industrial, Universidad de los Andes, Bogotá, Colombia
Abstract: In this work we tackle the problem of scheduling of personal in a carwash
company subject to demand. Nonetheless, the demand is nondeterministic and it should
be predicted. To solve the problem, we used a procedure based on two parts, first a
forecasting model is used to predict the demand in different days of the week, then a MIP
was proposed to schedule the personal. Finally, a support decision tool was developed,
involving updating forecasts according to real demand, solving the scheduling problem
for a week and showing the results in a graph. We applied our methodology on a case
study for CASM Carwash company.
Resumen: En este trabajo vamos a abordar el problema de asignación de personal en un
auto lavado sujeto al cumplimiento de la demanda. Sin embargo, la demanda es no
determinista y debe ser pronosticada. Para resolver el problema usamos un procedimiento
desarrollado en dos partes, primero se usó un modelo de pronóstico con el fin de predecir
la demanda para cada uno de los días de la semana, después se propuso un modelo MIP
para asignar al personal. Finalmente se desarrolló una herramienta de apoyo a la decisión,
que por un lado involucra la actualización de los pronósticos de acuerdo a la demanda
real, y por otro lado resuelve el problema de asignación para una semana mostrando
gráficamente los resultados. Nuestro método fue aplicado en el caso de estudio de la
empresa Autolavado CASM.
1. Introducción
La programación óptima de un conjunto determinado de personal en diferentes tareas o
turnos de trabajo (Cela, 2002) es uno de los problemas más estudiados en la literatura,
autores como Harold Kuhn han desarrollado algoritmos iterativos como el método
húngaro, que mediante el uso matrices de costos permite resolver este tipo de problemas
de asignación (Kuhn, 1955), otros autores como Bechtold han empleado heurísticas
basadas en programación lineal y heurísticas construidas (Bechtold et al., 1991). Para este
tipo de problemas de asignación existe un amplio campo de estudio ya que una gran
cantidad de industrias requiere asignar su personal de acuerdo a turnos de trabajo
estipulados, por lo tanto, este problema ha sido aplicado en diversas organizaciones como
centros médicos, callcenters o aeropuertos (Ganguly et al., 2014).
Resolver problemas de asignación de personal facilita la coordinación de labores de todos
los empleados satisfaciendo los diferentes requerimientos que se deban cumplir en cada
caso en particular, de este modo también es posible disminuir excesos de carga en los
trabajadores o posibles tiempos ociosos. Así mismo la programación de personal puede
estar enfocada a cumplir distintos tipos de objetivos, como lo es minimizar costos,
maximizar las tasas de servicio o incluso múltiples objetivos a la vez. Es por esto que
dependiendo del objetivo que se desee optimizar se pueden obtener distintos problemas,
que pueden consistir en asignaciones lineales e incluso asignaciones cuadráticas o de
dimensiones superiores que implican diferentes niveles de complejidad (Cela, 2002).
No obstante, también es importante considerar que existe una gran variedad de problemas
de asignación de personal dependiendo de las restricciones que se incluyan, por ejemplo,
el horizonte de tiempo que se va a programar, la existencia de turnos predefinidos o no,
diferencias entre las habilidades del personal y días libres entre otros (Brusco, 2007). Ya
que de todo esto depende el tamaño del problema debido a que define la cantidad de
variables de decisión y restricciones, adicionalmente el tipo de industria o situación para
la cual se quiere programar el personal hace que el problema sea mucho más específico.
Otros aspectos a considerar son el tipo de demanda y tareas que se deben satisfacer en los
diferentes turnos, ya que pueden ser determinísticos, probabilísticos, estacionales, etc...
Esta variabilidad en la naturaleza de la demanda y las tareas depende en gran parte del
tipo de industria o situación que se está tratando. Sin embargo, dependiendo de la
naturaleza de dichos aspectos hay diversas metodologías que permiten realizar
pronósticos de demanda. Un ejemplo de pronósticos es el análisis de series de tiempo
propuesto por Box-Jenkins en el que se aplican modelos autorregresivos y de media móvil
que permiten caracterizar la serie de acuerdo a su tendencia, estacionalidad y demás
patrones, y mediante las funciones de autocorrelación se hallan los parámetros de los
pronósticos (Diem Ngo, 2013). Otro ejemplo de metodologías de predicción es el
procedimiento de Holt Winters el cual es útil para realizar pronósticos a corto plazo de
series de tiempo para ventas o demanda entre otros (Chatfield et al., 1988).
Teniendo en cuenta todas las consideraciones anteriores es claro que existe una amplia
variedad de problemas de asignación de personal, y así mismo diversas metodologías que
dependiendo del problema funcionan mejor y permiten hallar la solución óptima o una
solución cercana al óptimo (en el caso de heurísticas, si los problemas son muy
complejos). Algunas de las metodologías más conocidas son el método húngaro, modelos
de optimización lineales y heurísticas basadas en programación lineal, para otros casos
más complejos se han usado métodos de cortes enteros y heurísticas constructivas.
Debido a lo anterior es importante reconocer el tipo de problema que se va a resolver para
así seleccionar la metodología que mejor se ajusta a las necesidades de la situación.
Para resolver el problema de asignación de empleados en el caso de estudio se empleará
un modelo de programación lineal entera mixta similar al trabajo hecho por Gomar et al.
(2002), en el cual se incluirán todas las restricciones relativas al problema y se generará
la asignación de personal que minimiza los costos de contratación y la cantidad total de
empleados contratados en el horizonte de tiempo. En cuanto a la estimación de demanda
se realizarán pronósticos usando la metodología de Holt- Winters donde se identificarán
las diferentes series de tiempo obtenidas a partir de datos históricos y se actualizarán los
pronósticos a lo largo del tiempo.
El resto del documento se encuentra organizado de la siguiente manera: Definición formal
del problema, Metodología empleada para realizar la asignación de personal, aplicación
de la metodología en el caso de estudio Autolavado CASM, resultados obtenidos y
finalmente conclusiones y trabajo futuro.
2. Definición del problema
El problema de asignación de empleados incluye decisiones como contratar o no un
empleado, si los empleados contratados hacen horas extra y las estaciones en las que
trabajan los empleados contratados en cada franja horaria.
Formalmente este tipo de problemas se pueden definir a partir de un conjunto de
empleados disponibles ℰ = {1,2, … , 𝑛}, es decir la máxima cantidad de empleados
posible a contratar, un conjunto de días durante los cuales se quiere asignar a los
empleados 𝒟 = {1, 2, … , 𝑘} , es decir el horizonte de planeación, un conjunto de franjas
horarias o turnos de trabajo ℱ = {1,2, … , 𝑝} y un conjunto de estaciones de trabajo en las
cuales se debe distribuir al personal 𝒜 = {1, 2, … , 𝑠}. El parámetro 𝑑𝑖𝑏𝑙 representa la
demanda (pronosticada o conocida) en unidades de tiempo o unidades de producto para
cada día 𝑖 ∈ 𝒟 en cada estación de trabajo 𝑏 ∈ 𝒜 y cada franja horaria 𝑙 ∈ ℱ. El costo de
contratación 𝑐𝑚𝑖 del empleado 𝑚 ∈ ℰ el día 𝑖 ∈ 𝐷, este costo puede a su vez ser
independiente del empleado y el día en casos donde todos los empleados pueden realizar
las mismas actividades y no hay distinción entre los costos de acuerdo al día. El costo de
trabajar horas extra 𝑜𝑚𝑖 para cada empleado 𝑚 ∈ ℰ en el día 𝑖 ∈ 𝒟 que igual al costo de
contratación puede ser o no igual para todos los empleados en todos los días. Finalmente,
la duración 𝑛𝑙 en unidades de tiempo de cada una de las franjas de trabajo ya que
dependiendo de esto cambia el número de turnos en un día laboral.
Adicionalmente, dependiendo de si los empleados pueden realizar cualquier tipo de
actividad o no es importante tener en cuenta 𝑓𝑚𝑏 el tiempo o tasa de producción del
empleado 𝑚 ∈ ℰ en realizar la actividad de la estación 𝑏 ∈ 𝒜.
3. Metodología
3.1 Pronósticos de demanda
Es necesario tener en cuenta que hallar el mejor método de pronóstico no es una tarea
fácil ya que existen muchos tipos de problemas de predicción que dependen de una gran
variedad de consideraciones y objetivos, como las propiedades de los datos y el número
de series de tiempo a pronosticar entre otras (Chatfield et al., 1988). Para realizar el
pronóstico de la demanda en casos en los que esta no es conocida es importante analizar
la información histórica que se tenga disponible, de este modo al hacer un análisis gráfico
por ejemplo será posible identificar patrones estacionales o tendencias que permitan
obtener una idea de los métodos de pronósticos que se pueden usar.
Un ejemplo es el caso en el que la demanda es estacional y se repiten patrones cada cierto
periodo de tiempo, para este tipo de casos una opción es usar el método de Holt-Winters,
llamado método estacional de Winters el cual es una variante del suavizamiento
exponencial simple, donde se incluyen parámetros para actualizar la media, tendencia y
componente estacional, este método permite hacer pronósticos ajustados para periodos
cortos de tiempo (Chatfield et al., 1988). Para construir pronósticos mediante este método
es necesario primero inicializar los siguientes parámetros: 𝛼 que corresponde al
coeficiente de suavización del nivel o media de la serie, 𝛽 que es el parámetro de
suavización de la tendencia, 𝛾 que corresponde al coeficiente de suavización del índice
estacional, 𝑆0 que equivale al nivel o media de la serie de tiempo, 𝐺0 que corresponde a
la tendencia de la serie y 𝐶0 el índice estacional. Adicionalmente es necesario identificar
𝑚 el número de estaciones presentes en toda la serie de tiempo y la longitud de cada
estación 𝑁.
Existen diversos métodos de inicialización de los parámetros mencionados anteriormente,
uno es el método propuesto por Granger et al. (1986) que implica establecer 𝑆0 como el
promedio de las observaciones del primer año, 𝐺0 igual a cero y 𝐶0 comparando las
observaciones cíclicas del primer año. Otro método, propuesto por Makridakis et al.
(1982) consiste en usar “backcasting”, un método en el cual se revierte el orden de los
datos y se usan los más recientes para empezar el procedimiento, los datos del final (más
antiguos) se usan como valores iniciales. Un tercer método propuesto por Gardner (1986)
consiste en usar todos los valores de la serie ajustando una regresión lineal de todos los
datos para obtener los valores iniciales, donde 𝑆0 es el intercepto, 𝐺0 es la tendencia y 𝐶0
se obtiene a partir de todas las observaciones cíclicas (Chatfield et al., 1988). En cuanto
a los parámetros de suavizamiento (𝛼, 𝛽 𝑦 𝛾) existen dos métodos de inicialización
generales, el primero consiste en encontrar los parámetros que minimicen la suma
cuadrada de errores de los pronósticos respecto a los datos históricos y el segundo consiste
en estimarlos de acuerdo al juicio del modelador (Chatfield & Yar, 1988).
Teniendo los parámetros iniciales es posible aplicar las siguientes fórmulas para construir
el modelo de predicción:
𝑆𝑡 = 𝛼𝐷𝑡
𝐶𝑡−𝑁+ (1 − 𝛼)(𝑆𝑡−1 + 𝐺𝑡−1) (1)
𝐺𝑡 = 𝛽(𝑆𝑡 − 𝑆𝑡−1) + (1 − 𝛽)𝐺𝑡−1 (2)
𝐶𝑡 = 𝛾𝐷𝑡
𝑆𝑡+ (1 − 𝛾)𝐶𝑡−𝑁 (3)
𝐹𝑡,𝑡+𝜏 = (𝑆𝑡 + 𝜏𝐺𝑡)𝐶𝑡+𝜏−𝑁 (4)
Donde 𝑆𝑡 (1) equivale al nivel o media de la serie en el tiempo t, 𝐺𝑡 (2) corresponde a la
tendencia de la serie en el tiempo t y 𝐶𝑡 (3) es el el índice estacional en el tiempo t,
respecto a 𝐹𝑡,𝑡+𝜏 (4) este es el valor de la predicción para el periodo 𝑡 + 𝜏 siendo t la
ultima observación disponible de la serie de tiempo.
Continuando con el ejemplo de demanda estacional otro método apropiado a considerar
es el propuesto por Box et al. (1973) en el que se usan modelos autorregresivos y de
medias móviles para estimar componentes en los cuales los rezagos deban ser tenidos en
cuenta y los errores aleatorios de los periodos recientes. Para esto primero es necesario
identificar si la serie es estacionaria, es decir que su media a largo plazo no aumente ni
disminuya con el fin de incluir un componente de tendencia en caso de que exista, es
posible identificar la estacionariedad mediante la gráfica de la función de autocorrelación
parcial, en la cual también se pueden evidenciar comportamientos estacionales y su
periodo (Modelos para pronosticar la demanda de un producto de consumo masivo para
la limpieza del hogar en el mercado colombiano, 2003). Habiendo identificado estos
comportamientos es posible caracterizar la serie encontrando los parámetros p
(correspondiente al componente autorregresivo) y q (componente de media móvil), de
este modo se puede caracterizar la serie como ARMA (p, q). De acuerdo a lo anterior la
ecuación general de predicción para un modelo ARMA sería:
𝑍𝑡 = 𝜃0 + 𝜙1𝑌𝑡−1 + ⋯ + 𝜙𝑝𝑌𝑡−𝑝 − 𝜃1𝑎𝑡−1 − 𝜃2𝑎𝑡−2 − ⋯ − 𝜃𝑞𝑎𝑡−𝑞 + 𝑎𝑡 (5)
Donde 𝜃0 es el parámetro constante, cada 𝜙𝑛 es el parámetro del componente
autorregresivo de orden n, 𝑌𝑡−𝑛 es el valor de la serie de tiempo n periodos atrás, 𝜃𝑛 es el
parámetro del promedio móvil y 𝑎𝑡−𝑛 es el error aleatorio n periodos atrás (Modelos para
pronosticar la demanda de un producto de consumo masivo para la limpieza del hogar en
el mercado colombiano, 2003).
3.2 Formulación del modelo de programación lineal
Como parámetros adicionales para la formulación se tuvo en cuenta ℎ que equivale a la
duración en minutos de una hora extra, 𝑊 que para términos prácticos se usó como un
número muy grande y 𝑎 que corresponde a la cantidad máxima de días que puede trabajar
un empleado durante el horizonte de tiempo a programar.
Una vez se tienen los parámetros requeridos es necesario plantear las variables de decisión
que se van a emplear. Por un lado, está 𝑥𝑚𝑖𝑏𝑙, una variable binaria que toma el valor de 1
si el empleado 𝑚 ∈ ℰ trabaja el día 𝑖 ∈ 𝒟 en la estación 𝑏 ∈ 𝒜 durante la franja 𝑙 ∈ ℱ y
0 de lo contrario. La variable binaria 𝑦𝑚𝑖, que toma el valor de 1 si el empleado 𝑚 ∈ ℰ
trabaja el día 𝑖 ∈ 𝒟 y 0 de lo contrario. La variable entera 𝑝𝑚𝑖 que indica el número de
horas extra que trabaja el empleado 𝑚 ∈ ℰ el día 𝑖 ∈ 𝒟. Finalmente está la variable
binaria 𝑞𝑚, que toma el valor de 1 si el empleado 𝑚 ∈ ℰ es contratado alguno de los días
a programar.
Para resolver el problema se simplifica la metodología propuesta por Gomar et al. (2002)
ya que en este caso se asume que todos los trabajadores pueden realizar cualquier trabajo,
de modo que el programa entero mixto formulado es el siguiente:
𝑚𝑖𝑛 ∑ 𝑞𝑚
𝑚∈𝐸
(6.1)
min ∑ ∑ 𝑦𝑚𝑖 (𝑐𝑚𝑖)𝑚∈ℰ
+𝑖∈𝒟
∑ ∑ 𝑝𝑚𝑖 (𝑜𝑚𝑖)𝑚∈𝐸𝑖∈𝐷
(6.2)
s.a.
∑ 𝑥𝑚𝑖𝑏𝑙(𝑛𝑙)𝑚∈ℰ
+ ∑ 𝑝𝑚𝑖(ℎ)𝑚∈ℰ
≥ 𝑑𝑖𝑏𝑙 ∀ 𝑖 ∈ 𝒟, 𝑏 ∈ 𝒜 , 𝑙 ∈ ℱ (7)
∑ ∑ 𝑥𝑚𝑖𝑏𝑙 = 2𝑦𝑚𝑖 ∀𝑚 ∈ ℰ, 𝑖 ∈ 𝒟 (8)
𝑙 ∈ ℱ 𝑏 ∈ 𝒜
∑ 𝑥𝑚𝑖𝑏𝑙 ≤ 1 ∀𝑚 ∈ ℰ, 𝑖 ∈ 𝒟, 𝑙 ∈ ℱ (9)
𝑏 ∈ 𝒜
∑ 𝑦𝑚𝑖 ≤ 𝑎 ∀ 𝑚 ∈ ℰ𝑖∈𝒟
(10)
𝑝𝑚𝑖 ≤ 𝑦𝑚𝑖 ∗ 𝑊 ∀ 𝑖 ∈ 𝒟, 𝑚 ∈ ℰ (11)
𝑝𝑚𝑖 ≤ 1 ∀ 𝑖 ∈ 𝒟, 𝑚 ∈ ℰ (12)
𝑞𝑚(𝑊) ≥ ∑ 𝑦𝑚𝑖 ∀ 𝑚 ∈ ℰ (13)
𝑖∈𝒟
𝑥𝑚𝑖𝑏𝑙 ∈ {0,1} ∀ 𝑚 ∈ ℰ, 𝑖 ∈ 𝒟, 𝑏 ∈ 𝒜, 𝑙 ∈ ℱ (14)
𝑦𝑚𝑖 ∈ {0,1} ∀ 𝑚 ∈ ℰ, 𝑖 ∈ 𝒟 (15)
𝑝𝑚𝑖 ∈ {0,1} ∀ 𝑚 ∈ ℰ, 𝑖 ∈ 𝒟 (16)
𝑞𝑚 ∈ {0,1] ∀𝑚 ∈ ℰ (17)
En este caso el problema se modeló con dos funciones objetivo, en primer lugar, está la
función objetivo (6.1) que minimiza la cantidad total de empleados contratados en el
horizonte de programación, esto, debido a que es preferible contratar la menor cantidad
de empleados posible en caso de tener que pagar seguros por riesgos laborales. En
segundo lugar, se formuló la función objetivo (6.2) que minimiza el costo total de
contratación para el horizonte de tiempo programado cuando el empleado 𝑚 ∈ ℰ es
contratado el día 𝑖 ∈ 𝒟 y las horas extras hechas por el mismo. Para resolver este
problema con dos funciones objetivo el procedimiento consiste en resolver primero el
modelo minimizando la función (6.1), guardar el valor de dicha función objetivo como
una variable denominada 𝑟 y resolver el problema nuevamente pero ahora usando la
función objetivo (6.2) y agregando la restricción (18) la cual garantiza que no se asignen
más empleados en el horizonte de programación de los que se hallaron como solución
óptima en el primer problema resuelto.
∑ 𝑞𝑚
𝑚∈𝐸
≤ 𝑟 (18)
El conjunto de restricciones (7) garantiza el cumplimiento de la demanda para cada día
en cada estación de trabajo y turno laboral; el conjunto de restricciones (8) garantiza que
si un empleado es contratado en alguno de los dos turnos, deba ser contratado en el otro
turno también, esto para casos en los que los empleados trabajen únicamente por día
completo; El conjunto de restricciones (9) modela que cada empleado asignado
únicamente se programe a una estación de trabajo en cada franja horaria; Las restricciones
(10) garantizan que el número máximo de días que puede trabajar un empleado no se
exceda a lo largo del horizonte de planeación; Los conjuntos de restricciones (11) y (12)
garantizan que solamente los empleados contratados en un día específico puedan hacer
horas extra, así mismo se restringe la cantidad de horas extra realizadas, en este caso
máximo 1; El conjunto de restricciones (13) define la variable que indica si un empleado
es contratado a lo largo del horizonte de planeación; Finalmente, los conjuntos de
restricciones (14), (15), (16) y (17) garantizan la naturaleza de las variables de decisión.
3.3 Implementación del modelo de optimización y desarrollo de herramienta
Una vez se tiene todo el modelo de programación lineal formulado y los parámetros
necesarios es posible realizar la implementación en un optimizador lineal, en este caso se
optó por usar OpenSolver 2.8.3, un optimizador de código abierto para Microsoft Excel
que extiende el complemento Solver con optimizadores más poderosos mediante el uso
de Excel VBA (About Open Solver, 2016), ya que permite elaborar la interfaz mediante
un formulario en Visual Basic y enlazarla con la programación del modelo de
optimización. Las funciones de la herramienta desarrollada son: actualizar las demandas
de días pasados con el fin de actualizar los pronósticos futuros, ingresar parámetros
básicos como días laborales de la empresa, número máximo de días de trabajo por
empleado, fecha del lunes de la semana a programar y cantidad de empleados disponibles,
con base en los parámetros ingresados la herramienta muestra la asignación óptima de
personal encontrada que minimiza el número total de empleados contratados y los costos
de contratación.
Mediante macros en Visual Basic se implementan las restricciones y variables de decisión
en Microsoft Excel 2016, se realizan todos los procedimientos para agregar las
restricciones, función objetivo y celdas variables al complemento OpenSolver y
finalmente este es invocado para solucionar el problema. Es importante tener en cuenta
que para poder invocar OpenSolver desde las macros de Excel se debe habilitar el
complemento Solver y dentro de Visual Basic activar en el cuadro de referencias Solver
y OpenSolver. Como paso siguiente se construyó el formulario con los botones
correspondientes para actualizar demandas y asignar empleados, los cuales invocan los
métodos ya desarrollados y permiten visualizar los resultados de la asignación
gráficamente.
4. Caso de estudio (Autolavado CASM)
La empresa Autolavado CASM fundada en el año 1991 se encuentra ubicada en el
municipio Tabio, Cundinamarca. Esta empresa presta principalmente servicios de lavado
de vehículos para lo cual pueden llegar Automóviles y camperos o camionetas para lavado
general (externo e interno), lavado con motor (externo, interno y motor) y para lavado
exterior (externo únicamente), adicionalmente llegan motos y vehículos grandes como
compactadores, NPR, camiones de basura, entre otros. Teniendo en cuenta la información
anterior se clasificó la demanda de todos los tipos de vehículo en 8 categorías
(Automóviles general, automóviles exterior, automóviles motor, CC general, CC exterior,
CC motor, motos y Vehículos grandes). Adicionalmente y en menor medida en la empresa
se prestan servicios como cambio de aceite, montallantas y venta de algunos repuestos e
insumos automotores. Debido a que la actividad principal de la empresa es el servicio de
lavado de vehículos se tomó únicamente esta actividad para el desarrollo de la
programación de personal.
A lo largo del tiempo el negocio se ha mantenido en el mercado y el volumen de vehículos
atendidos es incierto, por lo que la demanda y los requerimientos de personal también lo
son. Actualmente la empresa labora los 7 días de la semana en horarios de 8 de la mañana
a 6 de la tarde y la asignación diaria de personal la lleva a cabo el propietario de acuerdo
a su experiencia. Se cuenta en total con 4 empleados disponibles asignados de la siguiente
manera: 2 empleados para los días lunes, martes, miércoles, jueves y viernes, y para los
días sábados, domingos y festivos se contratan 3 empleados. Los 4 empleados actuales
realizan cualquier tipo de tarea cualquier día de la semana, por lo que es posible que un
empleado lave y aspire vehículos en cualquier momento del día. Con la asignación actual
de empleados suele ocurrir que existen días en los cuales la demanda sobrepasa la
capacidad de atención, por lo que muchos clientes deben esperar largo tiempo para ser
atendidos, como consecuencia algunos se van o incluso los empleados deben trabajar
horas extra (máximo una hora por empleado), en otras ocasiones la situación es contraria
debido a que hay poca demanda y los empleados contratados no están lo suficientemente
ocupados a lo largo del día. En vista del problema mencionado surge la necesidad de
realizar la programación de personal partiendo de bases teóricas para así mejorar su
eficiencia.
En primer lugar, se analizó la información histórica de demanda (número de vehículos
que llegan al día por tipo de vehículo y servicio) durante los últimos 3 años (Mayo 2013
– Mayo 2016), del caso de estudio Autolavado CASM para cada una de las 8 series de
tiempo (Clasificaciones por tipos de llegadas) para pronosticar cada una de ellas. Con la
información anterior se identificaron comportamientos estacionales en la mayoría de
series de tiempo por lo que se elaboraron los pronósticos de las demandas mediante los
siguientes 2 métodos: Metodología de Box-Jenkins y Holt – Winters.
Para la metodología de Box - Jenkins que emplea modelos autorregresivos y de medias
móviles primero se identificó si las series eran estacionarias o no, es decir que su media
a largo plazo no aumente ni disminuya, esto con el fin de tener en cuenta la tendencia en
caso de que exista a la hora de pronosticar. Mediante la gráfica de la función de
autocorrelación parcial se identificó si las series eran estacionarias, luego se determinó
mediante la misma gráfica la existencia de estacionalidad de 7 periodos para todas las
series. El siguiente paso consistió en diferenciar las series (1, 7 y 8 periodos de acuerdo a
los análisis de las gráficas de autocorrelación) para modelar el comportamiento estacional
(Box t al., 1973). Los análisis mencionados se corrieron en el programa SAS, con los
resultados anteriores fue posible caracterizar cada una de las series como: ARMA (1,7)
cuyos pronósticos son dados por las siguientes ecuaciones:
𝑨𝒖𝒕𝒐𝒎ó𝒗𝒊𝒍𝒆𝒔 𝒈𝒆𝒏𝒆𝒓𝒂𝒍: 𝑍𝑡 = 0.045𝑍𝑡−1 + 𝑍𝑡−7 + 0.045𝑍𝑡−8 + 𝑎𝑡 − Ѳ7𝑎𝑡−7
𝑨𝒖𝒕𝒐𝒎ó𝒗𝒊𝒍𝒆𝒔 𝒆𝒙𝒕𝒆𝒓𝒊𝒐𝒓: 𝑍𝑡 = 0.037𝑍𝑡−1 + 𝑍𝑡−7 + 0.059𝑍𝑡−8 + 𝑎𝑡 − Ѳ7𝑎𝑡−7
𝑨𝒖𝒕𝒐𝒎ó𝒗𝒊𝒍𝒆𝒔 𝒎𝒐𝒕𝒐𝒓: 𝑍𝑡 = 0.033𝑍𝑡−1 + 𝑍𝑡−7 + 0.063𝑍𝑡−8 + 𝑎𝑡 − Ѳ7𝑎𝑡−7
𝑪𝑪 𝒈𝒆𝒏𝒆𝒓𝒂𝒍: 𝑍𝑡 = 0.07𝑍𝑡−1 + 𝑍𝑡−7 + 0.054𝑍𝑡−8 + 𝑎𝑡 − Ѳ7𝑎𝑡−7
𝑪𝑪 𝒆𝒙𝒕𝒆𝒓𝒊𝒐𝒓: 𝑍𝑡 = 0.014𝑍𝑡−1 + 𝑍𝑡−7 − 0.017𝑍𝑡−8 + 𝑎𝑡 − Ѳ7𝑎𝑡−7
𝑪𝑪 𝒎𝒐𝒕𝒐𝒓: 𝑍𝑡 = −0.016𝑍𝑡−1 + 𝑍𝑡−7 + 0.019𝑍𝑡−8 + 𝑎𝑡 − Ѳ7𝑎𝑡−7
Como validación final se verificó si el tamaño de la muestra era suficiente para hacer un
buen modelo, dado que los parámetros de un modelo ARMA estacional son (p, d, q) (P,
D, Q)m la cantidad mínima de observaciones requeridas es de p+q+P+Q+d+Md+1
(Hyndman et al., 2007) por lo que dicha cantidad es 1+7+1+7 = 16. De acuerdo a lo
anterior se confirma que el tamaño de la muestra analizada de 3 años es suficiente para
todas las series de tiempo (Hyndman et al., 2007).
Respecto a la metodología Holt–Winters el procedimiento es un más sencillo, primero se
identifica la estacionalidad de la serie que como ya vimos en el método Box-Jenkins es
7, luego se inicializaron los parámetros S0, G0 y los 7 periodos estacionales 𝐶𝑡 mediante
la ecuación de la regresión lineal de la serie de acuerdo a la metodología propuesta por
Gardner (1986), después se normalizaron los valores de los parámetros Cj y se calcularon
los valores de los parámetros St, Gt y Ct utilizando las fórmulas de Holt-Winters (Chatfield
et al., 1988). Respecto a los parámetros de suavizamiento 𝛼, 𝛽 𝑦 𝛾 su inicialización se
hizo minimizando la suma de cuadrados de los errores entre los pronósticos y los valores
reales. Para calcular los valores de los pronósticos se usó la fórmula: 𝐹𝑡,𝑡+𝜏 =
(𝑆𝑡 + 𝜏𝐺𝑡)𝑐𝑡+𝜏−𝑁 y de este modo se obtienen los valores de los pronósticos para los
siguientes 7 días.
Igual que en la metodología de Box-Jenkins se hizo una validación del tamaño mínimo
de la muestra, el cual para Holt-Winters debe ser igual a: siendo m el número de periodos
estacionales en un año m+5 es el tamaño mínimo de la muestra (Hyndman et al., 2007).
Para este caso en específico m es 52, por lo que se requieren mínimo 57 observaciones,
esto se cumple adecuadamente con la información histórica disponible.
Para las series de motos y vehículos grandes no se evidenció un comportamiento
estacional, por lo que se optó por probar ajuste a distribuciones probabilísticas y
compararlo con los resultados de Holt-Winters, el procedimiento que se llevó cabo
consistió en tomar cada serie de datos y mediante la herramienta input Analyzer del
software Arena se ajustó a una distribución, para la serie de motos se obtuvo: -0.5 +
Logn(1.12,0.855) y para la serie de vehículos grandes: Poisson(0.132) sin embargo,
ambas distribuciones se rechazaron bajo la prueba de significancia Chi2 por lo que para
estas dos series se usaron los pronósticos del método Holt-Winters ya que los resultados
del error cuadrático medio para los tres años no eran elevados.
Teniendo los resultados de las dos metodologías (ARMA y Winters) el paso siguiente
consistió en comparar ambos resultados y optar por la que mejor se ajustara a los valores
reales, para ello se estimaron los pronósticos de los tres años para los que se contaba con
información histórica mediante ambos métodos, se compararon los errores mediante el
MSE es decir tomar cada dato real, restarle el valor del pronóstico, elevar este valor al
cuadrado y sumar estos resultados, de modo que el método escogido es el que brinda un
menor MSE. A continuación, se muestra la tabla comparativa:
Automóviles General Automóviles Motor Automóviles Exterior
ARMA Winters ARMA Winters ARMA Winters
MSE 17.371 11.300 MSE 3.830 1.718 MSE 3.993 2.160
Tabla1. Comparación de pronósticos para Automóviles
CC General CC Motor CC Exterior
ARMA Winters ARMA Winters ARMA Winters
MSE 4.671 2.312 MSE 1.757 1.023 MSE 1.676 1.001
Tabla2. Comparación de pronósticos para Camperos y camionetas
Como muestran los resultados la metodología escogida para pronosticar las demandas es
Holt-Winters para todas las series de tiempo debido a que brinda mejores resultados con
menor MSE. Los pronósticos obtenidos se ajustan del siguiente modo a los valores reales,
adicionalmente se pueden observar los residuos estandarizados de los pronósticos a lo
largo del tiempo:
Automóviles general
Automóviles exterior
0
5
10
15
20
25
13
36
59
71
29
16
11
93
22
52
57
28
93
21
35
33
85
41
74
49
48
15
13
54
55
77
60
96
41
67
37
05
73
77
69
80
18
33
86
58
97
92
99
61
99
31
025
10
57
Nú
mer
o d
e ve
híc
ulo
s
Día
Valores reales Pronósticos
-6
-4
-2
0
2
4
0 200 400 600 800 1000
Res
idu
os
Día
Residuos estadarizados
0
2
4
6
8
10
13
36
59
71
29
16
11
93
22
52
57
28
93
21
35
33
85
41
74
49
48
15
13
54
55
77
60
96
41
67
37
05
73
77
69
80
18
33
86
58
97
92
99
61
99
31
025
10
57Nú
mer
o d
e ve
híc
ulo
s
Día
Valores reales Pronósticos
-6
-4
-2
0
2
4
6
0 200 400 600 800 1000Res
idu
os
Día
Residuos estandarizados
Automóviles con motor
CC general
CC exterior
0
2
4
6
8
13
36
59
71
29
16
11
93
22
52
57
28
93
21
35
33
85
41
74
49
48
15
13
54
55
77
60
96
41
67
37
05
73
77
69
80
18
33
86
58
97
92
99
61
99
31
025
10
57Nú
mer
o d
e ve
híc
ulo
s
Día
Valores reales Pronósticos
-2
0
2
4
0 200 400 600 800 1000
Res
idu
os
Día
Residuos estandarizados
0
2
4
6
8
10
13
46
71
00
13
31
66
19
92
32
26
52
98
33
13
64
39
74
30
46
34
96
52
95
62
59
56
28
66
16
94
72
77
60
79
38
26
85
98
92
92
59
58
99
11
024
10
57Nú
mer
o d
e ve
híc
ulo
s
Día
Valores reales Pronósticos
-4
-2
0
2
4
6
0 200 400 600 800 1000Res
idu
os
Día
Residuos estandarizados
0
1
2
3
4
5
6
13
36
59
71
29
16
11
93
22
52
57
28
93
21
35
33
85
41
74
49
48
15
13
54
55
77
60
96
41
67
37
05
73
77
69
80
18
33
86
58
97
92
99
61
99
31
025
10
57Nú
mer
o d
e ve
híc
ulo
s
Día
Valores reales Pronósticos
CC con motor
Motos
-6
-4
-2
0
2
4
6
0 200 400 600 800 1000Res
idu
os
Día
Residuos estandarizados
0
2
4
6
8
10
12
1
34
67
10
0
13
3
16
6
19
9
23
2
26
5
29
8
33
1
36
4
39
7
43
0
46
3
49
6
52
9
56
2
59
5
62
8
66
1
69
4
72
7
76
0
79
3
82
6
85
9
89
2
92
5
95
8
99
1
10
24
10
57
Nú
mer
o d
e ve
híc
ulo
s
Día
Valores reales Pronósticos
-5
0
5
10
15
0 200 400 600 800 1000
Res
idu
os
Día
Residuos estandarizados
0
1
2
3
4
5
13
36
59
71
29
16
11
93
22
52
57
28
93
21
35
33
85
41
74
49
48
15
13
54
55
77
60
96
41
67
37
05
73
77
69
80
18
33
86
58
97
92
99
61
99
31
025
10
57Nú
mer
o d
e ve
híc
ulo
s
Días
Valores reales Pronósticos
-4
-2
0
2
4
6
0 200 400 600 800 1000Res
idu
os
Día
Residuos estandarizados
Grandes
De acuerdo a las gráficas anteriores es posible observar que los residuos de distribuyen
aleatoriamente alrededor de cero a lo largo del tiempo, de modo que se puede afirmar que
los pronósticos son insesgados. Respecto al ajuste de los pronósticos en general en todas
las series se replica un comportamiento similar al de los valores reales excepto por el caso
de los automóviles con motor, ya que se observa que los pronósticos oscilan entre 1 y 2
únicamente mientras que los datos reales toman valores diferentes.
Habiendo realizado las estimaciones de demanda fue posible continuar con los
parámetros necesarios para realizar la formulación del modelo de programación lineal.
Para este caso se tenía:
𝐷𝑖: Conjunto de días laborales {Lunes, Martes, Miércoles, Jueves, Viernes,
Sábado y Domingo}
𝐹𝑙: Conjunto de franjas laborales {Mañana y tarde}
𝐸𝑚: Conjunto de empleados disponibles {1, 2, 3 y 4}
𝐴𝑏: Conjunto de estaciones de trabajo {Lavado y aspirado}
𝑑𝑖𝑏𝑙: Demanda pronosticada en minutos para el día 𝑖 en la estación 𝑏 durante la
franja 𝑙 (Obtenida multiplicando los pronósticos de arribos de cada tipo de llegada
por la duración de cada tipo de servicio en minutos)
𝑐𝑚𝑖: Costo por día de un trabajador = $30.000 (igual para todos los empleados
todos los días)
𝑜𝑚𝑖: Costo por hora extra de un trabajador = $4.000 (igual para todos los
empleados todos los días)
𝑛𝑙: Duración de la franja 𝑙 en minutos = 240 (igual para ambas franjas)
𝑊: Número muy grande = 9000000
0
1
2
3
13
36
59
71
29
16
11
93
22
52
57
28
93
21
35
33
85
41
74
49
48
15
13
54
55
77
60
96
41
67
37
05
73
77
69
80
18
33
86
58
97
92
99
61
99
31
025
10
57Nú
mer
o d
e ve
híc
ulo
s
Día
Valores reales Pronósticos
-4
-2
0
2
4
6
0 200 400 600 800 1000Res
idu
os
Día
Residuos estandarizados
ℎ: Minutos en una hora = 60
𝑎: Días hábiles por trabajador = 6 días
Respecto a las franjas laborales es importante mencionar que no se contaba con
información detallada de las horas de llegada de cada vehículo por lo que no fue posible
plantear turnos de menor duración, sin embargo, se tomó dicha información a lo largo de
un mes aproximadamente y se calculó la probabilidad de llegada de cada servicio para
horas de la mañana y horas de la tarde. En cuanto a las estaciones de trabajo también es
necesario tener en cuenta que actualmente los empleados realizan cualquier actividad en
cualquier momento por lo que se propuso dividir las tareas de lavado y aspirado para que
cada empleado sea asignado específicamente a una de estas actividades en cada franja del
día.
Con todos los parámetros disponibles se formuló e implementó el modelo de optimización
en Microsoft Excel y se resolvió mediante el complemento abierto OpenSolver, así
mismo se implementó el modelo de pronósticos seleccionado para cada serie de tiempo.
Con esto se construyó la interfaz, en la cual es posible actualizar las demandas diarias
para hacer pronósticos más acertados y con base en estos generar la asignación de
empleados que minimiza la cantidad total de empleados contratados y los costos de
contratación para una semana, cabe resaltar que los parámetros días laborales de la
empresa, cantidad de empleados disponibles y máximo número de días hábiles por
trabajador se pueden modificar mediante la interfaz en caso de que la empresa decida
modificarlos, esto con el fin de darle flexibilidad a la herramienta desarrollada.
5. Resultados
A continuación, es posible observar la visualización de la interfaz de la herramienta
desarrollada:
Figura 1. Interfaz principal de la herramienta
Figura 2. Módulo de asignación de empleados
Figura 3. Módulo de actualización de demandas
Figura 4. Visualización de resultados de asignación
Es posible observar en la figura 1 la interfaz principal de la herramienta a través de la cuál
es posible acceder a los módulos de asignación de empleados y actualización de
demandas, respecto al módulo de asignación (Figura 2) es posible ver que están
disponibles las opciones de selección de días hábiles de la empresa, ingreso de días
hábiles por empleado, cantidad de empleados y selección de la fecha correspondiente al
lunes de la semana que se quiere programar. Por otro lado, en la figura 3 se observa el
módulo de actualización de demandas en el cual es posible ingresar la cantidad de
llegadas por cada tipo de vehículo seleccionando la fecha de cada uno de los días a
actualizar. Finalmente, en la figura 4 es posible observar un ejemplo de los resultados
obtenidos de la asignación de empleados para una semana, donde se identifica la actividad
que realiza cada empleado en cada turno y día de la semana.
El tiempo computacional para la actualización de demandas es de aproximadamente 50
segundos mientras que para realizar la asignación de empleados es de aproximadamente
2 minutos bajo el escenario actual, en caso de modificar los parámetros este tiempo puede
aumentar o disminuir.
Comparando los costos de contratación del escenario actual y los resultados obtenidos a
través de la herramienta de programación de personal, se observa que los costos diarios
varían (Figura 5) algunos son mayores, otro iguales o menores y a largo plazo viendo los
costos acumulados de casi dos meses (Figura 6) la diferencia es de $30.000 siendo los
costos de la propuesta superiores.
Figura 5. Comparación costos diarios de contratación
Figura 6. Comparación costos acumulados de contratación
6. Conclusiones y trabajo futuro
De acuerdo a los resultados es posible observar que los costos acumulados de la propuesta
tienden a ser mayores que los costos de la política actual, por un lado, es posible atribuir
este hecho a las restricciones de cumplimiento de demandas, ya que en el modelo de
programación lineal es necesario cumplir con esta y para ello puede ser necesario
contratar más empleados que de costumbre. Es importante tener en cuenta que la
diferencia entre los costos acumulados no es significativa ($30.000 en dos meses) debido
a que viendo la gráfica de costos diarios, estos oscilan entre un mismo rango ($60.000 y
$90.000) para ambas alternativas, por lo que es posible concluir que la diferencia
importante está en cómo se asignan los empleados a lo largo de la semana, por ejemplo
con la propuesta actual se deben asignar 2 el miércoles y 3 el domingo, pero es posible
que la asignación óptima indique contratar 3 el miércoles y 2 el domingo, lo cual no tiene
repercusiones sobre los costos pero sí sobre el cumplimiento de la demanda. Así mismo,
50000550006000065000700007500080000850009000095000
3/1
0/2
01
6
5/1
0/2
01
6
7/1
0/2
01
6
9/1
0/2
01
6
11
/10
/20
16
13
/10
/20
16
15
/10
/20
16
17
/10
/20
16
19
/10
/20
16
21
/10
/20
16
23
/10
/20
16
25
/10
/20
16
27
/10
/20
16
29
/10
/20
16
31
/10
/20
16
2/1
1/2
01
6
4/1
1/2
01
6
6/1
1/2
01
6
8/1
1/2
01
6
10
/11
/20
16
12
/11
/20
16
14
/11
/20
16
16
/11
/20
16
18
/11
/20
16
20
/11
/20
16
22
/11
/20
16
24
/11
/20
16
26
/11
/20
16
Co
sto
dia
rio
de
con
trat
ació
n (
$)
Fecha
Comparación Propuesta vs. situación actual
Actual Propuesta
0500000
10000001500000200000025000003000000350000040000004500000
1/1
0/2
01
6
3/1
0/2
01
6
5/1
0/2
01
6
7/1
0/2
01
6
9/1
0/2
01
6
11
/10
/20
16
13
/10
/20
16
15
/10
/20
16
17
/10
/20
16
19
/10
/20
16
21
/10
/20
16
23
/10
/20
16
25
/10
/20
16
27
/10
/20
16
29
/10
/20
16
31
/10
/20
16
2/1
1/2
01
6
4/1
1/2
01
6
6/1
1/2
01
6
8/1
1/2
01
6
10
/11
/20
16
12
/11
/20
16
14
/11
/20
16
16
/11
/20
16
18
/11
/20
16
20
/11
/20
16
22
/11
/20
16
24
/11
/20
16
26
/11
/20
16Co
sto
s co
ntr
atac
ión
($)
Fecha
Costos acumulados de contratación (Oct-Nov)
Actual Total Propuesta total
existe un efecto que debido a la limitación de información no es posible cuantificar y es
el costo por demanda insatisfecha, ya que actualmente es sabido por el propietario que
hay ocasiones en las cuales no es posible cumplir con toda la demanda por insuficiencia
de personal, hecho que con la nueva propuesta se mitigaría en mayor medida ya que se
cuenta con suficiente personal cada uno de los días programados.
Otro aporte importante es la propuesta de división de actividades de trabajo, a pesar de
que no ha sido posible implementar esta propuesta para medir su impacto, es importante
considerar que una división de tareas permite a los empleados cumplir mejor la tarea
asignada, ya que muchas veces ocurre que están lavando un vehículo, pero deben
interrumpir esta actividad para aspirar otro que por algún motivo quedó sin aspirar, lo que
genera más demoras en los tiempos de terminación de los servicios. Los tiempos
computacionales de los procedimientos son completamente apropiados ya que si se quiere
asignar al personal de una semana solamente es necesario invertir aproximadamente 2
minutos, lo mismo ocurre para el caso de actualización de las demandas.
Como trabajo futuro sería interesante obtener información mucho más precisa de la
demanda (hora de llegada de los vehículos) con el fin de proponer franjas horarias de
menor duración que permitan hacer asignaciones más precisas. Debido al hecho
mencionado anteriormente no fue posible considerar dentro de las asignaciones las horas
de almuerzo de los empleados ya que no se sabía con certeza la hora de llegada de los
vehículos en la mañana y en la tarde. También es importante considerar aspectos como
días festivos ya que un lunes festivo la demanda es diferente a la de un lunes normal, por
cuestiones de simplicidad esto no se tuvo en cuenta a la hora de realizar el modelo.
Finalmente, sería importante considerar también otros métodos de pronóstico para las
series de demanda en las cuales no se observaron comportamientos precisos como lo es
el caso de automóviles con motor, esto permitiría refinar más los pronósticos de demanda.
Referencias
About Open Solver. (3 de Noviembre de 2016). Obtenido de http://opensolver.org/
Bechtold, S. E., Brusco, M. J., & Showalter, M. J. (1991). A comparative evaluation of
labor tour scheduling methods. Decision Sciences, 683-699.
Box, G., & Jenkins, G. (1973). Some comments on a paer by Chatfield and Protero and
A on a review by Kendall. Journal of the Royal Statistical Society, 337 - 352.
Brusco, M. J. (2007). Solving personnel tour scheduling problems using the dual all-
integer cutting plane. Taylor and Francis Online, 835 - 844.
Cela, E. (2002). Assignment problems. Handbook of Applied Optimization, Part II -
Applications, 661 - 678.
Chatfield, C., & Yar, M. (1988). Holt-Winters forecasting: some practical issues. The
Statistician, 129 - 140.
Diem Ngo, T. H. (2013). The Box-Jenkins Methodology for Time Series Models. San
Francisco.
Ganguly, S., Lawrence, S., & Prather, M. (2014). Emergency Department Staff
Planning to Improve Patient Care and Reduce Costs. Decision Sciences, 115 -
145.
Gardner, E. S. (1986). AUTOCAST user´s manual. Bridgewater, NJ, Core Analytic.
Gomar, J., Haas, C., & Morton, D. (2002). Assignment and Allocation Optimization of
Partially. Journal of construction engineering and management, 103 - 109.
Granger, C. W., & Newbold, P. (1986). Forecasting Economic Time Serie 2 Ed. New
York: Academic press.
Hyndman, R., & Kostenko, A. (2007). Minimum sample size requirements for seasonal
forecasting models. Foresight , 12 - 15.
Kuhn, H. W. (1955). The hungarian method for the assignment problem. Naval
Research logistics, 83 - 97.
Makridakis, S., Andersen, A., Carbone, R., Fildes, R., Hibon, M., Lewandowski, R.,
Winkler, R. (1982). The accuracy of extrapolation (time series) methods: results
of a forecasting competition. Journal forecasting, 111 - 153.
Mason, A. (2012). OpenSolver – An Open Source Add-in to Solve Linear and Integer
Progammes in Excel. Operations Research Proceedings 2011, 401 - 406.
Modelos para pronosticar la demanda de un producto de consumo masivo para la
limpieza del hogar en el mercado colombiano. (2003). Universidad de los
Andes.
Top Related