Bonjour a tous,
Voila je dois resoudre de la maniere la plus brutale possible (c'est a dire en essyant toutes les possibilite) le probleme du TSP (du voyaveur de commece)
Le but etant de trouver le chemin le plus court en passant une et une seule fois par chaque ville !

Donc pour cela, je sais qu'il faut faire du recursif pour reussir a faire cela mais j'arrive pas a le faire

Pour mon probleme, je stocke toutes les villes dans un tableau.
J'ai fais les fonction qui me permettent de calculer la distance entre 2 ville.
Voici un bout de mon code :
Le main d'abord
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 parcours_Complet (data); // data est une structure donnees (ayant le nombre de ville du tableau et le tableau
La fonction parcours_Complet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
void parcours_Complet(donnees d)
{
  // Effectuer l'énumération et l'évaluation de toutes les solutions (toutes les permutations possibles) et de choisir la meilleure  
  float dist_totale=0.0;
  int i=0;
 
  printf("nombre de noeud %d\n",d.nb_noeuds);
  dist_totale = parcours_Complet_Rec(d,1); // d est les donnees et un est le numero du noeud que je suis entrain de traiter
  printf("\n\tParcours Complet :\n");
  printf("\t Distance Totale : %10.2f\n",dist_totale);
 
}
Et la je sais pas comment implemente ma fonction parcours_Complet_Rec( .. ) pour reussir correctement a faire mes appel recursif (je ne sait pas comment ecrire la condition d'arret deja )
Bref, je suis totalement dans le flou
Si quelqu'un pouvais m'aider je lui en serai reconnaissant !
merci d'avance

Ou si vous avez un liens ou il donne un algo simple de resolution du probleme du voyageur de commerce ? je suis aussi preneur