• Aucun résultat trouvé

Problème du voyageur

N/A
N/A
Protected

Academic year: 2021

Partager "Problème du voyageur"

Copied!
1
0
0

Texte intégral

(1)

Problème du voyageur

Un voyageur doit se rendre dans plusieurs villes et souhaite trouver un parcours avantageux, permettant de passer dans toutes les villes en partant d'une ville de départ donnée. Les distances, deux à deux, entre les villes sont connues.

Nous supposerons qu'il utilise la stratégie suivante :

A partir de chaque ville, il choisit de se rendre à la ville la plus proche qu'il n'ait pas encore visitée.

L'ensemble des distances peut être donné sous forme d'un tableau carré symétrique ayant la diagonale principale constituée de 0 (la distance d'une ville à elle-même est nulle).

Exemple :

Soit le graphe suivant, représentant les connexions entre les six villes :

1

4

6

2

3

5 20

25 20

25

25 50 28

35 28

10 10

28

Le tableau des distances de l'exemple est : V1 V2 V3 V4 V5 V6 V1 0 20 35 10 28 20 V2 20 0 28 20 10 35 V3 35 28 0 25 25 50 V4 10 20 25 0 25 25 V5 28 10 25 25 0 45 V6 20 35 50 25 45 0

Il faut donc, en partant de la ville où l'on se trouve, rechercher le minimum de la ligne (si l'on fait la lecture par ligne) correspondante, en excluant les villes déjà visitées. Pour cela, il suffit de remplacer à chaque étape, toutes les distances d'une colonne correspondant à la ville où l'on se trouve, par la plus grande des distances possible, par exemple par la constante %inf.

1) Ecrire la fonction [t]=Saisir demandant à l'utilisateur d'initialiser le tableau des distances par une lecture au clavier.

2) Ecrire la fonction [n]=min_ligne(i,t) donnant l'indice de colonne du plus petit élément de la ligne i du tableau t.

3) Ecrire la fonction [tab]=deja_fait(j,t) remplaçant tous les éléments de la colonne j du tableau t par la constante %inf.

4) Ecrire un programme Scilab utilisant les fonctions précédentes et partant de la ville numérotée 1.

Vous utiliserez la variable globale distance donnant la distance parcourue et afficherez les étapes successives comme, en prenant la solution de l'exemple :

VILLE : 1 DISTANCE : 0 VILLE : 4 DISTANCE : 10 VILLE : 2 DISTANCE : 30 VILLE : 5 DISTANCE : 40 VILLE : 3 DISTANCE : 65 VILLE : 6 DISTANCE : 115

Références

Documents relatifs

Les voyageurs qui se rendent dans des pays à risque plus élevé devraient prendre des précautions particulières pour minimiser leur exposition 4.. Par exemple, ils ne devraient

voisins de ce sommet; on appelle interaction à longue portée, une opération {opération globale) qui implique des sommets ne faisant pas partie des plus proches voisins. Compte tenu

— On considère un produit cartésien de deux graphes, chacun d'eux ayant une chaîne pour arbre minimal On donne une condition suffisante pour qu'il existe dans ce graphe-produit un

Dans d'autres circons- tances,· avec un autre matériel, avec un nombre d'élèv· es plus humain, avec une memeU1~e formation, tous ces camarades seraient heureux

In the literature, some authors also consider the cell resistance (due to polarization effect) as an additional parameter of the dual-tank OCV model, but some authors do not.

Nous remarquons aussi que notre approche fournit des solutions avec un coût (longueur du chemin ) inférieur ou égale au coût des solutions obtenues par

Dans ce mémoire, nous revisitons l’approche CP-based Lagrangian relaxation (CP-LR) utilisée notamment pour les algorithmes de filtrage de l’état de l’art de la

Quel est le nombre de combinaisons possibles de placement si la règle de placement des reines est de placer une seule reine par ligne et une seule reine par colonne.. Définition :