Simulateur de File d'Attente
Presentation
Objectif principal : Un simulateur de files d'attente pour modeliser des systemes reels : caisses de supermarche, guichets de banque, serveurs web. Theorie des files M/M/1, M/M/c avec visualisation.
Technologies utilisees : Java pour la simulation a evenements discrets. JavaFX pour la visualisation en temps reel. Statistiques avec Apache Commons Math.
Fonctionnalites cles : Configuration du taux d'arrivee (lambda) et de service (mu), plusieurs serveurs, visualisation animee de la queue, metriques en temps reel (temps d'attente moyen, utilisation).
Livrables attendus : Simulateur avec interface graphique. Export des resultats en CSV. Comparaison des performances selon les configurations.
Calendrier previsionnel : Deux semaines. La theorie des files d'attente c'est des maths, fallait comprendre avant de coder.
Parties prenantes & criteres de succes : Projet de probabilites/stats. Le but c'etait de verifier experimentalement les formules theoriques de la theorie des files.
Le Defi
La simulation a evenements discrets. On ne peut pas simuler chaque milliseconde, c'est trop lent. Faut sauter d'evenement en evenement (arrivee, debut service, fin service) avec une priority queue.
La Solution
Une PriorityQueue d'events tries par timestamp. Chaque event peut en creer d'autres (une arrivee schedule la prochaine arrivee). On depile, on traite, on update les stats. Ca permet de simuler des heures en quelques secondes.
Architecture Technique
Classe Event avec timestamp et type (ARRIVAL, SERVICE_START, SERVICE_END). Classe Simulator avec la boucle principale et la PriorityQueue. Classe Server qui track son etat (busy/idle). Classe Statistics qui accumule les metriques. Interface JavaFX qui observe le simulateur et anime la visualisation.
Points Cles
- Simulation evenementielle efficace
- Visualisation en temps reel
- Validation vs theorie
Apercu
Resultats & Apprentissages
Les resultats de simulation correspondent aux formules theoriques (a quelques % pres grace a la loi des grands nombres). J'ai compris pourquoi quand rho approche 1, le temps d'attente explose. La simulation a evenements discrets c'est un outil puissant.
Evolutions Futures
Plus de types de distributions (pas que exponentielle). Reseaux de files (Jackson networks). Optimisation automatique du nombre de serveurs. Mode replay pour analyser une simulation.