Bonsoir,
j'ai fait un programme qui résout le problème de voyageur de commerce( le problème consiste, à partir d'une matrice qui contient des villes ainsi la distance entre ces villes, de trouver le meilleur chemin ( le plus court) à emprunter pour parcourir toutes les ville ), qui est un problème assez connu en recherche opérationnelle. ce programme suit un algorithme de recherche profondeur, je sais que ce c'est un peu flou ce que je viens de dire pour les gens qui connaissent pas ce problème, mais je vais exposer mon problème en exposant le fonctionnement de mon programme.
à partir de ma matrice j'extrais une ville et j'enregistre dans un objet toute les ville voisines (qu'on peut acceder à partir de cette ville) sous forme de liste (ArrayList) anis d'autre parametre comme le nom de la ville, une liste des villes parcouru jusqu'à cette ville,... Puis j'empile dans une PILE(Stack). Après je dépile un voisin et je fait la même chose pour le voisin (enregistrer ces voisins,... et je l'empile) jusqu'à ce qu'une ville n'aurait pas de voisin. et ainsi de suite.
quand j'ai par exemple moins de 15 villes dans ma matrice sa marche nickel, mais au de-las je reçois des messages d'erreurs différents mais la même exception.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: GC overhead limit exceeded
ou bien une exception est ce que quelqu'un peut m'expliquer la raison de cette erreur, et comment faire des teste mémoire (avoir l'état de la mémoire à un instant donnée), et c'est qoui GC overhead et Java heap space
merci pour votre aide.