Generador de turnos rotativos 24/7
Arme el cuadrante — o rol, o planilla — de turnos rotativos de un servicio que funciona las 24 horas: una sala de hospital, una planta de tres turnos, un puesto de vigilancia, un cuartel de bomberos, una mesa de ayuda. Usted define los turnos con su horario real, cuántas personas necesita cada uno y quién puede cubrir cada puesto. Un optimizador matemático — programación lineal entera, no una IA que adivina — asigna semanas enteras respetando el descanso mínimo entre turnos, el máximo de días y de noches seguidas y la regla de no entrar de día después de una noche.
Es gratis y sin registro. Pruebe primero con un ejemplo: elíjalo en la lista y pulse Resolver. Después descargue ese ejemplo o la plantilla, reemplace los datos con los suyos y súbalo.
shifts, demand all, supply all, skills, una grilla
por puesto y por persona, y parameters. Parta de la plantilla o de un ejemplo y reemplace los datos.Qué decide el optimizador y qué decide usted
Hay reglas obligatorias y reglas deseables, y la diferencia es a propósito.
Son obligatorias las habilidades (nadie cubre un puesto para el que no está habilitado), la disponibilidad,
las celdas fijadas con f, el máximo de horas y de días, el descanso mínimo entre turnos, el máximo
de días seguidos, el máximo de noches seguidas y la prohibición de entrar de día a la mañana siguiente de una
noche: el modelo directamente no puede violarlas. Son deseables cubrir cada puesto, llegar a las horas mínimas
de cada persona y repartir bien los fines de semana: cada una lleva una penalidad en lugar de una prohibición.
Por eso la respuesta casi nunca es “no hay solución”. Si el personal no alcanza, el cuadrante
vuelve igual, con los puestos que no se pudieron cubrir marcados en la tabla de faltantes y en los avisos
— que es lo que usted necesita saber para pedir un refuerzo o pagar horas extra. La única forma de
obtener “no hay solución” es que dos reglas obligatorias se contradigan, y casi siempre es una
celda f que rompe un descanso o un máximo de días.
El descanso entre turnos depende de su país y de su convenio
El valor por defecto del parámetro MinRestHours es 11 horas, la cifra de la directiva europea
de tiempo de trabajo. En muchos países de habla hispana la regla general es más exigente: por ejemplo, 12 horas
entre jornadas en España (Estatuto de los Trabajadores) y en Argentina (Ley de Contrato de Trabajo). Los
convenios colectivos, la sanidad y la seguridad suelen tener reglas propias. No es algo que la herramienta
pueda saber por usted: ponga en MinRestHours lo que diga la norma o el convenio que le aplique.
Lo mismo vale para MaxConsecutiveDays (6 por defecto) y MaxConsecutiveNights
(4 por defecto).
Cómo se arma el archivo
La herramienta lee su propio formato, no cualquier planilla, y los nombres de hojas y columnas van en inglés. Lo más rápido es descargar un ejemplo parecido a su caso y reemplazar los datos:
shifts— un turno por fila:shift(nombre),startyend(por ej. 07:00 y 19:00; si el fin es anterior al inicio, el turno cruza la medianoche) y, opcional,night.demand all— un puesto por fila (demand): enfermero, auxiliar, vigilador, operador… con sushortage_penalty, cuánto “cuesta” dejarlo sin cubrir.supply all— una persona por fila (name), con su costo por hora y sus mínimos y máximos de horas y días en todo el período.skills— quién puede cubrir qué puesto (person,demand).- Una grilla por puesto: A1 = nombre del puesto, filas = turnos, columnas = días; cada celda es cuántas personas hacen falta.
- Una grilla por persona (opcional):
a= disponible,f= debe trabajar ese turno, vacío = no disponible. Si falta, se asume disponible siempre. parameters— las reglas:MinRestHours,MaxConsecutiveDays,MaxConsecutiveNights,ForbidDayAfterNighty otras.
Los días pueden ser fechas (2026-10-05) o nombres en inglés (Mon, Tue…); con fechas o nombres legibles se activan las reglas de fin de semana.
Por qué el resultado muestra bloques y días sueltos
Un cuadrante puede cubrir el 100% y aun así ser invivible: días sueltos salpicados, un turno de noche entre dos de día. Como todos los de la misma categoría cobran lo mismo, reordenar quién trabaja cuándo a menudo no le cuesta nada al modelo, y sin una indicación devolvería el primer cuadrante desordenado que encontrara. Por eso el modelo penaliza un poco cada bloque nuevo de días trabajados y cada cambio entre día y noche, y los resultados muestran lo que salió: cuántos bloques, de qué largo, cuántos días sueltos y el descanso más corto que le tocó a alguien. Esos son los números para discutir, no el valor del objetivo.
Preguntas frecuentes
¿Es gratis? Sí, sin cuenta ni período de prueba. Su archivo se lee para resolver el modelo y no se guarda. Se lleva un conteo anónimo de corridas.
¿Cuánto aguanta? Hasta 60 personas, 42 días (seis semanas), 12 turnos y 12 puestos por corrida. El ejemplo del hospital (28 días, 16 personas) arma unas 4.300 variables y se resuelve en menos de un minuto.
¿Puedo fijar que alguien haga un turno determinado? Sí: ponga f en la celda de esa
persona. Es obligatorio y el optimizador arma el resto alrededor.
¿Y si mis turnos rotan siempre igual, tipo 4x4 o 2-2-3? Entonces no necesita un optimizador: use el generador de rotaciones (en inglés), que arma DuPont, Panamá, Pitman y 4x4 para cuatro equipos. Esta página es para cuando la cobertura depende de quién está habilitado, quién está de vacaciones y cuántas personas pide cada turno.
¿Hay versión en inglés? Sí, con más ejemplos por rubro: 24/7 shift schedule maker.