Attualmente sto facendo un progetto (in PHP) che ha i seguenti requisiti:
- C'è una lista di persone, ordinate in una certa priorità. I lavori dovrebbero essere assegnati a loro da questa priorità. per esempio. Se la lista è T1, T2, T3, T1 dovrebbe essere assegnato lavoro, prima di T2. E T2 è assegnato lavoro prima di T3. Nel caso in cui ci siano solo 2 pezzi di lavoro, vengono assegnati solo T1 e T2.
- Ogni pezzo di lavoro ha determinati requisiti di tempo. Quindi, anche se è il turno di T1 ad essere assegnato lavoro, se nessuno dei lavori è adatto per T1, T1 verrà saltato e non verrà assegnato alcun lavoro a T1.
- Alcuni lavori sono più adatti per alcune persone. Per esempio. Ci sono due lavori, W1 e W2. Se T1 è più adatto per W2, W2 sarà assegnato a T1.
La mia idea attuale è quella di allocare il lavoro in base all'elenco delle persone e utilizzare una ricerca A * per identificare quale sia il modo migliore di assegnare il lavoro a ciascuna persona. Ma ho pensato che il mio reqt 1 e reqt 3 sembra avere alcuni conflitti.
È un algoritmo ragionevole o ci sono problemi con esso che non vedo a questo punto?