• Aucun résultat trouvé

1 Graphe orienté Transformations Optimisation de réseaux Graphe [non orienté]

N/A
N/A
Protected

Academic year: 2022

Partager "1 Graphe orienté Transformations Optimisation de réseaux Graphe [non orienté]"

Copied!
19
0
0

Texte intégral

(1)

IFT1575 Modèles de recherche opérationnelle (RO)

Optimisation de réseaux

Optimisation des réseaux 2

IFT1575 Professeur B. Jaumard

Graphe orienté

Exemple : réseau de distribution

Sommets : A, B, C, D, E

Arcs : (A,B), (A,C), (A,D), (B,C), (C,E), (D,E), (E,D)

Optimisation des réseaux 3

IFT1575 Professeur B. Jaumard

Graphe [non orienté]

Exemple : Parc Seervada (H&L sec. 9.1)

Sommets : O, A, B, C, D, E, T

Arêtes : {O,A}, {O,B}, {O,C}, {B,C}, {B,D}, {B,E}, {D,E}, {D,T}, {E,T}

Le nombre sur chaque arête représente la distance entre les deux sommets reliés par cette arête

Optimisation des réseaux 4

IFT1575 Professeur B. Jaumard

Transformations

Graphe orienté dérivéd’un graphe non orienté : obtenu en introduisant deux arcs pour chaque arête, un dans chaque direction

Graphe sous-jacentà un graphe orienté : obtenu en enlevant l’orientation des arcs

Si Gest un graphe non orienté, le graphe sous- jacent au graphe orienté dérivé de Gn’est pas G!

De même, si Gest un graphe orienté, le graphe dérivé du graphe sous-jacent àGn’est pas G!

(2)

Optimisation des réseaux 5 IFT1575

Professeur B. Jaumard

Chemins et circuits

Chemin [chaîne] : suite d’arcs [d’arêtes] distinct[e]s reliant deux sommets

Chemin non orienté: suite d’arcs distincts qui relient deux sommets lorsqu’on ne considère pas

l’orientation des arcs

En d’autres mots, un chemin non orienté est une chaîne dans le graphe sous-jacent

Circuit[cycle] : chemin [chaîne] qui commence et finit au même sommet

Circuit non orienté: cycle dans le graphe sous-jacent

Optimisation des réseaux 6

IFT1575 Professeur B. Jaumard

Chemins et circuits (exemples)

A->C->E->D = chemin (= chemin non orienté)

A->D->E->C->B = chemin non orienté (≠ chemin)

D->E->D = circuit (= circuit non orienté)

A->B->C->A = circuit non orienté (≠ circuit)

Optimisation des réseaux 7

IFT1575 Professeur B. Jaumard

Connexité

Deux sommets sont connexess’il existe au moins un chemin non orienté les reliant

Un graphe est connexesi toute paire de sommets est connexe

Le plus petit graphe connexe ànsommets possède n-1arêtes

On l’appelle un arbre

Définition alternative : un arbreest un graphe connexe sans cycle

Arbre partiel: arbre obtenu à partir d’un graphe connexe en incluant tous les sommets

Optimisation des réseaux 8

IFT1575 Professeur B. Jaumard

Arbre partiel

Pas un arbre partiel : non connexe

Pas un arbre partiel : possède des cycles

Arbre partiel

(3)

Optimisation des réseaux 9 IFT1575

Professeur B. Jaumard

Flot dans un réseau

Réseau : graphe orienté ayant

des capacités sur les arcs

des sommets d’offre (ou sources)

des sommets de demande (ou puits)

des sommets de transfert

Flot dans un réseau : nombre d’unités circulant sur les arcs du réseau de façon à respecter les capacités et les contraintes de conservation de flot

En chaque sommet, flot sortant – flot entrant =

Offre (si le sommet est une source)

-Demande (si le sommet est un puits)

0 (en un sommet de transfert)

Optimisation des réseaux 10

IFT1575 Professeur B. Jaumard

Flot en langage mathématique

xij = quantité de flot qui passe sur l’arc (i,j)

bi= 0 (transfert), offre (source), -demande (puits)

V = ensemble des sommets

A = ensemble des arcs du réseau

A+(i) = ensemble des arcs sortants du sommet i

A-(i) =ensemble des arcs entrants au sommet i A

j i u x

V i b x x

ij ij

i ji ij

i A i j i A j i

=

+

) , ( 0

) ( ) , ( ) ( ) , (

Optimisation des réseaux 11

IFT1575 Professeur B. Jaumard

Problème du chemin le plus court

On a un graphe non orienté et connexe

Il y a deux sommets spéciaux

Source (ou origine) O

Puits (ou destination) T

A chaque arête {i,j}, on associe une distance cij≥ 0

On cherche le chemin non orienté (ou chaîne) le plus court reliant O à T

Chemin le plus court : celui dont la distance totale (somme des distances des arêtes du chemin) est minimale parmi tous les chemins de O à T

Optimisation des réseaux 12

IFT1575 Professeur B. Jaumard

Algorithme de Dijkstra

Méthode itérative

À chaque itération, on choisit le sommet jle plus près de O et on fixe d(j), la variable calculant la distance entre O et j : on dit que le sommet jest marqué

Au départ, O est marqué et d(O) = 0

Le sommet le plus près est choisi parmi les sommets non marqués reliés à au moins un sommet marqué

Le sommet choisi jest celui qui atteint

minsommetsi non marqués{ minsommetsimarqués d(i) + cij }

d(j)est fixée à cette valeur

On arrête lorsque T est marqué

(4)

Optimisation des réseaux 13 IFT1575

Professeur B. Jaumard

Dijkstra (1930 – 2002)

Un membre très influent de la première génération des informaticiens

Expertises:

Conception d’algorithmes

Langages de programmation

Conception de programmes

Systèmes d’opérations

Calcul distribué

Spécification formelle et vérification de programmes

Conception d’arguments mathématiques

Pour plus d’information:

http://www.cs.utexas.edu/users/EWD/

Optimisation des réseaux 14

IFT1575 Professeur B. Jaumard

Algorithme de Dijkstra (étape 1)

O

D

B A

C E

T

4 5

2 2

1

4 3 4 7

1 7 5

O O

2

5

4 A

B

C 0

Optimisation des réseaux 15

IFT1575 Professeur B. Jaumard

Algorithme de Dijkstra (étape 2)

O

D

B A

C E

T

4 5

2 2

1

4 3 4 7

1 7 5

O

min {2+2, 5} = 4

4 B

C 2

0

D 9

Optimisation des réseaux 16

IFT1575 Professeur B. Jaumard

Algorithme de Dijkstra (étape 3)

O

D

B A

C E

T

4 5

2 2

1

4 3 4 7

1 7 5

O

4

min {4, 1+4} = 4 C

2

0

D

min {7 +2, 4+4} = 8

E

3 + 4 = 7

(5)

Optimisation des réseaux 17 IFT1575

Professeur B. Jaumard

Algorithme de Dijkstra (étape 4)

O

D

B A

C E

T

4 5

2 2

1

4 3 4 7

1 7 5

O

4

4 2

0

D

min {7+2, 4+4} = 8

E

min {3 + 4, 4 + 4 } = 7

Optimisation des réseaux 18

IFT1575 Professeur B. Jaumard

Algorithme de Dijkstra (étape 5)

O

D

B A

C E

T

4 5

2 2

1

4 3 4 7

1

7 5

O

4

4 2

0

min{7+2, 4+4, 7+1} =8

7

T 7 + 7 = 14 D

Optimisation des réseaux 19

IFT1575 Professeur B. Jaumard

Algorithme de Dijkstra (étape 6)

O

D

B A

C E

T

4 5

2 2

1

4 3 4 7

1 7 5

O

4

4 2

0

8

7

T min {8 + 5,

7 + 7} = 13

Optimisation des réseaux 20

IFT1575 Professeur B. Jaumard

Algorithme de Dijkstra (étape 7)

O

D

B A

C E

T

4 5

2 2

1

4 3 4 7

1 7 5

O

4

4 2

0

8

7

13

(6)

Optimisation des réseaux 21 IFT1575

Professeur B. Jaumard

Exemple sous forme tableau

13 8 8 7 4 4 2 Dist min

D T 13 14 T T D

E

B E E D D D 9

8 8 D D D A

B E

B E 9

7 8 D E E A

B C

O A C B 4

4 C B O

A

O A 2

A O

p(j) jle plus près jnon Dist

marqué le plus près imarqués

reliés àj non marqué

Optimisation des réseaux 22

IFT1575 Professeur B. Jaumard

Modèle de flot

Chemin le plus court = flot dans un réseau

Réseau = graphe orienté dérivé

On enlève les arcs entrant à O et les arcs émanant de T

O est la seule source, avec une offre = 1

T est le seul puits, avec une demande = 1

Le flot sur chaque arc (i,j) est soit 1, si l’arc appartient au chemin le plus court, soit 0, sinon

Voir l’exemple modélisé avec Excel Solver

Optimisation des réseaux 23

IFT1575 Professeur B. Jaumard

Autres variantes

Graphe orienté : l’algorithme de Dijkstra s’applique

Trouver les chemins les plus courts entre la source et tous les autres sommets : l’algorithme de Dijkstra s’applique

Trouver les chemins les plus courts entre toutes les paires de sommets : napplications de l’algorithme de Dijkstra (mais il est possible de faire mieux)

Si certaines « distances » sont négatives : l’algorithme de Dijkstra ne s’applique pas (essayez de voir pourquoi sur un exemple à 3 sommets)

Optimisation des réseaux 24

IFT1575 Professeur B. Jaumard

Problème de l’arbre partiel minimum

On a un graphe non orienté et connexe

A chaque arête {i,j}, on associe une distance cij≥ 0

On cherche à construire un arbre partiel (plus petit graphe connexe contenant tous les sommets) dont la somme des distances soit minimum parmi tous les arbres partiels du graphe

Exemple simple de problème de conception de réseaux(network design) : choisir une

configuration de réseau (sous-ensemble d’arcs) qui optimise un certain critère

(7)

Optimisation des réseaux 25 IFT1575

Professeur B. Jaumard

Algorithme de Prim (1957)

Initialisation: choisir un sommet i(arbitrairement) et le relier au sommet j le plus près : ajouter {i,j}

À chaque itération: choisir le sommet non reliéj le plus prèsd’un des sommets déjà reliés i: ajouter {i,j}

Arrêter lorsque tous les sommets ont été reliés

En cas d’égalité, on peut choisir arbitrairement

De telles égalités indiquent qu’il pourraity avoir plusieurs solutions optimales

Optimisation des réseaux 26

IFT1575 Professeur B. Jaumard

Algorithme de Prim : exemple

Initialisation: choisir le sommet O et le relier au sommet le plus près : ajouter {O,A}

Optimisation des réseaux 27

IFT1575 Professeur B. Jaumard

Exemple (suite)

Le sommet non relié le plus près de O ou de A est B;

comme il est plus près de A, on ajoute {A,B}

Le sommet non relié le plus près de O, de A ou de B est C; puisqu’il est plus près de B, on ajoute {B,C}

Optimisation des réseaux 28

IFT1575 Professeur B. Jaumard

Exemple (suite)

Le sommet non relié le plus près d’un des sommets reliés est E; on ajoute l’arête {B,E}

(8)

Optimisation des réseaux 29 IFT1575

Professeur B. Jaumard

Exemple (suite)

Le sommet non relié le plus près d’un des sommets reliés (E) est D; on ajoute l’arête {E,D}

Le sommet non relié le plus près d’un des sommets reliés (D) est T; on ajoute l’arête {D,T}

Optimisation des réseaux 30

IFT1575 Professeur B. Jaumard

Exemple (suite et fin)

On arrête car tous les sommets ont été reliés

La valeur optimale correspond à la somme des distances des arêtes ajoutées, soit 14

Optimisation des réseaux 31

IFT1575 Professeur B. Jaumard

Problème du flot maximum

On a un graphe orienté et connexe

A chaque arc (i,j), on associe une capacitéuij> 0

Il y a deux sommets spéciaux

Source (ou origine) O

Puits (ou destination) T

Tous les autres sont des sommets de transfert

L’offre en O et la demande en T sont variables

Offre en O = demande en T = valeur du flot entre O et T

On cherche à maximiser la valeur du flot entre O et T

Optimisation des réseaux 32

IFT1575 Professeur B. Jaumard

Exemple : parc Seervada

En période de grande affluence, on dispose d’une flotte d’autobus pour faire visiter les différents postes d’observation du parc

La réglementation limite le nombre d’autobus pouvant circuler sur chaque tronçon de route

Comment faire circuler les autobus dans le parc de façon à maximiser le nombre total d’autobus allant de l’origine (O) à la destination (T)?

(9)

Optimisation des réseaux 33 IFT1575

Professeur B. Jaumard

Exemple: parc Seervada (suite)

Optimisation des réseaux 34

IFT1575 Professeur B. Jaumard

Graphe résiduel

Supposons qu’on a déjà affecté un flot sur les arcs

Capacité résiduelle d’un arc (i,j) : uij– xij

Graphe résiduel :

Graphe non orienté sous-jacent

Sur chaque arête, on associe deux valeurs :

Capacité résiduelle

Flot déjà affecté

Exemple : on a affecté 5 unités de flot sur l’arc (O,B)

Optimisation des réseaux 35

IFT1575 Professeur B. Jaumard

Interprétation du graphe résiduel

On a affecté 5 unités de flot sur l’arc (O,B)

Si on traverse O → B

2 = capacité résiduelle

5 = flot sur (O, B)

Si on traverse B → O

5 = capacité résiduelle

2 = flot sur (B, O)

O 2 B

O 5B

5 0 7

Optimisation des réseaux 36

IFT1575 Professeur B. Jaumard

Graphe résiduel: une autre notation

Le graphe résiduel est parfois appelé le graphe d’écart.

Exemple : on a affecté 5 unités de flot sur l’arc (O,B)

O B

[2]

[5]

5

0

capacité résiduelle Flot affecté à l’arc

(10)

Optimisation des réseaux 37 IFT1575

Professeur B. Jaumard

Chemin d’augmentation

Chemin allant de la source au puits dans le graphe orienté dérivé du graphe résiduel

Pour chaque arête {i,j}

L’arc (i,j)possède une capacité résiduelle = uij– xij L’arc (j,i)possède une capacité résiduelle = xij Chaque arc du chemin possède une capacité

résiduelle > 0

Capacité résiduelle d’un chemin d’augmentation : minimum des capacités résiduelles de tous les arcs du chemin

Optimisation des réseaux 38

IFT1575 Professeur B. Jaumard

Algorithme de Ford-Fulkerson

1. Initialiser le flot: 0 unité sur chaque arc 2. Si aucun chemin d’augmentation ne peut être

identifié, arrêter: le flot est maximum

3. Identifier un chemin d’augmentation P ; soit csa capacité résiduelle

4. Sur chaque arc de P

a. Augmenter le flot de c

b. Diminuer la capacité résiduelle dec 5. Retourner à l’étape 2

Optimisation des réseaux 39

IFT1575 Professeur B. Jaumard

Identifier un chemin d’augmentation

1. Marquer la source O (aucun autre sommet n’est marqué); tous les sommets sont non visités 2. S’il n’y a aucun sommet marqué non visité, arrêter :

il n’existe aucun chemin d’augmentation 3. Choisir un sommet marqué non visitéi

4. Visiter i : pour chaque (i,j)de capacité résiduelle >0 dans le graphe orienté dérivé du graphe résiduel, marquer j

5. Si T est marqué, arrêter: un chemin d’augmentation a été identifié

6. Retourner à l’étape 2

Optimisation des réseaux 40

IFT1575 Professeur B. Jaumard

Exemple : parc Seervada

Graphe résiduel initial

Identifier un chemin d’augmentation : O->B->E->T

Capacité résiduelle = min{7,5,6} = 5

(11)

Optimisation des réseaux 41 IFT1575

Professeur B. Jaumard

Exemple (suite)

Augmenter le flot et diminuer la capacité résiduelle de 5 unités sur tous les arcs de O->B->E->T

Identifier un chemin d’augmentation : O->A->D->T

Capacité résiduelle = min{5,3,9} = 3

Optimisation des réseaux 42

IFT1575 Professeur B. Jaumard

Exemple (suite)

Augmenter le flot et diminuer la capacité résiduelle de 3 unités sur tous les arcs de O->A->D->T

Chemin d’augmentation : O->A->B->D->T

Capacité résiduelle = min{2,1,4,6} = 1

Optimisation des réseaux 43

IFT1575 Professeur B. Jaumard

Exemple (suite)

Augmenter le flot et diminuer la capacité résiduelle de 1 unité sur tous les arcs de O->A->B->D->T

Chemin d’augmentation : O->B->D->T

Capacité résiduelle = min{2,3,5} = 2

Optimisation des réseaux 44

IFT1575 Professeur B. Jaumard

Exemple (suite)

Augmenter le flot et diminuer la capacité résiduelle de 2 unités sur tous les arcs de O->B->D->T

Chemin d’augmentation : O->C->E->D->T

Capacité résiduelle = min{4,4,1,3} = 1

(12)

Optimisation des réseaux 45 IFT1575

Professeur B. Jaumard

Exemple (suite)

Augmenter le flot et diminuer la capacité résiduelle de 1 unité sur tous les arcs de O->C->E->D->T

Chemin d’augmentation : O->C->E->T

Capacité résiduelle = min{3,3,1} = 1

Optimisation des réseaux 46

IFT1575 Professeur B. Jaumard

Exemple (suite)

Augmenter le flot et diminuer la capacité résiduelle de 1 unité sur tous les arcs de O->C->E->T

Chemin d’augmentation : O->C->E->B->D->T

Capacité résiduelle = min{2,2,5,1,2} = 1

Optimisation des réseaux 47

IFT1575 Professeur B. Jaumard

Exemple (suite)

Augmenter le flot et diminuer la capacité résiduelle de 1 unité sur tous les arcs de O->C->E->B->D->T

Aucun chemin d’augmentation possible

Flot maximum

Optimisation des réseaux 48

IFT1575 Professeur B. Jaumard

Exemple (suite et fin)

(13)

Optimisation des réseaux 49 IFT1575

Professeur B. Jaumard

Flot maximum - Coupe minimum

Supposons qu’on partitionne l’ensemble des sommets en deux sous-ensembles X,Y

Coupe : sous-ensemble d’arcs allant d’un sommet de X vers un sommet de Y

Capacité d’une coupe : somme des capacités des arcs de la coupe

Coupe minimum : coupe dont la capacité est minimum parmi toutes les coupes possibles

Théorème flot max - coupe min: la valeur du flot maximum est égale à la capacité d’une coupe minimum

Optimisation des réseaux 50

IFT1575 Professeur B. Jaumard

Flot max – Coupe min : exemple

Optimisation des réseaux 51

IFT1575 Professeur B. Jaumard

Flot maximum avec Excel Solver

Flot maximum = modèle de flot

Tous les sommets, sauf O et T, sont des sommets de transfert

Il y a une capacité sur chaque arc

L’objectif est de maximiser la valeur du flot, soit le flot net en O

Voir l’exemple modélisé avec Excel Solver

Optimisation des réseaux 52

IFT1575 Professeur B. Jaumard

Problème du flot à coût minimum

On a un graphe orienté et connexe

A chaque arc (i,j), on associe une capacitéuij> 0 et un coût par unité de flot cij

Il y a au moins une source et au moins un puits

Tous les autres sont des sommets de transfert

On cherche à minimiser le coût total encouru par le transport du flot des sources (sommets d’offre) vers les puits (sommets de demande)

(14)

Optimisation des réseaux 53 IFT1575

Professeur B. Jaumard

Modèle de flot à coût minimum

xij=flot sur l’arc (i,j) minimize

Σ

(i,j) ∈A cijxij

sous les contraintes:

Σ

(i,j) ∈A+(i) xij -

Σ

(j, i) ∈A-(i) xji= bi i ∈V

0 ≤ xij≤ uij (i,j) ∈A

bi=0 (transfert), offre (source), -demande (puits)

V = ensemble des sommets ; A = ensemble des arcs

A+(i) = ensemble des arcs sortants du sommet i

A-(i) = ensemble des arcs entrants du sommet i

Optimisation des réseaux 54

IFT1575 Professeur B. Jaumard

Cas particuliers

Problème de transport (H&L, sec. 8.1-8.2)

Plusieurs sources et plusieurs puits

Aucun sommet de transfert

Uniquement des arcs entre une source et un puits

Aucune capacité (uij= ∞)

Problème d’affectation(H&L, sec. 8.3-8.4)

Cas particulier du problème de transport

Autant de sources que de puits

On cherche à affecter chaque source à un seul puits, et vice- versa, de façon à minimiser le coût total des affectations

On pose bi= +1 (source), -1 (puits)

Optimisation des réseaux 55

IFT1575 Professeur B. Jaumard

Cas particuliers

Problème du plus court chemin

Une source et un puits

Plusieurs sommets de transfert

On pose bi= +1 (source), -1 (puits)

Aucune capacité (uij= ∞)

Problème du flot maximum

bi= +F(source), -F(puits), oùF > somme des capacités

Ajout d’un arc entre O et T: cOT= Met uOT= F

Puisque cij= 0 sur tous les autres arcs, une solution optimale consiste à faire passer le maximum de flot entre O et T sans passer par l’arc (O,T)

Optimisation des réseaux 56

IFT1575 Professeur B. Jaumard

Méthode du simplexe – réseau: idée de base

Flot à coût minimum : modèle de PL simplexe

Au lieu d’utiliser la méthode du simplexe basée sur l’élimination de Gauss-Jordan, on utilisera une adaptation qui effectue les pivots sur le réseau

Solution de base: arbre partieldans le graphe non orienté sous-jacent

Pivot

Variable d’entrée: choisir un arc ∉à l’arbre partiel qui contribue le plus par unité à la diminution de l’objectif

L’ajout de cet arc crée un cycle

Variable de sortie: choisir l’arc du cycle dont l’élimination permet de retrouver une solution réalisable

(15)

Optimisation des réseaux 57 IFT1575

Professeur B. Jaumard

Correspondance entre point extrême et arbre partiel

Points extrêmesdans un réseau avec

n

sommets

n équations de conservation de flots

ncontraintes

Points extrêmes définis par n-1variables en base

xij= flot sommeti→sommetj ⇒ arc en base

Propriétés des arcs en base

Ne forment jamais un circuit

n-1arcs en base sans circuit ⇒arbre partiel

Optimisation des réseaux 58

IFT1575 Professeur B. Jaumard

Contraintes de capacité

On traitera les contraintes de capacité comme les contraintes de non négativité

Interviennent dans le choix de la variable de sortie, lorsqu’on s’assure de générer une solution réalisable

0 ≤ xB= fonction (xHB) ≤ uB

Arc à pleine capacité: pourra être considéré hors- base (à sa borne supérieure)

xij= uij ⇔ yij= uij– xij= 0

Augmenter la variable hors-baseyij:

Diminuer le flot sur (i,j), ce qui diminue le coût de cij

Augmenter le flot en sens inverse, sur (j,i), ce qui

« augmente » le coût de -cij

Arc (i,j)hors-base à pleine capacité: remplacer (i,j) par (j,i)de coût -cij

Optimisation des réseaux 59

IFT1575 Professeur B. Jaumard

Solution de base réalisable initiale

On peut résoudre un problème de flot maximumsur le réseau suivant :

On ajoute une super-sourcereliée à chacune des sources par un arc de capacité égale à l’offre à la source

On ajoute un super-puitsrelié à chacun des puits par un arc de capacité égale à la demande au puits

S

S3 S2 S1 [30]

[15]

[20]

u(S,S1) ≤ 30

u(S,S2) ≤ 15

u(S,S3) ≤ 20

P

P2 P1

[-40]

[-10] u(P1, P) ≤ 10

u(P2, P) ≤ 40

Optimisation des réseaux 60

IFT1575 Professeur B. Jaumard

Solution de base réalisable initiale

Une fois ce problème résolu, on construit une solution de base réalisable initiale (un arbre partiel) :

Tous les arcs à flot non nul et inférieur à la capacité sont inclus dans l’arbre partiel

Si l’arbre partiel est incomplet, on ajoute (arbitrairement) des arcs à flot nul ou à pleine capacité

30 ≤45

7 ≤15 5 ≤10

20 ≤25 35 ≤45 25 ≤25

2 ≤15 0 ≤10

(16)

Optimisation des réseaux 61 IFT1575

Professeur B. Jaumard

Simplexe – réseau : résumé

1. Obtenir un arbre partiel initial

2. Critère d’optimalité: si aucun arc ∉à l’arbre partiel ne peut faire diminuer la valeur de l’objectif, arrêter 3. Choisir l’arc (i,j)pour lequel une augmentation de 1

unité de flot fait le plus diminuer l’objectif

4. Identifier le cycle créé par l’ajout de (i,j),ainsi que l’arc (p,q)du cycle qui doit être enlevé afin de demeurer dans le domaine réalisable

5. Ajouter (i,j)et enlever (p,q)pour obtenir un nouvel arbre partiel; retourner à l’étape 2

Voir l’exemple dans le OR Tutor

Optimisation des réseaux 62

IFT1575 Professeur B. Jaumard

Simplexe – réseau : exemple

Optimisation des réseaux 63

IFT1575 Professeur B. Jaumard

Exemple

B A

C

E D

bA= [50] bD= [-30]

bE= [-60]

bB= [40]

bC= [0]

cAD= 9

2 4

3 1

2 3

(uAB= 10)

(uCE= 80)

all xij≥ 0 uAB=80

xCE uAB=10

xAB

-60

= + xED - xDE - xCE

-30

= - xED

+ xDE

- xAD

0

= + xCE

- xBC - xAC

40

= + xBC

- xAB

50

= + xAD

+ xAC xAB sous les contraintes

+ 2 xED +3xDE + xCE + 3xBC + 9xAD + 4xAC 2xAB minimize Z=

Optimisation des réseaux 64

IFT1575 Professeur B. Jaumard

Exemple de solution initiale

B A

C

E D bA= [40]

bD= [-30]

bE= [-60]

bB= [50]

bC= [0]

xAD= 40

2 4

xBC= 50

xCE= 50 2 xDE= 10 (uAB= 10)

(uCE= 80)

all xij≥ 0 uAB=80

xCE uAB=10

xAB

-60

= + xED - xDE - xCE

-30

= - xED + xDE - xAD

0

= + xCE

- xBC

- xAC

50

= + xBC

- xAB

40

= + xAD

+ xAC xAB sous les contraintes

+ 2 xED + 3 xDE + xCE + 3 xBC + 9 xAD + 4 xAC 2 xAB minimize Z=

Exemple de solution

initiale

(17)

Optimisation des réseaux 65 IFT1575

Professeur B. Jaumard

Exemple (suite 1)

Supposons que dans la solution initiale, l’arc (A,B) est à capacité et hors-base

On introduit alors l’arc (B,A) de coût -2

B A

C

E D [40]

[50]

[0]

[-60]

[-30]

-2

9 4

3 1

2 3

(10) (80)

Optimisation des réseaux 66

IFT1575 Professeur B. Jaumard

Exemple (suite 2)

Arbre partiel initial (le flot est entre parenthèses)

B A

C

E D [40]

[50]

[0]

[-60]

[-30]

-2

9 4

3

1

2 3

(10) (80)

(40)

(10)

(50) (50)

Optimisation des réseaux 67

IFT1575 Professeur B. Jaumard

Exemple (suite 3)

Essai 1: ajout de l’arc (A,C)

B A

C

E D [40]

[50]

[0]

[-60]

[-30]

-2

9

4

3 1

2 3

(10) (80)

+ +θθθθθθθθ

+ +θθθθθθθθ

- -θθθθθθθθ -

-θθθθθθθθ

∆Z = 4 θ+ θ- 3 θ– 9 θ= - 7 θ

Optimisation des réseaux 68

IFT1575 Professeur B. Jaumard

Exemple (suite 4)

Essai 2: ajout de l’arc (B,A)

B A

C

E D [40]

[50]

[0]

[-60]

[-30]

-2

9 4

3 1

2 3

(10) (80)

+ +θθθθθθθθ

- -θθθθθθθθ

-θ-θθθθθθθ +θ+θθθθθθθ +

+θθθθθθθθ

Z = - 2 θ+ 9 θ+ 3 θθ– 3 θ= 6 θ

(18)

Optimisation des réseaux 69 IFT1575

Professeur B. Jaumard

Exemple (suite 5)

Essai 3: ajout de l’arc (E,D)

B A

C

E D [40]

[50]

[0]

[-60]

[-30]

-2

9

4

3 1

2 3

(10) (80) ++θθθθθθθθ +θ+θθθθθθθ

∆Z = + 2 θ+ 3 θ = 5 θ

Optimisation des réseaux 70

IFT1575 Professeur B. Jaumard

Exemple (suite)

On ajoute donc l’arc (A,C) puisque c’est le seul pour lequel l’objectif diminue

Le cycle formé par l’ajout est constitué des arcs

(A,C) : on peut augmenter le flot indéfiniment, puisque sa capacité est infinie

(C,E) : on peut augmenter le flot (50) jusqu’à la capacité 80

(D,E) : on peut diminuer le flot (10) jusqu’à 0

(A,D) : on peut diminuer le flot (40) jusqu’à 0

L’augmentation maximum sur le cycle est donc 10 : xAC= 10, xCE= 60, xDE= 0, xAD= 30

Optimisation des réseaux 71

IFT1575 Professeur B. Jaumard

Exemple (suite)

On enlève donc l’arc (D,E) pour obtenir un nouvel arbre partiel

B A

C

E D [40]

[50]

[0]

[-60]

[-30]

-2

9

4

3

1

2 3

(10) (80) (10 0)

(0 →10)

(50 →50)

(50 60) (40 →30)

-θ-θθθθθθθ + +θθθθθθθθ

++θθθθθθθθ

--θθθθθθθθ

Optimisation des réseaux 72

IFT1575 Professeur B. Jaumard

Exemple (suite)

Lors de la prochaine itération :

L’arc (E,D) est ajouté (voir détails dans H&L)

On ajuste les valeurs des flots

L’arc (C,E) est enlevé, car il atteint sa capacité

On doit donc introduire un arc (E,C) de coût -1

B A

C

E D [40]

[50]

[0]

[-60]

[-30]

-2

9

4

3 1

2 3

(10) (80)

(30)

(10)

(50)

(60) -1 (30 10)

(60 80)

(10 30) (0 →20)

(0) [-80]

[20]

(19)

Optimisation des réseaux 73 IFT1575

Professeur B. Jaumard

Exemple (suite)

Lors de la prochaine itération :

L’arc (A,B) est ajouté

L’arc (B,A) est enlevé, car il atteint sa capacité!

On doit donc introduire un arc (A,B) de coût –(-2)=2

Ce pivot correspond à vider le flot sur (A,B)

B A

C

E D [50]

[40]

[-80]

20]

[-30]

-2

9 4

3 1

2 3

(10) (80)

Optimisation des réseaux 74

IFT1575 Professeur B. Jaumard

Exemple (suite et fin)

Lors de la prochaine itération, aucun arc ne peut être ajouté de façon à diminuer l’objectif : la solution est optimale

B A

C

E D [50]

[40]

[0]

[-60]

[-30]

-2

9

4

3 1

2 3

(10) (80)

(10)

(20) (0)

(40)

(40) (0)

Références

Documents relatifs

On dénit un graphe non orienté comme étant un ensemble de paires (parties à deux éléments) d'un ensemble E.. Formulez et démontrez un résultat analogue au théorème de Mantel pour

On cherche à construire un arbre partiel (plus petit graphe connexe contenant tous les sommets) dont la somme des distances soit minimum parmi tous les arbres partiels du

On cherche à construire un arbre partiel (plus petit graphe connexe contenant tous les sommets) dont la somme des distances soit minimum parmi tous les arbres partiels du

Sur une autre conjecture : considérons un graphe fortement connexe, on appelle À tout ensemble d'arcs dont la suppression entraîne la disparition des circuits du graphe : si

L’utilisation des calculatrices scientifiques et du matériel de géométrie (règle, équerre,…) est autorisée. Le plan ci-contre représente le réseau des pistes cyclables

Lisser la courbe signifie tracer l’allure générale pour tenir compte des erreurs expérimentales:.. ON NE RELIE PAS

Définition: Un sous-graphe d'un graphe G est un graphe G' composé de certains sommets du graphe G, ainsi que de toutes les arêtes qui relient

La matrice associée à un graphe orienté d'ordre n est une matrice carrée 1 2 de dimension n x n , où le terme de la i ième ligne et la j ième colonne est égal à 1. s'il existe