Un'anomalia in un orario generato è stata il punto di partenza per un'analisi e una riflessione sulla differenza tra i vincoli di spazio di assegnazione e i vincoli di spazio di preferenza in FET.
Mentre preparavo un orario scolastico mi sono imbattuto nel seguente scenario: due gruppi di studenti, 1L e 1M, fanno come seconda lingua Francese e Spagnolo. Cioè metà 1L e metà 1M fa Spagnolo e le altre due metà fanno Francese; ovviamente nelle stesse ore. Ho creato un'attività che prevede due professori, due gruppi di studenti e una materia chiamata Sp-Fr e tutto sembrava funzionare.
Ad un certo punto, però ho riscontrato un'anomalia. Dato che la scuola in questione è divisa in due plessi, ho definito oltre ai gruppi di studenti anche le aule, in modo da poter assegnare le aule ai plessi. Molto semplicemente ho definito due aule, Prima L e Prima M, assegnate entrambe alla succursale, e ho imposto tra i vincoli di spazio che l'insieme di studenti 1L abbia assegnata la classe Prima L e l'insieme di studenti 1M abbia assegnata la classe PrimaM
Inoltre uno dei due docenti, quello di Spagnolo, ha delle classi sia in centrale, sia in succursale. Quindi ho definito un vincolo di spazio per docenti che imponesse che lo spostamento da un plesso all'altro durasse un'ora in modo da permettere il trasferimento.
Ho generato l'orario è ho trovato che per il docente di Spagnolo erano state imposte ore consecutive in centrale e in succursale. Più precisamente che tra la lezione bilingue 1L/1M in succursale e una qualsiasi lezione in centrale non era garantito l'ora di buco per lo spostamento.
Da una rapida analisi è emerso che il problema era collegato al fatto che l'algoritmo non era in grado di assegnare l'attività ad un aula specifica, perché gli studenti della 1M devono far lezione in Prima M, quelli della 1L in Prima L, quindi una lezione che prevede entrambi i gruppi di studenti non viene assegnata a nessun aula.
Non so se sia un bug, ma probabilmente è voluto. I vincoli di spazio si dividono in FET in vincoli di assegnazione e di preferenza. I vincoli di assegnazione vengono sempre rispettati a meno che non ci sia qualcosa che lo impedisca, come nel caso che mi è capitato. Infatti i vincoli che che legano gruppi ad aule sono di tipo assegnazione.
I vincoli di preferenza, invece, sono più forti, prevalgono su quelli di assegnazione e non possono essere non rispettati.
Per risolvere ho creato un'aula fittizia, chiamata Bilinguismo e assegnata alla succursale, e ho usato un vincolo di tipo: Spazio > Materie > Una materia ha un'aula preferenziale e ho imposto che la materia Sp-Fr avesse come aula preferenziale l'aula bilinguismo.
Ovviamente questa non è l'unica soluzione, ma funziona.
Vi sono mai capitati casi simili? Come li avete risolti?
Per come scaricare FET cliccare sul seguente collegamento.
Buon giorno, scuzate perche non parlo bene italiano.
RispondiEliminaSi, non e un bug, e una chestione voluta. Io ho pensato molto come specificare vincoli per aule. L'actuale construzione e la miogliore possibile.
1) Non e possibile di tratare vincoli per aule con "un insieme di attivita ha un insieme di aule preferenziale", come tempo. Ho pensato molto qui;
2) Aule preferenziale deve essere piu forte che aule propie (specifiche), logicamente;
3) Studenti S1 -> specifiche aula A1, S2 -> A2. Attivita A (S1, S2) -> dove mettiamo? Allora, se abiamo piu insieme di studenti, dobiamo ignorare aule specifiche.
Si, nel (3) caso sara bello si io aggiungiavo un avviso. Sto pensando.
Ciao e grazie per aver lasciato un commento.
RispondiEliminaCome prima cosa ti vorrei ringraziare per FET. Sono 4 anni che lo uso, funziona molto bene e mi ha sempre aiutato a fare l'orario scolastico. Senza di esso non so come avrei fatto.
Effettivamente un avviso che avverte quando è necessario ignorare i vincoli di spazio potrebbe essere utile. Io ho risolto aggiungendo altri vincoli, e non è stato difficile, ma inizialmente non mi ero accorto del problema e me lo hanno fatto notare altri.
Ciao, Fabio,
RispondiElimina1) Per aule assegnate:
a) Nel' vincoli finestre, essistono commenti, ma la traduzione in italiano a perduto qualcosa di mie intenzione. Si prega di lire il originale in inglese. Ho parlato con Marco per ri-essaminare queste frase (proposizione) in italiano.
b) Un avviso, si, utilo, ma po disturbare qualche utenti. Sto pensando. Perche, vedi (1, a), io spiego quando il vincolo non sara rispettato. E non e una espressione 100% corretta, "non sara rispettato", perche il vincolo fa riferire solo alle attivita con SOLO questo insieme di studenti. Il vincolo e rispettato, da un punto di vedere.
c) Mi dispiace per le problemi che ai avuto.
2) Ai visto il nuovo snapshot (versione di testo)? Si prega di testare e riportare risoltati, buone o male. Vedi FET forum. La traduzione italiano e in corso. Spero che in 1-2 settimane la versione finale va essere uscita, allora vorrei feed-back il piu presto possibile.
3) Si prega di notificare il mio email con risponsi sulle commenti suivanti. Non so come fare. Aggiungi il mio indirizzo che poi trovare nel' pagine di FET o sulla mia pagina personale.
Salve, sono Marco
RispondiEliminainanzitutto vorrei ringraziare sig. Liviu Lalescu per FET.. SEI MAGNIFICO!!
per quanto riguarda lo strano caso.. a scuola dove lavoro io (Don Bosco - Cairo, Egitto).. abbiamo un caso simile, che 2 classi debbano fare due attività diverse, contemporaneamente, con due diversi insegnanti!!
ho fatto in questo modo..
esempio.. Classi A e B - Attività 1 e 2 - Insegnanti X e Y - Spazio M e N
Attività 1 si fa alla classe A col prof. X in aula M
Attività 2 si fa alla classe B col prof. Y in aula N
Vincolo: che le due attività comincino allo stesso tempo: peso 100%
poi una volta stampato l'orario.. aggiungo a mano ciò che resta.. sta soluzione non mi risulta tanto intelligente..
la domanda è.. se uso i sottogruppi.. cio'è classe A (Aa e Ab) classe B (Ba e Bb)
assegno Attività 1 ai sottogruppi Aa e Ba col prof. X in aula M e Attività 2 ai sottogruppi Ab e Bb col prof. Y in aula N... poi stampando .. chiedo l'orario delle classi A e B.. sarà tutto apposto??
Marco M.
marcodb.itec@gmail.com
Buona sera, Marco,
EliminaSono Liviu, autore FET.
Grazie!
Adesso o visto il suo messaggio.
Credo che si, ma devi fare una prova.
In inglese: You can select an option: Settings > Timetables > Print activities with same starting time in timetables.