La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

7. Probème de flot à coût minimum. 7.1 Graphes, graphes orientés, réseaux Un graphe G =(V, E) est constitué dun ensemble non vide fini de sommets V et.

Présentations similaires


Présentation au sujet: "7. Probème de flot à coût minimum. 7.1 Graphes, graphes orientés, réseaux Un graphe G =(V, E) est constitué dun ensemble non vide fini de sommets V et."— Transcription de la présentation:

1 7. Probème de flot à coût minimum

2 7.1 Graphes, graphes orientés, réseaux Un graphe G =(V, E) est constitué dun ensemble non vide fini de sommets V et dun ensemble darêtes E tel que chaque arête a est identifiée par une paire non ordonnée de sommets (u, v). c a b d V = {1, 2, 3} E = {a, b, c} a = b = (1, 2) ; c = (1, 3) ; d =(2, 3) 1 2 3

3 Un graphe g est un sous graphe dun graphe G si tous les sommets et toutes les arêtes de g sont aussi des sommets et des arêtes de G. c c a b d G g

4 Un sous graphe dun graphe G qui contient tous les sommets de G est un graphe partiel de G. c c a b d d G g

5 Une chaîne dans un graphe G est une suite darêtes distinctes a 1, a 2, …, a p avec la propriété quil existe (p+1) sommets u 1, u 2, …, u p+1 tels que a i = (u i, u i+1 ). c a b d La suite a, c est une chaîne

6 Un cycle dans un graphe G est une chaîne telle que u 1 = u p+1 c a b d La suite c, b, d est un cycle

7 Un graphe G est connexe si pour tout couple de sommets distincts, il existe une chaîne les reliant. c a b d Ce graphe est connexe

8 Un arbre est un graphe connexe sans cycle Propriété : Un arbre ayant n sommets comporte exactement (n – 1) arêtes

9 Un arbre partiel ( arbre de recouvrement) dun graphe connexe G est un graphe partiel de G qui est un arbre c c a b d d G arbre partiel

10 Un cycle fondamental par rapport à un arbre partiel est un cycle formé dune arête du graphe ne se trouvant pas sur larbre partiel et darêtes de larbre. c c a b d d G arbre partiel

11 Un cycle fondamental par rapport à un arbre partiel est un cycle formé dune arête du graphe ne se trouvant pas sur larbre partiel et darêtes de larbre. c c a b a d d G cycle fondamental

12 Un graphe orienté G = (V, E) est constitué dun ensemble non vide fini de sommets V et dun ensemble darcs E tel que chaque arc a est identifié par une paire ordonnée de sommets (u, v). a b c d e f V = {1, 2, 3, 4} E = {a, b, c, d, e, f} a = (1, 2), b = (2, 4), c = (2, 3), d =(3, 2), e = (1, 3), f = (3, 4)

13 Un graphe non orienté obtenu à partir dun graphe orienté G en éliminant lorientation sur les arcs est dénoté graphe correspondant. Les notions de chaîne, cycle, connexité, arbre, arbre partiel, et cycle fondamental pour les graphes orientés sont définies en se référant aux graphes correspondants. Un chemin dans un graphe orienté est une suite darcs distincts a 1, a 2, …, a p constituant une chaîne dont tous les arcs sont orientés dans la même direction. Un graphe orienté est simple si les sommets identifiant un arc sont distincts et sil nexiste pas deux arcs identifiés par la même paire ordonnée de sommets.

14 Un réseau est un graphe orienté connexe dans lequel un flot peut circuler sur les arcs. Chaque arc (i, j) est caractérisée par une capacité d ij qui correspond à une borne supérieure sur le flot dans larc une borne inférieure l ij sur le flot dans larc De plus 0 l ij d ij [0, 2] [2, 9] [0, 6] [3, 4] [0, 4] [1, 6] À larc (i, j) est associé le couple [l ij, d ij ]

15 7.2 Formulation du problème de flot à coût minimum Nous considérons un réseau où à chaque (i, j) sont associés les attributs suivants: d ij la capacité de larc l ij la borne inférieure sur le flot dans larc c ij le coût unitaire du flot dans larc x ij la variable dénotant la valeur du flot dans larc à chaque sommet i sont associés les deux ensembles de sommets reliés ou adjacents à i suivants:

16 Dans le réseau suivant B 1 = Φ, B 2 = {1, 3}, B 3 = {1, 2}, B 4 = {2, 3} P 1 = {2, 3}, P 2 = {3, 4}, P 3 = {2, 4}, P 4 = Φ [0, 2] [2, 9] [0, 6] [3, 4] [0, 4] [1, 6]

17 Le problème de flot à coût minimum consiste à déterminer comment acheminer dans les arcs du réseau une quantité v de flot dune source à une destination de sorte à minimiser le coût total. Ce qui caractérise les problèmes de flots sont les contraintes de conservation de flot associées aux sommets du réseau. La contrainte de conservation de flot associée à un sommet i indique que la quantité totale de flot entrant dans le sommet doit être égale à celle sortant du sommet.

18 v

19 La contrainte de conservation de flot associée à un sommet i indique que la quantité totale de flot entrant dans le sommet doit être égale à celle sortant du sommet. v

20 La contrainte de conservation de flot associée à un sommet i indique que la quantité totale de flot entrant dans le sommet doit être égale à celle sortant du sommet

21 Formulons maintenant le problème de flot à coût minimum consistant à déterminer comment acheminer dans les arcs du réseau une quantité v de flot dune source à une destination de sorte à minimiser le coût total.

22 La matrice correspondant aux contraintes de conservation de flot est dénoté matrice dincidence sommets-arcs: ligne i sommet i colonne (i, j) arc (i, j) ligne i ligne j colonne (i, j)

23 La matrice dincidence sommets-arcs jouit de la propriété dunimodularité qui fait que lalgorithme du simplexe génère une solution entière pour le problème (FMC) lorsque l ij, d ij et v sont des entiers.

24 Exemple de matrice dincidence pour le réseau

25 7.3 Propriétés de la matrice dincidence Nous allons démontrer que les colonnes de toute base de la matrice dincidence correspondent aux arcs dun arbre partiel du réseau et vice versa. Théorème: La matrice dincidence A dun graphe orienté simple et connexe composé de m sommets et de n arcs est de rang (m–1). Preuve: Démontrons dabord que le rang de A est inférieur ou égal à (m–1). Chaque colonne de A comporte exactement une composante égale à 1 et un composante égale à –1, les autres étant égales à 0. Donc la somme des lignes de A engendre un vecteur composé uniquement de 0. Par conséquent les lignes de A sont linéairement dépendante. Ainsi le rang de A est inférieure ou égal à (m–1).

26 Démontrons maintenant que le rang de A est au moins égal à (m–1). Supposons quil existe un ensemble K de k lignes de A qui soient linéairement dépendante. Il existe donc des scalaires qui ne sont pas tous nuls tels que Puisque chaque colonne de A comporte exactement une composante égale à 1 et une composante égale à –1, si, alors il faut que pour tout élément différent de 0 dans la ligne nous retrouvions dans K la ligne de A comportant lélément différent de 0 complémentaire. Répétant largument pour tous les, nous en arrivons à la conclusion que K comporte toutes les lignes de A. Ainsi k = m, et par conséquent tout sous ensemble de τ lignes de A où τ m–1 sont linéairement indépendantes. Donc le rang de A est au moins égal à (m –1). Par conséquent la rang de A est égal à (m –1).

27 Théorème: Considérons la matrice dincidence A dun graphe orienté simple et connexe G composé de m sommets et de n arcs. Une sous matrice carrée de A de dimension (m – 1)x (m – 1) est non singulière si et seulement si les arcs associés aux colonnes de cette sous matrice sont ceux dun arbre partiel du graphe orienté G.

28 Preuve: Soit T un arbre partiel de G

29 2 3 14

30 ) Preuve: Soit T un arbre partiel de G. Dénotons par A(T) la sous matrice de A de dimension mx (m – 1) qui est la matrice dincidence de T

31 ) Preuve: Soit T un arbre partiel de G. Dénotons par A(T) la sous matrice de A de dimension mx (m – 1) qui est la matrice dincidence de T. ) T étant un graphe connexe, il sensuit que le rang de A(T) est égal à (m – 1) par le théorème précédent

32 ) Preuve: Soit T un arbre partiel de G. Dénotons par A(T) la sous matrice de A de dimension mx (m – 1) qui est la matrice dincidence de T. ) T étant un graphe connexe, il sensuit que le rang de A(T) est égal à (m – 1) par le théorème précédent. ) Alors toute sous matrice carrée de dimension (m – 1)x (m – 1) obtenue en éliminant une ligne de A(T) est non singulière. Or ces sous matrices sont également des sous matrices de A

33 Soit B une sous matrice de A carrée non singulière de dimension (m – 1)x (m – 1)

34 Soit B une sous matrice de A carrée non singulière de dimension (m – 1)x (m – 1)

35 Soit B une sous matrice de A carrée non singulière de dimension (m – 1)x (m – 1). B est obtenue en éliminant une ligne de la matrice dincidence dun sous graphe partiel g de G

36 Soit B une sous matrice de A carrée non singulière de dimension (m – 1)x (m – 1). B est obtenue en éliminant une ligne de la matrice dincidence dun sous graphe partiel g de G. Le sous graphe g est donc connexe et comporte exactement m sommets et (m – 1) arcs. Donc g est un arbre partiel de G

37 7.4 Résolution du problème de flot à coût minimum Nous utilisons la variante du simplexe pour les problèmes de programmation linéaire avec variables bornées pour résoudre le problème de flot à coût minimum (FCM):

38 Pour analyser une itération, supposons que nous disposons dune solution de base réalisable x du problème. Donc les variables hors base x ij sont telles que x ij = 0 ou d ij. Les variables de base x ij correspondent aux arcs E(T) dun arbre partiel T du réseau

39 Critère dentrée Calcul des coûts relatifs des variables x ij : devient Pour les variables de base associées aux arcs ligne i ligne j

40 Puisque pour un arbre (# darcs) = (# de sommets) –1 le système précédent comportent (m – 1) équations associés aux arcs et m inconnus π i associés aux sommets i de T ( ou de A). Or puisque toute sous matrice (m – 1)x(m – 1) de la matrice dincidence de T est non singulière, il suffit de fixer la valeur dun des multiplicateurs et dévaluer les autres avec le système déquations.

41 Or puisque toute sous matrice (m – 1)x (m – 1) de la matrice dincidence de T est non singulière, il suffit de fixer la valeur dun des multiplicateurs et dévaluer les autres avec le système déquations. Le système déquations étant triangulaire, les multiplicateurs sont très simplement évalués séquentiellement un à un.

42 Reprenons notre exemple Posons π t = 0 π 3 =1 π t =0 π 1 =1π s =5 π 2 =4 1 3

43 Après avoir déterminer les valeurs des multiplicateurs, déterminons les coûts relatifs des variables hors base associées aux arcs qui ne font pas partie de larbre partiel T. Revenant à notre exemple π t =0π 1 =1π s =5 π 2 =4 π 3 =1

44 Après avoir déterminer les valeurs des multiplicateurs, déterminons les coûts relatifs des variables hors base associées aux arcs qui ne font pas partie de larbre partiel T. Critère doptimalité Sinon choisissons une des variables (admissibles) x ij où le critère nest pas satisfait comme variable dentrée. Si la variable admissible x ij = 0, alors sa valeur augmente, et si la valeur de x ij = d ij, alors sa valeur diminue.

45 Après avoir déterminer les valeurs des multiplicateurs, déterminons les coûts relatifs des variables hors base associées aux arcs qui ne font pas partie de larbre partiel T. Revenant à notre exemple π t =0π 1 =1π s =5 π 2 =4 π 3 =1 x 21 est admissible à augmenter x 3t est admissible à diminuer Variable dentrée

46 Critère de sortie Nous voulons évaluer leffet de la modification de la variable dentrée sur les variables de base. Il est facile de vérifier que seules les valeurs du flot des arcs du cycle fondamental associé à larc de la variable dentrée sont modifiées. Revenant à notre exemple: x 3t est une variable dentrée

47 Il faut déterminer la plus grande modification θ de la valeur de la variable dentrée avant que i)la valeur dune variable de base x ij diminue à 0; ii)la valeur dune variable de base x ij atteigne sa capacité d ij ; iii)la valeur de la variable dentrée passe dune borne à lautre. Si le cas i) ou ii) limite la modification θ de la variable dentrée, la variable de base x ij sort de la base pour être remplacée par la variable dentrée. La nouvelle base correspond à un nouvel arbre partiel T ' où larc (i, j) dans T est remplacé par larc de la variable dentrée. Si le cas iii) se produit, il suffit dajuster les valeurs du flot sur les arcs du cycle fondamental et de procéder à la prochaine itération avec la même base.

48 Complétons la résolution de notre exemple. La variable dentrée x 3t diminue de θ. La plus grande valeur que θ peut prendre est θ = 2 car alors le flot dans larc (1, t) atteint la capacité d 1t = 2. La variable x 1t est remplacé par la variable x 3t dans la base. La nouvelle solution et larbre partiel associé à la nouvelle base deviennent 4-θ 0+θ

49 Complétons la résolution de notre exemple. La variable dentrée x 3t diminue de θ. La plus grande valeur que θ peut prendre est θ = 2 car alors le flot dans larc (1, t) atteint la capacité d 1t = 2. La variable x 1t est remplacé par la variable x 3t dans la base. La nouvelle solution et larbre partiel associé à la nouvelle base deviennent

50 Deuxième itération : Critère dentrée Déterminons les multiplicateurs en solutionnant le système:

51 Posons π t = 0 3 1

52 Nous pouvons déterminer les multiplicateurs en utilisant directement la représentation de larbre partiel en utilisant la définition des coûts relatifs Évaluons maintenant les coûts relatifs des variables hors base π t = 0 π 3 = 2 π 2 = 5 π s = 6 π 1 = 2

53 Puisque x 1t = 2 = d 1t et, alors x 1t nest pas admissible. Par contre x 21 = 0 et, et ainsi x 21 est variable dentrée

54 Puisque x 1t = 2 = d 1t et, alors x 1t nest pas admissible. Par contre x 21 = 0 et, et ainsi x 21 est variable dentrée qui augmente. Le cycle fondamental correspondant à larbre partiel devient

55 Critère de sortie Évaluons la plus grande valeur que peut prendre laugmentation θ de la variable dentrée. Alors θ = 2 puisque pour cette valeur, x s1 = 2 – 2 = 0 x 21 = = 2 = d 21. Nous pouvons poursuivre avec la même base puisque x 21 = 2 = d 21. Nous préférons considérer x s1 comme variable de sortie. La nouvelle solution et larbre partiel associé à la nouvelle base deviennent 0+θ0+θ 2+θ 2-θ

56 Critère de sortie Évaluons la plus grande valeur que peut prendre laugmentation θ de la variable dentrée. Alors θ = 2 puisque pour cette valeur, x s1 = 2 – 2 = 0 x 21 = = 2 = d 21. Nous pouvons poursuivre avec la même base puisque x 21 = 2 = d 21. Nous préférons considérer x s1 comme variable de sortie La nouvelle solution et larbre partiel associé à la nouvelle base deviennent

57 Troisième itération : Critère dentrée Déterminons les multiplicateurs en en utilisant directement la représentation de larbre partiel et la définition des coûts relatifs Évaluons maintenant les coûts relatifs des variables hors base π t =0π s =6 π 2 =5π 3 =2 π 1 =3

58 La solution est optimale puisque

59 Ladaptation de la méthode du simplexe est grandement simplifié grâce à la structure de la matrice dincidence. Il y a beaucoup de dégénérescence dans ce type de problème. Ceci peut entraîner des itérations dégénérées (où les valeurs des variables ne changent pas) tout simplement pour changer de base. Certains résultats existent pour guider le choix des solutions de base dune itération à lautre pour réduire le nombre ditérations dégénérées.

60 Cas avec plusieurs sources et destinations s1s1 s2s2 spsp t1t1 t2t2 tqtq Reste du réseau

61 Construisons un réseau G 1 = (V 1, E 1 ) s1s1 s2s2 spsp t1t1 t2t2 tqtq Reste du réseau st

62 Construisons un réseau G 1 = (V 1, E 1 ) s1s1 s2s2 spsp t1t1 t2t2 tqtq Reste du réseau st

63 Construisons un réseau G 1 = (V 1, E 1 ) s1s1 s2s2 spsp t1t1 t2t2 tqtq Reste du réseau st

64 Construisons un réseau G 1 = (V 1, E 1 ) v v s1s1 s2s2 spsp t1t1 t2t2 tqtq Reste du réseau st

65 7.5 Problème de transport classique S ensemble de m sommets sources ( i =1, 2, …, m), T ensemble de n sommets destinations (j = 1, 2, …, n) Aucun sommet intermédiaire Il existe un arc reliant chaque pair source-destination Sources destinations 1 2 m 1 2 n

66 x ij : flot dans larc (i, j) c ij : coût unitaire de transport sur larc (i, j) a i : disponibilité au sommet source i b j : demande au sommet destination j Problème Déterminer la quantité à transporter de chaque source i à chaque destination j (i. e., x ij ) pour satisfaire les demandes en respectant les disponibilités de façon à minimiser le coût total de transport. Sources destinations 1 2 m 1 2 n

67 Problème Déterminer la quantité à transporter de chaque source i à chaque destination j (i. e., x ij ) pour satisfaire les demandes en respectant les disponibilités de façon à minimiser le coût total de transport. Sources destinations 1 2 m 1 2 n Formulation

68 Matrice des contraintes unimodulaire, et par conséquent lalgorithme du simplexe identifie une solution optimale où toutes les valeurs des variables sont entières lorsque les a i et les b j sont des valeurs entières. Formulation

69 Considérons la combinaison linéaire suivante des contraintes où des poids de 1 et de –1 sont associés respectivement à chacune des m premières et des n dernières contraintes: Formulation 1 –1

70 Il sensuit - une contrainte peut sexprimer comme combinaison linéaire des autres - un argument similaire à celui utilisé pour le problème (FCM) peut être utilisé pour démontrer que le rang de la matrice des contraintes est égal a (m + n – 1). Formulation

71 Variante de lalgorithme du simplexe pour le problème de transport Pour résoudre le problème de transport, nous utilisons un tableau de dimension mxn où lélément (i, j) du tableau est de la forme suivante Exemple numérique pour illustrer la méthode: x ij c ij

72

73 Première itération de la procédure de résolution: Trouver une solution de base réalisable initiale Nous utilisons la méthode du coin Nord-Ouest

74

75 Au départ tous les flots x ij = 0 Étape 1 Commencer au coin en haut à gauche (Nord-Ouest)du tableau. Étape 2 Affecter comme valeur du flot à cet élément du tableau, la plus grande valeur compatible avec la disponibilité résiduelle de la source correspondante et avec la demande résiduelle de la destination correspondante. Réduire de cette valeur la disponibilité résiduelle de la source et la demande résiduelle de la destination (une des deux quantités devient nulle)

76 Étape 2 Affecter comme valeur du flot à cet élément du tableau, la plus grande valeur compatible avec la disponibilité résiduelle de la source correspondante et avec la demande résiduelle de la destination correspondante. Réduire de cette valeur la disponibilité résiduelle de la source et la demande résiduelle de la destination (une des deux quantités devient nulle). Étape 3 Si la disponibilité résiduelle de la source associée à lélément est positive, passer à lélément à droite et aller à létape 2. Sinon aller à létape

77 Étape 4 Si les demandes résiduelles de toutes les destinations sont réduites à 0, alors une solution de base réalisable initiale est disponible. Sinon, passer à lélément en dessous, et aller à létape

78 Étape 4 Si les demandes résiduelles de toutes les destinations sont réduites à 0, alors une solution de base réalisable initiale est disponible. Sinon, passer à lélément en dessous, et aller à létape

79 Étape 4 Si les demandes résiduelles de toutes les destinations sont réduites à 0, alors une solution de base réalisable initiale est disponible. Sinon, passer à lélément en dessous, et aller à létape

80 Étape 4 Si les demandes résiduelles de toutes les destinations sont réduites à 0, alors une solution de base réalisable initiale est disponible. Sinon, passer à lélément en dessous, et aller à létape

81 Étape 4 Si les demandes résiduelles de toutes les destinations sont réduites à 0, alors une solution de base réalisable initiale est disponible. Sinon, passer à lélément en dessous, et aller à létape

82 Étape 4 Si les demandes résiduelles de toutes les destinations sont réduites à 0, alors une solution de base réalisable initiale est disponible. Sinon, passer à lélément en dessous, et aller à létape

83 Poursuivre la résolution avec lalgorithme du simplexe pour le problème de transport. Critère dentrée: μ i contrainte de la source i ν j contrainte de la destination j μ T = [μ 1, μ 2, …, μ m ] ν T = [ν 1, ν 2, …, ν n ] Calcul des coûts relatifs des variables x ij : μiμi νjνj

84

85 Évaluer les multiplicateurs en trouvant une solution au système Rang de la matrice des contraintes égal à (m + n – 1) => - système avec (m + n – 1) équations et (m + n) inconnus - fixer la valeur dun inconnu (multiplicateur) pour évaluer les autres - système triangulaire, les multiplicateurs sont très simplement évalués séquentiellement un à un.

86 0 21-2

87 Calculons les coûts relatifs des variables hors base x 43 est variable dentrée

88 Critère de sortie Quand la valeur de la variable dentrée augmente, il faut ajuster les valeurs des variables de base pour maintenir la réalisabilité. Les variables de base dont les valeurs sont modifiées et la variable dentrée forment un « cycle » dans le tableau. θ –θ+θ+θ

89 θ +θ+θ Pour que les valeurs du flot demeurent non négatifs sur les arcs (2, 3) et (4, 4): 20 – θ 0 et 40 – θ 0 La plus grande valeur que θ peut prendre est θ = 20. La variable de sortie est donc x 23. Alors la variable dentrée x 43 remplace la variable de sortie x 23 comme variable de base.

90 Nouvelle solution de base Critère dentrée Déterminer les multiplicateurs. Déterminer les coûts relatifs des variables hors base. Comme tous les coûts relatifs sont non négatifs, la solution est optimale.

91 Problème de transport avec surplus: Formulation Contraintes dinégalités pour assurer réalisabilité

92 Transformation en ajoutant une destination fictive (n + 1): pour retrouver un problème avec des contraintes dégalités c in+1 = 0 i =1, 2, …, m Dans la solution optimale x* : x* in+1 = quantité en surplus à la source i qui nest pas utilisée

93 Problème de transport avec déficit: Formulation Contraintes dinégalités pour assurer réalisabilité

94 Transformation en ajoutant une source fictive (m + 1): pour retrouver un problème avec des contraintes dégalités c m+1j = 0 j=1, 2, …, n Dans la solution optimale x* : x* m+1j = déficit de la demande à la destination j (qui nest pas satisfaite)


Télécharger ppt "7. Probème de flot à coût minimum. 7.1 Graphes, graphes orientés, réseaux Un graphe G =(V, E) est constitué dun ensemble non vide fini de sommets V et."

Présentations similaires


Annonces Google