Programación de la fuerza laboral

La API de Workforce Scheduling ofrece dos solucionadores de problemas con los métodos SolveShiftGeneration y SolveShiftScheduling. La resolución de generación de turnos crea un conjunto de turnos que maximiza la cobertura de las demandas de los empleados en un horizonte determinado. En cambio, la función de resolución de turnos asigna a empleados específicos a un conjunto de turnos predeterminados. Los solucionadores se pueden usar de forma independiente. En particular, los turnos a los que se asignan los empleados en la herramienta de resolución de programación de turnos pueden especificarse por el usuario o generarse con la herramienta de resolución de generación de turnos.

Solución de generación de turnos

La herramienta de resolución de generación de turnos selecciona un conjunto de turnos de modo que se minimice la cantidad total de empleados necesarios para cubrir un perfil de demanda determinado.

La entrada de la resolución es una solicitud que describe las plantillas de turnos y las demandas de los empleados. Las plantillas de turnos determinan las reglas que debe seguir el agente de resolución para crear turnos. Las demandas de los empleados describen la cantidad de empleados a lo largo del tiempo, con un nivel de detalle de tiempo de tan solo 1 minuto.

El resultado de la resolución es una respuesta con una lista de turnos y la cantidad correspondiente de empleados necesarios por turno. Cuando no es posible cubrir todas las demandas, también se proporciona una lista de incumplimientos de cobertura de la demanda al usuario para su comodidad.

Funciones

Para obtener una explicación detallada de cada función de la resolución, consulta la documentación de la API. A continuación, se resumen las funciones más populares del agente de resolución.

Plantillas de turnos

En principio, la plantilla de cambio determina la duración y las posibles horas de inicio de un cambio en un día determinado. Además, es posible especificar una cantidad máxima de empleados por plantilla de turno por día y la cantidad de días libres por semana.

Las plantillas de turnos también pueden especificar una lista de plantillas de eventos para representar interrupciones programadas, como descansos o entrenamientos de empleados. Las plantillas de eventos determinan la hora de inicio (relativa a la hora de inicio del turno) y la duración de un evento.

Fluctuaciones en la demanda de los empleados

La demanda de empleados puede fluctuar con el tiempo. En particular, las demandas de los empleados se pueden especificar en intervalos de tiempo de hasta 5 minutos o hasta el horizonte de planificación. Los intervalos de tiempo para los que no se especifica una demanda equivalen a tener una demanda de cero empleados.

Solucionador de problemas para la programación de turnos

Esta función optimiza la asignación de los empleados a los turnos para que se cumplan las limitaciones de agenda (o se minimicen los incumplimientos) y se tengan en cuenta las preferencias de los empleados.

La entrada al solucionador es una solicitud que describe a los empleados, los turnos, los requisitos de cobertura y los requisitos de presupuesto. Se pueden especificar las funciones, las habilidades y las restricciones de programación de cada empleado para definir cómo es un programa válido de cada empleado. Los turnos determinan cuándo y dónde los empleados pueden trabajar, mientras que los requisitos de cobertura determinan la demanda de diferentes funciones (y habilidades) de los empleados durante varios períodos.

El resultado de la resolución es una respuesta con asignaciones de funciones de cambio de personal que resume cada empleado, los turnos y la función (por turno) a la que están asignados.

Funciones

Para obtener una explicación detallada de cada función de la resolución, consulta la documentación de la API. A continuación, se resumen las funciones más populares del agente de resolución.

Restricciones de horarios de los empleados

Especifica las reglas o los límites que el programa de un empleado en particular debe cumplir. En particular, es compatible con lo siguiente:

  • Tiempo de trabajo mínimo o máximo
  • Mínimo o máximo de días consecutivos
  • Cantidad mínima o máxima de cambios
  • Tiempo de descanso mínimo entre turnos
  • Restricciones de recursos
  • Solicitudes de turnos para trabajar (o no) en turnos específicos

Preferencias de los empleados

Especifica una preferencia numérica que un empleado tiene para un turno específico, y se maximiza la suma de preferencias en toda la lista.

Requisitos de cobertura

Especifica la cantidad de empleados que deben estar trabajando durante varios períodos y para funciones específicas. Los requisitos de cobertura pueden alinearse con la lista determinada de turnos, pero también pueden definir períodos más detallados de la cantidad requerida de empleados que trabajan.

Requisitos de presupuesto

Especifica un contrato para los empleados con tarifas regulares y horas extra, junto con restricciones de presupuesto globales. Un presupuesto puede ser un valor máximo para los costos de personal o un indicador de que ese costo debe minimizarse.

Prioridades de la restricción

A cada restricción de programación, requisito de cobertura y requisito de presupuesto de los empleados se le da un nivel de prioridad (obligatorio, alto, medio o bajo). El solucionador debe satisfacer todas las restricciones con una prioridad obligatoria. El solucionador puede incumplir las restricciones que tienen cualquier otra prioridad, pero estos incumplimientos se minimizan según el orden de prioridad. El solucionador considera las preferencias de los empleados después de que se hayan minimizado las infracciones de las restricciones en cada nivel de prioridad.

Cómo comenzar

Para obtener acceso a la API de Workforce Scheduling, sigue las instrucciones para verificadores de confianza y, luego, sigue la guía de setup para obtener una clave de API. Después de obtener acceso a la API, usa los ejemplos de la API para comenzar. Si tienes preguntas, comunícate con or-workforce-scheduling+contact@google.com.