Rework du cours GRF
This commit is contained in:
parent
55f4854dca
commit
033dc24696
348
grf/cours.tex
348
grf/cours.tex
@ -826,11 +826,91 @@ $i$ tel que~:
|
|||||||
$$\lambda_i-\lambda_{i'}=v(i',i)$$
|
$$\lambda_i-\lambda_{i'}=v(i',i)$$
|
||||||
|
|
||||||
|
|
||||||
% cours du 29/05
|
% cours du 29/05 et du 04/06
|
||||||
\section{Programme de transport optimal}
|
\section{Programme de transport optimal}
|
||||||
n origines ou fournisseurs\\
|
|
||||||
m destinataires ou client\\
|
|
||||||
|
|
||||||
|
\paragraph{Définition} Soit un graphe biparti avec \verb+m+ les
|
||||||
|
origines ou dépôts et \verb+n+ les destinataires ou clients.
|
||||||
|
|
||||||
|
On veut acheminer des marchandises depuis les dépôts jusqu'aux clients.
|
||||||
|
|
||||||
|
\subparagraph{Hypothèses} le \emph{coût unitaire} de transport est
|
||||||
|
donné depuis chaque dépôt vers chaque client~: $C_{ij}=$ coût de
|
||||||
|
transport d'une tonne depuis \verb+i+ vers \verb+j+ $\rightarrow[C]$.
|
||||||
|
|
||||||
|
\[
|
||||||
|
X=\bordermatrix{~ & 1 & 2 & 3 & 4 & 5 & 6 & ~\cr
|
||||||
|
I & & & 18 & & & & {\color{yellow}18}\cr
|
||||||
|
II & 9 & 11 & 7 & & & 5 & {\color{yellow}32}\cr
|
||||||
|
III & & & 3 & 6 & 5 & & {\color{yellow}14}\cr
|
||||||
|
IV & & & & & 9 &&{\color{yellow}9}\cr
|
||||||
|
~ & {\color{yellow}9} & {\color{yellow}11}
|
||||||
|
& {\color{yellow}28} & {\color{yellow}6}
|
||||||
|
& {\color{yellow}14} & {\color{yellow}5} & {\color{yellow}73}\cr}
|
||||||
|
\]
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item On connaît la disponibilité totale de chaque fournisseur~: $a_i$.
|
||||||
|
\item On connait la demande totale de chaque client~: $b_j$.
|
||||||
|
\item $ \displaystyle { \sum_{origines} } \text{disponnibilités des dépôts}
|
||||||
|
= { \sum_{client} } \text{demandes des clients}$
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\subparagraph{Remarque} On peut toujours se ramener à ce cas, quitte à
|
||||||
|
créer une origine fictive ou un client fictif pour absorber la
|
||||||
|
différence entre
|
||||||
|
${\sum_{disponibilit\acute{e}}}$ et ${\sum_{demandes}}$.\\
|
||||||
|
|
||||||
|
On cherche un \emph{plan de transport}, soit une matrice $[X]$
|
||||||
|
$n\times m\rightarrow x_0=$ quantité transportée depuis $i$ vers $j$.\\
|
||||||
|
|
||||||
|
Matric X 4/6 ?\\
|
||||||
|
|
||||||
|
Un plan de transport est valide s'il respecte certaines conditions~:
|
||||||
|
\begin{enumerate}
|
||||||
|
\item \textbf{contraintes de ligne~:} la quantité livrée par chaque
|
||||||
|
dépôt est égale exactement à la disponibilité.
|
||||||
|
$${\sum_n^{j=1}}x{ij} = a_{i}\qquad\forall{i}=1,2,\ldots,m$$
|
||||||
|
\item \textbf{contraintes de colonne~:} la quantité reçue par chaque
|
||||||
|
client est exactement égale à sa demande.
|
||||||
|
$${\sum_m^{i=1}}x_{ij} = b_{j}\qquad\forall{j}=1,2,\ldots,n$$
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
Parmi tous les plans de transport $X=\left[x_{ij}\right]$ valides
|
||||||
|
(respectant toutes les contraintes), on cherche le plan de transport
|
||||||
|
de coût minimal.
|
||||||
|
|
||||||
|
Le coût d'un plan de transport donné est~:
|
||||||
|
$$z = {\sum_m^{i=1}\sum_n^{j=1}}x_{ij}C_{ij}$$
|
||||||
|
|
||||||
|
Évaluation de la difficulté du problème.
|
||||||
|
\begin{itemize}
|
||||||
|
\item Nombre d'inconnues~: $n\times m$, ici 24 inconnues, la matrice $X$~;
|
||||||
|
\item nombre d'équations imposées (contraintes)~: $n + m = 10$ équations~;
|
||||||
|
\item nombre d'équations indépendantes~: $n + m - 1$, ici $9$~;
|
||||||
|
$$\sum\text{disponnibilités des dépôts}=\sum\text{demandes des clients}$$
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\paragraph{Définition} Un plan de transport est dit non dégénéré (ou
|
||||||
|
solution de base) si l'excès d'inconnues par nombre d'équations
|
||||||
|
indépendantes est nul.
|
||||||
|
|
||||||
|
On cherche un plan de transport ayant $n\times m - (m + m - 1)$
|
||||||
|
variables nulles (15 variables nulles, 9 variables non nulles).
|
||||||
|
|
||||||
|
Méthode de recherche du plan de transport de coût minimal (ou plan de
|
||||||
|
transport optimal) 2 phases~:
|
||||||
|
\begin{enumerate}
|
||||||
|
\item \textbf{Heuristique de la différence maximale (ou de Balas-Hammer)~:}
|
||||||
|
cette méthode fournie une solution de base de bonne qualité, de manière
|
||||||
|
constructive, servant de base pour la phase 2.
|
||||||
|
\item En partant du plan de transport procuré par la phase 1,
|
||||||
|
on cherche par itération successives le plan de transport optimal.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\paragraph{Phase 1} On calcule pour chaque \emph{rangée} (ligne ou colonne) la
|
||||||
|
différence entre le coût unitaire le plus petit et le coût unitaire qui lui est
|
||||||
|
immédiatement supérieur.
|
||||||
|
|
||||||
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
|
\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
|
||||||
\hline
|
\hline
|
||||||
@ -853,89 +933,24 @@ m destinataires ou client\\
|
|||||||
& {\color{orange}17} & {\color{orange}4} & {\color{orange}13}
|
& {\color{orange}17} & {\color{orange}4} & {\color{orange}13}
|
||||||
& {\color{orange}7} & &\\
|
& {\color{orange}7} & &\\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}\\
|
\end{tabular}
|
||||||
\\
|
|
||||||
Données : *[c]=matrice \underline{des coûts unitaires}
|
|
||||||
$c_{ij}$ = coût du transport de 1 tonne depuis l'originne (i) vers le client (j)\\
|
|
||||||
* On connait la disponibilité totale de chaque fournisseur.\\
|
|
||||||
* On connait la demande totale de chaque client.\\
|
|
||||||
** Hypothèse :
|
|
||||||
$ \displaystyle { \sum_{origines} } disponnibilit\acute{e}s\ des\ d\acute{e}p\hat{o}ts
|
|
||||||
= { \sum_{client} } demandes\ des\ clients$\\
|
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item On identifie la rangée (ligne ou colonne) correspondant à la
|
||||||
|
différence maximale (ici la ligne III).
|
||||||
|
\item On repère, dans cette rangée, la relation $(i,j)$ de coût
|
||||||
|
unitaire le plus faible (ici la relation (III, 4)).
|
||||||
|
\item On affecte à cette relation la quantité de marchandise la plus
|
||||||
|
élevée possible, c'est-à-dire, le minimum du couple
|
||||||
|
$\left(\text{disponibilité}, \text{demande}\right)$ associé à
|
||||||
|
cette case~: $\min(6, 16) = 6$.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
Remarque: On peut tourjours se ramener à ce cas, quitte à créer une origine
|
Cette opération a pour effet de saturer une rangée (ici la colonne 4),
|
||||||
fictive ou un client fictif pour absorber la différence entre
|
et on actualise la disponibilité ou la demande restante (ici la
|
||||||
${\sum_{disponibilit\acute{e}}}$ et ${\sum_{demandes}}$.\\
|
disponibilité de III~: $14\rightarrow 8$). On a éliminé une rangée, et
|
||||||
$\rightarrow$ programme de transport :\\
|
cela a permis de fixer une variable $x_{ij}$~:
|
||||||
on cherche la matrice [X] $\rightarrow$
|
|
||||||
$x_{ij}$=quantité transportée depuis i vers j.\\
|
|
||||||
|
|
||||||
Matric X 4/6 ?\\
|
|
||||||
|
|
||||||
Contraintes liant les différentes inconnues $x_{ij}$ :\\
|
|
||||||
(1) chaque origine délivre la totalité de sa disponibilité $\rightarrow$
|
|
||||||
contraintes de ligne.\\
|
|
||||||
${\sum_n^{j=1}}x{ij} = a_{i}$,
|
|
||||||
$\forall{i}=1,2,...,m$\\
|
|
||||||
|
|
||||||
(2) chaque client reçoit la totalité de la quantité
|
|
||||||
demandée $\rightarrow$ contraintes de colonnes
|
|
||||||
${\sum_m^{i=1}}x_{ij} = b_{j}$, $\forall{j}=1,2,...,n$
|
|
||||||
|
|
||||||
Parmi tous les plans de transport X=[$x_{ij}$] valides
|
|
||||||
(respectant toutes les contraintes), on cherche le plan de transport de coût
|
|
||||||
minimal.\\
|
|
||||||
Le coût d'un plan de transport donné est :
|
|
||||||
$z = {\sum_m^{i=1}\sum_n^{j=1}}x_{ij}C_{ij}$
|
|
||||||
|
|
||||||
Evaluation de la difficulté du problème.
|
|
||||||
* nombre d'inconnues : n x m
|
|
||||||
ici 24 inconnues.
|
|
||||||
* nombre d'équations imposées
|
|
||||||
(contraintes) n + m = 10 équations.
|
|
||||||
* nombre d'équations indépendantes
|
|
||||||
n + m - 1, ici 9\\
|
|
||||||
$ \displaystyle { \sum } disponnibilit\acute{e}s\ des\ d\acute{e}p\hat{o}ts
|
|
||||||
= { \sum } demandes\ des\ clients$\\
|
|
||||||
\underline{Définition :} Un plan de transport est dit non dégénéré si
|
|
||||||
l'excès d'inconnues par nombre d'équations indépendantes est nul.
|
|
||||||
$\rightarrow$ on cherche un plan de transport ayant n x m - (m + m - 1) variables nulles
|
|
||||||
[15 variables nulles, 9 variables non nulles]
|
|
||||||
Méthode de recherche du plan de transport de coût minimal
|
|
||||||
(ou plan de transport optimal)
|
|
||||||
2 phases :
|
|
||||||
(1) Recherche d'un plan de transport non dégéré qui sert de solution de
|
|
||||||
base pour la phase 2
|
|
||||||
$\rightarrow$ heuristique de Balas-Hammer
|
|
||||||
(2) En partant du plan de transport procuré par la phase 1,
|
|
||||||
on cherche par itération successives le plan de transport optimal.\\
|
|
||||||
\underline{Phase 1} heuristique de Balas-Hammer
|
|
||||||
(ou méthode de la différence maximale) $\rightarrow$ On calcule pour chaque 'rangée'
|
|
||||||
(ligne ou colonne) la différence entre le coût unitaire le plus petit
|
|
||||||
et le coût unitaire immédiatement supérieur.\\
|
|
||||||
|
|
||||||
On affecte à cette case (i,j) [ici(III, 4)] la quantité de marchandise la plus
|
|
||||||
élevée possible.\\
|
|
||||||
C'est à dire le minimun du couple {disponibilité, demande} associé à cette
|
|
||||||
case : Min{6, 16} = 6.\\
|
|
||||||
\[
|
|
||||||
X=\bordermatrix{~ & 1 & 2 & 3 & 4 & 5 & 6 & ~\cr
|
|
||||||
I & & & 18 & & & & {\color{yellow}18}\cr
|
|
||||||
II & 9 & 11 & 7 & & & 5 & {\color{yellow}32}\cr
|
|
||||||
III & & & 3 & 6 & 5 & & {\color{yellow}14}\cr
|
|
||||||
IV & & & & & 9 &&{\color{yellow}9}\cr
|
|
||||||
~ & {\color{yellow}9} & {\color{yellow}11}
|
|
||||||
& {\color{yellow}28} & {\color{yellow}6}
|
|
||||||
& {\color{yellow}14} & {\color{yellow}5} & {\color{yellow}73}\cr}
|
|
||||||
\]
|
|
||||||
|
|
||||||
On repére le $\Delta_{maximal}\ \Delta_e\approx \Delta_c$
|
|
||||||
On s'intéresse à la case de coût unitaire minimun situé dans la rangée
|
|
||||||
correspondant au $\Delta_{maximal}$ et on actualise la disponibitlié ou
|
|
||||||
la demande restante $\rightarrow$ ici : 14 $\rightarrow$ 14 - 6 = 8\\
|
|
||||||
Cette opération a éliminé une rangée, et elle a permis de fixer
|
|
||||||
une variable $x_{ij}$
|
|
||||||
\begin{tabular}{|c|c|c|c|c|c|c|c|}
|
\begin{tabular}{|c|c|c|c|c|c|c|c|}
|
||||||
\hline
|
\hline
|
||||||
& 1 & 2 & 3 & 5 & 6 & disponnibilité & $\Delta_e$ lignes\\ %Ici : n = 4; m = 6
|
& 1 & 2 & 3 & 5 & 6 & disponnibilité & $\Delta_e$ lignes\\ %Ici : n = 4; m = 6
|
||||||
@ -954,61 +969,72 @@ une variable $x_{ij}$
|
|||||||
$\Delta_c$ & {\color{orange}11} & {\color{orange}12}
|
$\Delta_c$ & {\color{orange}11} & {\color{orange}12}
|
||||||
& {\color{orange}17} & {\color{orange}13} & {\color{orange}7} & &\\
|
& {\color{orange}17} & {\color{orange}13} & {\color{orange}7} & &\\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}\\
|
\end{tabular}
|
||||||
\\
|
|
||||||
|
On itère le processus jusqu'à ce que tout le tableau soit barré~; à la
|
||||||
|
dernière itération (ici là huitième), deux variables sont affectées
|
||||||
|
d'un seul coup.
|
||||||
|
|
||||||
|
\subparagraph{Remarque} si deux différences maximales sont égales, on
|
||||||
|
a plusieurs solution. Ici à la quatrième itération, on a deux
|
||||||
|
différences maximales égales à 13~: on choisira arbitrairement la
|
||||||
|
liaison $(IV, 5)$.
|
||||||
|
|
||||||
$z = 3535$ solution de base, de bonne qualité, mais pas optimale.\\
|
$z = 3535$ solution de base, de bonne qualité, mais pas optimale.\\
|
||||||
|
|
||||||
2eme phase : recherche de la solution optimale $\rightarrow$ on construit le
|
\paragraph{2\ieme{} phase} recherche de la solution optimale~: on construit le
|
||||||
graphe biparti associé à la solution de base précédente.
|
graphe biparti associé à la solution de base précédente.
|
||||||
|
|
||||||
\begin{figure}[h]
|
\begin{figure}[h]
|
||||||
\centering
|
\centering
|
||||||
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.5cm,
|
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.5cm,
|
||||||
thick,main node/.style={circle,fill=blue!20,draw,font=\sffamily\Large\bfseries}]
|
thick,main node/.style={circle,fill=blue!20,draw,font=\sffamily\Large\bfseries}]
|
||||||
\node[main node] (1) {$II$};
|
\node[main node] (I) {$I$};
|
||||||
\node[main node] (2) [right of=1] {$6$};
|
\node[main node] (II)[right of=I] {$II$};
|
||||||
\node[main node] (3) [below of=1]{$I$};
|
\node[main node] (III) [right of=II]{$III$};
|
||||||
\node[main node] (4) [below of=3]{$III$};
|
\node[main node] (IV) [right of=III]{$IV$};
|
||||||
\node[main node] (5) [below of=4]{$IV$};
|
\node[main node] (6) [below left of=I] {$6$};
|
||||||
\node[main node] (6) [below of=2]{$1$};
|
\node[main node] (1) [right of=6]{$1$};
|
||||||
\node[main node] (7) [below of=6]{$2$};
|
\node[main node] (2) [right of=1]{$2$};
|
||||||
\node[main node] (8) [below of=7]{$3$};
|
\node[main node] (3) [right of=2]{$3$};
|
||||||
\node[main node] (9) [below of=8]{$4$};
|
\node[main node] (4) [right of=3]{$4$};
|
||||||
\node[main node] (10) [below of=9]{$5$};
|
\node[main node] (5) [right of=4]{$5$};
|
||||||
|
|
||||||
\path[every node/.style={font=\sffamily\small}]
|
\path[every node/.style={font=\sffamily\small}]
|
||||||
(1) edge [right] node[right] {42} (2)
|
(I) edge [right] node[right] {42} (6)
|
||||||
(1) edge [right] node[right] {78} (8)
|
(I) edge [right] node[right] {23} (1)
|
||||||
(1) edge [right] node[right] {23} (6)
|
(I) edge [right] node[right] {39} (2)
|
||||||
(1) edge [right] node[right] {39} (7)
|
(I) edge [right] node[right] {78} (3)
|
||||||
(3) edge [right] node[right] {61} (8)
|
(II) edge [right] node[right] {61} (3)
|
||||||
(4) edge [right] node[right] {92} (8)
|
(III) edge [right] node[right] {92} (3)
|
||||||
(4) edge [right] node[right] {24} (9)
|
(III) edge [right] node[right] {24} (4)
|
||||||
(4) edge [right] node[right] {53} (10)
|
(III) edge [right] node[right] {53} (5)
|
||||||
(4) edge [right] node[right] {} (2)
|
(IV) edge [right] node[right] {40} (5)
|
||||||
(5) edge [right] node[right] {40} (10)
|
|
||||||
;
|
;
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
On value ce graphe avec les coût unitaires.
|
|
||||||
On affect aux différents sommets un potentiel.
|
|
||||||
$\rightarrow$ potentiel 0 à l'origine de l'arc de coût max, ici le sommet III.
|
|
||||||
$\rightarrow$ différence de potentiel arc(i,j) :
|
|
||||||
$v_j-v_i=C_{ij}$
|
|
||||||
|
|
||||||
On calcule le coût marginal de chacune des liaisons (i,j) inutilisées dans
|
On value ce graphe avec les coût unitaires.
|
||||||
la solution de base : $S_{ij}=v_i-v_j+c_{ij}$\\
|
|
||||||
On cherche s'il existe une liaison inutilisée de coût marginal négatif\\
|
On affect aux différents sommets un potentiel~:
|
||||||
$S_{I1} = 31 - 37 + 12 = 6$\\
|
\begin{itemize}
|
||||||
$S_{I2}=31-53+27=5$\\
|
\item potentiel 0 à l'origine de l'arc de coût max, ici le sommet III~;
|
||||||
$S_{III,6}=0-56+54=-2$\\
|
\item différence de potentiel arc $(i, j)$~: $v_j-v_i=C_{ij}$.
|
||||||
Ici un seul coût marginal < 0\\
|
\end{itemize}
|
||||||
$\rightarrow$ La solution analysée n'est pas optimale.\\
|
|
||||||
$\rightarrow$ on utilise une chaine améliorante.\\
|
On calcule le coût marginal de chacune des liaisons $(i,j)$
|
||||||
|
inutilisées dans la solution de base~: $S_{ij}=v_i-v_j+c_{ij}$. On
|
||||||
|
cherche s'il existe une liaison inutilisée de coût marginal négatif.
|
||||||
|
$$S_{I,1} = 31 - 37 + 12 = 6$$
|
||||||
|
$$S_{I,2}=31-53+27=5$$
|
||||||
|
$$S_{III,6}=0-56+54=-2$$
|
||||||
|
|
||||||
|
Ici un seul coût marginal est inférieur à 0~; la solution analysée n'est pas
|
||||||
|
optimale. On utilise une chaine améliorante.
|
||||||
|
|
||||||
\begin{figure}[h]
|
\begin{figure}[h]
|
||||||
\centering
|
\centering
|
||||||
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.5cm,
|
\begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=2.5cm,
|
||||||
thick,main node/.style={circle,fill=blue!20,draw,font=\sffamily\Large\bfseries}]
|
thick,main node/.style={circle,fill=blue!20,draw,font=\sffamily\Large\bfseries}]
|
||||||
\node[main node] (1) {$III$};
|
\node[main node] (1) {$III$};
|
||||||
\node[main node] (2) [right of=1] {$6$};
|
\node[main node] (2) [right of=1] {$6$};
|
||||||
@ -1017,10 +1043,10 @@ $\rightarrow$ on utilise une chaine améliorante.\\
|
|||||||
\node[main node] (5) [right of=4] {$II$};
|
\node[main node] (5) [right of=4] {$II$};
|
||||||
|
|
||||||
\path[every node/.style={font=\sffamily\small}]
|
\path[every node/.style={font=\sffamily\small}]
|
||||||
(2) edge [right] node[right] {3} (1)
|
(2) edge [->, right] node[right] {3} (1)
|
||||||
(3) edge [right] node[right] {1} (2)
|
(3) edge [<-, right] node[right] {2} (2)
|
||||||
(4) edge [right] node[right] {10} (3)
|
(4) edge [->, right] node[right] {10} (3)
|
||||||
(5) edge [right] node[right] {0} (4)
|
(5) edge [<-, right] node[right] {0} (4)
|
||||||
;
|
;
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
@ -1037,49 +1063,55 @@ X=\bordermatrix{~ & 1 & 2 & 3 & 4 & 5 & 6 & ~\cr
|
|||||||
\]
|
\]
|
||||||
|
|
||||||
|
|
||||||
On cherche la quantité déplaçable la plus élevée possible.
|
On cherche la quantité déplaçable la plus élevée possible. On augmente
|
||||||
$\rightarrow$ on augmente d'une même quantité $\alpha$ tous les arcs
|
d'une même quantité $\alpha$ tous les arcs à l'endroit et on diminue
|
||||||
à l'endroit et on diminue de $\alpha$ tous les arcs à l'envers :
|
de $\alpha$ tous les arcs à l'envers~:
|
||||||
$\alpha = 3$\\
|
$$\alpha = 3$$
|
||||||
Le coût de cette solution est de $z = 18 * 61 + 9 * 23 + ...$\\
|
Le coût de cette solution est de $z = 18 * 61 + 9 * 23 + \ldots$.
|
||||||
$z=3235 + S_{III,6} * \alpha$\\
|
$$z=3235 + S_{III,6} * \alpha$$
|
||||||
$z=3529$
|
$$z=3529$$
|
||||||
|
|
||||||
|
\subparagraph{2\ieme{} itération} On construit le graphe associé au
|
||||||
|
plan de transport amélioré.
|
||||||
|
|
||||||
\begin{figure}[h]
|
\begin{figure}[h]
|
||||||
\centering
|
\centering
|
||||||
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.5cm,
|
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.5cm,
|
||||||
thick,main node/.style={circle,fill=blue!20,draw,font=\sffamily\Large\bfseries}]
|
thick,main node/.style={circle,fill=blue!20,draw,font=\sffamily\Large\bfseries}]
|
||||||
\node[main node] (1) {$I$};
|
\node[main node] (I) {$I$};
|
||||||
\node[main node] (2) [right of=1] {$3$};
|
\node[main node] (II) [right of=I]{$II$};
|
||||||
\node[main node] (3) [below of=1]{$II$};
|
\node[main node] (III) [right of=II]{$III$};
|
||||||
\node[main node] (4) [below of=3]{$III$};
|
\node[main node] (IV) [right of=III]{$IV$};
|
||||||
\node[main node] (5) [below of=4]{$IV$};
|
\node[main node] (3) [below left of=I] {$3$};
|
||||||
\node[main node] (6) [below of=2]{$1$};
|
\node[main node] (1) [right of=3]{$1$};
|
||||||
\node[main node] (7) [below of=6]{$2$};
|
\node[main node] (2) [right of=1]{$2$};
|
||||||
\node[main node] (8) [below of=7]{$6$};
|
\node[main node] (6) [right of=2]{$6$};
|
||||||
\node[main node] (9) [below of=8]{$4$};
|
\node[main node] (4) [right of=6]{$4$};
|
||||||
\node[main node] (10) [below of=9]{$5$};
|
\node[main node] (5) [right of=4]{$5$};
|
||||||
|
|
||||||
\path[every node/.style={font=\sffamily\small}]
|
\path[every node/.style={font=\sffamily\small}]
|
||||||
(1) edge [right] node[right] {61} (2)
|
(I) edge [right] node[right] {61} (3)
|
||||||
(3) edge [right] node[right] {78} (2)
|
(II) edge [right] node[right] {78} (3)
|
||||||
(3) edge [right] node[right] {23} (6)
|
(II) edge [right] node[right] {23} (1)
|
||||||
(3) edge [right] node[right] {39} (7)
|
(II) edge [right] node[right] {39} (2)
|
||||||
(3) edge [right] node[right] {42} (8)
|
(II) edge [right] node[right] {42} (6)
|
||||||
(4) edge [right] node[right] {54} (8)
|
(III) edge [right] node[right] {54} (6)
|
||||||
(4) edge [right] node[right] {24} (9)
|
(III) edge [right] node[right] {24} (4)
|
||||||
(4) edge [right] node[right] {53} (10)
|
(III) edge [right] node[right] {53} (5)
|
||||||
(5) edge [right] node[right] {40} (10)
|
(IV) edge [right] node[right] {40} (5)
|
||||||
|
|
||||||
;
|
;
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
$S_{I,1}=17-23+12=6$\\
|
|
||||||
$S_{I,2}=17-39+27=5$\\
|
$$S_{I,1}=17-23+12=6$$
|
||||||
tous les $S_{ij}$ des liaisons inutilisées sont > 0 $\rightarrow$ arrêt
|
$$S_{I,2}=17-39+27=5$$
|
||||||
$\rightarrow$ le plan de trnasport analysé est optimal.\\
|
|
||||||
\underline{Remarque :} Si il existe un $S_{ij}$ de liaison inutilisée
|
Tous les $S_{ij}$ des liaisons inutilisées sont supérieur à 0, on
|
||||||
qui soit égal à 0, cela signifie qu'il existe une autre solution de même coût.
|
s'arrête car le plan de transport analysé est optimal.
|
||||||
|
|
||||||
|
\subparagraph{Remarque} S'il existe un $S_{ij}$ de liaison inutilisée qui
|
||||||
|
soit égal à 0, cela signifie qu'il existe une autre solution de même
|
||||||
|
coût.
|
||||||
|
|
||||||
\[
|
\[
|
||||||
X=\bordermatrix{~ & 1 & 2 & 3 & 4 & 5 & 6 & ~\cr
|
X=\bordermatrix{~ & 1 & 2 & 3 & 4 & 5 & 6 & ~\cr
|
||||||
|
Reference in New Issue
Block a user