Generazione di intervalli di tempo basata su tecnici disponibili

2

Considera un'organizzazione che fornisce ai tecnici diversi tipi di lavoro.

Ogni tipo di lavoro varia in base al tempo di completamento e al numero di tecnici. Ad esempio, il tipo di lavoro 1 richiede 2 tecnici e 1 ora per il completamento e il tipo di lavoro 2 richiede 1 tecnico e 30 minuti per il completamento. Tutti i tecnici sono sempre disponibili (orario di lavoro dell'organizzazione è 09: 00-18: 00), a meno che non vengano assegnati lavori.

Un cliente può richiedere il servizio online e deve essere visualizzata una fascia oraria disponibile in base al tipo di lavoro selezionato.

Non ci sono altri vincoli come lo spostamento minimo o il massimo spostamento per tecnico, e si assume anche che tutti i tecnici siano altrettanto esperti.

Qual è il modo migliore per generare la fascia oraria?

    
posta frosty 16.09.2015 - 08:38
fonte

1 risposta

2

Come al solito, non esiste un proiettile d'argento che possa essere dichiarato il migliore.

Detto questo, ti suggerisco di dare un'occhiata alla pianificazione basata sui vincoli. Questi tipi di problemi di pianificazione sono molto comuni e la programmazione dei vincoli ha avuto un enorme successo nel risolvere e, soprattutto, la loro descrizione.

Con un risolutore CP puoi specificare i vincoli simili a quelli che hai già descritto nel tuo post (ovviamente c'è anche qualche sintassi da rispettare) e il risolutore fa il duro lavoro di calcolare le migliori fasce orarie.

A seconda dei tuoi vincoli e della tua funzione di fitness (ad esempio, potresti dire al risolutore perché una soluzione è migliore di un'altra), questo può diventare sempre più complicato. CP è a volte considerato un paradigma di programmazione, quindi ha un sacco di ampiezza e profondità in cui ci si può perdere. Ma iniziare con uno qualsiasi dei risolutori disponibili e giocare con esso per verificare se questo potrebbe essere utile nel tuo caso è certamente possibile in un ambito limitato. Se il problema non è troppo complicato, ho scoperto che la maggior parte delle persone ha difficoltà a codificarlo e a risolverlo piuttosto rapidamente.

La buona e più importante cosa imho con una soluzione CP è che hai una rappresentazione diretta dei tuoi vincoli che a) aiuta a comunicare e b) rende le modifiche molto più semplici.

    
risposta data 16.09.2015 - 10:07
fonte

Leggi altre domande sui tag