Ejemplo inventado para aprender: las necesidades no son de ninguna empresa real. Está listo en la pestaña «Turnos» de la plantilla.
El problema
Un supermercado necesita, como mínimo, estas personas cada día:
| Lun | Mar | Mié | Jue | Vie | Sáb | Dom | |
|---|---|---|---|---|---|---|---|
| Personas necesarias | 11 | 9 | 9 | 12 | 14 | 16 | 10 |
Cada persona trabaja cinco días seguidos y descansa los dos siguientes. ¿Cuántas personas hacen falta como mínimo, y qué día empieza la semana cada una?
El modelo
El truco está en elegir bien las variables. No decidimos «quién trabaja el lunes», sino cuántas personas empiezan su semana cada día: siete variables, de «empiezan el lunes» a «empiezan el domingo». Tienen que ser enteras, porque no hay medias personas.
Quien empieza el jueves trabaja de jueves a lunes y descansa martes y miércoles. Así que el lunes trabajan los que empezaron el jueves, el viernes, el sábado, el domingo y el propio lunes. Esa es la restricción del lunes:
Minimizar Lun + Mar + Mié + Jue + Vie + Sáb + Dom personas en plantilla
cumpliendo Lun + Jue + Vie + Sáb + Dom ≥ 11 trabajan el lunes
Lun + Mar + Vie + Sáb + Dom ≥ 9 trabajan el martes
… una fila por cada día
todas enteras y ≥ 0 personas completas
En la plantilla, cada fila tiene un 1 en las cinco columnas de las personas que trabajan ese día. Es una tabla de unos y huecos que, una vez montada, sirve para cualquier semana.
La solución
Plantilla mínima
17 personas
El pico del sábado es de 16, pero con 16 no sale.
Redondeando hacia arriba
18 personas
Una persona más de lo necesario, todo el año.
Una forma de organizar a las 17 personas:
| Lun | Mar | Mié | Jue | Vie | Sáb | Dom | |
|---|---|---|---|---|---|---|---|
| Empiezan su semana | 1 | 6 | 0 | 5 | 2 | 3 | 0 |
| Trabajan ese día | 11 | 12 | 10 | 12 | 14 | 16 | 10 |
| Necesarias | 11 | 9 | 9 | 12 | 14 | 16 | 10 |
Hay muchas formas de repartir a las 17 personas igual de buenas. Si tu hoja te da otro reparto, compruébalo: si cubre todos los días con 17, también es correcto.
Por qué 17 y no 16
Suma las necesidades de la semana: 11 + 9 + 9 + 12 + 14 + 16 + 10 = 81 jornadas. Cada persona hace 5, así que 16 personas solo dan 80. Falta una jornada, y no hay forma de sacarla sin contratar a alguien más.
Esta cuenta rápida no siempre acierta. Si el viernes hicieran falta 16 personas en vez de 14, las jornadas serían 83 y la cuenta diría 17 personas; pero hacen falta 18, porque no hay forma de encajar los descansos. Ninguna regla rápida lo ve. El Solver, sí.
Por qué no basta con redondear
Si se resuelve con variables continuas (sin marcar «Entera»), el Solver dice que la plantilla mínima es de 16,67 personas, con cosas como «5,67 personas empiezan el martes». Redondear cada número hacia arriba para cubrir los días da 18 personas. Marcando las variables como enteras, el Solver encuentra un reparto con 17. Redondear te habría costado un sueldo.
Cómo adaptarlo a tu caso
- Otros turnos. Si se trabajan cuatro días seguidos, cambia los unos de cada fila: cada columna tendrá un 1 en los cuatro días que trabaja quien empieza ese día.
- Distinto coste. Si quien empieza en fin de semana cobra más, cambia los coeficientes del objetivo: en vez de minimizar personas, minimizarás el coste.
- Mañana y tarde. Haz una tabla por turno o añade variables para cada combinación de día y turno.
Hazlo tú
- Haz una copia de la plantilla y abre la pestaña «Turnos».
- Escribe tus necesidades en la columna «Límite», una por día.
- Resuelve con . La columna «Usado» dice cuántas personas trabajan cada día.
¿Solo quieres ver cómo cambia la solución si tocas un número? Pruébalo en el Solver online: este ejemplo ya está cargado y se resuelve en tu navegador, sin copiar nada.
Revisa el modelo antes de decidir. Este ejemplo no tiene en cuenta vacaciones, bajas, jornadas parciales ni lo que diga tu convenio. Úsalo como punto de partida, no como cuadrante final.