# Sujet n° 3 : Animation de tournées de véhicules au Havre

*Encadrant :* Louise Penz

## Contexte

Un projet est en cours de réalisation à l'université du Havre sur du transport de passagers par des véhicules à la demande et par les lignes de tram. Le but est d'optimiser le trajet des véhicules à la demande tout en respectant les requêtes des passagers. Une requête consiste en un point de départ, un point d'arrivée et des fenêtres de temps pour le départ et pour l'arrivée. Les utilisateurs peuvent utiliser des véhicules à la demande, et les lignes de tram comme la A et la B, ainsi qu'une
[troisième ligne de tram](https://www.lehavreseinemetropole.fr/le-projet-dextension-du-reseau-de-tramway) qui va être construite. Vous pouvez les voir sur la figure suivante.

 ![lignes de tram](lignes_tram.png)

## Travail demandé

Lorsqu'une solution est construite, il est assez compliqué de rapidement l'analyser à cause du manque de visualisation. Une visualisation sur une seule image peut être faite, mais elle est assez incompréhensible comme toutes les positions des véhicules de toutes les heures se trouvent dessus. C'est pour cela qu'une animation serait intéressante à faire et à étudier.

Pour la création d'instances et la résolution, le travail a été partiellement accompli. Il existe donc un ensemble d'instances avec leurs solutions que vous pourrez utiliser pour la visualisation. Un fichier `README` sera fourni expliquant comment utiliser ces fichiers.

Le but est d'avoir une visualisation claire des tournées de véhicules. Vous pouvez réfléchir à la manière de rendre ça attrayant, mais quelques pistes sont données :
  * L'heure qui défile ;
  * Les véhicules en ligne droite (ne suivent pas les routes pour ce rendre d'un point A à un point B) ;
  * Un choix entre une visualisation seulement des véhicules, ou seulement des requêtes ou les deux à la fois ;
  * Le choix de mettre ou non un segment entre la position de la requête et son arrivée.

Vous être libres de la méthode pour la visualisation, que ce soit le langage ou les bibliothèques. Le code devra être commenté et facilement réutilisable par d'autres personnes que vous.
