Implementation of a simple (and slow) algorithm for TSP. Readline interface.
- C 63.8%
- TeX 34%
- Makefile 1.9%
- Shell 0.3%
| data | ||
| lib | ||
| old | ||
| rapport | ||
| src | ||
| tests | ||
| depend | ||
| Makefile | ||
| README | ||
Compilation
===========
La bibliothèque readline est nécessaire (paquet libreadline-dev sous
Debian et dérivés) (elle est installée sur les SLS).
Pour compiler le projet, lancer :
make
Un binaire nommé voyageur sera alors présent à la racine du projet.
Pour compiler le rapport, lancer :
make rapport
Le rapport sera alors dans rapport/rapport.pdf
Utilisation
===========
Lancer le binaire sans arguments :
./voyageur
Celui-ci se comporte comme un interpréteur de commandes intéractif,
gérant l'autocomplétion contextuelle : à tout moment, il est possible
de taper TAB (deux fois en cas d'ambiguiter) pour compléter, ou
afficher les différentes possibilités en fonction du contexte.
La liste des commandes est disponible en tapant 'help' avec une courte
description. Une description plus complète pour une commande donnée
est accessible en tapant 'help <commande>'.
Un fichier selon la deuxième syntaxe (villes numérotées avec
coordonnées) est disponible : il s'agit de
data/testVerticesCoordinates.txt.
La première syntaxe avec listes d'arètes n'est pas gérée (elle l'était
avec l'ancienne structure de graphe).
Deux bases de données sont disponibles dans le sous-dossier data/ :
- Towns.txt, contenant l'ensemble des villes, villages, hameaux de
France, soit environ 100000 villes (moins, en comptant les doublons)
- BigCities.txt, ne référençant que les grandes villes de France,
soit environ 900 villes.
Une fois une base de données chargée, il est possible d'ajouter
manuellement au graphe les villes à prendre en compte pour la
résolution, ou bien d'utiliser la commande 'add_from_file' qui ajoute
les villes d'après une liste de noms.
Plusieurs listes de noms (tirées au hasard) sont disponibles,
également dans le dossier data/ : elles sont toutes de la forme
names_listX où X est le nombre de villes dans la liste.
(il s'agit de listes de villes de la base de données Towns.txt)
Pour nettoyer le projet des fichiers de compilation :
make clean
Pour nettoyer et enlever les binaires :
make mproper
Tests
=====
Les tests sont automatisés : pour lancer l'ensemble des tests, taper :
make tests
Il est également possible de compiler les tests sans les lancer :
make build-tests
Les binaires sont alors accessibles dans le dossier tests/, et peuvent
être lancés séparément (un binaire pour chaque suite de tests).