Optimización del horario semanal de enfermería en un centro de salud.
Introducción
Introducción
En el ámbito sanitario, los horarios de enfermería son esenciales para garantizar la eficiencia operativa. Su elaboración exige un cuidadoso equilibrio entre la necesidad de atención constante al paciente y la disponibilidad y las preferencias de los profesionales de enfermería [1]. Para maximizar las preferencias de los enfermeros, se aplicó un enfoque de programación lineal (LP) [2] sujeto a 6 restricciones:
Metodología
Metodología
El problema se adaptaba a la formulación directa con LP.
Utilizamos la variable de decisión binaria xijk. i = 1, . . . , donde 36 representa a los 36 enfermeros; j = 1, . . . , donde 7 representa los 7 días de la semana; y k = 1, 2, 3 representa los 3 turnos (mañana, tarde y noche), donde:
pijk representa las preferencias del enfermero i para trabajar en el turno k el día j, y aij representa si el enfermero i está disponible el día j.
El problema de PL puede formularse de la siguiente manera:
Resultados
Resultados
Después de modelar el problema de LP con Python usando la biblioteca LP Pyomo [3], y usando los datos proporcionados por el cliente sobre las preferencias pijk y las disponibilidades aij para cada enfermero, creamos un diagrama de Gantt [4].
- Los enfermeros pueden identificar su horario semanal buscando su código de identificación en el eje Y, e identificar qué turnos les toca trabajar en el eje X.
- De los 159 turnos establecidos por el modelo, 144 coincidían con la primera opción elegida por los enfermeros, 15 a su segunda opción, y 0 a su tercera opción.
CONCLUSIONES
CONCLUSIONES
El enfoque de LP utilizado permitió priorizar las preferencias de los enfermeros frente a las restricciones del horario.
Hubo algunos factores clave que no se tuvieron en cuenta, por ejemplo:
- Flexibilidad de horarios: los días festivos, las bajas por enfermedad y las emergencias no se tuvieron en cuenta. El horario asume que los enfermeros tienen disponibilidad en todo momento.
- Distinto número de turnos: el número de turnos trabajados no es igual para todos los enfermeros, lo que puede generar discordia cuando todos reciben la misma paga. El modelo podría mejorarse añadiendo una restricción que estableciera que todos los enfermeros deben trabajar el mismo número de turnos. El hospital podría implementar un sistema de pago por turno para evitar las diferencias.
REFERENCIAS
REFERENCIAS
[1] Jaumard, Brigitte, et al., “A Generalized Linear Programming Model for Nurse Scheduling”, European Journal of Operational Research, vol. 107, núm. 1, 13 de enero de 2011, págs. 1-18.
[2] Bertsimas, Dimitris y John Tsitsiklis, Introduction to Linear Optimization. 1.ª ed.. Athena Scientific, 1997.
[3] “HiGHS — Pyomo 6.6.2 Documentation”, Readthedocs.io, 2023, pyomo.readthedocs.io/en/6.6.2/library_reference/appsi/appsi.solvers.highs.html. Consultado el 26 de noviembre de 2024.
[4] Waskom, Michael, “Seaborn.Heatmap”, Seaborn, seaborn.pydata.org/generated/seaborn.heatmap.html. Consultado el 4 de octubre de 2024.
Este proyecto fue presentado en formato póster como parte del Grado en Matemáticas Aplicadas, dentro de las asignaturas Optimización 1 y Habilidades de Comunicación. Demuestra la capacidad de los estudiantes para aplicar técnicas de optimización y comunicar eficazmente sus hallazgos.