variazioni molteplice

Started by utismetis, August 26, 2010, 03:33:25 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

utismetis

Ciao a tutti,
ho generato un orario, vorrei ottenere delle variazioni, ma non mi ricordo come fare: apro l'orario salvato, poi orario / genera nuovo / inizio, poi vincoli di tempo / attività / una subattività ha un'ora di inizio preferenziale (dove elimino quelle che vorrei modificare, ma il risultato è sempre l'orario già ottenuto). qualcuno sa usare il molteplice?
Ringraziamenti e saluti.
Utismetis

utismetis

Ciao a tutti,
ho rifatto: ho aperto l'orario salvato, poi orario / genera nuovo / inizio, poi vincoli di tempo / attività / una subattività ha un'ora di inizio preferenziale, ho eliminato quelle che volevo modificare, ho ottenuto un orario diverso, poi ho ripetuto le operazioni su di questo e raggiunto altri orari.
Utismetis

mbarsan

#2
Ciao!
I file con estensione .fet appartengono a due categorie: 1) quelli che contengono i dati inseriti dall'utente, i vincoli, le aggiunte di insegnanti, di desiderata, di giorni liberi, di compresenze ecc. ecc.. Di solito da salvare in una cartella destinata ai dati di input, con l'accortezza di inserire nel nome -ad esempio- la data e una lettera sequenziale, per non perdere eventuali versioni precedenti che avevano dato qualche soddisfazione e speranza di essere vicini alla soluzione definitiva; 2) I file generati automaticamente da FET insieme alle soluzioni. Questi contengono le stesse informazioni dei file di input (vedi punto precedente), ma hanno l'aggiunta di una serie di vincoli di ora preferenziale in modo che, caricandoli su FET, riproducono tale e quale l'orario che era stato registrato.

E' una cosa che può tornare utile, perchè caratteristica di FET è quella di utilizzare algoritmi random capaci di generare ad ogni lancio un orario diverso. Inserendo i vincoli di ora preferenziale per ciascuna subattività, FET ottiene di fornire un file di input (con estensione .fet) che permette di riprodurre sempre e solo lo stesso orario.

Come hai efficacemente notato, si può decidere di partire da uno di questi ultimi file e, rimuovendo alcuni vincoli di ora preferenziale per subattività, agendo dalla finestra del vincolo - aiutandosi con i filtri presenti- o dal menu orario / vedi insegnanti o studenti - grazie al comando blocca / sblocca, si può ottenere un nuovo file di dati che FET può elaborare per cercare nuove soluzioni più accettabili.


Non è affatto da trascurare, comunque, la possibilità di lanciare la generazione molteplice o di più orari.

Supponiamo che la generazione singola ci dia un risultato nel tempo di circa 10 minuti; ogni tanto riscontriamo che una generazione, dopo 25 minuti, cicla ancora e non sappiamo quanto tempo servirà per concludere. Decidiamo allora di interromperla. Constatiamo comunque che, piuttosto spesso, in meno di 10 minuti abbiamo una soluzione.

E' utile, a questo punto, lanciare la generazione multipla, con l'accortezza di limitare il numero di orari da generare (20 o 30 possono andar bene) e di limitare il numero massimo di minuti che FET attenderà prima di abortire la singola ricerca e passare alla successiva (in questo caso 10 minuti, ad esempio).

Dopo un paio d'ore ci troveremo con alcuni orari pronti (quelli che sono stati completati in meno di 10 minuti) oltre ad alcuni altri la cui ricerca sarà stata abbandonata esattamente dopo 10 minuti.

Dovremo prendere in considerazione gli orari terminati, i conflitti lievi presenti, osservandoli in dettaglio per decidere se sia il caso di inserire qualche altro vincolo che impedisca combinazioni presenti ma non volute. Oppure se sia opportuno continuare a generare con questo sistema alla ricerca dell'orario più accettabile.

La navigazione tra gli orari avviene a partire dalla cartella di output selezionata dall'apposito menu sotto Opzioni. Ad un utente mediamente o poco esperto conviene - prima di tutto - scegliere la cartella Documenti e qui creare una cartella Fet Output - ad esempio. Dentro questa cartella si troverà l'insieme di file che costituiscono l'ultima generazione singola dell'orario: un insieme di file con estensione html (a partire da quello denominato ...index...) più alcuni file di servizio di tipo xml oltre al file di tipo .fet che riproduce (con FET o con lo script per importare l'orario in Excel http://lalescu.ro/liviu/fet/forum/index.php?topic=504.0) esattamente l'orario che si sta esaminando. Si noti che ogni volta che si lancia la generazione singola, questi file vengono sovrascritti e si perdono quelli che erano stati eventualmente generati in precedenza.

Quando si lancia la generazione multipla, dentro questa cartella di output si troverà una nuova cartella denominata col nome del file in corso di elaborazione; al suo interno una serie di cartelle denominate con numeri progressivi conterranno le relative soluzioni (file di tipo html, xml e fet) trovate da FET con la ricerca multipla di orari.


:P

utismetis

Ciao,
facevo riferimento alla seconda categoria di .fet, cioè ad un orario completo, ma con alcuni conflitti non accettabili che possono essere eliminati da successive elaborazioni del programma, eliminate le ore preferenziali per subattività di alcuni insegnanti. Si gìunge così, attraverso il molteplice o genera più orari a nuove soluzioni, a volte migliorative. Debbo riguardare tutti i conflitti o solo quelli degli insegnanti di cui ho eliminato subattività? La siconda direi.
Grazie.

mbarsan

QuoteDebbo riguardare tutti i conflitti o solo quelli degli insegnanti di cui ho eliminato subattività? La seconda direi.

Si, è così.
I conflitti relativi a subattività bloccate restano come sono e si ripetono ad ogni generazione. Quelli relativi a subattività che sblocchi per tentare di farle sistemare diversamente da  FET, potrebbero non resentarsi più.

Forse, oltre che partire da questi file con tante attività bloccate, potresti aggiungere qualche vincolo alla base dei dati per ottenere elaborazioni più risponenti alle esigenze.

Ciao

utismetis

Ciao Mbarsan,
per "aggiungere qualche vincolo alla base dei dati" intendi cambiare i vincoli prima di lanciare genera nuovo o genera più orari?
Grazie.

mbarsan

Quote...per "aggiungere qualche vincolo alla base dei dati" intendi cambiare i vincoli prima di lanciare genera nuovo o genera più orari?
Si.  :)