Problème du voyageur de commerce - résolution par un algorithme génétique - c (devcpp)

Description

Le problème du voyageur de commerce (the traveller salesman) est connu pour sa complexité. A la base c'est simple : un voyageur doit partir d'une ville et parcourir toutes celles de son itinéraire tout en revenant à son point de départ et en parcourant la plus petite distance possible. ça peut paraître simple aux premiers abords mais en fait ça ne l'est pas tant que ça car dès que l'on dépasse la 10ène de ville le temps de calcul devient considérable...

L'algorithme que j'ai appliqué est dit "génétique" car il utilise le même type de résolution : creer une population d'individus, les faire combattre, les sélectionner, puis mélanger les contenus de ces individus (l'ordre de passage des villes) et à nouveau les faire combattre...

Vous pourrez je pense toruver beaucoup d'inspiration dans le code même si je le reconnait il n'est pas toujours des plus facils à comprendre à cause de certains "bidouillages" hasardeux notamment parmi les pointeurs... Le découpage desfonctions est aussi un peu abusé vous verrez, et puis il reste quelques fonction à programmer aussi... Mais je n'ai pas trouvé le courage de modifier tout cela !

Conclusion :


Le code se compile sans problème sous devCPP mais le prog n'est "pas opérationnel" dans son intégrité, puisque le déroulement de l'algorithme n'est pas terminé (reste une fonction de mutation des individus et quelques réglages au niveau du paramétrage de l'algorithme). Je met la source telle qu'elle.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.