Ecco il succo del problema: ci sono più fornitori di servizi che hanno ciascuno i propri programmi di disponibilità. Ci sono più clienti che cercano i loro servizi. I clienti devono essere in grado di prenotare un orario di prenotazione per il servizio, ma dovrebbero essere in grado di prenotare solo i tempi in cui alcuni provider di servizi sono disponibili (ovvero non si preoccupano davvero di quale particolare provider ottengono finchè ottengono un fornitore). Sfortunatamente, i fornitori di servizi possono cambiare gli orari tra il momento in cui il cliente si registra e quando viene fornito il servizio, il che significa che anche con le salvaguardie di prenotazione esistenti potrebbero ancora finire troppe prenotazioni per un dato periodo.
Vorrei sapere quale lavoro è già stato fatto su questo tipo di problema e inoltre:
- I fornitori dovrebbero essere effettivamente "assegnati" ai clienti in modo persistente anche se i provider sono intercambiabili?
- In base alla risposta alla domanda precedente, in che modo è possibile determinare il "prossimo incarico" del fornitore in base all'ora corrente, agli orari di altri fornitori e alle prenotazioni programmate?
Ho riflettuto molto su questo problema, ma sono perplesso e ho lasciato soluzioni insoddisfacenti. Come qualcuno che non ha esperienza in CS, apprezzerei un po 'di intuizione e / o un modo migliore per pensare al problema.