Sto considerando un problema ipotetico e sto cercando una guida su come affrontare il problema, da un punto di vista algoritmico.Algoritmo per il calcolo delle restrizioni date dal calendario
Il problema:
consideri un'università. Si hanno i seguenti oggetti:
- Docente. Ogni membro del personale insegna uno o più documenti.
- Studenti. Ogni studente prende uno o più documenti.
- Camere. Le stanze contengono un certo numero di studenti e contengono determinati tipi di attrezzature.
- Carte. Richiedere un determinato tipo di attrezzatura e una certa quantità di tempo ogni settimana.
informazioni fornite circa le iscrizioni (IE- quanti studenti sono iscritti in ogni carta, e ciò che il personale sono assegnati per insegnare ogni carta), come posso calcolare un calendario che obbedisce alle seguenti restrizioni:
- Il personale può insegnare solo una cosa alla volta.
- Gli studenti possono solo partecipare a un foglio alla volta.
- Le camere possono contenere solo un determinato numero di studenti.
- Le carte che richiedono un determinato tipo di apparecchiatura possono essere trattenute solo in una stanza che fornisce quel tipo di apparecchiatura.
- Ore di funzionamento dal lunedì al venerdì, 8-12 e 1-5.
Discussione:
In realtà io non sono troppo interessati con la situazione descritta sopra - è la classe generale di problema che mi incuriosisce. A prima vista Mi sembra una buona misura per un algoritmo genetico, ma la funzione di fitness per un tale algoritmo sarebbe incredibilmente complessa.
Qual è un buon approccio per cercare di risolvere questo tipo di problema che soddisfa i vincoli?
Immagino che probabilmente non c'è alcun modo per risolvere questo perfettamente, dal momento che gli studenti possono anche prendere una combinazione di documenti che porta a situazioni impossibili, in particolare come cresce il numero di studenti & documenti.
... potresti essere. Mentre ci sono solo 5 vincoli, ci sono potenzialmente migliaia di studenti, centinaia di documenti, centinaia di stanze e centinaia di dipendenti. La complessità di controllare tutti questi vincoli l'uno contro l'altro è, penso, il problema originale - ora lo abbiamo semplicemente spostato. – Thomi
Il mio punto è che non scarterei i GA semplicemente perché la funzione di fitness è complessa, dal momento che dovrete lavorare in tale complessità in ogni caso (sfruttando metodi formali dati o quant'altro), GA o meno. – JohnIdol
Buon punto. Grazie. – Thomi