Sto scrivendo un'applicazione di pianificazione semi-automatica. Date alcune prenotazioni esistenti e alcuni requisiti di risorse, è necessario trovare gli orari in cui è possibile pianificare un nuovo evento. Un utente umano valuterà quindi i risultati e sceglierà una delle opzioni. Non è necessario ottimizzare un orario per più eventi e quindi non è il solito problema di orario NP-Hard.
Il sistema ha un numero di risorse (istruttori, sale, attrezzature) ognuna delle quali ha un tipo (ad es. insegnante di francese, sala per seminari, proiettore ...). Le risorse sono prenotate per eventi ognuno dei quali ha un'ora di inizio e di fine.
Ora, devo dire che ho bisogno di programmare una lezione francese di 2 ore usando un proiettore in una sala per seminari, quali sono le volte in cui almeno una risorsa di ciascun tipo di risorsa richiesto è disponibile?
Per limitare lo spazio del problema, è accettabile considerare solo 9-17, da lunedì a venerdì a intervalli di 15 minuti per i prossimi 90 giorni. Numero totale di risorse nell'ordine di 1000.
Come posso fare questo senza dover confrontare ogni risorsa con ogni altra risorsa?