• Aucun résultat trouvé

Recherche Op´erationnelle et Optimisation TP5 : Algorithmes de plus courts chemins

N/A
N/A
Protected

Academic year: 2022

Partager "Recherche Op´erationnelle et Optimisation TP5 : Algorithmes de plus courts chemins"

Copied!
2
0
0

Texte intégral

(1)

Recherche Op´ erationnelle et Optimisation TP5 : Algorithmes de plus courts chemins

Responsable : Julien Ah-Pine M1 Informatique 2017/2018

1 Exercice

Soit le graphe ci-dessous :

2

1

4

6 3

4

7

1

3

7

5

5

2 5

2 1

1. Calculer les plus courts chemins entre 2 et tous les autres sommets en d´eveloppant `a la main l’algorithme de Moore-Dijkstra.

2. Calculer les plus courts chemins entre 2 et tous les autres sommets en d´eveloppant `a la main l’algorithme de Ford-Bellman.

2 Quelques commandes utiles

1. Entrez et ex´ecutez les commandes suivantes les unes apr`es les autres : pi=c(5,1,2,Inf,3,7)

i=which.min(pi) i

pi[i]

Que fait chacune de ces commandes ?

2. Entrez et ex´ecutez les commandes suivantes les unes apr`es les autres : X=1:6

S=c(1,2)

Sb=setdiff(X,S) pi[Sb]

j=which.min(pi[Sb]) Sb[j]

Que fait chacune de ces commandes ?

3 Algorithme de Moore-Dijkstra

3. Ecrivez une fonction Moore_Dijkstra qui prend en entr´ee un ensemble de sommets X, une matrice d’adjacence pond´er´ee (de poids non n´egatifs) A, un sommet s de X et qui donne en sortie, les longueurs des plus courts chemins entre set tous les autres sommets de X obtenus par l’algorithme de Moore et Dijkstra vue en cours.

1

(2)

4. Testez votre impl´ementation sur l’exercice pr´ec´edent puis sur les exemples du cours.

4 Algorithme de Ford-Bellman

5. Ecrivez une fonctionFord_Bellmanqui prend en entr´ee un ensemble de sommetsX, une matrice d’adjacence pond´er´eeA, un sommetsdeXet qui donne en sortie, les longueurs des plus courts chemins entres et tous les autres sommets de Xobtenus par l’algorithme de Ford et Bellman vu en cours.

6. Testez vos deux fonctions sur l’exemple du cours.

7. Testez votre impl´ementation sur l’exercice pr´ec´edent puis sur les exemples du cours.

5 Utilisation des deux algorithmes

On sait que l’algorithme de Moore et Dijkstra est garanti de donner la solution optimale `a condition que les poids des arcs sont positifs. On sait par ailleurs que l’algorithme de Ford et Bellman est plus g´en´eral et peut tenir compte des poids n´egatifs. En revanche, le temps de traitement de l’algorithme de Ford et Bellman d´epend de l’ordre de traitement des noeuds et a une complexit´e plus grande que l’algorithme de Moore et Dijkstra.

Si le graphe contient des arcs de poids n´egatifs on pourra utiliser l’algorithme de Moore et Dijks- tra pour avoir une solution approch´ee dans un temps raisonnable. Pour avoir la solution optimale, on pourra alors donner en entrer de l’algorithme de Ford et Bellman l’ordre approch´e donn´e par l’algorithme de Moore et Dijkstra.

Appliquer cette proc´edure sur l’exemple suivant :

2

1

4

6 3

4

7

8

3

2

5

2

1 2

−2 2

2

Références

Documents relatifs

Résumé. — L'application de concepts flous {sous-ensemble flou, fonction de variables floues, graphes flous) à des problèmes de plus courts chemins où les données ne sont connues

M´ ethode : Pour un nombre d’´evaluation fix´e, ex´ecuter plusieurs fois la recherche al´eatoire (au moins 30 fois), puis calculer les statistiques de la qualit´e des

M´ ethode : Pour un nombre d’´ evaluation fix´ e, ex´ ecuter plusieurs fois la recherche al´ eatoire (au moins 30 fois), puis calculer les statistiques de la qualit´ e des

Algorithme de Recherche Al´ eatoire (sur l’espace de recherche) Choisir solution initiale s ∈ S al´ eatoirement uniform´ ement sur

Une fois la solution courante dans un optimum local, Perturbation (grande modification) de la solution courante pour initier une nouvelle recherche locale ` a partir de

Pour des queions, demande de pr´ecisions ou explications, n’h´esitez pas `a m’envoyer un mail `a igor.kortchemski@ens.fr , ou bien `a venir me voir au bureau

Les deux op´ erations de base utilis´ ee utilis´ ees pour inverser une matrice sont l’´ echange de deux lignes et l’ajout une ligne ` a une autre.. Ecrivons

BCPST R´ esolution de syst` emes et inversions de matrice 2016-2017 Le but de ce TP est de finir le dernier TP en ´ ecrivant l’ensemble des algorithmes sur les matrices vus dans