Optimisation combinatoire Driss Benmoumen & Ismail El faqir
I- Environnement de développement :
Nous avons choisi pour la réalisation de ce TP le langage C++11 pour sa performance et sa
gestion optimisée de la mémoire et des allocations mémoire, mais aussi pour ses bibliothèques STL
de la version 11 du C++. Ce langage nous a permis à la fois de gérer la mémoire et d'utiliser la
notion de l'orienté objet notamment la notion des classes.
1- Environnement de travail:
- Linux Ubuntu 14.04.
- C++11.
- Code block.
- Gnuplot.
2- Commandes linux utilisées :
- Pour générer le graphe :
exemple :
gnuplot
set term jpeg
set output 'offline500AB100.jpeg'
plot 'offline500_kroAB100.txt' , 'offlinePareto500_kroAB100.txt'
N.B : Les résultats sont générer automatiquement dans le dossier 'resultat'.
II- Conception, explications et exécutions
1- Instances
Dans cette partie nous avons créé deux classe :
Classe ville :
- Se charge de stoker l'identifiant de la ville et ses coordonnées x et y
- Calculer la distance entre la ville en question et une ville.
Classe matrice :
- Se charge de stoker les villes.
- Prend comme paramètre un fichier et génère la matrice de distance.
- Calcule la distance d'un chemin aléatoire.
Classe main :
- On génère pour chaque instance la matrice de distance.
- On génère pour chacune des 7 instances 500 chemins aléatoires et on calcule la distance du
chemin pour les deux objectives.
Université d'Angers Année universitaire 2015/2016