alla ricerca di un algoritmo

Messaggioda Vittorio_1955 » 02/04/2020, 15:48

un saluto a tutti. mi sono iscritto ora in quanto avrei necessità del vostro aiuto con la speranza (questa è l'ultima spiaggia), di trovare la soluzione al problema con la premessa, di aver postato nella sezione giusta.

parliamo di turnazione al posto di lavoro.... (continuate a leggere):

abbiamo una turnazione lavorativa atipica dovuta a regole contrattuali, regole dell'ufficio del personale e chi più ne ha ne metta. ogni mese facciamo i turni in modo manuale non rispettando regole ben definite e con questo metodo, spesso ci sono delle "ingiustizie" chiaramente involontarie. abbiamo creato un programmino in Excel con codice VBA, per cercare di automatizzare quanto più possibile la procedura e cercare l'equità nel ciclo dei turni. il programma di per se funziona bene ma, manca il famoso algoritmo. mi spiego meglio:

abbiamo 4 operatori che lavorano 40 ore/settimana
abbiamo 3 operatori che lavorano 24 ore/settimana
la settimana lavorativa è da intendersi dal lunedì alla domenica
ogni operatore deve obbligatoriamente lavorare le proprie ore settimanali a costo di sovrapporsi con i colleghi
ogni operatore deve avere 1 giorno di riposo
ogni operatore a 24 ore/settimana, effettua uno o più turni di reperibilità (rimane a casa in caso di emergenza. questo turno non incide sulle ore lavorative)
ogni operatore, può lavorare 1 o 2 notti di seguito
quando termina la notte, sarà SMONTANTE (questo turno non incide sul monte ore)
possibilmente dopo lo smontate, sarà di RIPOSO (anche questo non incide sulle ore)
non è possibile ad esempio per un lavoratore a 40 ore, fare una settimana da 32 ore e la successiva di 46
equità nei turni si intende ad esempio, che una domenica al mese ogniuno sia almeno di RIPOSO (cosiddetti turni a scalare)

gli orari dei turni, sono: 06/14 - 14/22 - 22/06

tutto ciò premesso, abbiamo provato diverse sequenze ma senza il risultato desiderato. ad esempio, se si turna in questo modo (40 ore a settimana):

6/14 - 6/14 - 14/22 - 14/22 - 22/06 - SMONTANTE - RIPOSO

oppure per i 24 ore/settimana

6/14 - 14/22 - 22/06 - SMONTANTE - REPERIBILE - RIPOSO

la sequenza è perfetta ma concederà a qualcuno di stare tutte le domeniche a casa mentre altri, sempre a lavoro

potete darci una mano? quale potrebbe essere il giusto algoritmo?

grazie in anticipo a tutti
Vittorio_1955
Starting Member
Starting Member
 
Messaggio: 1 di 4
Iscritto il: 02/04/2020, 15:26

Re: alla ricerca di un algoritmo

Messaggioda Overflow94 » 04/04/2020, 20:50

Per lavoro mi sono occupato di un problema molto simile al tuo. Ho sviluppato un software per automatizzare la generazione del calendario dei turni nei plant di una multinazionale del settore automotive, tenendo conto della disponibilità dei lavoratori, massimizzando il più possibile le loro preferenze e bilanciando equamente il carico lavorativo. Per chi fosse curioso, il software era basato su un algoritmo di simulated annealing.

Putroppo devo darti una risposta negativa, non esiste un metodo semplice per automatizzare del tutto la schedulazione dei turni. In una scuola che ho frequentato al professore che si occupava di creare i calendari veniva riconosciuto un bonus di 500 euro, nei plant più grandi e complessi in cui ho lavorato c'era del personale interamente dedicato a creare il calendario dei turni e a gestire eventuali modifiche e nonostante ciò non erano ottimali.

Questo tipo di problema è spesso indicato come "scheduling problem" ed è classificato come "NP-hard", che nel linguaggio matematico significa che è un problema dei più difficili da affrontare e a cui non si conosce una soluzione semplice.

Ci sono però vari software e startup che stanno cercando di risolvere questo tipo di problema in un modo accessibile a tutti, se cerchi penso tu possa trovarne diversi. E' improbabile che tu possa trovare qualcosa così flessibile da adattarsi perfettamente a tutte le vostre esigenze gratis o basso costo, però invece è verosimile che tu possa trovare un software in grado di generare un "buon punto di partenza" da personalizzare ulteriormente a mano e da completare. (Lo so perché un software simile veniva utilizzato, pagando un abbonamento, nella scuola che ho frequentato e perché quando mi sono occupato di questo tipo di problemi feci una piccola ricerca di mercato per capire cosa c'era in giro).
Overflow94
Junior Member
Junior Member
 
Messaggio: 148 di 364
Iscritto il: 03/06/2015, 17:48

Re: alla ricerca di un algoritmo

Messaggioda Vittorio_1955 » 05/04/2020, 10:28

buongiorno e grazie per il tuo intervento. in effetti non è semplice, mi sono affidato ad un forum di matematica proprio perchè qui le menti sono sicuramente brillanti. ti dico che abbiamo consultato una software house la quale ci ha proposto un programma ad hoc alla modica cifra iniziale di 2.500 euro oltre canone mensile. i problemi sono 2:

ci hanno fatto una presentazione meravigliosa ma non ci hanno dimostrato funzioni (anche se sulla carta dovrebbe)

visti i tempi non rosei, si cerca di risparmiare

ma allora la domanda è: perchè loro riescono? forse abbiamo sbagliato l'approccio?

chissà.... vediamo se qualche altro utente interviene

per il momento grazie ancora!
Vittorio_1955
Starting Member
Starting Member
 
Messaggio: 2 di 4
Iscritto il: 02/04/2020, 15:26


Torna a Pensare un po' di più

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite