• Aucun résultat trouvé

Optimisation discr`ete, S´eance 2 : Cours OPTIMISATION DANS UN RESEAU

N/A
N/A
Protected

Academic year: 2021

Partager "Optimisation discr`ete, S´eance 2 : Cours OPTIMISATION DANS UN RESEAU"

Copied!
5
0
0

Texte intégral

(1)

OPTIMISATION DANS UN RESEAU

Objectifs Probl`emes de flots et de chemins optimaux.

1 Flots

1.1 D´efinitions 1.1.1 R´eseau

On appelle r´eseau (network) un grapheG= (X, U): – orient´e, connexe, sans boucle ;

– poss´edant une source a et un puits b ; – `a arcsuvalu´es par des capacit´esc(u)≥0.

On noteUxl’ensemble des arcs incidents versx(entrant) etUx+l’ensemble des arcs sortant.1

1.1.2 Flot

Un flot est une fonctionϕ(u) `a valeurs enti`eres, d´efinie surU, telle que : 1. ∀u ϕ(u)≥0

2. ∀u ϕ(u)≤c(u)

Si on a ´egalit´e, l’arcuest dit satur´e.

3. Loi de Kirchhoff :

∀x6=a, b X

u∈Ux

ϕ(u) = X

u∈Ux+

ϕ(u)

La valeur du flot est la quantit´e qui arrive au puits b (c’est donc aussi ´egal `a ce qui part de la source a).

ϕ(b) = X

uUa+

ϕ(u) = X

uUb

ϕ(u)

On se propose de maximiser la valeur du flot.

1Notations des ´electriciens : ce qui entre est compt´e n´egativement.

1

(2)

1.2 Th´eor`eme de Ford-Fulkerson 1.2.1 Coupe

Une coupe est un ensembleAd’arcs qui rencontre tout chemin allant de la source a vers le puits b.

Variante de la d´efinition : ´etant donn´e un ensembleEde sommets contenant le puits b, on appelle coupe l’ensemble des arcs ayant leur extr´emit´e dansEmais pas leur origine.

On appelle capacit´e d’une coupe la somme des capacit´es de ses arcs :

C(A) =c(UA) = X

u∈UA

c(u)

1.2.2 Propri´et´e d’une coupe

Etant donn´e une coupe dans un r´eseau, il r´esulte des d´efinitions pr´ec´edentes qu’une unit´e de mati`ere allant de a vers b doit traverser (au moins une fois) un arc de la coupe. Donc :

∀ϕ,∀A ϕ(b)≤c(UA)

La valeur d’un flot ne peut d´epasser la capacit´e d’une coupe.

1.3 Flot maximum, coupe minimum

Si donc on a trouv´e une coupe telle que

flot = capacit´e de la coupe alors

– le flot est maximum (on ne peut rien ajouter sur cette coupe)

– la coupe est de capacit´e minimum (car le flot ne pourrait passer sur une coupe de capacit´e moindre).

L’algorithme de Ford-Fulkerson est un proc´ed´e de construction d’un flot et d’une coupe poss´edant cette propri´et´e.

1.4 Cheminements particuliers dans un r´eseau 1.4.1 Flot complet

Un flot est dit complet si chaque chemin allant de a `a b comporte au moins un arc satur´e.

1.4.2 Chaˆınes ´el´ementaires

Supposons avoir trouv´e une chaˆıne ´el´ementaire allant de a `a b. On la parcourt comme si c’´etait un chemin : il y aura donc des arcs dans le bon sens (progressifs) et d’autres dans le mauvais (regressifs).

(3)

Lemme Si :

– tout arc progressifvv´erifie :ϕ(v)< c(v) – tout arc regressifwv´erifie :ϕ(w)>0 alors on peut augmenter le flot :

– en ajoutant une unit´e sur tout arc progressifv – en retranchant une unit´e sur tout arc regressifw.

Il est facile de voir que les trois conditions d’un flot restent v´erifi´ees.

1.5 Algorithme de Ford-Fulkerson 1.5.1 Description

L’algorithme de Ford-Fulkerson est un proc´ed´e de construction d’une coupe minimum : on r´ealise une partition (dynamique) des sommets en sommets marqu´es et sommets non marqu´es.

1. Faire passer un flot au jug´e.

2. Am´eliorer (it´erativement) le flot jusqu’`a obtenir un flot complet.

3. Entamer une proc´edure dite de marquage (d´etaill´ee en exercices).

4. Si on arrive `a marquer b, le flot est am´eliorable d’apr`es le Lemme (ce qu’on fait et on recom- mence un marquage).

5. Sinon, il est maximum et les sommets marqu´es d´eterminent une partition donnant la coupe minimum.

2 Chemins extr´emaux

On consid`ere un grapheG= (X, U) `a arcs valu´es.

La valeurvij d’un arc sera appel´ee sa longueur (ou sa dur´ee).

Si on se place dans le cas particulier d’un r´eseau, le probl`eme est de trouver le chemin de longueur extr´emale allant du sommet d’entr´ee a (num´erot´e z´ero ci-dessous) `a la sortie b.

Le graphe est suppos´e sans circuits bien entendu.

(4)

2.1 Algorithme de Ford 2.1.1 Principe

Le principe est celui de la Programmation dynamique : ´etant donn´e un processus optimal sur un grapheG, la restriction de ce processus `a un sous-graphe est elle-mˆeme optimale.

On proc`ede donc par it´eration de solutions optimales sur des sous-graphes allant de l’entr´ee au graphe entier.

L’algorithme de Ford consiste `a marquer les sommets dont on vient de calculer la distance maximale

`a l’entr´ee.

– Marquer l’entr´ee part0= 0

– Marquer chaque sommetjdont tous les pr´ed´ecesseursP(j)sont marqu´es : tj = max

i∈P(j)(ti+vij) – La marque de la sortie b est la longueur du chemin extr´emal.

Si on n’arrive pas `a marquer la sortie, c’est que le graphe comporte un circuit.

2.1.2 Calcul des marques

On peut utiliser la matrice associ´ee (valu´ee par lesvij) pour calculer les marques : algorithme de Ford.

FIG. 1 – Algorithme de Ford

for i = 0:n for j = 1:n

if v(i,j) == 0, continue, end ; tt = t(i) + v(i,j) ;

if t(j) < tt, t(j) = tt, end ; if j < i, i = j, j = 1, end ; end

end

Remarques :

1. On notera le testif(j<i)qui montre l’importance de la num´erotation des som- mets : il faut la faire grosso-modo dans l’ordre d’´eloignement de l’entr´ee.

2. Il n’est pas sˆur que le langage de programmation acceptera le changement i=j, j=1`a l’int´erieur des boucles, mais ceci est un algorithme.

2.1.3 Chemin critique

Un fois la longueur obtenue, on rep`ere les arcs(i, j)pour lesquels on a : tj −ti =vij

Ce sont eux qui jalonnent le chemin cherch´e (chemin critique).

(5)

2.2 Ordonnancement 2.2.1 Notations

Le probl`eme de l’ordonnancement consiste `a d´eterminer, dans le cadre d’un projet (fonction objectif), le calendrier d’ex´ecution de tˆaches soumises `a des contraintes de succession et de dur´ee.

On peut lui associer un graphe d’´etapes :

– de sommets(i)correspondant aux ´etapes interm´ediaires,

– d’arcs(i, j)correspondant aux tˆaches, valu´ees par la dur´ee de la tˆache.2

Il s’agit alors de d´eterminer le chemin de longueur maximale allant du d´ebut `a la fin du projet.

2.2.2 Chemin critique

Soit un chemin de longueur maximale allant de l’entr´ee `a un sommet donn´e : la longueur de ces chemin est appel´ee date au plus tˆot de ce sommet.

En inversant le sens des arcs du graphe, on obtient les (compl´ements `a la dur´ee totale des) dates au plus tard pour chaque ´etape.

Il apparaˆıt alors un chemin (allant de l’entr´ee `a la sortie) jalonn´e par les sommets pour lesquels les deux dates sont ´egales : c’est le chemin critique.

La m´ethode PERT (exercices) permet de d´eterminer le calendrier correspondant au d´elai minimum d’ex´ecution de toutes les tˆaches.

2Une valuation nulle signifie deux ´ev´enements (concomitants) `a ne pas confondre.

Références

Documents relatifs

[r]

Si le p´ erim` etre souhait´ e de l’enclos est un nombre P &gt; 0 fix´ e, trouver les dimensions de l’enclos qui maximisent son aire totale.... (Utiliser la contrainte.) Les

Pour des queions, demande de pr´ecisions ou explications, n’h´esitez pas `a m’envoyer un mail `a [email protected] , ou bien `a venir me voir au bureau

En utilisant et adaptant l’algorithme/programme ci-dessus, d´eterminer le nombre de moteurs per- mettant d’obtenir un b´en´efice

Repr´esenter sur un mˆeme graphique, et pour chaque fonction, la fonction originale et la reconstruction `a partir de la transform´ee de Fourier (i.e. la transform´ee inverse)

Dans cette partie, on s’int´eresse `a une variante de la m´ethode de Galerkin pour laquelle on va ´etablir un r´esultat semblable au lemme de C´ea.. Dans la partie suivante,

[r]

Impl´ ementez une sous-routine pour effectuer la d´ ecomposition de Cholesky de la matrice A exploitant la structure creuse de