Open susoesteba opened 5 years ago
Aquest serà el resultat de cada vehicle, segons les indicacions den Castro haurem de tenir en compte que a part del camí, tindrà métodes com: retornar pes total del camí, vehicle assignat, ...
ATENCIÓ La post del métode afegirPeticio s'ha modificat! Per verificar que s'ha fet el canvi, envia un missatge notificant de l'acció amb un comentari.
He assignat un ArrayList per l'estructura de dades de les peticions entrants. És la millor opció?
Un ArrayList es fa servir com a "memoria dinamica", per la forma com s'expandeix quan es necessari (comparant amb una List), i com que no han d'estar ordenades ni res, si, diria que és la millor opció
Una Ruta en comptes de tenir una llista de Node, no hauria de guardar un Graph? Ja que en una llista de Nodes no saps quin és el temps entre 2 Nodes, per tant no es pot calcular el tempsTotal() o tempsEntreNodes(n1, n2).
NOOOO, bueno, en certa manera si, però en aquest cas NOOO. La Ruta ha de tenir un seguit de nodes que ens indicaràn per on ha de passar perquè es faci efectiva. En aquest cas, si posessim un Graph sempre obtindriem el tempsDirecte() per cada node per obtenir la distancia entre el punt inicial i el punt final de la ruta (que poden ser o no el mateix punt de carrega). Per tant, no tindría sentit fer-li la petició directament al GRAPH. D'aquesta manera amb la llista de nodes, estem aconseguint un seguit de "passos" que haurà de seguir el conductor per fer la Ruta, és a dir, tindrà un factor que determinarà quin camí agafar independentment dels camíns més optims del graf. No se si ho has pillat, sinò demà tu acabo d'explicar :)
I com vols calcular el temps entre Nodes? Si no es guarda la distancia entre cada Node, només estas guardant un llistat de Nodes, però en algun lloc s'ha de dir: entre n1 i n2 hi ha X temps entre n2 i n3 Y temps, etc...
Jo havia pensat fer un métode en el que li passes el graph i els dos punts i et retornes la distancia entre els dos punts. Tot i aixó intentem comentar-ho demà, però el que crec que no podem fer és assignar un graph complert a un objecte ruta. No l'hi trobo el sentit.
Tipus Ruta
Descripció general
Ruta amb el camí a seguir per cada vehicle per completar les peticions generades. L’origen i destí de la ruta és sempre un punt de càrrega.
Operacions
CONSTRUCTORS
CONSULTORS
[x] int tempsTotal() Pre: - - - Post: Retorna el cost total, en temps, d’una ruta.
[x] Node ultimNodeVisitat() { Pre: _node.size > 0 Post: Retorna l'ultim Node a visitar
[x] Node ultimaPeticio() { Pre: _peticio.size > 0 Post: Retorna la última Peticio guardada
MODIFICADORS
[x] void afegirSeguentVisita(Node n, int temps) Pre: -- Post: Afegeix el Node a la llista i incrementa el temps total
[x] void afegirPeticio(Peticio p) Pre: -- Post: Afegeix el Node a la llista i incrementa el temps total
[x] void eliminarUltimaVisita(int temps) Pre: _node.size > 0 Post: Elimina l'ultim Node de la llista i redueix el temps total
[x] void eliminarUltimaPeticio() Pre: _peticio.size > 0 Post: Elimina la última peticio acceptada de la llista
NOTES