chemins optimaux
Supposons que, dans un graphe orienté, on décide d’attribuer à chaque arc une longueur, positive ou non. Il est alors naturel de définir la longueur d’un chemin quelconque comme la somme des longueurs des arcs qui le composent. Un problème fondamental, et qui se pose fréquemment dans les applications, est celui de la recherche de chemins de longueur minimale ou maximale. Les algorithmes, permettant d’obtenir de tels chemins, sont utiles pour la recherche de flots et d’ordonnancements optimaux.
1. Formulation du problème
Soit G = (X, U) un 1-graphe orienté sans boucle comportant n sommets. A tout arc
( xi , x j ) U est associé un nombre réel lij appelé longueur de l’arc ( xi , x j ) . La longueur d’un chemin quelconque, notée l ( ) , est alors définie comme la somme des longueurs des arcs qui le composent : l ( ) l ij .
( xi , x j )
Un chemin joignant un sommet x a à un sommet xb est dit de longueur minimale ou maximale s’il minimise ou maximise cette longueur l ( ) dans l’ensemble de tous les chemins
joignant x a à xb . La longueur d’un tel chemin est appelé distance (minimale) ou distance maximale de x a à xb , selon le cas. Par abus de langage, et bien que l’unicité ne soit pas nécessairement réalisée, on parle parfois du plus court ou du plus long chemin de x a à xb .
Une renumérotation des sommets étant toujours possible, nous ne considérerons que des chemins de x1 à x n .
Les hypothèses faites sur les signes des longueurs lij varient selon l’algorithme proposé.
Pour que le problème admette une solution de longueur finie, nous supposerons que le graphe
G étudié ne comporte aucun circuit de longueur négative dans le cas de la recherche d’un chemin de longueur minimale, ni aucun circuit de longueur positive dans le cas de la recherche d’un chemin de longueur maximale.
Il sera commode d’introduire une matrice L, dite matrice des longueurs, dont l’élément lij se définit de façon