|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Feb 2005
Messaggi: 10
|
Scheduling con JAVA
Ciao a tutti, avrei bisogno di un aiuto: devo creare un programma Java che pianifichi l'attività di una scuola di volo. Ovvero ho delle risorse quali Aerei, istruttori e alunni e devo pianificare le attività in base alla disponibilità di aerei e istruttori, incastrando i vari orari delle varie lezioni in modo da ottimizzare l'intera giornata. Come posso improntare l'algoritmo?
Grazie Ciao a tutti |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Da come lo hai descritto sembra un problema di ricerca operativa. Ti consiglio di dare un occhiata al algoritmo del simplesso che è quello più conosciuto. In genere lo si insegna anche alle superiori quindi se hai bisogno di materiale puoi tranquillamente trovarlo in libri di testo scolastici.
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Feb 2005
Messaggi: 10
|
capito, darò un'occhiata a quest'algoritmo, vediamo se mi può aiutare
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Feb 2005
Messaggi: 10
|
Ciao sto provando a trovare la soluzione corretta. Ho già creato il db da dove caricare le varie tabelle che sono : lezioni, allievi, istruttori, aerei, aule, corsi, allieviLezioni (che indica le lezioni che ogni allievo deve seguire) e istruttoriLezioni (che indice le lezioni che un istruttore deve insegnare).
I vincoli sono i seguenti: - ogni allievo segue un solo corso - ogni allievo deve seguire tutte le lezioni - ogni lezione sarà di tipo aereo o aula, nel primo caso verrà seguita da un allievo per volta(il quale utilizzerà l'aereo), nel secondo caso verrà seguita da tutti gli allievi contemporaneamente. - ogni lezione fa parte di un solo corso - ogni istruttore può insegnare in un solo corso - ogni istruttore può insegnare più lezioni, indipendentemente dal fatto che essa sia in aula o in aereo La tabella delle lezioni comprende un tipo che indica se aereo o aula, e la durata di ogni lezione. Questo è importante perchè devo sistemare tutte le lezioni per tutti gli allievi, incastrandole in base alla loro durata. Se la lezione è di tipo aereo dovrò programmare tante lezioni quanti sono gli allievi, se è di tipo aula ne programmerò una sola che sarà seguita da tutti gli allievi in contemportanea. |
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Feb 2005
Messaggi: 10
|
Io ho caricato le tabelle dal db in vari ArrayList con la seguente istruzione:
List<ArrayList> lezioni = db.eseguiQuery("SELECT * FROM Lezioni"); ovviamente così per tutte le tabelle. Ho già creato una classe Database.java che mi permette di connettermi e disconnettermi dal db, aggiungere query, aggiornarle ecc... Ho creato inoltre, per il calcolo della disponibilità delle risorse, 3 classi: Calendario.java con all'interno un ArrayList comprendente i vari giorni della settimana. Giorno.java con all'interno un ArrayList comprendente tutte le fasce orarie di ciascun giorno e inoltre comprende i metodi per verificare che un'aula e/o un aereo e/o un istruttore e/o un allievo sia già stati scelti. Ora.java con all'interno i metodi get e set per restituirmi, data, tipo(aereo/aula), id dell'aereo o aula, id istruttore e id allievo, ovvero tutti i dati per quella lezione che si sta selezionando. Se vuoi te li posto queste classi. Ora il mio problema è creare quest'algoritmo per inserirli all'interno del calendario, cioè scorrere tutte le lezioni, inserirle man mano in base alla loro durata e creare quindi l'orario definitivo della settimana. Spero mi potete aiutare e spero di essere stato chiaro! Grazie in anticipo. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:24.



















