Inspiration

Étant un groupe d'étudiants dans une ville aussi active que Montréal, il nous est souvent arrivé de nous retrouver dehors, tard le soir, sans plus aucun métros en circulation. Le moyen le plus économique, pour de modestes étudiants est donc le réseau de nuit de la STM (Société des Transports de Montréal). Malheureusement les arrêts desservis par ce réseau spécial sont très irréguliers, et il nous est souvent arriver d'attendre plus de 30min, dans le froid, en pleine nuit, à un arrêt. C'est de cette souffrance qu'est née notre idée de Nimbus.

Nimbus, qu'est-ce que c'est?

Nimbus c'est une flotte de véhicules au concept novateur, en effet, au lieu d'avoir des trajets fixes comme il se fait actuellement, la flotte de véhicule Nimbus se dispatchent de manière synchrone en prenant des trajets non fixés préalablement mais qui dépendent de la demande des utilisateurs. Les trajets sont recalculés en temps réel en permanence pour offrir une trajectoire en tout temps optimale, limitant ainsi le temps d'attentes des usagers!

Comment l'a-t-on fait?

Pour mettre sur pieds Nimbus, nous avons mis au point une web app qui sert de vitrine pour le system de monitoring de la flotte. Nous avons programmé tout le back-end en Python à l'aide du framework Django, pour la partie front-end, Javascript/ReactJS ont su faire le boulot pour le niveau de dynamisme dont nous avions besoin.

Nos defis

On a dû attaquer le fameux « travelling salesman problem » pour trouver les trajectoires les plus efficaces incluant les points d’embarquement et de descente. Cet algorithme, grand classique de sa catégorie nous a causé bien du fil à retordre, tant bien même que nous nous sommes, après plusieurs heures à essayer d'implémenter notre prople solution, résolu à passer par un API qui nous a permi de faire abstraction des notions de maths poussés conduisant à sa résolution. Ainsi, nous avons pu nous consacrer à d'autres problématiques que l'API ne prenait pas en compte et dont nous avons dû construire le business logic pour mener à bien notre projet.

Nos accomplissements

On est extrêmement fiers du résultat final! On a finalisé une web app capable de calculer la meilleure trajectoire en fonction des besoins de tous les passagers en recevant les coordonnées GPS du passager ainsi que de sa destination comme input.

L'experience qu'on en a tiré

En n'ayant que 24h à travailler sur un problème aussi ambitieux on a surtout appris à gérer notre temps en fonction de nos priorités (et oui, on a appliqué l'algorithme d'optimisation sur nous même finalement). En effet, notre idée de base était beaucoup plus vaste et comportait beaucoup plus de fonctionnalités, mais faute de temps, nous avons dû éliminer celles qui ne nous aurait pas forcément bénéficier sur le court-terme.

Et pour après

Nimbus a le potentiel d’améliorer la qualité de service offert par la société de transport de Montréal d’une manière significative. Après avoir introduit leur passagers à ce système pour les autobus de nuits, la STM pourrait proposer ce type de service pour tous les autobus en dehors des heures de pointe, ce qui leur permettra de fournir un service de meilleure qualité tout en étant efficaces et économiques.

+ 27 more
Share this project:
×

Updates