Pianificazione della forza lavoro

L'API Workforce Scheduling offre due risolutori che utilizzano i metodi SolveShiftGeneration e SolveShiftScheduling. Il risolutore della generazione dei turni crea una serie di cambiamenti che massimizzano la copertura delle richieste dei dipendenti in un determinato orizzonte temporale. Al contrario, il risolutore della programmazione dei turni assegna a dipendenti specifici Ogni risolutore può essere utilizzato in modo indipendente. In particolare, i turni a cui vengono assegnati i dipendenti nel risolutore della pianificazione dei turni possono essere specificati dall'utente o generati con il risolutore di generazione dei turni.

Risolutore di generazione del cambiamento

Il risolutore della generazione dei turni seleziona un insieme di turni in modo che il numero totale di dipendenti necessari per coprire un determinato profilo di domanda sia ridotto al minimo.

L'input del risolutore è una richiesta che descrive i modelli di turno e le richieste dei dipendenti. I modelli di variazione determinano le regole che il risolutore deve seguire per creare le variazioni. Le richieste dei dipendenti descrivono il numero di dipendenti straordinari, con una granularità di un solo minuto.

L'output del risolutore è una risposta con un elenco di turni e il numero corrispondente di dipendenti necessari per turno. Quando non è possibile soddisfare tutte le richieste, viene fornito all'utente anche un elenco delle violazioni della copertura della domanda per praticità.

Funzionalità

Per una spiegazione approfondita di tutte le funzionalità del risolutore, consulta la documentazione dell'API. Di seguito sono riportate le funzionalità più popolari del risolutore.

Modelli di spostamento

Un modello di turno determina principalmente la durata e i potenziali ore di inizio di un turno in un determinato giorno. Inoltre, è possibile specificare un numero massimo di dipendenti per modello di turno al giorno e il numero di giorni liberi a settimana.

I modelli di turno possono anche specificare un elenco di modelli di eventi per rappresentare le interruzioni pianificate come pause o corsi di formazione dei dipendenti. I modelli di eventi determinano l'ora di inizio (relativa all'ora di inizio del turno) e la durata di un evento.

Fluttuazioni della domanda dei dipendenti

La domanda dei dipendenti può variare nel tempo. In particolare, le richieste dei dipendenti possono essere specificate a intervalli di tempo brevi di 5 minuti o a seconda dell'orizzonte di pianificazione. Gli intervalli di tempo per i quali non è specificata una domanda equivalgono a una domanda di zero dipendenti.

Sposta il risolutore della pianificazione

Il risolutore della pianificazione dei turni ottimizza l'assegnazione dei dipendenti ai turni in modo che vengano soddisfatti i vincoli di pianificazione (o che le loro violazioni siano ridotte al minimo) e vengano prese in considerazione le preferenze dei dipendenti.

L'input per il risolutore è una richiesta che descrive dipendenti, turni, requisiti di copertura e requisiti di budget. Per ciascun dipendente è possibile specificare vincoli di ruoli, competenze e pianificazione in modo da definire una pianificazione valida per ogni dipendente. I cambiamenti determinano quando e dove i dipendenti possono lavorare, mentre i requisiti di copertura determinano la richiesta di diversi ruoli (e competenze) dei dipendenti in diversi periodi di tempo.

L'output del risolutore è una risposta con assegnazioni di ruolo dipendente-cambio che riassume per ogni dipendente, i turni e il ruolo (per turno) a cui è assegnato.

Funzionalità

Per una spiegazione approfondita di tutte le funzionalità del risolutore, consulta la documentazione dell'API. Di seguito sono riportate le funzionalità più popolari del risolutore.

Vincoli di pianificazione dei dipendenti

Specifica le regole o i limiti che la pianificazione di un determinato dipendente deve soddisfare. In particolare, supporta:

  • Orario di lavoro minimo / massimo
  • Minimo / massimo giorni consecutivi
  • Numero minimo / massimo di turni
  • Tempo di riposo minimo tra un turno e l'altro
  • Vincoli delle risorse
  • Spostare le richieste di lavoro (o meno) in base a turni specifici

Preferenze dei dipendenti

Specifica una preferenza numerica di un dipendente per un turno specifico e la somma delle preferenze nell'elenco viene massimizzata.

Requisiti di copertura

Specifica il numero di dipendenti che devono lavorare in più finestre temporali e per ruoli specifici. I requisiti di copertura possono allinearsi con l'elenco dei turni fornito, ma possono anche definire finestre temporali più granulari per il numero di dipendenti che lavorano.

Requisiti di budget

Specifica un contratto per i dipendenti con tariffe orarie normali e supplementari, abbinate a vincoli di budget globali. Un budget può essere il valore massimo per i costi della forza lavoro o un'indicazione che questo costo deve essere ridotto al minimo.

Priorità del vincolo

A ogni vincolo di pianificazione, requisito di copertura e requisito di budget dei dipendenti viene assegnato un livello di priorità (obbligatorio, alto, medio o basso). Tutti i vincoli con una priorità obbligatoria devono essere soddisfatti dal risolutore. Il risolutore può violare i vincoli con qualsiasi altra priorità, ma queste violazioni vengono ridotte al minimo in base all'ordine di priorità. Le preferenze dei dipendenti vengono prese in considerazione dal risolutore dopo che le violazioni dei vincoli in ogni livello di priorità sono state ridotte al minimo.

Come iniziare

Per accedere all'API Workforce Scheduling, segui le istruzioni per i trusted tester e poi la guida alla setup per ottenere una chiave API. Dopo aver ottenuto l'accesso all'API, utilizza gli esempi di API per iniziare. In caso di domande, contatta or-workforce-scheduling+contact@google.com.