Simulation d’un réseau avec correspondances UrbanConnector Juin - Projet final RICM 1 Groupe 10: B.Tillard – J.Danthon – A.Mandyev – A.Lefrique – M.Rivoalen – JF.Knoepfli
But du logiciel Simuler les trajets effectués par les utilisateurs Estimer la charge d’un réseau à tout lieu et à tout moment Gérer la congestion d’un réseau complexe
Paramètres Dynamiques: Statiques Le temps de parcours sur les arcs Les parcours des passagers Statiques Le nombre de passager dans le réseau La fréquence des trains Le modèle statistique des destinations
L’architecture Quatre Trois Une Deux Cinq <reseau> <ligne num=1 frequence=100> <arc numdep=1 numarr=2 …/> <arc numdep=2 numarr=1 …/> <arc numdep=2 numarr=3 …/> <arc numdep=3 numarr=2 …/> </ligne> <ligne> <arc numdep=4 numarr=2 …/> <arc numdep=2 numarr=4 …/> <arc numdep=2 numarr=5 …/> <arc numdep=5 numarr=2 …/> < /reseau>
Vérification Stations: Arcs: Pas de doublons Pas les mêmes coordonnées Ordonnées par numéros croissant Arcs: Stations existent bien Ligne existe bien ( stations bien connectées) Ordonné par numéro de ligne Temps de parcours d’un arc positif
L’architecture
Moteur de calcul • Algorithme de mise à jour des charges Connaître la charge à tout endroit en fonction du temps Connaissant le chemin que prenne les gens, ajout du nombre de passager à chaque arc au temps calculé • Algorithme du meilleur chemin Dijkstra: déjà implementé et fonctionne Floyd: de même ! Choix de l’algorithme en fonction de sa complexité.
Problèmes Solutions techniques Problème: Comment gérer les changements de station ? Solution Problème: Dynamicité du projet
Structures de données Reseau StationFictive StationReelle Station Algorithme Ligne Charge ArrayList Trajet ChargeStation Chemin ChargeArc Bleu = classe abstraite Vert = classe Rouge = Interface
Interactivité Sur l’écran: Commandes: Carte du réseau Liens colorés en fonction de la charge Affichage sur demande d’informations Commandes: Changement des paramètres Création d’événements particuliers
Extensions possibles Affichage de l’Itinéraire optimal en fonction de l’état du réseau pour un utilisateur Rendre dynamique les paramètres statiques Moteur statistique pour le gestionnaire du réseau
Travail d’équipe Réactivité de l’équipe : modification rapide du projet Organisation en groupe de travail Répartition par groupe de travail Gestion informatique Serveur de sauvegarde Serveur de version (SVN) Planning du projet (annexe)
Annexe : Planning Vert = test Jaune = en cours Orange = lancement
Conclusion Vous avez la possibilité de suivre le développement sur l’interface web de notre SVN Le carnet de bord est disponible chaque soir Le logiciel sera livré le 26 juin au soir
Annexe : Hiérarchie des classes Reseau Array list tabLigne Array list tabArc Array list tabStationFictive Array list tabStationReelle ArrayList Charge Int chargeCourante() ChargeStation Chemin ArrayList Arc ChargeArc Int timer; Int chargeCourante(); … Ligne Array list tabLigne Array list tabArc Array list tabStationFictive Array list tabStationReelle Trajet Array list tabLigne Array list tabArc Array list tabStationFictive Array list tabStationReelle Station Array list arc; Int num; StationReelle stationFictive[]; ChargeStation charge; Int coordx, coordy; StationFictive Int stationReelle; Ligne ligne; Algorithme Public DijstraN(Reseau r) Public Floyd( Reseau r)